gohanlonllc-jeweler 0.11.1.20090513153819
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/.gitignore +7 -0
- data/ChangeLog.markdown +83 -0
- data/LICENSE +20 -0
- data/README.markdown +170 -0
- data/ROADMAP +12 -0
- data/Rakefile +106 -0
- data/VERSION.yml +5 -0
- data/bin/jeweler +8 -0
- data/features/generator/cucumber.feature +83 -0
- data/features/generator/directory_layout.feature +76 -0
- data/features/generator/dotdocument.feature +14 -0
- data/features/generator/env_options.feature +9 -0
- data/features/generator/git.feature +94 -0
- data/features/generator/license.feature +11 -0
- data/features/generator/rakefile.feature +110 -0
- data/features/generator/readme.feature +12 -0
- data/features/generator/test.feature +41 -0
- data/features/generator/test_helper.feature +49 -0
- data/features/placeholder.feature +5 -0
- data/features/step_definitions/debug_steps.rb +6 -0
- data/features/step_definitions/filesystem_steps.rb +65 -0
- data/features/step_definitions/generator_steps.rb +251 -0
- data/features/step_definitions/task_steps.rb +6 -0
- data/features/support/env.rb +19 -0
- data/features/tasks/build_gem.feature +9 -0
- data/features/tasks/version.feature +24 -0
- data/features/tasks/version_bumping.feature +33 -0
- data/jeweler.gemspec +205 -0
- data/lib/jeweler/commands/build_gem.rb +31 -0
- data/lib/jeweler/commands/install_gem.rb +26 -0
- data/lib/jeweler/commands/release.rb +83 -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 +30 -0
- data/lib/jeweler/commands/version/base.rb +41 -0
- data/lib/jeweler/commands/version/bump_major.rb +13 -0
- data/lib/jeweler/commands/version/bump_minor.rb +12 -0
- data/lib/jeweler/commands/version/bump_patch.rb +14 -0
- data/lib/jeweler/commands/version/bump_timestamp.rb +14 -0
- data/lib/jeweler/commands/version/write.rb +12 -0
- data/lib/jeweler/commands/write_gemspec.rb +39 -0
- data/lib/jeweler/commands.rb +13 -0
- data/lib/jeweler/errors.rb +20 -0
- data/lib/jeweler/gemspec_helper.rb +76 -0
- data/lib/jeweler/generator/application.rb +54 -0
- data/lib/jeweler/generator/bacon_mixin.rb +39 -0
- data/lib/jeweler/generator/micronaut_mixin.rb +38 -0
- data/lib/jeweler/generator/minitest_mixin.rb +39 -0
- data/lib/jeweler/generator/options.rb +77 -0
- data/lib/jeweler/generator/rspec_mixin.rb +39 -0
- data/lib/jeweler/generator/shoulda_mixin.rb +39 -0
- data/lib/jeweler/generator/testunit_mixin.rb +39 -0
- data/lib/jeweler/generator.rb +284 -0
- data/lib/jeweler/rubyforge_tasks.rb +46 -0
- data/lib/jeweler/specification.rb +65 -0
- data/lib/jeweler/tasks.rb +131 -0
- data/lib/jeweler/templates/.document +5 -0
- data/lib/jeweler/templates/.gitignore +5 -0
- data/lib/jeweler/templates/LICENSE +20 -0
- data/lib/jeweler/templates/README.rdoc +7 -0
- data/lib/jeweler/templates/Rakefile +102 -0
- data/lib/jeweler/templates/bacon/flunking.rb +7 -0
- data/lib/jeweler/templates/bacon/helper.rb +8 -0
- data/lib/jeweler/templates/features/default.feature +9 -0
- data/lib/jeweler/templates/features/support/env.rb +8 -0
- data/lib/jeweler/templates/micronaut/flunking.rb +7 -0
- data/lib/jeweler/templates/micronaut/helper.rb +17 -0
- data/lib/jeweler/templates/minitest/flunking.rb +7 -0
- data/lib/jeweler/templates/minitest/helper.rb +11 -0
- data/lib/jeweler/templates/rspec/flunking.rb +7 -0
- data/lib/jeweler/templates/rspec/helper.rb +9 -0
- data/lib/jeweler/templates/shoulda/flunking.rb +7 -0
- data/lib/jeweler/templates/shoulda/helper.rb +10 -0
- data/lib/jeweler/templates/testunit/flunking.rb +7 -0
- data/lib/jeweler/templates/testunit/helper.rb +9 -0
- data/lib/jeweler/version_helper.rb +140 -0
- data/lib/jeweler.rb +155 -0
- data/test/fixtures/bar/VERSION.yml +4 -0
- data/test/fixtures/bar/bin/foo_the_ultimate_bin +1 -0
- data/test/fixtures/bar/hey_include_me_in_gemspec +0 -0
- data/test/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -0
- data/test/fixtures/existing-project-with-version-plaintext/.document +5 -0
- data/test/fixtures/existing-project-with-version-plaintext/.gitignore +5 -0
- data/test/fixtures/existing-project-with-version-plaintext/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version-plaintext/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version-plaintext/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version-plaintext/VERSION +1 -0
- data/test/fixtures/existing-project-with-version-plaintext/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version-plaintext/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version-plaintext/test/test_helper.rb +10 -0
- data/test/fixtures/existing-project-with-version-yaml/.document +5 -0
- data/test/fixtures/existing-project-with-version-yaml/.gitignore +5 -0
- data/test/fixtures/existing-project-with-version-yaml/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version-yaml/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version-yaml/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version-yaml/VERSION.yml +4 -0
- data/test/fixtures/existing-project-with-version-yaml/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version-yaml/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version-yaml/test/test_helper.rb +10 -0
- data/test/geminstaller.yml +12 -0
- data/test/jeweler/commands/test_build_gem.rb +72 -0
- data/test/jeweler/commands/test_install_gem.rb +21 -0
- data/test/jeweler/commands/test_release.rb +405 -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 +92 -0
- data/test/jeweler/commands/version/test_base.rb +32 -0
- data/test/jeweler/commands/version/test_bump_major.rb +22 -0
- data/test/jeweler/commands/version/test_bump_minor.rb +19 -0
- data/test/jeweler/commands/version/test_bump_patch.rb +20 -0
- data/test/jeweler/commands/version/test_write.rb +23 -0
- data/test/shoulda_macros/jeweler_macros.rb +35 -0
- data/test/test_application.rb +139 -0
- data/test/test_gemspec_helper.rb +40 -0
- data/test/test_generator.rb +154 -0
- data/test/test_generator_initialization.rb +113 -0
- data/test/test_generator_mixins.rb +18 -0
- data/test/test_helper.rb +133 -0
- data/test/test_jeweler.rb +174 -0
- data/test/test_options.rb +116 -0
- data/test/test_specification.rb +61 -0
- data/test/test_tasks.rb +51 -0
- data/test/test_version_helper.rb +153 -0
- metadata +229 -0
@@ -0,0 +1,9 @@
|
|
1
|
+
Feature: building gems
|
2
|
+
|
3
|
+
Scenario: default
|
4
|
+
Given a working directory
|
5
|
+
And I use the existing project "existing-project-with-version-yaml" as a template
|
6
|
+
And "VERSION.yml" contains hash "{ :major => 1, :minor => 5, :patch => 3}"
|
7
|
+
And "existing-project-with-version/pkg/existing-project-with-version-1.5.3.gem" does not exist
|
8
|
+
When I run "rake build" in "existing-project-with-version-yaml"
|
9
|
+
Then I can gem install "existing-project-with-version-yaml/pkg/existing-project-with-version-1.5.3.gem"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Feature: version rake task
|
2
|
+
|
3
|
+
#Scenario: a newly created project without a version
|
4
|
+
# Given a working directory
|
5
|
+
# And I use the jeweler command to generate the "the-perfect-gem" project in the working directory
|
6
|
+
# And "the-perfect-gem/VERSION" does not exist
|
7
|
+
# When I run "rake version" in "the-perfect-gem"
|
8
|
+
# Then the process should not exit cleanly
|
9
|
+
|
10
|
+
Scenario: an existing project with version yaml
|
11
|
+
Given a working directory
|
12
|
+
And I use the existing project "existing-project-with-version-yaml" as a template
|
13
|
+
And "VERSION.yml" contains hash "{ :major => 1, :minor => 5, :patch => 3}"
|
14
|
+
When I run "rake version" in "existing-project-with-version-yaml"
|
15
|
+
Then the process should exit cleanly
|
16
|
+
And the current version, 1.5.3, is displayed
|
17
|
+
|
18
|
+
Scenario: an existing project with version plaintext
|
19
|
+
Given a working directory
|
20
|
+
And I use the existing project "existing-project-with-version-plaintext" as a template
|
21
|
+
And "VERSION" contains "1.5.3"
|
22
|
+
When I run "rake version" in "existing-project-with-version-plaintext"
|
23
|
+
Then the process should exit cleanly
|
24
|
+
And the current version, 1.5.3, is displayed
|
@@ -0,0 +1,33 @@
|
|
1
|
+
Feature: bumping version
|
2
|
+
|
3
|
+
Scenario: major version
|
4
|
+
Given a working directory
|
5
|
+
And I use the existing project "existing-project-with-version-yaml" as a template
|
6
|
+
And "VERSION.yml" contains hash "{ :major => 1, :minor => 5, :patch => 3}"
|
7
|
+
When I run "rake version:bump:major" in "existing-project-with-version-yaml"
|
8
|
+
Then the process should exit cleanly
|
9
|
+
And the updated version, 2.0.0, is displayed
|
10
|
+
|
11
|
+
Scenario: minor version
|
12
|
+
Given a working directory
|
13
|
+
And I use the existing project "existing-project-with-version-yaml" as a template
|
14
|
+
And "VERSION.yml" contains hash "{ :major => 1, :minor => 5, :patch => 3}"
|
15
|
+
When I run "rake version:bump:minor" in "existing-project-with-version-yaml"
|
16
|
+
Then the process should exit cleanly
|
17
|
+
And the updated version, 1.6.0, is displayed
|
18
|
+
|
19
|
+
Scenario: patch version
|
20
|
+
Given a working directory
|
21
|
+
And I use the existing project "existing-project-with-version-yaml" as a template
|
22
|
+
And "VERSION.yml" contains hash "{ :major => 1, :minor => 5, :patch => 3}"
|
23
|
+
When I run "rake version:bump:patch" in "existing-project-with-version-yaml"
|
24
|
+
Then the process should exit cleanly
|
25
|
+
And the updated version, 1.5.4, is displayed
|
26
|
+
|
27
|
+
Scenario: arbitrary version
|
28
|
+
Given a working directory
|
29
|
+
And I use the existing project "existing-project-with-version-yaml" as a template
|
30
|
+
And "VERSION.yml" contains hash "{ :major => 1, :minor => 5, :patch => 3}"
|
31
|
+
When I run "rake version:write MAJOR=3 MINOR=7 PATCH=1" in "existing-project-with-version-yaml"
|
32
|
+
Then the process should exit cleanly
|
33
|
+
And the updated version, 3.7.1, is displayed
|
data/jeweler.gemspec
ADDED
@@ -0,0 +1,205 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{jeweler}
|
5
|
+
s.version = "0.11.1.20090513153819"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Josh Nichols"]
|
9
|
+
s.date = %q{2009-05-13}
|
10
|
+
s.default_executable = %q{jeweler}
|
11
|
+
s.description = %q{Simple and opinionated helper for creating Rubygem projects on GitHub}
|
12
|
+
s.email = %q{josh@technicalpickles.com}
|
13
|
+
s.executables = ["jeweler"]
|
14
|
+
s.extra_rdoc_files = [
|
15
|
+
"ChangeLog.markdown",
|
16
|
+
"LICENSE",
|
17
|
+
"README.markdown"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".gitignore",
|
21
|
+
"ChangeLog.markdown",
|
22
|
+
"LICENSE",
|
23
|
+
"README.markdown",
|
24
|
+
"ROADMAP",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION.yml",
|
27
|
+
"bin/jeweler",
|
28
|
+
"features/generator/cucumber.feature",
|
29
|
+
"features/generator/directory_layout.feature",
|
30
|
+
"features/generator/dotdocument.feature",
|
31
|
+
"features/generator/env_options.feature",
|
32
|
+
"features/generator/git.feature",
|
33
|
+
"features/generator/license.feature",
|
34
|
+
"features/generator/rakefile.feature",
|
35
|
+
"features/generator/readme.feature",
|
36
|
+
"features/generator/test.feature",
|
37
|
+
"features/generator/test_helper.feature",
|
38
|
+
"features/placeholder.feature",
|
39
|
+
"features/step_definitions/debug_steps.rb",
|
40
|
+
"features/step_definitions/filesystem_steps.rb",
|
41
|
+
"features/step_definitions/generator_steps.rb",
|
42
|
+
"features/step_definitions/task_steps.rb",
|
43
|
+
"features/support/env.rb",
|
44
|
+
"features/tasks/build_gem.feature",
|
45
|
+
"features/tasks/version.feature",
|
46
|
+
"features/tasks/version_bumping.feature",
|
47
|
+
"jeweler.gemspec",
|
48
|
+
"lib/jeweler.rb",
|
49
|
+
"lib/jeweler/commands.rb",
|
50
|
+
"lib/jeweler/commands/build_gem.rb",
|
51
|
+
"lib/jeweler/commands/install_gem.rb",
|
52
|
+
"lib/jeweler/commands/release.rb",
|
53
|
+
"lib/jeweler/commands/release_to_rubyforge.rb",
|
54
|
+
"lib/jeweler/commands/setup_rubyforge.rb",
|
55
|
+
"lib/jeweler/commands/validate_gemspec.rb",
|
56
|
+
"lib/jeweler/commands/version/base.rb",
|
57
|
+
"lib/jeweler/commands/version/bump_major.rb",
|
58
|
+
"lib/jeweler/commands/version/bump_minor.rb",
|
59
|
+
"lib/jeweler/commands/version/bump_patch.rb",
|
60
|
+
"lib/jeweler/commands/version/bump_timestamp.rb",
|
61
|
+
"lib/jeweler/commands/version/write.rb",
|
62
|
+
"lib/jeweler/commands/write_gemspec.rb",
|
63
|
+
"lib/jeweler/errors.rb",
|
64
|
+
"lib/jeweler/gemspec_helper.rb",
|
65
|
+
"lib/jeweler/generator.rb",
|
66
|
+
"lib/jeweler/generator/application.rb",
|
67
|
+
"lib/jeweler/generator/bacon_mixin.rb",
|
68
|
+
"lib/jeweler/generator/micronaut_mixin.rb",
|
69
|
+
"lib/jeweler/generator/minitest_mixin.rb",
|
70
|
+
"lib/jeweler/generator/options.rb",
|
71
|
+
"lib/jeweler/generator/rspec_mixin.rb",
|
72
|
+
"lib/jeweler/generator/shoulda_mixin.rb",
|
73
|
+
"lib/jeweler/generator/testunit_mixin.rb",
|
74
|
+
"lib/jeweler/rubyforge_tasks.rb",
|
75
|
+
"lib/jeweler/specification.rb",
|
76
|
+
"lib/jeweler/tasks.rb",
|
77
|
+
"lib/jeweler/templates/.document",
|
78
|
+
"lib/jeweler/templates/.document",
|
79
|
+
"lib/jeweler/templates/.gitignore",
|
80
|
+
"lib/jeweler/templates/.gitignore",
|
81
|
+
"lib/jeweler/templates/LICENSE",
|
82
|
+
"lib/jeweler/templates/README.rdoc",
|
83
|
+
"lib/jeweler/templates/Rakefile",
|
84
|
+
"lib/jeweler/templates/bacon/flunking.rb",
|
85
|
+
"lib/jeweler/templates/bacon/helper.rb",
|
86
|
+
"lib/jeweler/templates/features/default.feature",
|
87
|
+
"lib/jeweler/templates/features/support/env.rb",
|
88
|
+
"lib/jeweler/templates/micronaut/flunking.rb",
|
89
|
+
"lib/jeweler/templates/micronaut/helper.rb",
|
90
|
+
"lib/jeweler/templates/minitest/flunking.rb",
|
91
|
+
"lib/jeweler/templates/minitest/helper.rb",
|
92
|
+
"lib/jeweler/templates/rspec/flunking.rb",
|
93
|
+
"lib/jeweler/templates/rspec/helper.rb",
|
94
|
+
"lib/jeweler/templates/shoulda/flunking.rb",
|
95
|
+
"lib/jeweler/templates/shoulda/helper.rb",
|
96
|
+
"lib/jeweler/templates/testunit/flunking.rb",
|
97
|
+
"lib/jeweler/templates/testunit/helper.rb",
|
98
|
+
"lib/jeweler/version_helper.rb",
|
99
|
+
"test/fixtures/bar/VERSION.yml",
|
100
|
+
"test/fixtures/bar/bin/foo_the_ultimate_bin",
|
101
|
+
"test/fixtures/bar/hey_include_me_in_gemspec",
|
102
|
+
"test/fixtures/bar/lib/foo_the_ultimate_lib.rb",
|
103
|
+
"test/fixtures/existing-project-with-version-plaintext/.document",
|
104
|
+
"test/fixtures/existing-project-with-version-plaintext/.gitignore",
|
105
|
+
"test/fixtures/existing-project-with-version-plaintext/LICENSE",
|
106
|
+
"test/fixtures/existing-project-with-version-plaintext/README.rdoc",
|
107
|
+
"test/fixtures/existing-project-with-version-plaintext/Rakefile",
|
108
|
+
"test/fixtures/existing-project-with-version-plaintext/VERSION",
|
109
|
+
"test/fixtures/existing-project-with-version-plaintext/existing-project-with-version.gemspec",
|
110
|
+
"test/fixtures/existing-project-with-version-plaintext/lib/existing_project_with_version.rb",
|
111
|
+
"test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb",
|
112
|
+
"test/fixtures/existing-project-with-version-plaintext/test/test_helper.rb",
|
113
|
+
"test/fixtures/existing-project-with-version-yaml/.document",
|
114
|
+
"test/fixtures/existing-project-with-version-yaml/.gitignore",
|
115
|
+
"test/fixtures/existing-project-with-version-yaml/LICENSE",
|
116
|
+
"test/fixtures/existing-project-with-version-yaml/README.rdoc",
|
117
|
+
"test/fixtures/existing-project-with-version-yaml/Rakefile",
|
118
|
+
"test/fixtures/existing-project-with-version-yaml/VERSION.yml",
|
119
|
+
"test/fixtures/existing-project-with-version-yaml/existing-project-with-version.gemspec",
|
120
|
+
"test/fixtures/existing-project-with-version-yaml/lib/existing_project_with_version.rb",
|
121
|
+
"test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb",
|
122
|
+
"test/fixtures/existing-project-with-version-yaml/test/test_helper.rb",
|
123
|
+
"test/geminstaller.yml",
|
124
|
+
"test/jeweler/commands/test_build_gem.rb",
|
125
|
+
"test/jeweler/commands/test_install_gem.rb",
|
126
|
+
"test/jeweler/commands/test_release.rb",
|
127
|
+
"test/jeweler/commands/test_release_to_rubyforge.rb",
|
128
|
+
"test/jeweler/commands/test_setup_rubyforge.rb",
|
129
|
+
"test/jeweler/commands/test_validate_gemspec.rb",
|
130
|
+
"test/jeweler/commands/test_write_gemspec.rb",
|
131
|
+
"test/jeweler/commands/version/test_base.rb",
|
132
|
+
"test/jeweler/commands/version/test_bump_major.rb",
|
133
|
+
"test/jeweler/commands/version/test_bump_minor.rb",
|
134
|
+
"test/jeweler/commands/version/test_bump_patch.rb",
|
135
|
+
"test/jeweler/commands/version/test_write.rb",
|
136
|
+
"test/shoulda_macros/jeweler_macros.rb",
|
137
|
+
"test/test_application.rb",
|
138
|
+
"test/test_gemspec_helper.rb",
|
139
|
+
"test/test_generator.rb",
|
140
|
+
"test/test_generator_initialization.rb",
|
141
|
+
"test/test_generator_mixins.rb",
|
142
|
+
"test/test_helper.rb",
|
143
|
+
"test/test_jeweler.rb",
|
144
|
+
"test/test_options.rb",
|
145
|
+
"test/test_specification.rb",
|
146
|
+
"test/test_tasks.rb",
|
147
|
+
"test/test_version_helper.rb"
|
148
|
+
]
|
149
|
+
s.has_rdoc = true
|
150
|
+
s.homepage = %q{http://github.com/technicalpickles/jeweler}
|
151
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
152
|
+
s.require_paths = ["lib"]
|
153
|
+
s.rubyforge_project = %q{pickles}
|
154
|
+
s.rubygems_version = %q{1.3.2}
|
155
|
+
s.summary = %q{Simple and opinionated helper for creating Rubygem projects on GitHub}
|
156
|
+
s.test_files = [
|
157
|
+
"test/fixtures/bar/lib/foo_the_ultimate_lib.rb",
|
158
|
+
"test/fixtures/existing-project-with-version-plaintext/lib/existing_project_with_version.rb",
|
159
|
+
"test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb",
|
160
|
+
"test/fixtures/existing-project-with-version-plaintext/test/test_helper.rb",
|
161
|
+
"test/fixtures/existing-project-with-version-yaml/lib/existing_project_with_version.rb",
|
162
|
+
"test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb",
|
163
|
+
"test/fixtures/existing-project-with-version-yaml/test/test_helper.rb",
|
164
|
+
"test/jeweler/commands/test_build_gem.rb",
|
165
|
+
"test/jeweler/commands/test_install_gem.rb",
|
166
|
+
"test/jeweler/commands/test_release.rb",
|
167
|
+
"test/jeweler/commands/test_release_to_rubyforge.rb",
|
168
|
+
"test/jeweler/commands/test_setup_rubyforge.rb",
|
169
|
+
"test/jeweler/commands/test_validate_gemspec.rb",
|
170
|
+
"test/jeweler/commands/test_write_gemspec.rb",
|
171
|
+
"test/jeweler/commands/version/test_base.rb",
|
172
|
+
"test/jeweler/commands/version/test_bump_major.rb",
|
173
|
+
"test/jeweler/commands/version/test_bump_minor.rb",
|
174
|
+
"test/jeweler/commands/version/test_bump_patch.rb",
|
175
|
+
"test/jeweler/commands/version/test_write.rb",
|
176
|
+
"test/shoulda_macros/jeweler_macros.rb",
|
177
|
+
"test/test_application.rb",
|
178
|
+
"test/test_gemspec_helper.rb",
|
179
|
+
"test/test_generator.rb",
|
180
|
+
"test/test_generator_initialization.rb",
|
181
|
+
"test/test_generator_mixins.rb",
|
182
|
+
"test/test_helper.rb",
|
183
|
+
"test/test_jeweler.rb",
|
184
|
+
"test/test_options.rb",
|
185
|
+
"test/test_specification.rb",
|
186
|
+
"test/test_tasks.rb",
|
187
|
+
"test/test_version_helper.rb"
|
188
|
+
]
|
189
|
+
|
190
|
+
if s.respond_to? :specification_version then
|
191
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
192
|
+
s.specification_version = 3
|
193
|
+
|
194
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
195
|
+
s.add_runtime_dependency(%q<git>, [">= 1.1.1"])
|
196
|
+
s.add_runtime_dependency(%q<rubyforge>, [">= 0"])
|
197
|
+
else
|
198
|
+
s.add_dependency(%q<git>, [">= 1.1.1"])
|
199
|
+
s.add_dependency(%q<rubyforge>, [">= 0"])
|
200
|
+
end
|
201
|
+
else
|
202
|
+
s.add_dependency(%q<git>, [">= 1.1.1"])
|
203
|
+
s.add_dependency(%q<rubyforge>, [">= 0"])
|
204
|
+
end
|
205
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
class BuildGem
|
4
|
+
attr_accessor :base_dir, :gemspec_helper, :file_utils
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
self.file_utils = FileUtils
|
8
|
+
end
|
9
|
+
|
10
|
+
def run
|
11
|
+
gemspec = gemspec_helper.parse
|
12
|
+
gem_file_name = Gem::Builder.new(gemspec).build
|
13
|
+
|
14
|
+
pkg_dir = File.join(base_dir, 'pkg')
|
15
|
+
file_utils.mkdir_p pkg_dir
|
16
|
+
|
17
|
+
gem_file_name = File.join(base_dir, gem_file_name)
|
18
|
+
file_utils.mv gem_file_name, pkg_dir
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.build_for(jeweler)
|
22
|
+
command = new
|
23
|
+
|
24
|
+
command.base_dir = jeweler.base_dir
|
25
|
+
command.gemspec_helper = jeweler.gemspec_helper
|
26
|
+
|
27
|
+
command
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
class InstallGem
|
4
|
+
attr_accessor :gemspec_helper, :output
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
self.output = $stdout
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
def run
|
12
|
+
command = "sudo gem install #{gemspec_helper.gem_path}"
|
13
|
+
output.puts "Executing #{command.inspect}:"
|
14
|
+
|
15
|
+
sh command # TODO where does sh actually come from!?
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.build_for(jeweler)
|
19
|
+
command = new
|
20
|
+
command.output = jeweler.output
|
21
|
+
command.gemspec_helper = jeweler.gemspec_helper
|
22
|
+
command
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
class Release
|
4
|
+
attr_accessor :gemspec, :version, :repo, :output, :gemspec_helper, :base_dir
|
5
|
+
|
6
|
+
def initialize(attributes = {})
|
7
|
+
self.output = $stdout
|
8
|
+
|
9
|
+
attributes.each_pair do |key, value|
|
10
|
+
send("#{key}=", value)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
raise "Hey buddy, try committing them files first" if any_pending_changes?
|
16
|
+
|
17
|
+
repo.checkout('master')
|
18
|
+
|
19
|
+
regenerate_gemspec!
|
20
|
+
commit_gemspec! if gemspec_changed?
|
21
|
+
|
22
|
+
output.puts "Pushing master to origin"
|
23
|
+
repo.push
|
24
|
+
|
25
|
+
tag_release! unless release_tagged?
|
26
|
+
end
|
27
|
+
|
28
|
+
def any_pending_changes?
|
29
|
+
!(@repo.status.added.empty? && @repo.status.deleted.empty? && @repo.status.changed.empty?)
|
30
|
+
end
|
31
|
+
|
32
|
+
def tag_release!
|
33
|
+
output.puts "Tagging #{release_tag}"
|
34
|
+
repo.add_tag(release_tag)
|
35
|
+
|
36
|
+
output.puts "Pushing #{release_tag} to origin"
|
37
|
+
repo.push('origin', release_tag)
|
38
|
+
end
|
39
|
+
|
40
|
+
def commit_gemspec!
|
41
|
+
repo.add(gemspec_helper.path)
|
42
|
+
output.puts "Committing #{gemspec_helper.path}"
|
43
|
+
repo.commit "Regenerated gemspec for version #{version}"
|
44
|
+
end
|
45
|
+
|
46
|
+
def regenerate_gemspec!
|
47
|
+
gemspec_helper.update_version(version)
|
48
|
+
gemspec_helper.write
|
49
|
+
end
|
50
|
+
|
51
|
+
def release_tag
|
52
|
+
"v#{version}"
|
53
|
+
end
|
54
|
+
|
55
|
+
def release_tagged?
|
56
|
+
tag = repo.tag(release_tag) rescue nil
|
57
|
+
! tag.nil?
|
58
|
+
end
|
59
|
+
|
60
|
+
def gemspec_changed?
|
61
|
+
! any_pending_changes?
|
62
|
+
end
|
63
|
+
|
64
|
+
def gemspec_helper
|
65
|
+
@gemspec_helper ||= Jeweler::GemSpecHelper.new(self.gemspec, self.base_dir)
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.build_for(jeweler)
|
69
|
+
command = self.new
|
70
|
+
|
71
|
+
command.base_dir = jeweler.base_dir
|
72
|
+
command.gemspec = jeweler.gemspec
|
73
|
+
command.version = jeweler.version
|
74
|
+
command.repo = jeweler.repo
|
75
|
+
command.output = jeweler.output
|
76
|
+
command.gemspec_helper = jeweler.gemspec_helper
|
77
|
+
|
78
|
+
command
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubyforge'
|
2
|
+
|
3
|
+
class Jeweler
|
4
|
+
module Commands
|
5
|
+
class ReleaseToRubyforge
|
6
|
+
attr_accessor :gemspec, :version, :output, :gemspec_helper, :rubyforge
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
self.output = $stdout
|
10
|
+
end
|
11
|
+
|
12
|
+
def run
|
13
|
+
raise NoRubyForgeProjectInGemspecError unless @gemspec.rubyforge_project
|
14
|
+
|
15
|
+
@rubyforge.configure rescue nil
|
16
|
+
|
17
|
+
output.puts 'Logging in rubyforge'
|
18
|
+
@rubyforge.login
|
19
|
+
|
20
|
+
@rubyforge.userconfig['release_notes'] = @gemspec.description if @gemspec.description
|
21
|
+
@rubyforge.userconfig['preformatted'] = true
|
22
|
+
|
23
|
+
output.puts "Releasing #{@gemspec.name}-#{@version} to #{@gemspec.rubyforge_project}"
|
24
|
+
begin
|
25
|
+
@rubyforge.add_release(@gemspec.rubyforge_project, @gemspec.name, @version.to_s, @gemspec_helper.gem_path)
|
26
|
+
rescue StandardError => e
|
27
|
+
case e.message
|
28
|
+
when /no <group_id> configured for <#{Regexp.escape @gemspec.rubyforge_project}>/
|
29
|
+
raise RubyForgeProjectNotConfiguredError, @gemspec.rubyforge_project
|
30
|
+
when /no <package_id> configured for <#{Regexp.escape @gemspec.name}>/i
|
31
|
+
raise MissingRubyForgePackageError, @gemspec.name
|
32
|
+
else
|
33
|
+
raise
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.build_for(jeweler)
|
39
|
+
command = new
|
40
|
+
command.gemspec = jeweler.gemspec
|
41
|
+
command.gemspec_helper = jeweler.gemspec_helper
|
42
|
+
command.version = jeweler.version
|
43
|
+
command.rubyforge = jeweler.rubyforge
|
44
|
+
command.output = jeweler.output
|
45
|
+
|
46
|
+
command
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
class SetupRubyforge
|
4
|
+
attr_accessor :gemspec, :output, :rubyforge
|
5
|
+
|
6
|
+
def run
|
7
|
+
raise NoRubyForgeProjectInGemspecError unless @gemspec.rubyforge_project
|
8
|
+
|
9
|
+
@rubyforge.configure
|
10
|
+
|
11
|
+
output.puts "Logging into rubyforge"
|
12
|
+
@rubyforge.login
|
13
|
+
|
14
|
+
output.puts "Creating #{@gemspec.name} package in the #{@gemspec.rubyforge_project} project"
|
15
|
+
begin
|
16
|
+
@rubyforge.create_package(@gemspec.rubyforge_project, @gemspec.name)
|
17
|
+
rescue StandardError => e
|
18
|
+
case e.message
|
19
|
+
when /no <group_id> configured for <#{Regexp.escape @gemspec.rubyforge_project}>/
|
20
|
+
raise RubyForgeProjectNotConfiguredError, @gemspec.rubyforge_project
|
21
|
+
else
|
22
|
+
raise
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.build_for(jeweler)
|
28
|
+
command = new
|
29
|
+
|
30
|
+
command.gemspec = jeweler.gemspec
|
31
|
+
command.output = jeweler.output
|
32
|
+
command.rubyforge = jeweler.rubyforge
|
33
|
+
|
34
|
+
command
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
class ValidateGemspec
|
4
|
+
attr_accessor :gemspec_helper, :output
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
self.output = $stdout
|
8
|
+
end
|
9
|
+
|
10
|
+
def run
|
11
|
+
begin
|
12
|
+
gemspec_helper.parse
|
13
|
+
output.puts "#{gemspec_helper.path} is valid."
|
14
|
+
rescue Exception => e
|
15
|
+
output.puts "#{gemspec_helper.path} is invalid. See the backtrace for more details."
|
16
|
+
raise
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.build_for(jeweler)
|
21
|
+
command = new
|
22
|
+
|
23
|
+
command.gemspec_helper = jeweler.gemspec_helper
|
24
|
+
command.output = jeweler.output
|
25
|
+
|
26
|
+
command
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
module Version
|
4
|
+
class Base
|
5
|
+
|
6
|
+
attr_accessor :repo, :version_helper, :gemspec, :commit
|
7
|
+
|
8
|
+
def run
|
9
|
+
update_version
|
10
|
+
|
11
|
+
self.version_helper.write
|
12
|
+
self.gemspec.version = self.version_helper.to_s
|
13
|
+
|
14
|
+
commit_version if self.repo && self.commit
|
15
|
+
end
|
16
|
+
|
17
|
+
def update_version
|
18
|
+
raise "Subclasses should implement this"
|
19
|
+
end
|
20
|
+
|
21
|
+
def commit_version
|
22
|
+
if self.repo
|
23
|
+
self.repo.add(version_helper.path)
|
24
|
+
self.repo.commit("Version bump to #{self.version_helper.to_s}")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
def self.build_for(jeweler)
|
30
|
+
command = new
|
31
|
+
command.repo = jeweler.repo
|
32
|
+
command.version_helper = jeweler.version_helper
|
33
|
+
command.gemspec = jeweler.gemspec
|
34
|
+
command.commit = jeweler.commit
|
35
|
+
|
36
|
+
command
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|