gem-release 0.6.0 → 0.7.0
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.
- checksums.yaml +4 -4
- data/lib/core_ext/hash/symbolize_keys.rb +13 -0
- data/lib/gem_release/command_options.rb +5 -1
- data/lib/gem_release/configuration.rb +33 -0
- data/lib/gem_release/helpers.rb +1 -1
- data/lib/gem_release/version.rb +1 -1
- data/lib/gem_release.rb +2 -1
- data/lib/rubygems/commands/bootstrap_command.rb +3 -2
- data/lib/rubygems/commands/bump_command.rb +5 -2
- data/lib/rubygems/commands/gemspec_command.rb +3 -2
- data/lib/rubygems/commands/release_command.rb +3 -2
- data/lib/rubygems/commands/tag_command.rb +3 -2
- metadata +35 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 700504ce4d984b97cf06d4a76ac451ffb51327d9
|
4
|
+
data.tar.gz: f900d484aaa5452a0f52d6a98b29b9968b6c8f00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba249b0339d5dc41df91ef3a6f1733213ab70762653dd7a743117eb7af6c049b45e0313bae5dfd0a3686a4ca6921eff66f26428fdadc3438f13c61631c176eec
|
7
|
+
data.tar.gz: b780abe7c07dbd226e8be304a7e266b3c9b79060649dbccec3a917479e516adcefb229faca384e7cd408f033b77b1dc4932c39526d572450afb3cd284058ef75
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Hash
|
2
|
+
|
3
|
+
#taken from https://gist.github.com/tommeier/1479299
|
4
|
+
def deep_symbolize_keys!
|
5
|
+
self.keys.each do |k|
|
6
|
+
new_key = k.to_sym
|
7
|
+
current_value = self.delete(k)
|
8
|
+
self[new_key] = current_value.is_a?(Hash) ? current_value.dup.deep_symbolize_keys! : current_value
|
9
|
+
end
|
10
|
+
self
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
@@ -5,8 +5,12 @@ module GemRelease
|
|
5
5
|
super
|
6
6
|
end
|
7
7
|
|
8
|
+
def default_options_with(passed_opts)
|
9
|
+
self.class::DEFAULTS.merge(Configuration.new[name.to_sym]).merge(passed_opts)
|
10
|
+
end
|
11
|
+
|
8
12
|
def option(key, short, description)
|
9
|
-
default = self.class::DEFAULTS[key]
|
13
|
+
default = Configuration.new[name.to_sym][key] || self.class::DEFAULTS[key]
|
10
14
|
|
11
15
|
if default.is_a?(String)
|
12
16
|
long = "--#{key} #{key.to_s.upcase}"
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'core_ext/hash/symbolize_keys'
|
3
|
+
|
4
|
+
class Configuration
|
5
|
+
|
6
|
+
attr_reader :options
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
load_options!
|
10
|
+
end
|
11
|
+
|
12
|
+
def load_options!
|
13
|
+
@options = Hash.new { |hash, key| hash[key] = {} }
|
14
|
+
if File.exist?(conf_path.to_s) && !File.directory?(conf_path.to_s)
|
15
|
+
config_hash = YAML.load(File.read(conf_path))
|
16
|
+
if config_hash
|
17
|
+
@options.merge!(config_hash.deep_symbolize_keys!)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def conf_path
|
23
|
+
File.expand_path(Dir.glob('**/.gemrelease').first.to_s)
|
24
|
+
end
|
25
|
+
|
26
|
+
def []=(key,val)
|
27
|
+
options[key] = val
|
28
|
+
end
|
29
|
+
|
30
|
+
def [](key)
|
31
|
+
options[key]
|
32
|
+
end
|
33
|
+
end
|
data/lib/gem_release/helpers.rb
CHANGED
data/lib/gem_release/version.rb
CHANGED
data/lib/gem_release.rb
CHANGED
@@ -13,10 +13,11 @@ class Gem::Commands::BootstrapCommand < Gem::Command
|
|
13
13
|
:quiet => false
|
14
14
|
}
|
15
15
|
|
16
|
-
attr_reader :arguments, :usage
|
16
|
+
attr_reader :arguments, :usage, :name
|
17
17
|
|
18
18
|
def initialize(options = {})
|
19
|
-
|
19
|
+
@name = 'bootstrap'
|
20
|
+
super @name, 'Bootstrap a new gem source repository', default_options_with(options)
|
20
21
|
|
21
22
|
option :gemspec, '-g', 'Generate a .gemspec'
|
22
23
|
option :scaffold, '-s', 'Scaffold lib/[gem_name]/version.rb README test/'
|
@@ -6,7 +6,7 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
6
6
|
include GemRelease, Gem::Commands
|
7
7
|
include Helpers, CommandOptions
|
8
8
|
|
9
|
-
attr_reader :arguments, :usage
|
9
|
+
attr_reader :arguments, :usage, :name
|
10
10
|
|
11
11
|
DEFAULTS = {
|
12
12
|
:version => '',
|
@@ -20,7 +20,8 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
20
20
|
}
|
21
21
|
|
22
22
|
def initialize(options = {})
|
23
|
-
|
23
|
+
@name = 'bump'
|
24
|
+
super @name, 'Bump the gem version', default_options_with(options)
|
24
25
|
|
25
26
|
option :version, '-v', 'Target version: next [major|minor|patch|pre|release] or a given version number [x.x.x]'
|
26
27
|
option :commit, '-c', 'Perform a commit after incrementing gem version'
|
@@ -88,6 +89,7 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
88
89
|
end
|
89
90
|
cmd.options[:quiet] = options[:quiet]
|
90
91
|
cmd.options[:quiet_success] = true
|
92
|
+
cmd.options[:version_number] = @new_version_number
|
91
93
|
cmd.execute
|
92
94
|
true
|
93
95
|
end
|
@@ -97,6 +99,7 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
97
99
|
cmd.options[:quiet] = options[:quiet]
|
98
100
|
cmd.options[:quiet_success] = true
|
99
101
|
cmd.options[:push_tags_only] = true
|
102
|
+
cmd.options[:version_number] = @new_version_number
|
100
103
|
cmd.execute
|
101
104
|
true
|
102
105
|
end
|
@@ -7,10 +7,11 @@ class Gem::Commands::GemspecCommand < Gem::Command
|
|
7
7
|
:quiet => false
|
8
8
|
}
|
9
9
|
|
10
|
-
attr_reader :arguments, :usage
|
10
|
+
attr_reader :arguments, :usage, :name
|
11
11
|
|
12
12
|
def initialize(options = {})
|
13
|
-
|
13
|
+
@name = 'bootstrap'
|
14
|
+
super @name, 'Bootstrap a new gem source repository', default_options_with(options)
|
14
15
|
|
15
16
|
option :strategy, '-f', 'Strategy for collecting files [glob|git] in .gemspec'
|
16
17
|
option :quiet, '-q', 'Do not output status messages'
|
@@ -13,10 +13,11 @@ class Gem::Commands::ReleaseCommand < Gem::Command
|
|
13
13
|
:host => ''
|
14
14
|
}
|
15
15
|
|
16
|
-
attr_reader :arguments, :usage
|
16
|
+
attr_reader :arguments, :usage, :name
|
17
17
|
|
18
18
|
def initialize(options = {})
|
19
|
-
|
19
|
+
@name = 'release'
|
20
|
+
super @name, 'Build gem from a gemspec and push to rubygems.org', default_options_with(options)
|
20
21
|
|
21
22
|
option :tag, '-t', 'Create a git tag and push --tags to origin'
|
22
23
|
option :quiet, '-q', 'Do not output status messages'
|
@@ -6,10 +6,11 @@ class Gem::Commands::TagCommand < Gem::Command
|
|
6
6
|
:quiet => false
|
7
7
|
}
|
8
8
|
|
9
|
-
attr_reader :arguments, :usage
|
9
|
+
attr_reader :arguments, :usage, :name
|
10
10
|
|
11
11
|
def initialize(options = {})
|
12
|
-
|
12
|
+
@name = 'tag'
|
13
|
+
super @name, 'Create a git tag and push --tags to origin', default_options_with(options)
|
13
14
|
|
14
15
|
option :quiet, '-q', 'Do not output status messages'
|
15
16
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gem-release
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Fuchs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test_declarative
|
@@ -30,14 +30,42 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: '0.14'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: '0.14'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: coveralls
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
41
69
|
description: Release your ruby gems with ease. (What a bold statement for such a tiny
|
42
70
|
plugin ...)
|
43
71
|
email: svenfuchs@artweb-design.de
|
@@ -45,10 +73,12 @@ executables: []
|
|
45
73
|
extensions: []
|
46
74
|
extra_rdoc_files: []
|
47
75
|
files:
|
76
|
+
- lib/core_ext/hash/symbolize_keys.rb
|
48
77
|
- lib/core_ext/kernel/silence.rb
|
49
78
|
- lib/core_ext/string/camelize.rb
|
50
79
|
- lib/gem_release.rb
|
51
80
|
- lib/gem_release/command_options.rb
|
81
|
+
- lib/gem_release/configuration.rb
|
52
82
|
- lib/gem_release/gemspec_template.rb
|
53
83
|
- lib/gem_release/helpers.rb
|
54
84
|
- lib/gem_release/template.rb
|
@@ -88,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
118
|
version: 1.3.6
|
89
119
|
requirements: []
|
90
120
|
rubyforge_project: '[none]'
|
91
|
-
rubygems_version: 2.
|
121
|
+
rubygems_version: 2.1.11
|
92
122
|
signing_key:
|
93
123
|
specification_version: 4
|
94
124
|
summary: Release your ruby gems with ease
|