jeweler 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.semver +1 -1
- data/.travis.yml +5 -1
- data/ChangeLog.markdown +4 -0
- data/Gemfile +23 -23
- data/Gemfile.lock +142 -0
- data/Gemfile.orig +54 -0
- data/README.markdown +3 -0
- data/Rakefile +13 -14
- data/Rakefile.orig +88 -0
- data/features/generator/test.feature +2 -2
- data/features/step_definitions/debug_steps.rb +0 -1
- data/features/step_definitions/filesystem_steps.rb +2 -3
- data/features/step_definitions/generator_steps.rb +44 -64
- data/features/step_definitions/task_steps.rb +1 -2
- data/features/support/env.rb +21 -7
- data/jeweler.gemspec +11 -6
- data/jeweler.gemspec.orig +464 -0
- data/lib/jeweler.rb +18 -19
- data/lib/jeweler/commands/build_gem.rb +2 -2
- data/lib/jeweler/commands/check_dependencies.rb +3 -3
- data/lib/jeweler/commands/install_gem.rb +1 -1
- data/lib/jeweler/commands/release_gemspec.rb +8 -10
- data/lib/jeweler/commands/release_to_git.rb +9 -5
- data/lib/jeweler/commands/validate_gemspec.rb +5 -7
- data/lib/jeweler/commands/version/base.rb +8 -13
- data/lib/jeweler/commands/version/bump_major.rb +1 -3
- data/lib/jeweler/commands/version/bump_minor.rb +1 -2
- data/lib/jeweler/commands/version/bump_patch.rb +1 -4
- data/lib/jeweler/commands/write_gemspec.rb +4 -3
- data/lib/jeweler/gemspec_helper.rb +15 -15
- data/lib/jeweler/gemspec_helper.rb.orig +91 -0
- data/lib/jeweler/generator.rb +39 -41
- data/lib/jeweler/generator/application.rb +5 -7
- data/lib/jeweler/generator/bacon_mixin.rb +2 -4
- data/lib/jeweler/generator/github_mixin.rb +1 -3
- data/lib/jeweler/generator/micronaut_mixin.rb +3 -3
- data/lib/jeweler/generator/minitest_mixin.rb +2 -3
- data/lib/jeweler/generator/options.rb +15 -19
- data/lib/jeweler/generator/rdoc_mixin.rb +1 -1
- data/lib/jeweler/generator/riot_mixin.rb +2 -3
- data/lib/jeweler/generator/rspec_mixin.rb +2 -3
- data/lib/jeweler/generator/shindo_mixin.rb +2 -3
- data/lib/jeweler/generator/shoulda_mixin.rb +2 -3
- data/lib/jeweler/generator/testspec_mixin.rb +2 -3
- data/lib/jeweler/generator/testunit_mixin.rb +1 -3
- data/lib/jeweler/generator/yard_mixin.rb +3 -4
- data/lib/jeweler/rubyforge_tasks.rb +13 -13
- data/lib/jeweler/rubygems_dot_org_tasks.rb +3 -3
- data/lib/jeweler/rubygems_tasks.rb +3 -3
- data/lib/jeweler/specification.rb +22 -11
- data/lib/jeweler/tasks.rb +57 -57
- data/lib/jeweler/templates/bacon/flunking.rb +3 -3
- data/lib/jeweler/templates/micronaut/flunking.rb +3 -3
- data/lib/jeweler/templates/minitest/flunking.rb +1 -1
- data/lib/jeweler/templates/minitest/helper.rb +3 -3
- data/lib/jeweler/templates/riot/flunking.rb +1 -1
- data/lib/jeweler/templates/rspec/flunking.rb +3 -3
- data/lib/jeweler/templates/shindo/flunking.rb +3 -3
- data/lib/jeweler/templates/testspec/flunking.rb +3 -3
- data/lib/jeweler/version_helper.rb +18 -15
- data/test/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -1
- data/test/fixtures/existing-project-with-version-constant/Rakefile +18 -20
- data/test/fixtures/existing-project-with-version-constant/existing-project-with-version.gemspec +15 -17
- data/test/fixtures/existing-project-with-version-constant/test/existing_project_with_version_test.rb +2 -2
- data/test/fixtures/existing-project-with-version-plaintext/Rakefile +17 -19
- data/test/fixtures/existing-project-with-version-plaintext/existing-project-with-version.gemspec +15 -17
- data/test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb +2 -2
- data/test/fixtures/existing-project-with-version-yaml/Rakefile +17 -19
- data/test/fixtures/existing-project-with-version-yaml/existing-project-with-version.gemspec +15 -17
- data/test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb +2 -2
- data/test/jeweler/commands/test_build_gem.rb +25 -28
- data/test/jeweler/commands/test_install_gem.rb +7 -7
- data/test/jeweler/commands/test_release_to_gemcutter.rb +6 -7
- data/test/jeweler/commands/test_release_to_git.rb +52 -57
- data/test/jeweler/commands/test_release_to_github.rb +112 -119
- data/test/jeweler/commands/test_validate_gemspec.rb +4 -6
- data/test/jeweler/commands/test_write_gemspec.rb +21 -24
- data/test/jeweler/commands/version/test_base.rb +9 -10
- data/test/jeweler/commands/version/test_bump_major.rb +1 -5
- data/test/jeweler/commands/version/test_bump_minor.rb +1 -2
- data/test/jeweler/commands/version/test_bump_patch.rb +1 -3
- data/test/jeweler/commands/version/test_write.rb +1 -3
- data/test/jeweler/generator/test_application.rb +22 -26
- data/test/jeweler/generator/test_options.rb +26 -27
- data/test/jeweler/test_gemspec_helper.rb +7 -7
- data/test/jeweler/test_generator.rb +31 -32
- data/test/jeweler/test_generator_initialization.rb +40 -43
- data/test/jeweler/test_generator_mixins.rb +6 -7
- data/test/jeweler/test_specification.rb +36 -43
- data/test/jeweler/test_tasks.rb +2 -3
- data/test/jeweler/test_version_helper.rb +33 -35
- data/test/shoulda_macros/jeweler_macros.rb +5 -5
- data/test/test_helper.rb +23 -25
- data/test/test_jeweler.rb +22 -25
- metadata +11 -6
@@ -2,7 +2,7 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module RiotMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['riot', '>= 0']
|
6
6
|
end
|
7
7
|
|
8
8
|
def default_task
|
@@ -34,9 +34,8 @@ class Jeweler
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_helper_filename
|
37
|
-
|
37
|
+
'teststrap.rb'
|
38
38
|
end
|
39
|
-
|
40
39
|
end
|
41
40
|
end
|
42
41
|
end
|
@@ -2,7 +2,7 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module RspecMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['rspec', '~> 2.8.0']
|
6
6
|
end
|
7
7
|
|
8
8
|
def default_task
|
@@ -34,9 +34,8 @@ class Jeweler
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_helper_filename
|
37
|
-
|
37
|
+
'spec_helper.rb'
|
38
38
|
end
|
39
|
-
|
40
39
|
end
|
41
40
|
end
|
42
41
|
end
|
@@ -2,7 +2,7 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module ShindoMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['shindo', '>= 0']
|
6
6
|
end
|
7
7
|
|
8
8
|
def default_task
|
@@ -36,9 +36,8 @@ class Jeweler
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_helper_filename
|
39
|
-
|
39
|
+
'tests_helper.rb'
|
40
40
|
end
|
41
|
-
|
42
41
|
end
|
43
42
|
end
|
44
43
|
end
|
@@ -2,7 +2,7 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module ShouldaMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['shoulda', '>= 0']
|
6
6
|
end
|
7
7
|
|
8
8
|
def default_task
|
@@ -34,9 +34,8 @@ class Jeweler
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_helper_filename
|
37
|
-
|
37
|
+
'helper.rb'
|
38
38
|
end
|
39
|
-
|
40
39
|
end
|
41
40
|
end
|
42
41
|
end
|
@@ -2,7 +2,7 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module TestspecMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['test-spec', '>= 0']
|
6
6
|
end
|
7
7
|
|
8
8
|
def default_task
|
@@ -34,9 +34,8 @@ class Jeweler
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_helper_filename
|
37
|
-
|
37
|
+
'test_helper.rb'
|
38
38
|
end
|
39
|
-
|
40
39
|
end
|
41
40
|
end
|
42
41
|
end
|
@@ -2,14 +2,13 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module YardMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
6
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['yard', '~> 0.7']
|
6
|
+
generator.development_dependencies << ['rdoc', '~> 3.12']
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
def doc_task
|
10
10
|
'yardoc'
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
15
|
-
|
@@ -11,7 +11,7 @@ class Jeweler
|
|
11
11
|
# Jeweler::RubyforgeTasks.new
|
12
12
|
#
|
13
13
|
# Easy enough, right?
|
14
|
-
#
|
14
|
+
#
|
15
15
|
# There are a few options you can tweak:
|
16
16
|
#
|
17
17
|
# * project: the rubyforge project to operate on. This defaults to whatever you specified in your gemspec. Defaults to your gem name.
|
@@ -31,7 +31,7 @@ class Jeweler
|
|
31
31
|
def initialize
|
32
32
|
yield self if block_given?
|
33
33
|
|
34
|
-
$stderr.puts
|
34
|
+
$stderr.puts 'Releasing gems to Rubyforge is deprecated. See details at http://wiki.github.com/technicalpickles/jeweler/migrating-from-releasing-gems-to-rubyforge'
|
35
35
|
|
36
36
|
define
|
37
37
|
end
|
@@ -51,14 +51,14 @@ class Jeweler
|
|
51
51
|
def define
|
52
52
|
namespace :rubyforge do
|
53
53
|
namespace :release do
|
54
|
-
desc
|
54
|
+
desc 'Release the current gem version to RubyForge.'
|
55
55
|
task :gem do
|
56
|
-
$stderr.puts
|
56
|
+
$stderr.puts 'DEPRECATION: Releasing gems to RubyForge is deprecated. You should see about releasing to Gemcutter instead: http://wiki.github.com/technicalpickles/jeweler/gemcutter'
|
57
57
|
end
|
58
58
|
|
59
59
|
if publish_documentation?
|
60
|
-
desc
|
61
|
-
task :
|
60
|
+
desc 'Publish docs to RubyForge.'
|
61
|
+
task docs: doc_task do
|
62
62
|
config = YAML.load(
|
63
63
|
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
64
64
|
)
|
@@ -66,26 +66,26 @@ class Jeweler
|
|
66
66
|
host = "#{config['username']}@rubyforge.org"
|
67
67
|
remote_dir = "/var/www/gforge-projects/#{project}/#{remote_doc_path}"
|
68
68
|
|
69
|
-
local_dir = case
|
69
|
+
local_dir = case doc_task.to_sym
|
70
70
|
when :rdoc then 'rdoc'
|
71
71
|
when :yardoc then 'doc'
|
72
|
-
when 'doc:app'.to_sym then 'doc/app'
|
72
|
+
when 'doc:app'.to_sym then 'doc/app'
|
73
73
|
else
|
74
|
-
raise
|
74
|
+
raise 'Unsure what to run to generate documentation. Please set doc_task and re-run.'
|
75
75
|
end
|
76
76
|
|
77
|
-
sh %
|
77
|
+
sh %(rsync --archive --verbose --delete #{local_dir}/ #{host}:#{remote_dir})
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
82
|
if publish_documentation?
|
83
|
-
desc
|
84
|
-
task :
|
83
|
+
desc 'Release RDoc documentation to RubyForge'
|
84
|
+
task release: 'rubyforge:release:docs'
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
task :
|
88
|
+
task release: 'rubyforge:release'
|
89
89
|
end
|
90
90
|
|
91
91
|
def publish_documentation?
|
@@ -26,13 +26,13 @@ class Jeweler
|
|
26
26
|
|
27
27
|
def define
|
28
28
|
namespace :gemcutter do
|
29
|
-
desc
|
30
|
-
task :
|
29
|
+
desc 'Release gem to Gemcutter'
|
30
|
+
task release: [:gemspec, :build] do
|
31
31
|
jeweler.release_gem_to_rubygems
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
task :
|
35
|
+
task release: 'gemcutter:release'
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -26,13 +26,13 @@ class Jeweler
|
|
26
26
|
|
27
27
|
def define
|
28
28
|
namespace :rubygems do
|
29
|
-
desc
|
30
|
-
task :
|
29
|
+
desc 'Release gem to Gemcutter'
|
30
|
+
task release: [:gemspec, :build] do
|
31
31
|
jeweler.release_gem_to_rubygems
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
task :
|
35
|
+
task release: 'rubygems:release'
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -45,11 +45,11 @@ class Jeweler
|
|
45
45
|
end
|
46
46
|
|
47
47
|
if blank?(files) && repo
|
48
|
-
base_dir_with_trailing_separator = File.join(base_dir,
|
48
|
+
base_dir_with_trailing_separator = File.join(base_dir, '')
|
49
49
|
|
50
|
-
ignored_files = repo.lib.ignored_files + [
|
50
|
+
ignored_files = repo.lib.ignored_files + ['.gitignore']
|
51
51
|
self.files = (repo.ls_files(base_dir).keys - ignored_files).compact.map do |file|
|
52
|
-
File.expand_path(file).sub(base_dir_with_trailing_separator,
|
52
|
+
File.expand_path(file).sub(base_dir_with_trailing_separator, '')
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
@@ -69,15 +69,14 @@ class Jeweler
|
|
69
69
|
|
70
70
|
if File.exist?('Gemfile')
|
71
71
|
require 'bundler'
|
72
|
-
|
73
|
-
|
74
|
-
|
72
|
+
bundler_runtime = Bundler.load
|
73
|
+
bundler_dependencies_for(bundler_runtime, :default, :runtime).each do |dependency|
|
74
|
+
add_dependency dependency.name, *dependency.requirement.as_list
|
75
75
|
end
|
76
|
-
|
77
|
-
|
76
|
+
bundler_dependencies_for(bundler_runtime, :development).each do |dependency|
|
77
|
+
add_development_dependency dependency.name, *dependency.requirement.as_list
|
78
78
|
end
|
79
79
|
end
|
80
|
-
|
81
80
|
end
|
82
81
|
end
|
83
82
|
|
@@ -89,7 +88,19 @@ class Jeweler
|
|
89
88
|
end
|
90
89
|
end
|
91
90
|
|
92
|
-
|
91
|
+
private
|
92
|
+
|
93
|
+
# Backported (or rather forward-ported) from Bunder::Runtime#dependencies_for.
|
94
|
+
# This method was available until Bundler 1.13, and then removed. We need it
|
95
|
+
# to be able to tell which gems are listed in the Gemfile without loading
|
96
|
+
# those gems first.
|
97
|
+
def bundler_dependencies_for(bundler_runtime, *groups)
|
98
|
+
if groups.empty?
|
99
|
+
bundler_runtime.dependencies
|
100
|
+
else
|
101
|
+
bundler_runtime.dependencies.select {|d| (groups & d.groups).any? }
|
102
|
+
end
|
103
|
+
end
|
93
104
|
|
94
105
|
def blank?(value)
|
95
106
|
value.nil? || value.empty?
|
@@ -97,10 +108,10 @@ class Jeweler
|
|
97
108
|
end
|
98
109
|
end
|
99
110
|
|
100
|
-
|
101
111
|
# Workaround for cloning/duping a Gem::Specification
|
102
112
|
# documented in http://github.com/technicalpickles/jeweler/issues#issue/73
|
103
113
|
Gem::Specification.class_eval do
|
114
|
+
# TODO: fix 'warning: method redefined; discarding old initialize_copy'
|
104
115
|
def initialize_copy(original)
|
105
116
|
super
|
106
117
|
|
data/lib/jeweler/tasks.rb
CHANGED
@@ -37,7 +37,8 @@ class Jeweler
|
|
37
37
|
#
|
38
38
|
# In addition, it provides reasonable defaults for several values. See Jeweler::Specification for more details.
|
39
39
|
class Tasks < ::Rake::TaskLib
|
40
|
-
attr_accessor :gemspec, :
|
40
|
+
attr_accessor :gemspec, :gemspec_building_block
|
41
|
+
attr_writer :jeweler
|
41
42
|
|
42
43
|
def initialize(gemspec = nil, &gemspec_building_block)
|
43
44
|
@gemspec = gemspec || Gem::Specification.new
|
@@ -48,14 +49,16 @@ class Jeweler
|
|
48
49
|
end
|
49
50
|
|
50
51
|
def jeweler
|
51
|
-
|
52
|
-
@jeweler = Jeweler.new(gemspec)
|
53
|
-
gemspec_building_block.call gemspec if gemspec_building_block
|
54
|
-
end
|
55
|
-
@jeweler
|
52
|
+
@jeweler ||= jeweler!
|
56
53
|
end
|
57
54
|
|
58
|
-
|
55
|
+
private
|
56
|
+
|
57
|
+
def jeweler!
|
58
|
+
j = Jeweler.new(gemspec)
|
59
|
+
gemspec_building_block.call gemspec if gemspec_building_block
|
60
|
+
j
|
61
|
+
end
|
59
62
|
|
60
63
|
def yield_gemspec_set_version?
|
61
64
|
yielded_gemspec = @gemspec.dup
|
@@ -65,7 +68,7 @@ class Jeweler
|
|
65
68
|
|
66
69
|
gemspec_building_block.call(yielded_gemspec) if gemspec_building_block
|
67
70
|
|
68
|
-
!
|
71
|
+
!yielded_gemspec.version.nil?
|
69
72
|
end
|
70
73
|
|
71
74
|
def release_args
|
@@ -74,61 +77,58 @@ class Jeweler
|
|
74
77
|
args[:branch] = ENV['BRANCH']
|
75
78
|
args[:local_branch] = ENV['LOCAL_BRANCH']
|
76
79
|
args[:remote_branch] = ENV['REMOTE_BRANCH']
|
77
|
-
|
80
|
+
args
|
78
81
|
end
|
79
82
|
|
80
83
|
def define
|
81
84
|
task :version_required do
|
82
|
-
if jeweler.expects_version_file? && !jeweler.
|
85
|
+
if jeweler.expects_version_file? && !jeweler.version_file_exist?
|
83
86
|
abort "Expected VERSION or VERSION.yml to exist. Use 'rake version:write' to create an initial one."
|
84
87
|
end
|
85
88
|
end
|
86
89
|
|
87
90
|
task :gemspec_required do
|
88
|
-
|
91
|
+
unless File.exist?(jeweler.gemspec_helper.path)
|
89
92
|
abort "Expected #{jeweler.gemspec_helper.path} to exist. See 'rake gemspec:write' to create it"
|
90
93
|
end
|
91
94
|
end
|
92
95
|
|
93
|
-
|
94
|
-
desc "Build gem into pkg/"
|
96
|
+
desc 'Build gem into pkg/'
|
95
97
|
task :build do
|
96
98
|
jeweler.build_gem
|
97
99
|
end
|
98
100
|
|
99
|
-
|
100
|
-
|
101
|
-
desc "Build and install gem using `gem install`"
|
102
|
-
task :install => [:build] do
|
101
|
+
desc 'Build and install gem using `gem install`'
|
102
|
+
task install: [:build] do
|
103
103
|
jeweler.install_gem
|
104
104
|
end
|
105
105
|
|
106
|
-
desc
|
107
|
-
task :
|
106
|
+
desc 'Displays the current version'
|
107
|
+
task version: :version_required do
|
108
108
|
$stdout.puts "Current version: #{jeweler.version}"
|
109
109
|
end
|
110
110
|
|
111
|
-
desc
|
112
|
-
task :
|
111
|
+
desc 'Release gem'
|
112
|
+
task release: :clean do
|
113
113
|
end
|
114
114
|
|
115
|
-
desc
|
116
|
-
task :
|
115
|
+
desc 'Generate and validate gemspec'
|
116
|
+
task gemspec: ['gemspec:generate', 'gemspec:validate']
|
117
117
|
|
118
118
|
namespace :gemspec do
|
119
|
-
desc
|
120
|
-
task :
|
119
|
+
desc 'Validates the gemspec on the filesystem'
|
120
|
+
task validate: :gemspec_required do
|
121
121
|
jeweler.validate_gemspec
|
122
122
|
end
|
123
123
|
|
124
|
-
desc
|
125
|
-
task :
|
124
|
+
desc 'Regenerate the gemspec on the filesystem'
|
125
|
+
task generate: :version_required do
|
126
126
|
jeweler.write_gemspec
|
127
127
|
end
|
128
128
|
|
129
|
-
desc
|
129
|
+
desc 'Display the gemspec for debugging purposes, as jeweler knows it (not from the filesystem)'
|
130
130
|
task :debug do
|
131
|
-
# TODO move to a command
|
131
|
+
# TODO: move to a command
|
132
132
|
jeweler.gemspec_helper.spec.version ||= begin
|
133
133
|
jeweler.version_helper.refresh
|
134
134
|
jeweler.version_helper.to_s
|
@@ -137,39 +137,41 @@ class Jeweler
|
|
137
137
|
puts jeweler.gemspec_helper.to_ruby
|
138
138
|
end
|
139
139
|
|
140
|
-
desc
|
140
|
+
desc 'Regenerate and validate gemspec, and then commits and pushes to git'
|
141
141
|
task :release do
|
142
142
|
jeweler.release_gemspec(release_args)
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
146
|
-
task :
|
147
|
-
|
146
|
+
task release: 'gemspec:release'
|
148
147
|
|
149
148
|
unless yield_gemspec_set_version?
|
150
149
|
namespace :version do
|
151
|
-
desc
|
150
|
+
desc 'Writes out an explicit version. Respects the following environment variables, or defaults to 0: MAJOR, MINOR, PATCH. Also recognizes BUILD, which defaults to nil'
|
152
151
|
task :write do
|
153
|
-
major
|
154
|
-
|
152
|
+
major = ENV['MAJOR'].to_i
|
153
|
+
minor = ENV['MINOR'].to_i
|
154
|
+
patch = ENV['PATCH'].to_i
|
155
|
+
build = (ENV['BUILD'] || nil)
|
156
|
+
jeweler.write_version(major, minor, patch, build, announce: false, commit: false)
|
155
157
|
$stdout.puts "Updated version: #{jeweler.version}"
|
156
158
|
end
|
157
159
|
|
158
160
|
namespace :bump do
|
159
|
-
desc
|
160
|
-
task :
|
161
|
+
desc 'Bump the major version by 1'
|
162
|
+
task major: [:version_required, :version] do
|
161
163
|
jeweler.bump_major_version
|
162
164
|
$stdout.puts "Updated version: #{jeweler.version}"
|
163
165
|
end
|
164
166
|
|
165
|
-
desc
|
166
|
-
task :
|
167
|
+
desc 'Bump the a minor version by 1'
|
168
|
+
task minor: [:version_required, :version] do
|
167
169
|
jeweler.bump_minor_version
|
168
170
|
$stdout.puts "Updated version: #{jeweler.version}"
|
169
171
|
end
|
170
172
|
|
171
|
-
desc
|
172
|
-
task :
|
173
|
+
desc 'Bump the patch version by 1'
|
174
|
+
task patch: [:version_required, :version] do
|
173
175
|
jeweler.bump_patch_version
|
174
176
|
$stdout.puts "Updated version: #{jeweler.version}"
|
175
177
|
end
|
@@ -177,45 +179,44 @@ class Jeweler
|
|
177
179
|
end
|
178
180
|
end
|
179
181
|
|
180
|
-
|
181
182
|
namespace :git do
|
182
|
-
desc
|
183
|
+
desc 'Tag and push release to git. (happens by default with `rake release`)'
|
183
184
|
task :release do
|
184
185
|
jeweler.release_to_git(release_args)
|
185
186
|
end
|
186
187
|
end
|
187
188
|
|
188
|
-
task :
|
189
|
+
task release: 'git:release'
|
189
190
|
|
190
191
|
unless File.exist?('Gemfile')
|
191
|
-
desc
|
192
|
+
desc 'Check that runtime and development dependencies are installed'
|
192
193
|
task :check_dependencies do
|
193
194
|
jeweler.check_dependencies
|
194
195
|
end
|
195
196
|
|
196
197
|
namespace :check_dependencies do
|
197
|
-
desc
|
198
|
-
task :runtime
|
198
|
+
desc 'Check that runtime dependencies are installed'
|
199
|
+
task :runtime do
|
199
200
|
jeweler.check_dependencies(:runtime)
|
200
201
|
end
|
201
202
|
|
202
|
-
desc
|
203
|
+
desc'Check that development dependencies are installed'
|
203
204
|
task :development do
|
204
205
|
jeweler.check_dependencies(:development)
|
205
206
|
end
|
206
207
|
end
|
207
208
|
end
|
208
209
|
|
209
|
-
desc
|
210
|
-
task :console, [:script] do |
|
211
|
-
# TODO move to a command
|
212
|
-
dirs =
|
210
|
+
desc 'Start IRB with all runtime dependencies loaded'
|
211
|
+
task :console, [:script] do |_t, args|
|
212
|
+
# TODO: move to a command
|
213
|
+
dirs = %w(ext lib).select { |dir| File.directory?(dir) }
|
213
214
|
|
214
215
|
original_load_path = $LOAD_PATH
|
215
216
|
|
216
|
-
|
217
|
-
|
218
|
-
|
217
|
+
_cmd = if File.exist?('Gemfile')
|
218
|
+
require 'bundler'
|
219
|
+
Bundler.setup(:default)
|
219
220
|
end
|
220
221
|
|
221
222
|
# add the project code directories
|
@@ -231,9 +232,8 @@ class Jeweler
|
|
231
232
|
IRB.start
|
232
233
|
|
233
234
|
# return the $LOAD_PATH to it's original state
|
234
|
-
$LOAD_PATH.reject! { |path| !
|
235
|
+
$LOAD_PATH.reject! { |path| !original_load_path.include?(path) }
|
235
236
|
end
|
236
|
-
|
237
237
|
end
|
238
238
|
end
|
239
239
|
end
|