gem_release_helper 1.0.0 → 1.0.1
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/.gitignore +2 -0
- data/.travis.yml +10 -8
- data/CHANGELOG.md +4 -0
- data/README.md +6 -0
- data/lib/gem_release_helper/tasks/generator/changelog.rb +51 -4
- data/lib/gem_release_helper/version.rb +1 -1
- data/test/gem_release_helper/tasks/generator/test_changelog.rb +85 -36
- metadata +3 -3
- data/Gemfile.lock +0 -57
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8d119030846dc267a66ee8153fd37e9a18938737
|
|
4
|
+
data.tar.gz: dfbe0a6a700237dd2ad36a4aec54ea10c5a2893e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b7745d262ae469d4ad66e9edabe4f4e00e72016ec6059e92313cd2704d3b9393798b64caee4fd7c2b887bd2e2d029e574989d6deb10465f37fa9065398c02ed1
|
|
7
|
+
data.tar.gz: 13747b0e86029980968bd3a2ff49ea8a2ac523ff172640695f43c9ba4d35a05647a6e2ba71e669f03ce5299a188c88bb800cb42c7639112f9ebe953fa467a1d6
|
data/.gitignore
ADDED
data/.travis.yml
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
rvm:
|
|
3
|
-
- jruby-
|
|
4
|
-
-
|
|
3
|
+
- jruby-9.0.5.0 # NOTE: rvm 1.26.10 recognize as jruby-9.0.0pre1
|
|
4
|
+
- 2.3.1
|
|
5
|
+
- ruby-head
|
|
6
|
+
- jruby-head
|
|
5
7
|
env: 'JRUBY_OPTS="-Xcli.debug=true --debug"' # for test coverage
|
|
8
|
+
|
|
6
9
|
addons:
|
|
7
10
|
code_climate:
|
|
8
|
-
repo_token:
|
|
9
|
-
secure: "Ael9qV6oxuruF2I4l5GVm85EXmsTFJB2AxcwT3Ni2fALj+/xUdR5n9FwPxLwTqSFhLmr/ccefOIyqMDCo9LNcDc8ib7ypYHsTbNu8vZHlM5mbDA4/N5fpvahpAd532XCxOg4B90oOIbVlyalPGmO4mhCDTr17GnvPXgOfdf2zzq7xRL3gUjP7MGGLCCXhvuu6/D6+YhKCHUGymeaxFUxUeTI0h8Uempl7fhqcOyJlgMB+m7iK4Owy6sX6DWHzcYBbnWXUw0Czy47JrZHbN3YseURDpe6WTXL9eC42wo2LhMnqQH9fkMNpKRN80XE0P636ckI4nwmsPjAkV4/Q8X4oXE1Q8Muuei9ZHFV8k26GY0aaJ+zEo5ajfBXZPBQcFrhYzUuWpSym0JBCr0lEywr1DVLl1Qf/2+9782JCs8Bjvq3qTMY4AB45OqpLBScRbx0WoK03yuHLNtHLc9IftCQolxb0Wi08Q48NJmg4nsBcSaaJKlry/yr/vZ5kdKZJG8hWQfMUUjE1WP4l3gr1l2tP46s62t3B4cLcZ8wCEjzHNFKc30AfomfmABGV8M9LdRaYaNkLBaHhQVzlGJB32WDZWU5xClYDy2K6PjuXWp1BY4JcMWRkS9vAyezwRxvkXzX68DUerpUpk6+XensYcjgdOY60EYcY7FIiSm91hzB6l0="
|
|
10
|
-
notifications:
|
|
11
|
-
slack:
|
|
12
|
-
secure: DWXP4y5GvW5EyuZbcpXH3pnbb4lycfQ3SnxFUErjNnZacKRXLf1r93D5nT9GFvDERU7T3LIm8qwei6h3O5YNQDU1TKOhpWrGgkVYh0/VsyJhVeKSAErurmuMrBaloZ3pfszaTIK+v/WFj8E+25w1QLJaNoQ5aMCsq0r+ipuW/nDwX9HFAuLshjSy0ALmHmdha67iTZidfMLW8JbaAf1BnbmqHjFI2QuzSU01Yl2hOdY8k4JBpVtR5ntQJEaBVd+O07oNiY+GdETAD2n7jViJInjTz2Oy5c6j1ijcIknnzzlufFA7+fBmzXYQlcVOJE//DpfdAjYxlm6qKIoTKlI8JRbfX2e94qGsaLAi4OrDIdChlp+oF1Id3VDPnf3ckz1s5b+tbBtjbu5FO2+i6GvimQPysj3af2RvUZ9UkzQEgOxy+sT9STNm8Aa/2zg+TgKHvZ2E89YmMO57k/pac/Bn1BiAkActKu/gZdun6l4PC7/0qUbEI/ndnNMbpKx5gOgmpiIWkTAMo6oDbigygUwduonsoKx0oT9rm8q1AQA6PrxORj7+5cd6kmEaPvSvZS4oiSVwJvgs4RLp65grG6TxmHDzBizbJlEveDvZ9sgG9wgH7/ihtqKVG1KxXycierEJUoYvN0IUDKYQWMzzNKl5rSw58lHDEu606U15gUk5mXY=
|
|
11
|
+
repo_token: 089cf6093822f5c0502918a9590ce8284f352501199ae0261c7cef4357a418c8
|
|
13
12
|
jdk:
|
|
14
|
-
- oraclejdk8
|
|
13
|
+
- oraclejdk8
|
|
14
|
+
|
|
15
|
+
before_install:
|
|
16
|
+
- gem i bundler
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
## 1.0.1 - 2016-07-22
|
|
2
|
+
* [improve] Enable to detect/bump version using external file [#2](https://github.com/uu59/gem_release_helper/pull/2)
|
|
3
|
+
* [improve] Enable to access private repo [#1](https://github.com/uu59/gem_release_helper/pull/1)
|
|
4
|
+
|
|
1
5
|
## 1.0.0 - 2016-07-13
|
|
2
6
|
|
|
3
7
|
Forked and renamed as "gem_release_helper".
|
data/README.md
CHANGED
|
@@ -27,6 +27,11 @@ Load rake tasks at your Rakefile:
|
|
|
27
27
|
|
|
28
28
|
require "bundler/gem_tasks"
|
|
29
29
|
require "gem_release_helper/tasks"
|
|
30
|
+
GemReleaseHelper::Tasks.install({
|
|
31
|
+
gemspec: "./your_gem.gemspec",
|
|
32
|
+
github_name: "user/repo", # if this repo is private, you can access it by set GITHUB_OAUTH_TOKEN to environment variable
|
|
33
|
+
})
|
|
34
|
+
|
|
30
35
|
|
|
31
36
|
## Usage
|
|
32
37
|
|
|
@@ -34,6 +39,7 @@ Load rake tasks at your Rakefile:
|
|
|
34
39
|
rake build # Build embulk-input-your-plugin-0.1.0.gem into the pkg directory
|
|
35
40
|
rake generate:bump_version # Bump version
|
|
36
41
|
rake generate:changelog # Generate CHANGELOG.md from previous release
|
|
42
|
+
rake generate:gemfiles # Generate gemfiles to test this plugin with released Embulk versions (since MIN_VERSION)
|
|
37
43
|
rake generate:prepare_release # Generate chengelog then bump version
|
|
38
44
|
rake install # Build and install embulk-input-your-plugin-0.1.0.gem into system gems
|
|
39
45
|
rake release # Create tag v0.1.0 and build and push embulk-input-your-plugin-0.1.0.gem to Rubygems
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "gem_release_helper/tasks/common"
|
|
2
|
+
require "open3"
|
|
2
3
|
|
|
3
4
|
module GemReleaseHelper
|
|
4
5
|
module Tasks
|
|
@@ -34,7 +35,18 @@ module GemReleaseHelper
|
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
def bump_version
|
|
37
|
-
logger.info "
|
|
38
|
+
logger.info "Bump version from '#{current_version}' to '#{next_version}'"
|
|
39
|
+
case where_written_version
|
|
40
|
+
when :gemspec
|
|
41
|
+
write_new_version_to_gemspec
|
|
42
|
+
when :version_file
|
|
43
|
+
write_new_version_to_version_file
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
def write_new_version_to_gemspec
|
|
38
50
|
old_content = gemspec_path.read
|
|
39
51
|
new_content = old_content.gsub(/(spec\.version += *)".*?"/, %Q!\\1"#{next_version}"!)
|
|
40
52
|
File.open(gemspec_path, "w") do |f|
|
|
@@ -42,14 +54,47 @@ module GemReleaseHelper
|
|
|
42
54
|
end
|
|
43
55
|
end
|
|
44
56
|
|
|
45
|
-
|
|
57
|
+
def write_new_version_to_version_file
|
|
58
|
+
version_file = version_files.first
|
|
59
|
+
new_content = File.read(version_file).gsub(current_version.to_s, next_version.to_s)
|
|
60
|
+
File.open(version_file, "w") {|f| f.write new_content }
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def where_written_version
|
|
64
|
+
if gemspec_path.read.include?(current_version.to_s)
|
|
65
|
+
:gemspec
|
|
66
|
+
else
|
|
67
|
+
version_file = version_files.first
|
|
68
|
+
if version_file && File.read(version_file).include?(current_version.to_s)
|
|
69
|
+
return :version_file
|
|
70
|
+
end
|
|
71
|
+
raise "Couldn't find where is version written"
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def version_files
|
|
76
|
+
Dir["#{gemspec_path.dirname}/**/version**"]
|
|
77
|
+
end
|
|
46
78
|
|
|
47
79
|
def required_options
|
|
48
80
|
%w(github_name)
|
|
49
81
|
end
|
|
50
82
|
|
|
51
83
|
def current_version
|
|
52
|
-
ENV["CURRENT_VER"]
|
|
84
|
+
return ENV["CURRENT_VER"] if ENV["CURRENT_VER"]
|
|
85
|
+
ver = gemspec_path.read[/spec\.version += *"([0-9]+\.[0-9]+\.[0-9]+)"/, 1] ||
|
|
86
|
+
begin
|
|
87
|
+
# from rake
|
|
88
|
+
# https://github.com/ruby/rake/blob/1b27eb2f8234190bba0e973194d38bcf09443ec0/lib/rake/file_utils.rb
|
|
89
|
+
ruby = File.join(
|
|
90
|
+
RbConfig::CONFIG['bindir'],
|
|
91
|
+
RbConfig::CONFIG['ruby_install_name'] + RbConfig::CONFIG['EXEEXT']
|
|
92
|
+
).sub(/.*\s.*/m, '"\&"')
|
|
93
|
+
script = %Q!print eval(File.read('#{gemspec_path}')).version.to_s!
|
|
94
|
+
o, _, _ = Open3.capture3(ruby, "-e", script)
|
|
95
|
+
o.strip
|
|
96
|
+
end
|
|
97
|
+
Gem::Version.new(ver)
|
|
53
98
|
end
|
|
54
99
|
|
|
55
100
|
def next_version
|
|
@@ -87,7 +132,9 @@ module GemReleaseHelper
|
|
|
87
132
|
end
|
|
88
133
|
|
|
89
134
|
def pull_request_info(number)
|
|
90
|
-
body = open("https://api.github.com/repos/#{github_name}/issues/#{number}"
|
|
135
|
+
body = open("https://api.github.com/repos/#{github_name}/issues/#{number}", {
|
|
136
|
+
"Authentication" => "token #{ENV["GITHUB_OAUTH_TOKEN"]}"
|
|
137
|
+
}).read
|
|
91
138
|
JSON.parse(body)
|
|
92
139
|
end
|
|
93
140
|
|
|
@@ -73,61 +73,110 @@ Merry Xmas!
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
class TestBumpVersion < self
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
class TestVersionDynamic < self
|
|
77
|
+
def setup
|
|
78
|
+
@version = "1.0.0"
|
|
79
|
+
@dir = Pathname.new(Dir.tmpdir).join(Time.now.to_f.to_s)
|
|
80
|
+
@dir.mkdir
|
|
81
|
+
@version_file = @dir.join("lib/foo/version.rb")
|
|
82
|
+
FileUtils.mkdir_p @version_file.dirname
|
|
83
|
+
@version_file.write <<RUBY
|
|
84
|
+
class Foo
|
|
85
|
+
VERSION = "#{@version}"
|
|
86
|
+
end
|
|
87
|
+
RUBY
|
|
88
|
+
@dir.join("foo.gemspec").write <<-SPEC
|
|
89
|
+
# coding: utf-8
|
|
90
|
+
require '#{@dir.join("lib/foo/version.rb").to_s}'
|
|
91
|
+
|
|
92
|
+
Gem::Specification.new do |spec|
|
|
93
|
+
spec.name = "foo"
|
|
94
|
+
spec.version = Foo::VERSION
|
|
95
|
+
end
|
|
96
|
+
SPEC
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def teardown
|
|
100
|
+
FileUtils.rm_rf @dir
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def test_bump_version_on_file
|
|
104
|
+
@task = Changelog.new(options)
|
|
105
|
+
mute_logger(@task)
|
|
106
|
+
|
|
107
|
+
@task.bump_version
|
|
108
|
+
assert @version_file.read.include?("1.0.1")
|
|
109
|
+
assert_equal "1.0.1", @task.send(:current_version).to_s
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
private
|
|
113
|
+
|
|
114
|
+
def options
|
|
115
|
+
{
|
|
116
|
+
gemspec: @dir.join("foo.gemspec").to_s,
|
|
117
|
+
github_name: "foo/foo",
|
|
118
|
+
}
|
|
80
119
|
end
|
|
81
|
-
Tasks.install(options)
|
|
82
|
-
task = Rake::Task.tasks.find {|task| task.name == "generate:bump_version"}
|
|
83
|
-
task.execute
|
|
84
|
-
ensure
|
|
85
|
-
Rake::Task.clear
|
|
86
120
|
end
|
|
87
121
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
122
|
+
class TestVersionStatic < self
|
|
123
|
+
def test_bump_version_task
|
|
124
|
+
any_instance_of(Changelog) do |klass|
|
|
125
|
+
mock(klass).bump_version
|
|
126
|
+
mock(klass).update_gemfile_lock
|
|
127
|
+
end
|
|
128
|
+
Tasks.install(options)
|
|
129
|
+
task = Rake::Task.tasks.find {|t| t.name == "generate:bump_version"}
|
|
130
|
+
task.execute
|
|
131
|
+
ensure
|
|
132
|
+
Rake::Task.clear
|
|
133
|
+
end
|
|
91
134
|
|
|
92
|
-
|
|
135
|
+
def test_without_option
|
|
136
|
+
@task = Changelog.new(options)
|
|
137
|
+
mute_logger(@task)
|
|
93
138
|
|
|
94
|
-
|
|
139
|
+
@task.bump_version
|
|
140
|
+
|
|
141
|
+
assert_equal(<<-SPEC, gemspec_path.read)
|
|
95
142
|
spec.version = "0.1.3"
|
|
96
|
-
|
|
97
|
-
|
|
143
|
+
SPEC
|
|
144
|
+
end
|
|
98
145
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
146
|
+
def test_with_patch
|
|
147
|
+
@task = Changelog.new(options.merge(version_target: "patch"))
|
|
148
|
+
mute_logger(@task)
|
|
102
149
|
|
|
103
|
-
|
|
150
|
+
@task.bump_version
|
|
104
151
|
|
|
105
|
-
|
|
152
|
+
assert_equal(<<-SPEC, gemspec_path.read)
|
|
106
153
|
spec.version = "0.1.3"
|
|
107
|
-
|
|
108
|
-
|
|
154
|
+
SPEC
|
|
155
|
+
end
|
|
109
156
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
157
|
+
def test_with_minor
|
|
158
|
+
@task = Changelog.new(options.merge(version_target: "minor"))
|
|
159
|
+
mute_logger(@task)
|
|
113
160
|
|
|
114
|
-
|
|
161
|
+
@task.bump_version
|
|
115
162
|
|
|
116
|
-
|
|
163
|
+
assert_equal(<<-SPEC, gemspec_path.read)
|
|
117
164
|
spec.version = "0.2.0"
|
|
118
|
-
|
|
119
|
-
|
|
165
|
+
SPEC
|
|
166
|
+
end
|
|
120
167
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
168
|
+
def test_with_major
|
|
169
|
+
@task = Changelog.new(options.merge(version_target: "major"))
|
|
170
|
+
mute_logger(@task)
|
|
124
171
|
|
|
125
|
-
|
|
172
|
+
@task.bump_version
|
|
126
173
|
|
|
127
|
-
|
|
174
|
+
assert_equal(<<-SPEC, gemspec_path.read)
|
|
128
175
|
spec.version = "1.0.0"
|
|
129
|
-
|
|
176
|
+
SPEC
|
|
177
|
+
end
|
|
130
178
|
end
|
|
179
|
+
|
|
131
180
|
end
|
|
132
181
|
|
|
133
182
|
private
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gem_release_helper
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- yoshihara
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2016-07-
|
|
12
|
+
date: 2016-07-22 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -103,10 +103,10 @@ executables: []
|
|
|
103
103
|
extensions: []
|
|
104
104
|
extra_rdoc_files: []
|
|
105
105
|
files:
|
|
106
|
+
- ".gitignore"
|
|
106
107
|
- ".travis.yml"
|
|
107
108
|
- CHANGELOG.md
|
|
108
109
|
- Gemfile
|
|
109
|
-
- Gemfile.lock
|
|
110
110
|
- LICENSE.txt
|
|
111
111
|
- README.md
|
|
112
112
|
- Rakefile
|
data/Gemfile.lock
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
gem_release_helper (1.0.0)
|
|
5
|
-
|
|
6
|
-
GEM
|
|
7
|
-
remote: https://rubygems.org/
|
|
8
|
-
specs:
|
|
9
|
-
codeclimate-test-reporter (0.4.7)
|
|
10
|
-
simplecov (>= 0.7.1, < 1.0.0)
|
|
11
|
-
coderay (1.1.0)
|
|
12
|
-
docile (1.1.5)
|
|
13
|
-
ffi (1.9.10-java)
|
|
14
|
-
json (1.8.3)
|
|
15
|
-
json (1.8.3-java)
|
|
16
|
-
method_source (0.8.2)
|
|
17
|
-
power_assert (0.2.3)
|
|
18
|
-
pry (0.10.1)
|
|
19
|
-
coderay (~> 1.1.0)
|
|
20
|
-
method_source (~> 0.8.1)
|
|
21
|
-
slop (~> 3.4)
|
|
22
|
-
pry (0.10.1-java)
|
|
23
|
-
coderay (~> 1.1.0)
|
|
24
|
-
method_source (~> 0.8.1)
|
|
25
|
-
slop (~> 3.4)
|
|
26
|
-
spoon (~> 0.0)
|
|
27
|
-
rake (10.4.2)
|
|
28
|
-
rr (1.1.2)
|
|
29
|
-
simplecov (0.10.0)
|
|
30
|
-
docile (~> 1.1.0)
|
|
31
|
-
json (~> 1.8)
|
|
32
|
-
simplecov-html (~> 0.10.0)
|
|
33
|
-
simplecov-html (0.10.0)
|
|
34
|
-
slop (3.6.0)
|
|
35
|
-
spoon (0.0.4)
|
|
36
|
-
ffi
|
|
37
|
-
test-unit (3.1.2)
|
|
38
|
-
power_assert
|
|
39
|
-
test-unit-rr (1.0.3)
|
|
40
|
-
rr (>= 1.1.1)
|
|
41
|
-
test-unit (>= 2.5.2)
|
|
42
|
-
|
|
43
|
-
PLATFORMS
|
|
44
|
-
java
|
|
45
|
-
ruby
|
|
46
|
-
|
|
47
|
-
DEPENDENCIES
|
|
48
|
-
bundler (~> 1.7)
|
|
49
|
-
codeclimate-test-reporter
|
|
50
|
-
gem_release_helper!
|
|
51
|
-
pry
|
|
52
|
-
rake (~> 10.0)
|
|
53
|
-
test-unit
|
|
54
|
-
test-unit-rr
|
|
55
|
-
|
|
56
|
-
BUNDLED WITH
|
|
57
|
-
1.12.5
|