gem-release 0.0.17 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -57,5 +57,16 @@ module GemRelease
57
57
  name ||= Dir['*.gemspec'].first
58
58
  name || raise("No gemspec found or given.")
59
59
  end
60
+
61
+ def in_gemspec_dirs
62
+ gemspec_dirs.each do |dir|
63
+ @version = nil # UGH.
64
+ Dir.chdir(dir) { yield }
65
+ end
66
+ end
67
+
68
+ def gemspec_dirs
69
+ Dir.glob('**/*.gemspec').map { |spec| File.dirname(spec) }
70
+ end
60
71
  end
61
72
  end
@@ -26,11 +26,11 @@ module GemRelease
26
26
  File.open(filename, 'w+') { |f| f.write(render) }
27
27
  end
28
28
 
29
- protected
29
+ def filename
30
+ template
31
+ end
30
32
 
31
- def filename
32
- template
33
- end
33
+ protected
34
34
 
35
35
  def render
36
36
  ERB.new(read_template, nil, "%").result(binding)
@@ -0,0 +1 @@
1
+ # <%= gem_name %>
@@ -0,0 +1,10 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'lib'
6
+ t.pattern = 'test/**/*_test.rb'
7
+ t.verbose = false
8
+ end
9
+
10
+ task :default => :test
@@ -1,5 +1,5 @@
1
1
  module GemRelease
2
- VERSION = '0.0.17'
2
+ VERSION = '0.0.19'
3
3
 
4
4
  class Version < Template
5
5
  attr_reader :version
@@ -37,63 +37,25 @@ class Gem::Commands::BootstrapCommand < Gem::Command
37
37
 
38
38
  def write_scaffold
39
39
  say 'scaffolding ...' unless quiet?
40
- create_lib
41
- create_readme
42
- create_license
43
- create_gemfile
44
- create_test_helper
45
- create_version
46
- create_rakefile
40
+
41
+ create_file Template.new('README.md')
42
+ create_file Template.new('LICENSE', :year => Time.now.year, :author => user_name, :email => user_email)
43
+ create_file Template.new('Gemfile')
44
+ create_file Template.new('Rakefile')
45
+ create_file Template.new('test/test_helper.rb')
46
+ create_file Version.new(options)
47
47
  end
48
48
 
49
49
  def create_lib
50
50
  `mkdir -p lib test`
51
51
  end
52
52
 
53
- def create_readme
54
- `echo "# #{gem_name}" > README.md`
55
- end
56
-
57
- def create_license
58
- Template.new('LICENSE', :year => Time.now.year, :author => user_name, :email => user_email).write
59
- end
60
-
61
- def create_gemfile
62
- Template.new('Gemfile').write
63
- end
64
-
65
- def create_test_helper
66
- Template.new('test/test_helper.rb').write
67
- end
68
-
69
- def create_version
70
- version = Version.new(options)
71
- if File.exists?("#{version.filename}")
72
- say "Skipping #{version.filename}: already exists" unless quiet?
53
+ def create_file(template)
54
+ if File.exists?(template.filename)
55
+ say "Skipping #{template.filename}: already exists" unless quiet?
73
56
  else
74
- say "Creating #{version.filename}" unless quiet?
75
- version.write
76
- end
77
- end
78
-
79
- def create_rakefile
80
- if File.exists?('Rakefile')
81
- say "Skipping Rakefile: already exists" unless quiet?
82
- else
83
- say "Creating Rakefile" unless quiet?
84
- rakefile = <<RAKEFILE
85
- require 'rake'
86
- require 'rake/testtask'
87
-
88
- Rake::TestTask.new do |t|
89
- t.libs << 'lib'
90
- t.pattern = 'test/**/*_test.rb'
91
- t.verbose = false
92
- end
93
-
94
- task :default => :test
95
- RAKEFILE
96
- File.open('Rakefile', 'w').write(rakefile)
57
+ say "Creating #{template.filename}" unless quiet?
58
+ template.write
97
59
  end
98
60
  end
99
61
 
@@ -29,8 +29,11 @@ class Gem::Commands::BumpCommand < Gem::Command
29
29
  end
30
30
 
31
31
  def execute
32
- in_spec_dirs { bump }
32
+ in_gemspec_dirs do
33
+ bump
34
+ end
33
35
 
36
+ @version = nil # UGH
34
37
  commit if options[:commit]
35
38
  push if options[:push] || options[:tag]
36
39
  release if options[:release]
@@ -39,21 +42,18 @@ class Gem::Commands::BumpCommand < Gem::Command
39
42
 
40
43
  protected
41
44
 
42
- def in_spec_dirs
43
- spec_dirs.each do |dir|
44
- @version = nil
45
- Dir.chdir(dir) { yield }
46
- end
47
- end
48
-
49
45
  def bump
