jeweler 1.8.4 → 1.8.5
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/.travis.yml +1 -0
- data/ChangeLog.markdown +4 -0
- data/Gemfile +7 -3
- data/README.markdown +4 -4
- data/Rakefile +3 -9
- data/bin/jeweler +1 -0
- data/features/step_definitions/generator_steps.rb +1 -3
- data/jeweler.gemspec +27 -19
- data/lib/jeweler.rb +1 -0
- data/lib/jeweler/commands/build_gem.rb +6 -2
- data/lib/jeweler/generator.rb +18 -9
- data/lib/jeweler/generator/application.rb +1 -4
- data/lib/jeweler/generator/github_mixin.rb +0 -7
- data/lib/jeweler/generator/options.rb +0 -5
- data/test/jeweler/commands/test_build_gem.rb +13 -4
- data/test/jeweler/generator/test_options.rb +0 -11
- data/test/jeweler/test_generator.rb +0 -1
- data/test/jeweler/test_generator_initialization.rb +0 -14
- data/test/jeweler/test_specification.rb +8 -0
- data/test/test_helper.rb +1 -2
- metadata +98 -48
- data/Gemfile.lock +0 -73
data/.travis.yml
CHANGED
data/ChangeLog.markdown
CHANGED
data/Gemfile
CHANGED
|
@@ -4,15 +4,20 @@ source "http://gems.github.com"
|
|
|
4
4
|
|
|
5
5
|
gem "rake"
|
|
6
6
|
gem "git", ">= 1.2.5"
|
|
7
|
+
if RUBY_VERSION < "1.9.2"
|
|
8
|
+
gem "nokogiri", "1.5.10" # newer nokogiri supports only ">= 1.9.2"
|
|
9
|
+
end
|
|
10
|
+
gem "github_api", ">= 0.8.1"
|
|
11
|
+
gem "highline", ">= 1.6.15"
|
|
7
12
|
gem "bundler", "~> 1.0"
|
|
8
13
|
gem "rdoc"
|
|
14
|
+
gem "builder"
|
|
9
15
|
|
|
10
16
|
group :development do
|
|
11
|
-
gem "yard", "~> 0.
|
|
17
|
+
gem "yard", "~> 0.8.5"
|
|
12
18
|
gem "rdoc"
|
|
13
19
|
gem "bluecloth"
|
|
14
20
|
gem "cucumber", "~> 1.1.4"
|
|
15
|
-
gem "rcov"
|
|
16
21
|
end
|
|
17
22
|
|
|
18
23
|
group :test do
|
|
@@ -36,5 +41,4 @@ end
|
|
|
36
41
|
|
|
37
42
|
|
|
38
43
|
group :debug do
|
|
39
|
-
gem (RUBY_VERSION =~ /^1\.9/ ? "ruby-debug19" : "ruby-debug")
|
|
40
44
|
end
|
data/README.markdown
CHANGED
|
@@ -9,7 +9,7 @@ Jeweler provides the noble ruby developer with two primary features:
|
|
|
9
9
|
|
|
10
10
|
## Hello, world
|
|
11
11
|
|
|
12
|
-
Use RubyGems to install the heck out of jeweler to get started:
|
|
12
|
+
Use RubyGems to install the heck out of jeweler to get started:
|
|
13
13
|
|
|
14
14
|
$ gem install jeweler
|
|
15
15
|
|
|
@@ -55,7 +55,7 @@ The `install` rake task builds the gem and `gem install`s it. You're all set if
|
|
|
55
55
|
|
|
56
56
|
### Releasing
|
|
57
57
|
|
|
58
|
-
At last, it's time to [ship it](http://
|
|
58
|
+
At last, it's time to [ship it](http://shipitsquirrel.github.com/)! Make sure you have everything committed and pushed, then go wild:
|
|
59
59
|
|
|
60
60
|
$ rake release
|
|
61
61
|
|
|
@@ -184,7 +184,7 @@ A common pattern is to have this in a version constant in your library. This is
|
|
|
184
184
|
MINOR = 2
|
|
185
185
|
PATCH = 3
|
|
186
186
|
BUILD = 'pre3'
|
|
187
|
-
|
|
187
|
+
|
|
188
188
|
STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
|
|
189
189
|
end
|
|
190
190
|
end
|
|
@@ -202,7 +202,7 @@ A common pattern is to have this in a version constant in your library. This is
|
|
|
202
202
|
Jeweler lives inside of Rake. As a result, they are dear friends. But, that friendship doesn't interfere with typical Rake operations.
|
|
203
203
|
|
|
204
204
|
That means you can define your own namespaces, tasks, or use third party Rake libraries without cause for concern.
|
|
205
|
-
|
|
205
|
+
|
|
206
206
|
## Contributing to Jeweler
|
|
207
207
|
|
|
208
208
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
data/Rakefile
CHANGED
|
@@ -16,13 +16,13 @@ require 'jeweler'
|
|
|
16
16
|
|
|
17
17
|
Jeweler::Tasks.new do |gem|
|
|
18
18
|
gem.name = "jeweler"
|
|
19
|
-
gem.version =
|
|
19
|
+
gem.version = "1.8.5"
|
|
20
20
|
gem.homepage = "http://github.com/technicalpickles/jeweler"
|
|
21
21
|
gem.summary = "Opinionated tool for creating and managing RubyGem projects"
|
|
22
22
|
gem.description = "Simple and opinionated helper for creating Rubygem projects on GitHub"
|
|
23
23
|
gem.license = "MIT"
|
|
24
|
-
gem.authors = ["Josh Nichols"]
|
|
25
|
-
gem.email = "josh@technicalpickles.com"
|
|
24
|
+
gem.authors = ["Josh Nichols", "Yusuke Murata"]
|
|
25
|
+
gem.email = ["josh@technicalpickles.com", "info@muratayusuke.com"]
|
|
26
26
|
gem.files.include %w(lib/jeweler/templates/.document lib/jeweler/templates/.gitignore)
|
|
27
27
|
|
|
28
28
|
# dependencies defined in Gemfile
|
|
@@ -55,12 +55,6 @@ YARD::Rake::YardocTask.new do |t|
|
|
|
55
55
|
t.files = FileList['lib/**/*.rb'].exclude('lib/jeweler/templates/**/*.rb')
|
|
56
56
|
end
|
|
57
57
|
|
|
58
|
-
require 'rcov/rcovtask'
|
|
59
|
-
Rcov::RcovTask.new(:rcov => :check_dependencies) do |rcov|
|
|
60
|
-
rcov.libs << 'test'
|
|
61
|
-
rcov.pattern = 'test/**/test_*.rb'
|
|
62
|
-
end
|
|
63
|
-
|
|
64
58
|
require 'cucumber/rake/task'
|
|
65
59
|
Cucumber::Rake::Task.new(:features) do |features|
|
|
66
60
|
features.cucumber_opts = "features --format progress"
|
data/bin/jeweler
CHANGED
|
@@ -56,15 +56,13 @@ Given /^I have configured git sanely$/ do
|
|
|
56
56
|
@user_email = 'bar@example.com'
|
|
57
57
|
@user_name = 'foo'
|
|
58
58
|
@github_user = 'technicalpickles'
|
|
59
|
-
@github_token = 'zomgtoken'
|
|
60
59
|
|
|
61
60
|
require 'git'
|
|
62
61
|
Git.stubs(:global_config).
|
|
63
62
|
returns({
|
|
64
63
|
'user.name' => @user_name,
|
|
65
64
|
'user.email' => @user_email,
|
|
66
|
-
'github.user' => @github_user
|
|
67
|
-
'github.token' => @github_token})
|
|
65
|
+
'github.user' => @github_user})
|
|
68
66
|
end
|
|
69
67
|
|
|
70
68
|
Given /^I set JEWELER_OPTS env variable to "(.*)"$/ do |val|
|
data/jeweler.gemspec
CHANGED
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
|
-
s.name =
|
|
8
|
-
s.version = "1.8.
|
|
7
|
+
s.name = %q{jeweler}
|
|
8
|
+
s.version = "1.8.5"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
-
s.authors = [
|
|
12
|
-
s.date =
|
|
13
|
-
s.description =
|
|
14
|
-
s.email =
|
|
15
|
-
s.executables = [
|
|
11
|
+
s.authors = [%q{Josh Nichols}, %q{Yusuke Murata}]
|
|
12
|
+
s.date = %q{2013-06-29}
|
|
13
|
+
s.description = %q{Simple and opinionated helper for creating Rubygem projects on GitHub}
|
|
14
|
+
s.email = [%q{josh@technicalpickles.com}, %q{info@muratayusuke.com}]
|
|
15
|
+
s.executables = [%q{jeweler}]
|
|
16
16
|
s.extra_rdoc_files = [
|
|
17
17
|
"ChangeLog.markdown",
|
|
18
18
|
"LICENSE.txt",
|
|
@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
".yardopts",
|
|
25
25
|
"ChangeLog.markdown",
|
|
26
26
|
"Gemfile",
|
|
27
|
-
"Gemfile.lock",
|
|
28
27
|
"LICENSE.txt",
|
|
29
28
|
"README.markdown",
|
|
30
29
|
"Rakefile",
|
|
@@ -180,11 +179,11 @@ Gem::Specification.new do |s|
|
|
|
180
179
|
"test/test_helper.rb",
|
|
181
180
|
"test/test_jeweler.rb"
|
|
182
181
|
]
|
|
183
|
-
s.homepage =
|
|
184
|
-
s.licenses = [
|
|
185
|
-
s.require_paths = [
|
|
186
|
-
s.rubygems_version =
|
|
187
|
-
s.summary =
|
|
182
|
+
s.homepage = %q{http://github.com/technicalpickles/jeweler}
|
|
183
|
+
s.licenses = [%q{MIT}]
|
|
184
|
+
s.require_paths = [%q{lib}]
|
|
185
|
+
s.rubygems_version = %q{1.8.5}
|
|
186
|
+
s.summary = %q{Opinionated tool for creating and managing RubyGem projects}
|
|
188
187
|
|
|
189
188
|
if s.respond_to? :specification_version then
|
|
190
189
|
s.specification_version = 3
|
|
@@ -192,34 +191,43 @@ Gem::Specification.new do |s|
|
|
|
192
191
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
193
192
|
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
|
194
193
|
s.add_runtime_dependency(%q<git>, [">= 1.2.5"])
|
|
194
|
+
s.add_runtime_dependency(%q<nokogiri>, ["= 1.5.10"])
|
|
195
|
+
s.add_runtime_dependency(%q<github_api>, [">= 0.8.1"])
|
|
196
|
+
s.add_runtime_dependency(%q<highline>, [">= 1.6.15"])
|
|
195
197
|
s.add_runtime_dependency(%q<bundler>, ["~> 1.0"])
|
|
196
198
|
s.add_runtime_dependency(%q<rdoc>, [">= 0"])
|
|
197
|
-
s.
|
|
199
|
+
s.add_runtime_dependency(%q<builder>, [">= 0"])
|
|
200
|
+
s.add_development_dependency(%q<yard>, ["~> 0.8.5"])
|
|
198
201
|
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
|
199
202
|
s.add_development_dependency(%q<bluecloth>, [">= 0"])
|
|
200
203
|
s.add_development_dependency(%q<cucumber>, ["~> 1.1.4"])
|
|
201
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
|
202
204
|
else
|
|
203
205
|
s.add_dependency(%q<rake>, [">= 0"])
|
|
204
206
|
s.add_dependency(%q<git>, [">= 1.2.5"])
|
|
207
|
+
s.add_dependency(%q<nokogiri>, ["= 1.5.10"])
|
|
208
|
+
s.add_dependency(%q<github_api>, [">= 0.8.1"])
|
|
209
|
+
s.add_dependency(%q<highline>, [">= 1.6.15"])
|
|
205
210
|
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
|
206
211
|
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
207
|
-
s.add_dependency(%q<
|
|
212
|
+
s.add_dependency(%q<builder>, [">= 0"])
|
|
213
|
+
s.add_dependency(%q<yard>, ["~> 0.8.5"])
|
|
208
214
|
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
209
215
|
s.add_dependency(%q<bluecloth>, [">= 0"])
|
|
210
216
|
s.add_dependency(%q<cucumber>, ["~> 1.1.4"])
|
|
211
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
|
212
217
|
end
|
|
213
218
|
else
|
|
214
219
|
s.add_dependency(%q<rake>, [">= 0"])
|
|
215
220
|
s.add_dependency(%q<git>, [">= 1.2.5"])
|
|
221
|
+
s.add_dependency(%q<nokogiri>, ["= 1.5.10"])
|
|
222
|
+
s.add_dependency(%q<github_api>, [">= 0.8.1"])
|
|
223
|
+
s.add_dependency(%q<highline>, [">= 1.6.15"])
|
|
216
224
|
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
|
217
225
|
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
218
|
-
s.add_dependency(%q<
|
|
226
|
+
s.add_dependency(%q<builder>, [">= 0"])
|
|
227
|
+
s.add_dependency(%q<yard>, ["~> 0.8.5"])
|
|
219
228
|
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
220
229
|
s.add_dependency(%q<bluecloth>, [">= 0"])
|
|
221
230
|
s.add_dependency(%q<cucumber>, ["~> 1.1.4"])
|
|
222
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
|
223
231
|
end
|
|
224
232
|
end
|
|
225
233
|
|
data/lib/jeweler.rb
CHANGED
|
@@ -12,8 +12,12 @@ class Jeweler
|
|
|
12
12
|
|
|
13
13
|
gemspec = gemspec_helper.parse
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if Gem::Version.new(`gem -v`) >= Gem::Version.new("2.0.0.a")
|
|
16
|
+
gem_file_name = Gem::Package.build(gemspec)
|
|
17
|
+
else
|
|
18
|
+
require "rubygems/builder"
|
|
19
|
+
gem_file_name = Gem::Builder.new(gemspec).build
|
|
20
|
+
end
|
|
17
21
|
|
|
18
22
|
pkg_dir = File.join(base_dir, 'pkg')
|
|
19
23
|
file_utils.mkdir_p pkg_dir
|
data/lib/jeweler/generator.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
require 'git'
|
|
2
|
+
require 'github_api'
|
|
3
|
+
require 'highline/import'
|
|
2
4
|
require 'erb'
|
|
3
5
|
|
|
4
6
|
require 'net/http'
|
|
@@ -20,10 +22,10 @@ class Jeweler
|
|
|
20
22
|
end
|
|
21
23
|
class NoGitHubUser < StandardError
|
|
22
24
|
end
|
|
23
|
-
class NoGitHubToken < StandardError
|
|
24
|
-
end
|
|
25
25
|
class GitInitFailed < StandardError
|
|
26
26
|
end
|
|
27
|
+
class GitRepoCreationFailed < StandardError
|
|
28
|
+
end
|
|
27
29
|
|
|
28
30
|
# Generator for creating a jeweler-enabled project
|
|
29
31
|
class Generator
|
|
@@ -46,7 +48,7 @@ class Jeweler
|
|
|
46
48
|
require 'jeweler/generator/yard_mixin'
|
|
47
49
|
|
|
48
50
|
attr_accessor :target_dir, :user_name, :user_email, :summary, :homepage,
|
|
49
|
-
:description, :project_name, :github_username,
|
|
51
|
+
:description, :project_name, :github_username,
|
|
50
52
|
:repo, :should_create_remote_repo,
|
|
51
53
|
:testing_framework, :documentation_framework,
|
|
52
54
|
:should_use_cucumber, :should_use_bundler,
|
|
@@ -128,7 +130,7 @@ class Jeweler
|
|
|
128
130
|
$stdout.puts "Jeweler has prepared your gem in #{target_dir}"
|
|
129
131
|
if should_create_remote_repo
|
|
130
132
|
create_and_push_repo
|
|
131
|
-
$stdout.puts "Jeweler has pushed your repo to #{
|
|
133
|
+
$stdout.puts "Jeweler has pushed your repo to #{git_remote}"
|
|
132
134
|
end
|
|
133
135
|
end
|
|
134
136
|
|
|
@@ -283,11 +285,18 @@ class Jeweler
|
|
|
283
285
|
end
|
|
284
286
|
|
|
285
287
|
def create_and_push_repo
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
288
|
+
puts "Please provide your Github password to create the Github repository"
|
|
289
|
+
begin
|
|
290
|
+
login = github_username
|
|
291
|
+
password = ask("Password: ") { |q| q.echo = false }
|
|
292
|
+
github = Github.new(:login => login.strip, :password => password.strip)
|
|
293
|
+
github.repos.create(:name => project_name, :description => summary)
|
|
294
|
+
rescue Github::Error::Unauthorized
|
|
295
|
+
puts "Wrong login/password! Please try again"
|
|
296
|
+
retry
|
|
297
|
+
rescue Github::Error::UnprocessableEntity
|
|
298
|
+
raise GitRepoCreationFailed, "Can't create that repo. Does it already exist?"
|
|
299
|
+
end
|
|
291
300
|
# TODO do a HEAD request to see when it's ready?
|
|
292
301
|
@repo.push('origin')
|
|
293
302
|
end
|
|
@@ -40,10 +40,7 @@ class Jeweler
|
|
|
40
40
|
$stderr.puts %Q{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 %Q{
|
|
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 %Q{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?"
|
|
@@ -3,18 +3,11 @@ 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
8
|
unless generator.github_username
|
|
10
9
|
raise NoGitHubUser
|
|
11
10
|
end
|
|
12
|
-
|
|
13
|
-
if generator.should_create_remote_repo
|
|
14
|
-
unless generator.github_token
|
|
15
|
-
raise NoGitHubToken
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
11
|
end
|
|
19
12
|
|
|
20
13
|
def git_remote
|
|
@@ -14,7 +14,6 @@ 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|
|
|
@@ -109,10 +108,6 @@ class Jeweler
|
|
|
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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'test_helper'
|
|
2
|
+
require 'jeweler/commands/build_gem'
|
|
2
3
|
|
|
3
4
|
class Jeweler
|
|
4
5
|
module Commands
|
|
@@ -23,8 +24,12 @@ class Jeweler
|
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
should "build from parsed gemspec" do
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
if Gem::Version.new(`gem -v`) >= Gem::Version.new("2.0.0.a")
|
|
28
|
+
assert_received(Gem::Package) {|builder_class| builder_class.build(@gemspec) }
|
|
29
|
+
else
|
|
30
|
+
assert_received(Gem::Builder) {|builder_class| builder_class.new(@gemspec) }
|
|
31
|
+
assert_received(@builder) {|builder| builder.build }
|
|
32
|
+
end
|
|
28
33
|
end
|
|
29
34
|
|
|
30
35
|
should 'make package directory' do
|
|
@@ -82,8 +87,12 @@ class Jeweler
|
|
|
82
87
|
@version_helper = "Jeweler::VersionHelper"
|
|
83
88
|
|
|
84
89
|
@builder = Object.new
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
if Gem::Version.new(`gem -v`) >= Gem::Version.new("2.0.0.a")
|
|
91
|
+
stub(Gem::Package).build { 'zomg-1.2.3.gem' }
|
|
92
|
+
else
|
|
93
|
+
stub(Gem::Builder).new { @builder }
|
|
94
|
+
stub(@builder).build { 'zomg-1.2.3.gem' }
|
|
95
|
+
end
|
|
87
96
|
|
|
88
97
|
@file_utils = Object.new
|
|
89
98
|
stub(@file_utils).mkdir_p './pkg'
|
|
@@ -47,11 +47,6 @@ class TestOptions < Test::Unit::TestCase
|
|
|
47
47
|
should "use github username from git config" do
|
|
48
48
|
assert_equal @github_user, @options[:github_username]
|
|
49
49
|
end
|
|
50
|
-
|
|
51
|
-
should "use github token from git config" do
|
|
52
|
-
assert_equal @github_token, @options[:github_token]
|
|
53
|
-
end
|
|
54
|
-
|
|
55
50
|
should "use user name from git config" do
|
|
56
51
|
assert_equal @git_name, @options[:user_name]
|
|
57
52
|
end
|
|
@@ -203,12 +198,6 @@ class TestOptions < Test::Unit::TestCase
|
|
|
203
198
|
end
|
|
204
199
|
end
|
|
205
200
|
|
|
206
|
-
for_options '--github-token', 'mygithubtoken' do
|
|
207
|
-
should "set github token" do
|
|
208
|
-
assert_equal 'mygithubtoken', @options[:github_token]
|
|
209
|
-
end
|
|
210
|
-
end
|
|
211
|
-
|
|
212
201
|
for_options '--bundler' do
|
|
213
202
|
should "use bundler" do
|
|
214
203
|
assert @options[:use_bundler]
|
|
@@ -52,25 +52,11 @@ class TestGeneratorInitialization < Test::Unit::TestCase
|
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
|
-
|
|
56
|
-
context "without github token set" do
|
|
57
|
-
setup do
|
|
58
|
-
stub_git_config
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
should 'raise NoGitHubToken if creating repo' do
|
|
62
|
-
assert_raise Jeweler::NoGitHubToken do
|
|
63
|
-
Jeweler::Generator.new(:project_name => @project_name, :user_name => @git_name, :user_email => @git_email, :github_username => @github_user, :create_repo => true, :testing_framework => :shoulda, :documentation_framework => :rdoc)
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
55
|
def build_generator(options = {})
|
|
69
56
|
defaults = { :project_name => @project_name,
|
|
70
57
|
:user_name => @git_name,
|
|
71
58
|
:user_email => @git_email,
|
|
72
59
|
:github_username => @github_user,
|
|
73
|
-
:github_token => @github_token,
|
|
74
60
|
:testing_framework => :shoulda,
|
|
75
61
|
:documentation_framework => :rdoc }
|
|
76
62
|
|
|
@@ -79,6 +79,8 @@ class TestSpecification < Test::Unit::TestCase
|
|
|
79
79
|
bin.file 'trogdor'
|
|
80
80
|
end
|
|
81
81
|
repo = Git.init(@project.to_s)
|
|
82
|
+
repo.config('user.name', 'who')
|
|
83
|
+
repo.config('user.email', 'who@where.com')
|
|
82
84
|
repo.add('bin/burnination')
|
|
83
85
|
repo.commit('Initial commit')
|
|
84
86
|
end
|
|
@@ -140,6 +142,8 @@ class TestSpecification < Test::Unit::TestCase
|
|
|
140
142
|
end
|
|
141
143
|
|
|
142
144
|
repo = Git.init(@project.to_s)
|
|
145
|
+
repo.config('user.name', 'who')
|
|
146
|
+
repo.config('user.email', 'who@where.com')
|
|
143
147
|
repo.add('.')
|
|
144
148
|
repo.commit('Initial commit')
|
|
145
149
|
end
|
|
@@ -180,6 +184,8 @@ class TestSpecification < Test::Unit::TestCase
|
|
|
180
184
|
end
|
|
181
185
|
|
|
182
186
|
repo = Git.init(@project.to_s)
|
|
187
|
+
repo.config('user.name', 'who')
|
|
188
|
+
repo.config('user.email', 'who@where.com')
|
|
183
189
|
repo.add('.')
|
|
184
190
|
repo.commit('Initial commit')
|
|
185
191
|
|
|
@@ -206,6 +212,8 @@ class TestSpecification < Test::Unit::TestCase
|
|
|
206
212
|
end
|
|
207
213
|
|
|
208
214
|
repo = Git.init(@project.to_s)
|
|
215
|
+
repo.config('user.name', 'who')
|
|
216
|
+
repo.config('user.email', 'who@where.com')
|
|
209
217
|
repo.add('.')
|
|
210
218
|
repo.commit('Initial commit')
|
|
211
219
|
|
data/test/test_helper.rb
CHANGED
|
@@ -163,10 +163,9 @@ class Test::Unit::TestCase
|
|
|
163
163
|
@git_name = 'foo'
|
|
164
164
|
@git_email = 'bar@example.com'
|
|
165
165
|
@github_user = 'technicalpickles'
|
|
166
|
-
@github_token = 'zomgtoken'
|
|
167
166
|
end
|
|
168
167
|
|
|
169
168
|
def valid_git_config
|
|
170
|
-
{ 'user.name' => @git_name, 'user.email' => @git_email, 'github.user' => @github_user
|
|
169
|
+
{ 'user.name' => @git_name, 'user.email' => @git_email, 'github.user' => @github_user }
|
|
171
170
|
end
|
|
172
171
|
end
|
metadata
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jeweler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 61
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 1
|
|
8
8
|
- 8
|
|
9
|
-
-
|
|
10
|
-
version: 1.8.
|
|
9
|
+
- 5
|
|
10
|
+
version: 1.8.5
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Josh Nichols
|
|
14
|
+
- Yusuke Murata
|
|
14
15
|
autorequire:
|
|
15
16
|
bindir: bin
|
|
16
17
|
cert_chain: []
|
|
17
18
|
|
|
18
|
-
date:
|
|
19
|
+
date: 2013-06-29 00:00:00 Z
|
|
19
20
|
dependencies:
|
|
20
21
|
- !ruby/object:Gem::Dependency
|
|
21
|
-
|
|
22
|
+
prerelease: false
|
|
23
|
+
type: :runtime
|
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
22
25
|
none: false
|
|
23
26
|
requirements:
|
|
24
27
|
- - ">="
|
|
@@ -28,11 +31,11 @@ dependencies:
|
|
|
28
31
|
- 0
|
|
29
32
|
version: "0"
|
|
30
33
|
name: rake
|
|
34
|
+
version_requirements: *id001
|
|
35
|
+
- !ruby/object:Gem::Dependency
|
|
31
36
|
prerelease: false
|
|
32
37
|
type: :runtime
|
|
33
|
-
requirement:
|
|
34
|
-
- !ruby/object:Gem::Dependency
|
|
35
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
36
39
|
none: false
|
|
37
40
|
requirements:
|
|
38
41
|
- - ">="
|
|
@@ -44,11 +47,59 @@ dependencies:
|
|
|
44
47
|
- 5
|
|
45
48
|
version: 1.2.5
|
|
46
49
|
name: git
|
|
50
|
+
version_requirements: *id002
|
|
51
|
+
- !ruby/object:Gem::Dependency
|
|
47
52
|
prerelease: false
|
|
48
53
|
type: :runtime
|
|
49
|
-
requirement:
|
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
55
|
+
none: false
|
|
56
|
+
requirements:
|
|
57
|
+
- - "="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
hash: 23
|
|
60
|
+
segments:
|
|
61
|
+
- 1
|
|
62
|
+
- 5
|
|
63
|
+
- 10
|
|
64
|
+
version: 1.5.10
|
|
65
|
+
name: nokogiri
|
|
66
|
+
version_requirements: *id003
|
|
50
67
|
- !ruby/object:Gem::Dependency
|
|
51
|
-
|
|
68
|
+
prerelease: false
|
|
69
|
+
type: :runtime
|
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
71
|
+
none: false
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
hash: 61
|
|
76
|
+
segments:
|
|
77
|
+
- 0
|
|
78
|
+
- 8
|
|
79
|
+
- 1
|
|
80
|
+
version: 0.8.1
|
|
81
|
+
name: github_api
|
|
82
|
+
version_requirements: *id004
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
prerelease: false
|
|
85
|
+
type: :runtime
|
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
87
|
+
none: false
|
|
88
|
+
requirements:
|
|
89
|
+
- - ">="
|
|
90
|
+
- !ruby/object:Gem::Version
|
|
91
|
+
hash: 17
|
|
92
|
+
segments:
|
|
93
|
+
- 1
|
|
94
|
+
- 6
|
|
95
|
+
- 15
|
|
96
|
+
version: 1.6.15
|
|
97
|
+
name: highline
|
|
98
|
+
version_requirements: *id005
|
|
99
|
+
- !ruby/object:Gem::Dependency
|
|
100
|
+
prerelease: false
|
|
101
|
+
type: :runtime
|
|
102
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
52
103
|
none: false
|
|
53
104
|
requirements:
|
|
54
105
|
- - ~>
|
|
@@ -59,11 +110,11 @@ dependencies:
|
|
|
59
110
|
- 0
|
|
60
111
|
version: "1.0"
|
|
61
112
|
name: bundler
|
|
113
|
+
version_requirements: *id006
|
|
114
|
+
- !ruby/object:Gem::Dependency
|
|
62
115
|
prerelease: false
|
|
63
116
|
type: :runtime
|
|
64
|
-
requirement:
|
|
65
|
-
- !ruby/object:Gem::Dependency
|
|
66
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
67
118
|
none: false
|
|
68
119
|
requirements:
|
|
69
120
|
- - ">="
|
|
@@ -73,27 +124,41 @@ dependencies:
|
|
|
73
124
|
- 0
|
|
74
125
|
version: "0"
|
|
75
126
|
name: rdoc
|
|
127
|
+
version_requirements: *id007
|
|
128
|
+
- !ruby/object:Gem::Dependency
|
|
76
129
|
prerelease: false
|
|
77
130
|
type: :runtime
|
|
78
|
-
requirement:
|
|
131
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
132
|
+
none: false
|
|
133
|
+
requirements:
|
|
134
|
+
- - ">="
|
|
135
|
+
- !ruby/object:Gem::Version
|
|
136
|
+
hash: 3
|
|
137
|
+
segments:
|
|
138
|
+
- 0
|
|
139
|
+
version: "0"
|
|
140
|
+
name: builder
|
|
141
|
+
version_requirements: *id008
|
|
79
142
|
- !ruby/object:Gem::Dependency
|
|
80
|
-
|
|
143
|
+
prerelease: false
|
|
144
|
+
type: :development
|
|
145
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
81
146
|
none: false
|
|
82
147
|
requirements:
|
|
83
148
|
- - ~>
|
|
84
149
|
- !ruby/object:Gem::Version
|
|
85
|
-
hash:
|
|
150
|
+
hash: 53
|
|
86
151
|
segments:
|
|
87
152
|
- 0
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
version: 0.
|
|
153
|
+
- 8
|
|
154
|
+
- 5
|
|
155
|
+
version: 0.8.5
|
|
91
156
|
name: yard
|
|
157
|
+
version_requirements: *id009
|
|
158
|
+
- !ruby/object:Gem::Dependency
|
|
92
159
|
prerelease: false
|
|
93
160
|
type: :development
|
|
94
|
-
requirement:
|
|
95
|
-
- !ruby/object:Gem::Dependency
|
|
96
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
|
161
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
|
97
162
|
none: false
|
|
98
163
|
requirements:
|
|
99
164
|
- - ">="
|
|
@@ -103,11 +168,11 @@ dependencies:
|
|
|
103
168
|
- 0
|
|
104
169
|
version: "0"
|
|
105
170
|
name: rdoc
|
|
171
|
+
version_requirements: *id010
|
|
172
|
+
- !ruby/object:Gem::Dependency
|
|
106
173
|
prerelease: false
|
|
107
174
|
type: :development
|
|
108
|
-
requirement:
|
|
109
|
-
- !ruby/object:Gem::Dependency
|
|
110
|
-
version_requirements: &id007 !ruby/object:Gem::Requirement
|
|
175
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
|
111
176
|
none: false
|
|
112
177
|
requirements:
|
|
113
178
|
- - ">="
|
|
@@ -117,11 +182,11 @@ dependencies:
|
|
|
117
182
|
- 0
|
|
118
183
|
version: "0"
|
|
119
184
|
name: bluecloth
|
|
185
|
+
version_requirements: *id011
|
|
186
|
+
- !ruby/object:Gem::Dependency
|
|
120
187
|
prerelease: false
|
|
121
188
|
type: :development
|
|
122
|
-
requirement:
|
|
123
|
-
- !ruby/object:Gem::Dependency
|
|
124
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
|
189
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
|
125
190
|
none: false
|
|
126
191
|
requirements:
|
|
127
192
|
- - ~>
|
|
@@ -133,25 +198,11 @@ dependencies:
|
|
|
133
198
|
- 4
|
|
134
199
|
version: 1.1.4
|
|
135
200
|
name: cucumber
|
|
136
|
-
|
|
137
|
-
type: :development
|
|
138
|
-
requirement: *id008
|
|
139
|
-
- !ruby/object:Gem::Dependency
|
|
140
|
-
version_requirements: &id009 !ruby/object:Gem::Requirement
|
|
141
|
-
none: false
|
|
142
|
-
requirements:
|
|
143
|
-
- - ">="
|
|
144
|
-
- !ruby/object:Gem::Version
|
|
145
|
-
hash: 3
|
|
146
|
-
segments:
|
|
147
|
-
- 0
|
|
148
|
-
version: "0"
|
|
149
|
-
name: rcov
|
|
150
|
-
prerelease: false
|
|
151
|
-
type: :development
|
|
152
|
-
requirement: *id009
|
|
201
|
+
version_requirements: *id012
|
|
153
202
|
description: Simple and opinionated helper for creating Rubygem projects on GitHub
|
|
154
|
-
email:
|
|
203
|
+
email:
|
|
204
|
+
- josh@technicalpickles.com
|
|
205
|
+
- info@muratayusuke.com
|
|
155
206
|
executables:
|
|
156
207
|
- jeweler
|
|
157
208
|
extensions: []
|
|
@@ -166,7 +217,6 @@ files:
|
|
|
166
217
|
- .yardopts
|
|
167
218
|
- ChangeLog.markdown
|
|
168
219
|
- Gemfile
|
|
169
|
-
- Gemfile.lock
|
|
170
220
|
- LICENSE.txt
|
|
171
221
|
- README.markdown
|
|
172
222
|
- Rakefile
|
|
@@ -350,7 +400,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
350
400
|
requirements: []
|
|
351
401
|
|
|
352
402
|
rubyforge_project:
|
|
353
|
-
rubygems_version: 1.8.
|
|
403
|
+
rubygems_version: 1.8.5
|
|
354
404
|
signing_key:
|
|
355
405
|
specification_version: 3
|
|
356
406
|
summary: Opinionated tool for creating and managing RubyGem projects
|
data/Gemfile.lock
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
jeweler (1.8.3)
|
|
5
|
-
bundler (~> 1.0)
|
|
6
|
-
git (>= 1.2.5)
|
|
7
|
-
rake
|
|
8
|
-
rdoc
|
|
9
|
-
|
|
10
|
-
GEM
|
|
11
|
-
remote: http://rubygems.org/
|
|
12
|
-
remote: http://gems.github.com/
|
|
13
|
-
specs:
|
|
14
|
-
activesupport (2.3.8)
|
|
15
|
-
bluecloth (2.0.7)
|
|
16
|
-
builder (3.0.0)
|
|
17
|
-
columnize (0.3.6)
|
|
18
|
-
cucumber (1.1.4)
|
|
19
|
-
builder (>= 2.1.2)
|
|
20
|
-
diff-lcs (>= 1.1.2)
|
|
21
|
-
gherkin (~> 2.7.1)
|
|
22
|
-
json (>= 1.4.6)
|
|
23
|
-
term-ansicolor (>= 1.0.6)
|
|
24
|
-
diff-lcs (1.1.3)
|
|
25
|
-
gherkin (2.7.4)
|
|
26
|
-
json (>= 1.4.6)
|
|
27
|
-
git (1.2.5)
|
|
28
|
-
json (1.6.3)
|
|
29
|
-
linecache (0.46)
|
|
30
|
-
rbx-require-relative (> 0.0.4)
|
|
31
|
-
mhennemeyer-output_catcher (1.0.1)
|
|
32
|
-
mocha (0.9.8)
|
|
33
|
-
rake
|
|
34
|
-
rake (0.9.2.2)
|
|
35
|
-
rbx-require-relative (0.0.5)
|
|
36
|
-
rcov (0.9.8)
|
|
37
|
-
rdoc (3.12)
|
|
38
|
-
json (~> 1.4)
|
|
39
|
-
redgreen (1.2.2)
|
|
40
|
-
rr (1.0.4)
|
|
41
|
-
ruby-debug (0.10.4)
|
|
42
|
-
columnize (>= 0.1)
|
|
43
|
-
ruby-debug-base (~> 0.10.4.0)
|
|
44
|
-
ruby-debug-base (0.10.4)
|
|
45
|
-
linecache (>= 0.3)
|
|
46
|
-
shoulda (2.11.3)
|
|
47
|
-
term-ansicolor (1.0.7)
|
|
48
|
-
test-construct (1.2.0)
|
|
49
|
-
timecop (0.3.5)
|
|
50
|
-
yard (0.7.4)
|
|
51
|
-
|
|
52
|
-
PLATFORMS
|
|
53
|
-
ruby
|
|
54
|
-
|
|
55
|
-
DEPENDENCIES
|
|
56
|
-
activesupport (~> 2.3.5)
|
|
57
|
-
bluecloth
|
|
58
|
-
bundler (~> 1.0)
|
|
59
|
-
cucumber (~> 1.1.4)
|
|
60
|
-
git (>= 1.2.5)
|
|
61
|
-
jeweler!
|
|
62
|
-
mhennemeyer-output_catcher
|
|
63
|
-
mocha
|
|
64
|
-
rake
|
|
65
|
-
rcov
|
|
66
|
-
rdoc
|
|
67
|
-
redgreen
|
|
68
|
-
rr (~> 1.0.4)
|
|
69
|
-
ruby-debug
|
|
70
|
-
shoulda
|
|
71
|
-
test-construct
|
|
72
|
-
timecop
|
|
73
|
-
yard (~> 0.7.4)
|