jeweler 1.8.2 → 2.3.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +2 -0
- data/.semver +5 -0
- data/.travis.yml +5 -3
- data/ChangeLog.markdown +30 -0
- data/Gemfile +32 -25
- data/Gemfile.lock +117 -46
- data/README.markdown +36 -10
- data/README.org +374 -0
- data/Rakefile +23 -28
- data/bin/jeweler +1 -0
- data/features/generator/gemfile.feature +1 -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 -66
- data/features/step_definitions/task_steps.rb +1 -2
- data/features/support/env.rb +22 -9
- data/jeweler.gemspec +64 -45
- data/lib/jeweler/commands/build_gem.rb +6 -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 +17 -14
- data/lib/jeweler/commands/release_to_git.rb +20 -11
- 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/commands.rb +6 -6
- data/lib/jeweler/gemspec_helper.rb +15 -15
- data/lib/jeweler/generator/application.rb +5 -10
- data/lib/jeweler/generator/bacon_mixin.rb +2 -4
- data/lib/jeweler/generator/github_mixin.rb +1 -10
- data/lib/jeweler/generator/micronaut_mixin.rb +3 -3
- data/lib/jeweler/generator/minitest_mixin.rb +2 -3
- data/lib/jeweler/generator/options.rb +16 -25
- 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/generator.rb +52 -45
- 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 +68 -59
- data/lib/jeweler/templates/Gemfile +1 -1
- data/lib/jeweler/templates/bacon/flunking.rb +3 -3
- data/lib/jeweler/templates/bacon/helper.rb +1 -0
- data/lib/jeweler/templates/features/support/env.rb +1 -0
- data/lib/jeweler/templates/jeweler_tasks.erb +1 -1
- data/lib/jeweler/templates/micronaut/flunking.rb +3 -3
- data/lib/jeweler/templates/micronaut/helper.rb +1 -0
- data/lib/jeweler/templates/minitest/flunking.rb +1 -1
- data/lib/jeweler/templates/minitest/helper.rb +4 -3
- data/lib/jeweler/templates/other_tasks.erb +4 -20
- data/lib/jeweler/templates/riot/flunking.rb +1 -1
- data/lib/jeweler/templates/riot/helper.rb +1 -0
- data/lib/jeweler/templates/rspec/flunking.rb +3 -3
- data/lib/jeweler/templates/rspec/helper.rb +3 -1
- data/lib/jeweler/templates/shindo/flunking.rb +3 -3
- data/lib/jeweler/templates/shindo/helper.rb +1 -0
- data/lib/jeweler/templates/shoulda/helper.rb +1 -0
- data/lib/jeweler/templates/simplecov.erb +16 -0
- data/lib/jeweler/templates/testspec/flunking.rb +3 -3
- data/lib/jeweler/templates/testspec/helper.rb +1 -1
- data/lib/jeweler/templates/testunit/helper.rb +1 -0
- data/lib/jeweler/version.rb +3 -3
- data/lib/jeweler/version_helper.rb +18 -15
- data/lib/jeweler.rb +23 -23
- 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 +33 -27
- 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 +95 -37
- data/test/jeweler/commands/test_release_to_github.rb +161 -97
- 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 +26 -6
- 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 -38
- data/test/jeweler/test_gemspec_helper.rb +7 -7
- data/test/jeweler/test_generator.rb +31 -33
- data/test/jeweler/test_generator_initialization.rb +40 -57
- data/test/jeweler/test_generator_mixins.rb +6 -7
- data/test/jeweler/test_specification.rb +44 -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 +25 -31
- data/test/test_jeweler.rb +28 -29
- metadata +206 -165
@@ -11,26 +11,31 @@ class Jeweler
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
def run
|
14
|
+
def run(args = {})
|
15
|
+
remote = args[:remote] || 'origin'
|
16
|
+
branch = args[:branch] || 'master'
|
17
|
+
local_branch = args[:local_branch] || branch
|
18
|
+
remote_branch = args[:remote_branch] || branch
|
19
|
+
|
15
20
|
unless clean_staging_area?
|
16
|
-
system
|
17
|
-
raise
|
21
|
+
system 'git status'
|
22
|
+
raise 'Unclean staging area! Be sure to commit or .gitignore everything first. See `git status` above.'
|
18
23
|
end
|
19
24
|
|
20
|
-
repo.checkout(
|
21
|
-
repo.push
|
22
|
-
|
25
|
+
repo.checkout(local_branch)
|
26
|
+
repo.push(remote, "#{local_branch}:#{remote_branch}")
|
27
|
+
|
23
28
|
if release_not_tagged?
|
24
29
|
output.puts "Tagging #{release_tag}"
|
25
30
|
repo.add_tag(release_tag)
|
26
31
|
|
27
|
-
output.puts "Pushing #{release_tag} to
|
28
|
-
repo.push(
|
32
|
+
output.puts "Pushing #{release_tag} to #{remote}"
|
33
|
+
repo.push(remote, release_tag)
|
29
34
|
end
|
30
35
|
end
|
31
36
|
|
32
37
|
def clean_staging_area?
|
33
|
-
`git ls-files --deleted --modified --others --exclude-standard` ==
|
38
|
+
`git ls-files --deleted --modified --others --exclude-standard` == ''
|
34
39
|
end
|
35
40
|
|
36
41
|
def release_tag
|
@@ -38,12 +43,16 @@ class Jeweler
|
|
38
43
|
end
|
39
44
|
|
40
45
|
def release_not_tagged?
|
41
|
-
tag =
|
46
|
+
tag = begin
|
47
|
+
repo.tag(release_tag)
|
48
|
+
rescue
|
49
|
+
nil
|
50
|
+
end
|
42
51
|
tag.nil?
|
43
52
|
end
|
44
53
|
|
45
54
|
def self.build_for(jeweler)
|
46
|
-
command =
|
55
|
+
command = new
|
47
56
|
|
48
57
|
command.base_dir = jeweler.base_dir
|
49
58
|
command.gemspec = jeweler.gemspec
|
@@ -8,13 +8,11 @@ class Jeweler
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def run
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
raise
|
17
|
-
end
|
11
|
+
gemspec_helper.parse
|
12
|
+
output.puts "#{gemspec_helper.path} is valid."
|
13
|
+
rescue Exception => _e
|
14
|
+
output.puts "#{gemspec_helper.path} is invalid. See the backtrace for more details."
|
15
|
+
raise
|
18
16
|
end
|
19
17
|
|
20
18
|
def self.build_for(jeweler)
|
@@ -4,41 +4,36 @@ class Jeweler
|
|
4
4
|
module Commands
|
5
5
|
module Version
|
6
6
|
class Base
|
7
|
-
|
8
7
|
attr_accessor :repo, :version_helper, :gemspec, :commit, :base_dir
|
9
8
|
|
10
9
|
def run
|
11
10
|
update_version
|
12
11
|
|
13
|
-
|
14
|
-
|
12
|
+
version_helper.write
|
13
|
+
gemspec.version = version_helper.to_s
|
15
14
|
|
16
|
-
commit_version if
|
15
|
+
commit_version if repo && commit
|
17
16
|
end
|
18
17
|
|
19
18
|
def update_version
|
20
|
-
raise
|
19
|
+
raise 'Subclasses should implement this'
|
21
20
|
end
|
22
21
|
|
23
22
|
def commit_version
|
24
|
-
if
|
25
|
-
|
26
|
-
|
23
|
+
if repo
|
24
|
+
repo.add(working_subdir.join(version_helper.path).to_s)
|
25
|
+
repo.commit("Version bump to #{version_helper}")
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
30
29
|
def working_subdir
|
31
|
-
|
32
|
-
cwd = base_dir_path
|
33
|
-
@working_subdir = cwd.relative_path_from(Pathname.new(repo.dir.path))
|
34
|
-
@working_subdir
|
30
|
+
@working_subdir ||= base_dir_path.relative_path_from(Pathname.new(repo.dir.path))
|
35
31
|
end
|
36
32
|
|
37
33
|
def base_dir_path
|
38
34
|
Pathname.new(base_dir).realpath
|
39
35
|
end
|
40
36
|
|
41
|
-
|
42
37
|
def self.build_for(jeweler)
|
43
38
|
command = new
|
44
39
|
command.repo = jeweler.repo
|
@@ -1,7 +1,8 @@
|
|
1
1
|
class Jeweler
|
2
2
|
module Commands
|
3
3
|
class WriteGemspec
|
4
|
-
attr_accessor :base_dir, :gemspec, :version, :output, :
|
4
|
+
attr_accessor :base_dir, :gemspec, :version, :output, :version_helper
|
5
|
+
attr_writer :gemspec_helper
|
5
6
|
|
6
7
|
def initialize
|
7
8
|
self.output = $stdout
|
@@ -15,11 +16,11 @@ class Jeweler
|
|
15
16
|
|
16
17
|
gemspec_helper.write
|
17
18
|
|
18
|
-
output.puts "Generated: #{gemspec_helper.path}"
|
19
|
+
output.puts "Generated: #{gemspec_helper.path}"
|
19
20
|
end
|
20
21
|
|
21
22
|
def gemspec_helper
|
22
|
-
@gemspec_helper ||= GemSpecHelper.new(
|
23
|
+
@gemspec_helper ||= GemSpecHelper.new(gemspec, base_dir)
|
23
24
|
end
|
24
25
|
|
25
26
|
def self.build_for(jeweler)
|
data/lib/jeweler/commands.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
class Jeweler
|
2
2
|
module Commands
|
3
|
-
autoload :BuildGem,
|
4
|
-
autoload :InstallGem,
|
3
|
+
autoload :BuildGem, 'jeweler/commands/build_gem'
|
4
|
+
autoload :InstallGem, 'jeweler/commands/install_gem'
|
5
5
|
autoload :CheckDependencies, 'jeweler/commands/check_dependencies'
|
6
|
-
autoload :ReleaseToGit,
|
7
|
-
autoload :ReleaseGemspec,
|
6
|
+
autoload :ReleaseToGit, 'jeweler/commands/release_to_git'
|
7
|
+
autoload :ReleaseGemspec, 'jeweler/commands/release_gemspec'
|
8
8
|
autoload :ReleaseToRubygems, 'jeweler/commands/release_to_rubygems'
|
9
|
-
autoload :ValidateGemspec,
|
10
|
-
autoload :WriteGemspec,
|
9
|
+
autoload :ValidateGemspec, 'jeweler/commands/validate_gemspec'
|
10
|
+
autoload :WriteGemspec, 'jeweler/commands/write_gemspec'
|
11
11
|
|
12
12
|
module Version
|
13
13
|
autoload :Base, 'jeweler/commands/version/base'
|
@@ -10,18 +10,16 @@ class Jeweler
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def valid?
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
false
|
18
|
-
end
|
13
|
+
parse
|
14
|
+
true
|
15
|
+
rescue
|
16
|
+
false
|
19
17
|
end
|
20
18
|
|
21
19
|
def write
|
22
20
|
File.open(path, 'w') do |f|
|
23
|
-
f.write
|
24
|
-
end
|
21
|
+
f.write to_ruby
|
22
|
+
end
|
25
23
|
end
|
26
24
|
|
27
25
|
def to_ruby
|
@@ -42,13 +40,15 @@ class Jeweler
|
|
42
40
|
def path
|
43
41
|
denormalized_path = File.join(@base_dir, "#{@spec.name}.gemspec")
|
44
42
|
absolute_path = File.expand_path(denormalized_path)
|
45
|
-
absolute_path.gsub(Dir.getwd + File::SEPARATOR, '')
|
43
|
+
absolute_path.gsub(Dir.getwd + File::SEPARATOR, '')
|
46
44
|
end
|
47
45
|
|
46
|
+
PARSE_SAFE = (RUBY_VERSION >= '2.3') ? 1 : 3
|
47
|
+
|
48
48
|
def parse
|
49
|
-
data =
|
49
|
+
data = to_ruby
|
50
50
|
parsed_gemspec = nil
|
51
|
-
Thread.new { parsed_gemspec = eval("$SAFE =
|
51
|
+
Thread.new { parsed_gemspec = eval("$SAFE = #{PARSE_SAFE}\n#{data}", binding, path) }.join
|
52
52
|
parsed_gemspec
|
53
53
|
end
|
54
54
|
|
@@ -65,9 +65,9 @@ class Jeweler
|
|
65
65
|
# Adds extra space when outputting an array. This helps create better version control diffs, because otherwise it is all on the same line.
|
66
66
|
def prettyify_array(gemspec_ruby, array_name)
|
67
67
|
gemspec_ruby.gsub(/s\.#{array_name.to_s} = \[.+?\]/) do |match|
|
68
|
-
leadin, files = match[0..-2].split(
|
69
|
-
|
70
|
-
leadin + "[\n #{files.gsub(
|
68
|
+
leadin, files = match[0..-2].split('[')
|
69
|
+
|
70
|
+
leadin + "[\n #{files.gsub(%(", "), %(",\n "))}\n ]"
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
@@ -78,7 +78,7 @@ class Jeweler
|
|
78
78
|
def update_version(version)
|
79
79
|
@spec.version = version.to_s
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
# Checks whether it uses the version helper or the users defined version.
|
83
83
|
def has_version?
|
84
84
|
!@spec.version.nil?
|
@@ -24,7 +24,7 @@ class Jeweler
|
|
24
24
|
return 1
|
25
25
|
end
|
26
26
|
|
27
|
-
if options[:project_name].nil? || options[:project_name].squeeze.strip ==
|
27
|
+
if options[:project_name].nil? || options[:project_name].squeeze.strip == ''
|
28
28
|
$stderr.puts options.opts
|
29
29
|
return 1
|
30
30
|
end
|
@@ -34,16 +34,13 @@ class Jeweler
|
|
34
34
|
generator.run
|
35
35
|
return 0
|
36
36
|
rescue Jeweler::NoGitUserName
|
37
|
-
$stderr.puts %
|
37
|
+
$stderr.puts %{No user.name found in ~/.gitconfig. Please tell git about yourself (see http://help.github.com/git-email-settings/ for details). For example: git config --global user.name "mad voo"}
|
38
38
|
return 1
|
39
39
|
rescue Jeweler::NoGitUserEmail
|
40
|
-
$stderr.puts %
|
40
|
+
$stderr.puts %{No user.email found in ~/.gitconfig. Please tell git about yourself (see http://help.github.com/git-email-settings/ for details). For example: git config --global user.email mad.vooo@gmail.com}
|
41
41
|
return 1
|
42
42
|
rescue Jeweler::NoGitHubUser
|
43
|
-
$stderr.puts %
|
44
|
-
return 1
|
45
|
-
rescue Jeweler::NoGitHubToken
|
46
|
-
$stderr.puts %Q{No github.token found in ~/.gitconfig. Please tell git about your GitHub account (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.token 6ef8395fecf207165f1a82178ae1b984}
|
43
|
+
$stderr.puts %{Please specify --github-username or set github.user in ~/.gitconfig (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.user defunkt}
|
47
44
|
return 1
|
48
45
|
rescue Jeweler::FileInTheWay
|
49
46
|
$stderr.puts "The directory #{options[:project_name]} already exists. Maybe move it out of the way before continuing?"
|
@@ -52,15 +49,13 @@ class Jeweler
|
|
52
49
|
end
|
53
50
|
|
54
51
|
def build_options(arguments)
|
55
|
-
env_opts_string = ENV['JEWELER_OPTS'] ||
|
52
|
+
env_opts_string = ENV['JEWELER_OPTS'] || ''
|
56
53
|
env_opts = Jeweler::Generator::Options.new(shellwords(env_opts_string))
|
57
54
|
argument_opts = Jeweler::Generator::Options.new(arguments)
|
58
55
|
|
59
56
|
env_opts.merge(argument_opts)
|
60
57
|
end
|
61
|
-
|
62
58
|
end
|
63
|
-
|
64
59
|
end
|
65
60
|
end
|
66
61
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
class Jeweler
|
2
2
|
class Generator
|
3
3
|
module BaconMixin
|
4
|
-
|
5
4
|
def self.extended(generator)
|
6
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['bacon', '>= 0']
|
7
6
|
end
|
8
7
|
|
9
8
|
def default_task
|
@@ -35,9 +34,8 @@ class Jeweler
|
|
35
34
|
end
|
36
35
|
|
37
36
|
def test_helper_filename
|
38
|
-
|
37
|
+
'spec_helper.rb'
|
39
38
|
end
|
40
|
-
|
41
39
|
end
|
42
40
|
end
|
43
41
|
end
|
@@ -3,18 +3,9 @@ class Jeweler
|
|
3
3
|
module GithubMixin
|
4
4
|
def self.extended(generator)
|
5
5
|
generator.github_username = generator.options[:github_username]
|
6
|
-
generator.github_token = generator.options[:github_token]
|
7
6
|
generator.should_create_remote_repo = generator.options[:create_repo]
|
8
7
|
|
9
|
-
unless generator.github_username
|
10
|
-
raise NoGitHubUser
|
11
|
-
end
|
12
|
-
|
13
|
-
if generator.should_create_remote_repo
|
14
|
-
unless generator.github_token
|
15
|
-
raise NoGitHubToken
|
16
|
-
end
|
17
|
-
end
|
8
|
+
raise NoGitHubUser unless generator.github_username
|
18
9
|
end
|
19
10
|
|
20
11
|
def git_remote
|
@@ -2,9 +2,9 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module MicronautMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['spicycode-micronaut', '>= 0']
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
def default_task
|
9
9
|
'examples'
|
10
10
|
end
|
@@ -34,7 +34,7 @@ class Jeweler
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_helper_filename
|
37
|
-
|
37
|
+
'example_helper.rb'
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -2,7 +2,7 @@ class Jeweler
|
|
2
2
|
class Generator
|
3
3
|
module MinitestMixin
|
4
4
|
def self.extended(generator)
|
5
|
-
generator.development_dependencies << [
|
5
|
+
generator.development_dependencies << ['minitest', '>= 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
|
@@ -14,18 +14,17 @@ class Jeweler
|
|
14
14
|
self[:user_name] = ENV['GIT_AUTHOR_NAME'] || ENV['GIT_COMMITTER_NAME'] || git_config['user.name']
|
15
15
|
self[:user_email] = ENV['GIT_AUTHOR_EMAIL'] || ENV['GIT_COMMITTER_EMAIL'] || git_config['user.email']
|
16
16
|
self[:github_username] = git_config['github.user']
|
17
|
-
self[:github_token] = git_config['github.token']
|
18
17
|
|
19
18
|
require 'optparse'
|
20
19
|
@opts = OptionParser.new do |o|
|
21
|
-
o.banner = "Usage: #{File.basename($
|
20
|
+
o.banner = "Usage: #{File.basename($PROGRAM_NAME)} [options] reponame\ne.g. #{File.basename($PROGRAM_NAME)} the-perfect-gem"
|
22
21
|
|
23
22
|
o.on('--directory [DIRECTORY]', 'specify the directory to generate into (deprecated)') do |directory|
|
24
|
-
warn
|
23
|
+
warn '--directory is deprecated and will be removed in 2.0.0. Please specify an absolute path to a directory as the last argument instead' # DEPRECATE
|
25
24
|
self[:directory] = directory
|
26
25
|
end
|
27
26
|
|
28
|
-
o.separator
|
27
|
+
o.separator ''
|
29
28
|
|
30
29
|
o.on('--rspec', 'generate rspec code examples') do
|
31
30
|
self[:testing_framework] = :rspec
|
@@ -63,7 +62,7 @@ class Jeweler
|
|
63
62
|
self[:testing_framework] = :shindo
|
64
63
|
end
|
65
64
|
|
66
|
-
o.separator
|
65
|
+
o.separator ''
|
67
66
|
|
68
67
|
o.on('--[no-]bundler', 'use bundler for managing dependencies') do |v|
|
69
68
|
self[:use_bundler] = v
|
@@ -73,7 +72,7 @@ class Jeweler
|
|
73
72
|
self[:use_cucumber] = true
|
74
73
|
end
|
75
74
|
|
76
|
-
o.separator
|
75
|
+
o.separator ''
|
77
76
|
|
78
77
|
o.on('--reek', 'generate rake task for reek') do
|
79
78
|
self[:use_reek] = true
|
@@ -83,7 +82,7 @@ class Jeweler
|
|
83
82
|
self[:use_roodi] = true
|
84
83
|
end
|
85
84
|
|
86
|
-
o.separator
|
85
|
+
o.separator ''
|
87
86
|
|
88
87
|
o.on('--summary [SUMMARY]', 'specify the summary of the project') do |summary|
|
89
88
|
self[:summary] = summary
|
@@ -93,7 +92,7 @@ class Jeweler
|
|
93
92
|
self[:description] = description
|
94
93
|
end
|
95
94
|
|
96
|
-
o.separator
|
95
|
+
o.separator ''
|
97
96
|
|
98
97
|
o.on('--user-name [USER_NAME]', "the user's name, ie that is credited in the LICENSE") do |user_name|
|
99
98
|
self[:user_name] = user_name
|
@@ -103,21 +102,17 @@ class Jeweler
|
|
103
102
|
self[:user_email] = user_email
|
104
103
|
end
|
105
104
|
|
106
|
-
o.separator
|
105
|
+
o.separator ''
|
107
106
|
|
108
|
-
o.on('--github-username [GITHUB_USERNAME]',
|
107
|
+
o.on('--github-username [GITHUB_USERNAME]', 'name of the user on GitHub to set the project up under') do |github_username|
|
109
108
|
self[:github_username] = github_username
|
110
109
|
end
|
111
110
|
|
112
|
-
o.on('--github-token [GITHUB_TOKEN]', "GitHub token to use for interacting with the GitHub API") do |github_token|
|
113
|
-
self[:github_token] = github_token
|
114
|
-
end
|
115
|
-
|
116
111
|
o.on('--git-remote [GIT_REMOTE]', 'URI to set the git origin remote to') do |git_remote|
|
117
112
|
self[:git_remote] = git_remote
|
118
113
|
end
|
119
114
|
|
120
|
-
o.on('--homepage [HOMEPAGE]',
|
115
|
+
o.on('--homepage [HOMEPAGE]', 'the homepage for your project (defaults to the GitHub repo)') do |homepage|
|
121
116
|
self[:homepage] = homepage
|
122
117
|
end
|
123
118
|
|
@@ -125,8 +120,7 @@ class Jeweler
|
|
125
120
|
self[:create_repo] = true
|
126
121
|
end
|
127
122
|
|
128
|
-
|
129
|
-
o.separator ""
|
123
|
+
o.separator ''
|
130
124
|
|
131
125
|
o.on('--yard', 'use yard for documentation') do
|
132
126
|
self[:documentation_framework] = :yard
|
@@ -135,7 +129,7 @@ class Jeweler
|
|
135
129
|
o.on('--rdoc', 'use rdoc for documentation') do
|
136
130
|
self[:documentation_framework] = :rdoc
|
137
131
|
end
|
138
|
-
|
132
|
+
|
139
133
|
o.on('-v', '--version', 'show version') do
|
140
134
|
self[:show_version] = true
|
141
135
|
end
|
@@ -157,21 +151,18 @@ class Jeweler
|
|
157
151
|
self.class.new(@orig_args + other.orig_args)
|
158
152
|
end
|
159
153
|
|
160
|
-
|
161
154
|
# Expose git config here, so we can stub it out for test environments
|
162
155
|
def self.git_config
|
163
|
-
@git_config
|
164
|
-
|
165
|
-
|
166
|
-
|
156
|
+
@git_config ||= if Pathname.new('~/.gitconfig').expand_path.exist?
|
157
|
+
Git.global_config
|
158
|
+
else
|
159
|
+
{}
|
167
160
|
end
|
168
|
-
|
169
161
|
end
|
170
162
|
|
171
163
|
def git_config
|
172
164
|
self.class.git_config
|
173
165
|
end
|
174
|
-
|
175
166
|
end
|
176
167
|
end
|
177
168
|
end
|
@@ -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', '~> 3.5.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
|