technicalpickles-jeweler 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog.markdown +6 -0
- data/README.markdown +67 -2
- data/Rakefile +31 -3
- data/VERSION.yml +2 -2
- data/lib/jeweler.rb +30 -31
- data/lib/jeweler/commands.rb +2 -0
- data/lib/jeweler/commands/build_gem.rb +9 -0
- data/lib/jeweler/commands/install_gem.rb +7 -0
- data/lib/jeweler/commands/release.rb +13 -0
- data/lib/jeweler/commands/release_to_rubyforge.rb +51 -0
- data/lib/jeweler/commands/setup_rubyforge.rb +38 -0
- data/lib/jeweler/commands/validate_gemspec.rb +9 -0
- data/lib/jeweler/commands/version/base.rb +11 -0
- data/lib/jeweler/commands/write_gemspec.rb +13 -0
- data/lib/jeweler/errors.rb +13 -1
- data/lib/jeweler/generator.rb +3 -1
- data/lib/jeweler/generator/options.rb +4 -0
- data/lib/jeweler/tasks.rb +29 -5
- data/lib/jeweler/templates/Rakefile +46 -9
- data/test/fixtures/existing-project-with-version/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version/VERSION.yml +4 -0
- data/test/fixtures/existing-project-with-version/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version/test/test_helper.rb +10 -0
- data/test/geminstaller.yml +12 -0
- data/test/jeweler/commands/test_build_gem.rb +20 -1
- data/test/jeweler/commands/test_install_gem.rb +21 -0
- data/test/jeweler/commands/test_release.rb +30 -0
- data/test/jeweler/commands/test_release_to_rubyforge.rb +157 -0
- data/test/jeweler/commands/test_setup_rubyforge.rb +88 -0
- data/test/jeweler/commands/test_validate_gemspec.rb +27 -0
- data/test/jeweler/commands/test_write_gemspec.rb +34 -0
- data/test/jeweler/commands/version/test_base.rb +32 -0
- data/test/jeweler/commands/version/test_bump_major.rb +1 -0
- data/test/test_application.rb +4 -0
- data/test/test_generator.rb +4 -0
- data/test/test_helper.rb +75 -8
- data/test/test_jeweler.rb +137 -96
- data/test/test_options.rb +6 -0
- data/test/test_tasks.rb +2 -0
- metadata +26 -4
data/test/test_jeweler.rb
CHANGED
@@ -2,135 +2,176 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class TestJeweler < Test::Unit::TestCase
|
4
4
|
|
5
|
-
def
|
6
|
-
|
7
|
-
stub(Time).now { @now }
|
5
|
+
def build_jeweler(base_dir = nil)
|
6
|
+
base_dir ||= non_git_dir_path
|
8
7
|
|
9
|
-
|
8
|
+
Jeweler.new(build_spec, base_dir)
|
10
9
|
end
|
11
10
|
|
12
|
-
def
|
13
|
-
|
11
|
+
def git_dir_path
|
12
|
+
File.join(tmp_dir, 'git')
|
14
13
|
end
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
@jeweler = Jeweler.new(build_spec, tmp_dir)
|
20
|
-
end
|
15
|
+
def non_git_dir_path
|
16
|
+
File.join(tmp_dir, 'nongit')
|
17
|
+
end
|
21
18
|
|
22
|
-
|
23
|
-
|
19
|
+
def build_git_dir
|
20
|
+
return_to = Dir.pwd
|
21
|
+
|
22
|
+
FileUtils.mkdir_p git_dir_path
|
23
|
+
begin
|
24
|
+
Dir.chdir git_dir_path
|
25
|
+
Git.init
|
26
|
+
ensure
|
27
|
+
Dir.chdir return_to
|
24
28
|
end
|
25
29
|
end
|
26
30
|
|
31
|
+
def build_non_git_dir
|
32
|
+
FileUtils.mkdir_p non_git_dir_path
|
33
|
+
end
|
27
34
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
@jeweler = Jeweler.new(build_spec, tmp_dir)
|
33
|
-
@jeweler.output = StringIO.new
|
35
|
+
should "raise an error if a nil gemspec is given" do
|
36
|
+
assert_raises Jeweler::GemspecError do
|
37
|
+
Jeweler.new(nil)
|
34
38
|
end
|
39
|
+
end
|
35
40
|
|
36
|
-
|
37
|
-
|
38
|
-
should_have_patch_version 2
|
39
|
-
should_be_version '1.5.2'
|
41
|
+
should "know if it is in a git repo" do
|
42
|
+
build_git_dir
|
40
43
|
|
41
|
-
|
42
|
-
|
43
|
-
@jeweler.bump_patch_version
|
44
|
-
end
|
45
|
-
should_bump_version 1, 5, 3
|
46
|
-
end
|
44
|
+
assert build_jeweler(git_dir_path).in_git_repo?
|
45
|
+
end
|
47
46
|
|
48
|
-
|
49
|
-
|
50
|
-
@jeweler.bump_minor_version
|
51
|
-
end
|
47
|
+
should "know if it is not in a git repo" do
|
48
|
+
build_non_git_dir
|
52
49
|
|
53
|
-
|
54
|
-
|
50
|
+
jeweler = build_jeweler(non_git_dir_path)
|
51
|
+
assert ! jeweler.in_git_repo?, "jeweler doesn't know that #{jeweler.base_dir} is not a git repository"
|
52
|
+
end
|
55
53
|
|
56
|
-
|
57
|
-
|
58
|
-
@jeweler.bump_major_version
|
59
|
-
end
|
54
|
+
should "build and run write gemspec command when writing gemspec" do
|
55
|
+
jeweler = build_jeweler
|
60
56
|
|
61
|
-
|
62
|
-
|
57
|
+
command = Object.new
|
58
|
+
mock(command).run
|
63
59
|
|
64
|
-
|
65
|
-
assert ! @jeweler.gemspec.files.empty?
|
66
|
-
end
|
60
|
+
mock(Jeweler::Commands::WriteGemspec).build_for(jeweler) { command }
|
67
61
|
|
68
|
-
|
69
|
-
|
70
|
-
@alt_jeweler = Jeweler.new(build_spec("[A-Z]*.*", "{bin,generators,lib,test,spec}/**/*"), tmp_dir)
|
71
|
-
end
|
72
|
-
|
73
|
-
should "have the same files as when no 'files' are specified" do
|
74
|
-
assert_equal @jeweler.gemspec.files, @alt_jeweler.gemspec.files
|
75
|
-
end
|
76
|
-
end
|
62
|
+
jeweler.write_gemspec
|
63
|
+
end
|
77
64
|
|
78
|
-
|
79
|
-
|
80
|
-
assert @jeweler.gemspec.has_rdoc
|
81
|
-
end
|
65
|
+
should "build and run validate gemspec command when validating gemspec" do
|
66
|
+
jeweler = build_jeweler
|
82
67
|
|
83
|
-
|
84
|
-
|
85
|
-
end
|
68
|
+
command = Object.new
|
69
|
+
mock(command).run
|
86
70
|
|
87
|
-
|
88
|
-
assert @jeweler.gemspec.rdoc_options.include?('--charset=UTF-8')
|
89
|
-
end
|
71
|
+
mock(Jeweler::Commands::ValidateGemspec).build_for(jeweler) { command }
|
90
72
|
|
91
|
-
|
73
|
+
jeweler.validate_gemspec
|
74
|
+
end
|
92
75
|
|
93
|
-
|
94
|
-
|
95
|
-
@jeweler.write_gemspec
|
96
|
-
@output = @jeweler.output.string
|
97
|
-
end
|
76
|
+
should "build and run build gem command when building gem" do
|
77
|
+
jeweler = build_jeweler
|
98
78
|
|
99
|
-
|
100
|
-
|
101
|
-
end
|
79
|
+
command = Object.new
|
80
|
+
mock(command).run
|
102
81
|
|
103
|
-
|
104
|
-
assert @jeweler.valid_gemspec?
|
105
|
-
end
|
82
|
+
mock(Jeweler::Commands::BuildGem).build_for(jeweler) { command }
|
106
83
|
|
107
|
-
|
108
|
-
|
109
|
-
end
|
84
|
+
jeweler.build_gem
|
85
|
+
end
|
110
86
|
|
111
|
-
|
112
|
-
|
113
|
-
gemspec_path = File.join(tmp_dir, 'bar.gemspec')
|
114
|
-
data = File.read(gemspec_path)
|
87
|
+
should "build and run build gem command when installing gem" do
|
88
|
+
jeweler = build_jeweler
|
115
89
|
|
116
|
-
|
117
|
-
|
90
|
+
command = Object.new
|
91
|
+
mock(command).run
|
118
92
|
|
119
|
-
|
120
|
-
assert_equal '1.5.2', @parsed_spec.version.version
|
121
|
-
end
|
93
|
+
mock(Jeweler::Commands::InstallGem).build_for(jeweler) { command }
|
122
94
|
|
123
|
-
|
124
|
-
assert_equal Time.local(@now.year, @now.month, @now.day), @parsed_spec.date
|
125
|
-
end
|
126
|
-
end
|
127
|
-
end
|
95
|
+
jeweler.install_gem
|
128
96
|
end
|
129
97
|
|
130
|
-
should "
|
131
|
-
|
132
|
-
|
133
|
-
|
98
|
+
should "build and run bump major version command when bumping major version" do
|
99
|
+
jeweler = build_jeweler
|
100
|
+
|
101
|
+
command = Object.new
|
102
|
+
mock(command).run
|
103
|
+
|
104
|
+
mock(Jeweler::Commands::Version::BumpMajor).build_for(jeweler) { command }
|
105
|
+
|
106
|
+
jeweler.bump_major_version
|
107
|
+
end
|
108
|
+
|
109
|
+
should "build and run bump minor version command when bumping minor version" do
|
110
|
+
jeweler = build_jeweler
|
111
|
+
|
112
|
+
command = Object.new
|
113
|
+
mock(command).run
|
114
|
+
|
115
|
+
mock(Jeweler::Commands::Version::BumpMinor).build_for(jeweler) { command }
|
116
|
+
|
117
|
+
jeweler.bump_minor_version
|
118
|
+
end
|
119
|
+
|
120
|
+
should "build and run write version command when writing version" do
|
121
|
+
jeweler = build_jeweler
|
122
|
+
|
123
|
+
command = Object.new
|
124
|
+
mock(command).run
|
125
|
+
mock(command).major=(1)
|
126
|
+
mock(command).minor=(5)
|
127
|
+
mock(command).patch=(2)
|
128
|
+
|
129
|
+
mock(Jeweler::Commands::Version::Write).build_for(jeweler) { command }
|
130
|
+
|
131
|
+
jeweler.write_version(1, 5, 2)
|
132
|
+
end
|
133
|
+
|
134
|
+
should "build and run release command when running release" do
|
135
|
+
jeweler = build_jeweler
|
136
|
+
|
137
|
+
command = Object.new
|
138
|
+
mock(command).run
|
139
|
+
|
140
|
+
mock(Jeweler::Commands::Release).build_for(jeweler) { command }
|
141
|
+
|
142
|
+
jeweler.release
|
143
|
+
end
|
144
|
+
|
145
|
+
should "build and run release to rubyforge command when running release to rubyforge" do
|
146
|
+
jeweler = build_jeweler
|
147
|
+
|
148
|
+
command = Object.new
|
149
|
+
mock(command).run
|
150
|
+
|
151
|
+
mock(Jeweler::Commands::ReleaseToRubyforge).build_for(jeweler) { command }
|
152
|
+
|
153
|
+
jeweler.release_gem_to_rubyforge
|
154
|
+
end
|
155
|
+
|
156
|
+
|
157
|
+
should "respond to gemspec_helper" do
|
158
|
+
assert_respond_to build_jeweler, :gemspec_helper
|
159
|
+
end
|
160
|
+
|
161
|
+
should "respond to version_helper" do
|
162
|
+
assert_respond_to build_jeweler, :version_helper
|
163
|
+
end
|
164
|
+
|
165
|
+
should "respond to repo" do
|
166
|
+
assert_respond_to build_jeweler, :repo
|
167
|
+
end
|
168
|
+
|
169
|
+
should "respond to commit" do
|
170
|
+
assert_respond_to build_jeweler, :commit
|
171
|
+
end
|
172
|
+
|
173
|
+
should "respond to rubyforge" do
|
174
|
+
assert_respond_to build_jeweler, :rubyforge
|
134
175
|
end
|
135
176
|
|
136
177
|
end
|
data/test/test_options.rb
CHANGED
@@ -63,6 +63,12 @@ class TestOptions < Test::Unit::TestCase
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
+
for_options '--rubyforge' do
|
67
|
+
should 'enable rubyforge' do
|
68
|
+
assert @options[:rubyforge]
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
66
72
|
for_options '--summary', 'zomg so awesome' do
|
67
73
|
should 'have summary zomg so awesome' do
|
68
74
|
assert_equal 'zomg so awesome', @options[:summary]
|
data/test/test_tasks.rb
CHANGED
@@ -34,6 +34,8 @@ class TestTasks < Test::Unit::TestCase
|
|
34
34
|
assert Task.task_defined?(:'version:bump:minor')
|
35
35
|
assert Task.task_defined?(:'version:bump:patch')
|
36
36
|
assert Task.task_defined?(:'release')
|
37
|
+
assert Task.task_defined?(:'rubyforge:release:gem')
|
38
|
+
assert Task.task_defined?(:'rubyforge:setup')
|
37
39
|
end
|
38
40
|
end
|
39
41
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: technicalpickles-jeweler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Nichols
|
@@ -9,11 +9,11 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-03-
|
12
|
+
date: 2009-03-26 00:00:00 -07:00
|
13
13
|
default_executable: jeweler
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: peterwald-git
|
17
17
|
type: :runtime
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -45,6 +45,8 @@ files:
|
|
45
45
|
- lib/jeweler/commands/build_gem.rb
|
46
46
|
- lib/jeweler/commands/install_gem.rb
|
47
47
|
- lib/jeweler/commands/release.rb
|
48
|
+
- lib/jeweler/commands/release_to_rubyforge.rb
|
49
|
+
- lib/jeweler/commands/setup_rubyforge.rb
|
48
50
|
- lib/jeweler/commands/validate_gemspec.rb
|
49
51
|
- lib/jeweler/commands/version
|
50
52
|
- lib/jeweler/commands/version/base.rb
|
@@ -92,6 +94,18 @@ files:
|
|
92
94
|
- test/fixtures
|
93
95
|
- test/fixtures/bar
|
94
96
|
- test/fixtures/bar/VERSION.yml
|
97
|
+
- test/fixtures/existing-project-with-version
|
98
|
+
- test/fixtures/existing-project-with-version/existing-project-with-version.gemspec
|
99
|
+
- test/fixtures/existing-project-with-version/lib
|
100
|
+
- test/fixtures/existing-project-with-version/lib/existing_project_with_version.rb
|
101
|
+
- test/fixtures/existing-project-with-version/LICENSE
|
102
|
+
- test/fixtures/existing-project-with-version/Rakefile
|
103
|
+
- test/fixtures/existing-project-with-version/README.rdoc
|
104
|
+
- test/fixtures/existing-project-with-version/test
|
105
|
+
- test/fixtures/existing-project-with-version/test/existing_project_with_version_test.rb
|
106
|
+
- test/fixtures/existing-project-with-version/test/test_helper.rb
|
107
|
+
- test/fixtures/existing-project-with-version/VERSION.yml
|
108
|
+
- test/geminstaller.yml
|
95
109
|
- test/generators
|
96
110
|
- test/generators/initialization_test.rb
|
97
111
|
- test/jeweler
|
@@ -99,8 +113,12 @@ files:
|
|
99
113
|
- test/jeweler/commands/test_build_gem.rb
|
100
114
|
- test/jeweler/commands/test_install_gem.rb
|
101
115
|
- test/jeweler/commands/test_release.rb
|
116
|
+
- test/jeweler/commands/test_release_to_rubyforge.rb
|
117
|
+
- test/jeweler/commands/test_setup_rubyforge.rb
|
118
|
+
- test/jeweler/commands/test_validate_gemspec.rb
|
102
119
|
- test/jeweler/commands/test_write_gemspec.rb
|
103
120
|
- test/jeweler/commands/version
|
121
|
+
- test/jeweler/commands/version/test_base.rb
|
104
122
|
- test/jeweler/commands/version/test_bump_major.rb
|
105
123
|
- test/jeweler/commands/version/test_bump_minor.rb
|
106
124
|
- test/jeweler/commands/version/test_bump_patch.rb
|
@@ -115,8 +133,12 @@ files:
|
|
115
133
|
- test/test_options.rb
|
116
134
|
- test/test_tasks.rb
|
117
135
|
- test/test_version_helper.rb
|
136
|
+
- test/tmp
|
137
|
+
- test/tmp/git
|
138
|
+
- test/tmp/nongit
|
118
139
|
- test/version_tmp
|
119
140
|
- test/version_tmp/VERSION.yml
|
141
|
+
- lib/jeweler/templates/.documena
|
120
142
|
- lib/jeweler/templates/.gitignore
|
121
143
|
has_rdoc: true
|
122
144
|
homepage: http://github.com/technicalpickles/jeweler
|
@@ -140,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
162
|
version:
|
141
163
|
requirements: []
|
142
164
|
|
143
|
-
rubyforge_project:
|
165
|
+
rubyforge_project: pickles
|
144
166
|
rubygems_version: 1.2.0
|
145
167
|
signing_key:
|
146
168
|
specification_version: 2
|