50
- say "Bumping #{gem_name} from #{version.old_number} to version #{version.new_number}" unless quiet?
51
- version.bump!
46
+ if File.exist?(version.filename)
47
+ say "Bumping #{gem_name} from #{version.old_number} to version #{version.new_number}" unless quiet?
48
+ version.bump!
49
+ `git add #{version.filename}` if options[:commit]
50
+ else
51
+ say "Ignoring #{gem_name}. Version file #{version.filename} not found" unless quiet?
52
+ end
52
53
  end
53
54
 
54
55
  def commit
55
56
  say "Creating commit" unless quiet?
56
- `git add #{version.filename}`
57
57
  `git commit -m "Bump to #{version.new_number}"`
58
58
  end
59
59
 
@@ -73,8 +73,4 @@ class Gem::Commands::BumpCommand < Gem::Command
73
73
  def version
74
74
  @version ||= VersionFile.new(:target => options[:version])
75
75
  end
76
-
77
- def spec_dirs
78
- Dir.glob('**/*.gemspec').map { |spec| File.dirname(spec) }
79
- end
80
76
  end
@@ -24,9 +24,12 @@ class Gem::Commands::ReleaseCommand < Gem::Command
24
24
  end
25
25
 
26
26
  def execute
27
- build
28
- push
29
- remove
27
+ in_gemspec_dirs do
28
+ build
29
+ push
30
+ remove
31
+ end
32
+
30
33
  tag if options[:tag]
31
34
  say "All is good, thanks buddy.\n"
32
35
  end
metadata CHANGED
@@ -1,64 +1,46 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gem-release
3
- version: !ruby/object:Gem::Version
4
- hash: 61
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.19
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 17
10
- version: 0.0.17
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Sven Fuchs
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-07-29 00:00:00 +02:00
12
+ date: 2011-07-29 00:00:00.000000000 +02:00
19
13
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: test_declarative
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2167590280 !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 27
30
- segments:
31
- - 0
32
- - 0
33
- - 2
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
34
22
  version: 0.0.2
35
23
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: mocha
39
24
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2167590280
26
+ - !ruby/object:Gem::Dependency
27
+ name: mocha
28
+ requirement: &2167589760 !ruby/object:Gem::Requirement
41
29
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 43
46
- segments:
47
- - 0
48
- - 9
49
- - 8
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
50
33
  version: 0.9.8
51
34
  type: :development
52
- version_requirements: *id002
53
- description: Release your ruby gems with ease. (What a bold statement for such a tiny plugin ...)
35
+ prerelease: false
36
+ version_requirements: *2167589760
37
+ description: Release your ruby gems with ease. (What a bold statement for such a tiny
38
+ plugin ...)
54
39
  email: svenfuchs@artweb-design.de
55
40
  executables: []
56
-
57
41
  extensions: []
58
-
59
42
  extra_rdoc_files: []
60
-
61
- files:
43
+ files:
62
44
  - lib/core_ext/kernel/silence.rb
63
45
  - lib/core_ext/string/camelize.rb
64
46
  - lib/gem_release.rb
@@ -69,6 +51,8 @@ files:
69
51
  - lib/gem_release/template.rb
70
52
  - lib/gem_release/templates/Gemfile
71
53
  - lib/gem_release/templates/LICENSE
54
+ - lib/gem_release/templates/README.md
55
+ - lib/gem_release/templates/Rakefile
72
56
  - lib/gem_release/templates/gemspec
73
57
  - lib/gem_release/templates/test/test_helper.rb
74
58
  - lib/gem_release/templates/version.rb
@@ -83,38 +67,26 @@ files:
83
67
  has_rdoc: true
84
68
  homepage: http://github.com/svenfuchs/gem-release
85
69
  licenses: []
86
-
87
70
  post_install_message:
88
71
  rdoc_options: []
89
-
90
- require_paths:
72
+ require_paths:
91
73
  - lib
92
- required_ruby_version: !ruby/object:Gem::Requirement
74
+ required_ruby_version: !ruby/object:Gem::Requirement
93
75
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- hash: 3
98
- segments:
99
- - 0
100
- version: "0"
101
- required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
81
  none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 23
107
- segments:
108
- - 1
109
- - 3
110
- - 6
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
111
85
  version: 1.3.6
112
86
  requirements: []
113
-
114
- rubyforge_project: "[none]"
87
+ rubyforge_project: ! '[none]'
115
88
  rubygems_version: 1.6.2
116
89
  signing_key:
117
90
  specification_version: 3
118
91
  summary: Release your ruby gems with ease
119
92
  test_files: []
120
-