releasetool 0.5.0 → 0.5.2
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/releasetool.rb +1 -1
- data/lib/tasks/release_thor.rb +8 -6
- data/release_notes/v0.5.1.md +8 -0
- data/release_notes/v0.5.2.md +10 -0
- data/releasetool.gemspec +1 -0
- data/spec/releasetool_spec.rb +36 -7
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08c8874c8636651b902d877b3b7f72e92a67ae92879cc1565b9d1c8586b893fe'
|
4
|
+
data.tar.gz: 295de6fe21e43b6bf21f0fc38a7f0000632dbb81b66e633b5359d5841e9be53d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07d8ee0782a15c187a2e2c0193501b3ec0049c62fc27ee13533afb86e0141f75ce1fef338ef4295ea61ecfe9c162730734602b00c4b7b52b1fe310c0e1a54c94
|
7
|
+
data.tar.gz: 0f6f07235221842a7eddc75c1a30bba7bc2e2985de161dd86eda7adbf59c6e70c13902a70ef7adc0b7df5942d7e379066d46915bb1489ad2a62f18ed0dd69da8
|
data/lib/releasetool.rb
CHANGED
data/lib/tasks/release_thor.rb
CHANGED
@@ -73,14 +73,16 @@ class Release < Thor
|
|
73
73
|
If no version given, it will use the version stored by release start
|
74
74
|
END
|
75
75
|
|
76
|
-
|
77
|
-
method_option :
|
76
|
+
method_option :edit, type: :boolean, desc: "release commit --edit allows you to edit, or --no-edit (default) which allows you to just skip", aliases: 'e', default: false
|
77
|
+
method_option :after, type: :boolean, desc: " --after (only do after -- needed for when after fails first time); --no-after (only do the standard); default is do both", default: "default", check_default_type: false
|
78
78
|
def commit(version = nil)
|
79
79
|
version ||= stored_version
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
80
|
+
if options[:after] == "default" || !options[:after]
|
81
|
+
guarded_system("git add #{DIR}")
|
82
|
+
guarded_system("git add #{Releasetool::Util.version_file}") if File.exist?(Releasetool::Util.version_file)
|
83
|
+
guarded_system("git commit #{DIR} #{File.exist?(Releasetool::Util.version_file) ? Releasetool::Util.version_file : ''} #{options[:edit] ? '-e' : nil} -m\"#{DEFAULT_COMMIT_MESSAGE}\"")
|
84
|
+
end
|
85
|
+
config.after_commit_hook(version) if options[:after]
|
84
86
|
end
|
85
87
|
|
86
88
|
desc "tag (NEW_VERSION)", <<-END
|
@@ -0,0 +1,10 @@
|
|
1
|
+
v0.5.2 Release Notes
|
2
|
+
|
3
|
+
*Changes since v0.5.1*
|
4
|
+
|
5
|
+
allow release commit --after and release commit --no-after (#13)
|
6
|
+
|
7
|
+
* `--after` for doing only the after commit hook (if it fails first time).
|
8
|
+
* `--no-after` for skipping the after commit hook
|
9
|
+
|
10
|
+
- actually working in v0.5.2 (with test)
|
data/releasetool.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'thor', '>= 0.18'
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 2.1"
|
25
|
+
spec.add_development_dependency "climate_control"
|
25
26
|
spec.add_development_dependency "rake"
|
26
27
|
spec.add_development_dependency "rspec"
|
27
28
|
spec.add_development_dependency "rubocop", "1.56.3"
|
data/spec/releasetool_spec.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
require 'fileutils'
|
5
|
+
require 'climate_control'
|
5
6
|
require File.expand_path('../lib/tasks/release_thor', __dir__)
|
6
7
|
|
7
8
|
RSpec.describe Releasetool do
|
@@ -10,7 +11,13 @@ RSpec.describe Releasetool do
|
|
10
11
|
end
|
11
12
|
end
|
12
13
|
|
13
|
-
RSpec.describe Release, quietly:
|
14
|
+
RSpec.describe Release, quietly: true do
|
15
|
+
around do |example|
|
16
|
+
ClimateControl.modify(RELEASETOOL_VERSION_FILE: nil) do # in case it is defined...
|
17
|
+
example.run
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
14
21
|
subject { Release.new }
|
15
22
|
|
16
23
|
let(:tmpdir) { File.expand_path('../tmp/testing', __dir__) }
|
@@ -124,22 +131,29 @@ RSpec.describe Release, quietly: false do
|
|
124
131
|
end
|
125
132
|
|
126
133
|
describe "commit" do
|
127
|
-
|
128
|
-
|
134
|
+
let(:options) { { after: "default" } }
|
135
|
+
subject { Release.new([], options, {}) }
|
136
|
+
|
137
|
+
let!(:commit_expectations) {
|
129
138
|
expect(subject).to receive(:guarded_system).with("git add release_notes")
|
130
139
|
expect(subject).to receive(:guarded_system).with("git add config/initializers/00-version.rb")
|
140
|
+
expect(subject).to receive(:guarded_system).with("git commit release_notes config/initializers/00-version.rb -m\"#{Release::DEFAULT_COMMIT_MESSAGE}\"")
|
131
141
|
}
|
132
142
|
context "with no args" do
|
133
143
|
it "outputs without -e" do
|
134
|
-
expect(subject).to receive(:guarded_system).with("git commit release_notes config/initializers/00-version.rb -m\"#{Release::DEFAULT_COMMIT_MESSAGE}\"")
|
135
144
|
subject.commit('v0.0.3')
|
136
145
|
end
|
137
146
|
end
|
138
147
|
|
139
148
|
context "with --edit" do
|
149
|
+
let(:options) { { after: "default", edit: true } }
|
140
150
|
subject { Release.new([], { edit: true }, {}) }
|
141
|
-
|
151
|
+
let!(:commit_expectations) {
|
152
|
+
expect(subject).to receive(:guarded_system).with("git add release_notes")
|
153
|
+
expect(subject).to receive(:guarded_system).with("git add config/initializers/00-version.rb")
|
142
154
|
expect(subject).to receive(:guarded_system).with("git commit release_notes config/initializers/00-version.rb -e -m\"#{Release::DEFAULT_COMMIT_MESSAGE}\"")
|
155
|
+
}
|
156
|
+
it "outputs with e" do
|
143
157
|
subject.commit('v0.0.3')
|
144
158
|
end
|
145
159
|
end
|
@@ -148,7 +162,6 @@ RSpec.describe Release, quietly: false do
|
|
148
162
|
it "should generate and still work" do
|
149
163
|
subject.init
|
150
164
|
expected = "after_commit(v0.0.3) has been called"
|
151
|
-
expect(subject).to receive(:guarded_system).with("git commit release_notes config/initializers/00-version.rb -m\"#{Release::DEFAULT_COMMIT_MESSAGE}\"")
|
152
165
|
expect { subject.commit('v0.0.3') }.not_to output(/#{Regexp.escape(expected)}/).to_stdout
|
153
166
|
end
|
154
167
|
end
|
@@ -159,10 +172,26 @@ RSpec.describe Release, quietly: false do
|
|
159
172
|
FileUtils.cp(hooks_example_rb, "#{tmpdir}/config/releasetool/hooks.rb")
|
160
173
|
end
|
161
174
|
it "should output hook" do
|
162
|
-
expect(subject).to receive(:guarded_system).with("git commit release_notes config/initializers/00-version.rb -m\"#{Release::DEFAULT_COMMIT_MESSAGE}\"")
|
163
175
|
expected = "after_commit(v0.0.3) has been called"
|
164
176
|
expect { subject.commit('v0.0.3') }.to output(/#{Regexp.escape(expected)}/).to_stdout
|
165
177
|
end
|
178
|
+
context "with --after" do
|
179
|
+
let(:options) { { after: true } }
|
180
|
+
let!(:commit_expectations) {
|
181
|
+
# none!
|
182
|
+
}
|
183
|
+
it "should output hook only" do
|
184
|
+
expected = "after_commit(v0.0.3) has been called"
|
185
|
+
expect { subject.commit('v0.0.3') }.to output(/#{Regexp.escape(expected)}/).to_stdout
|
186
|
+
end
|
187
|
+
end
|
188
|
+
context "with --no-after" do
|
189
|
+
let(:options) { { after: false } }
|
190
|
+
it "shouldn't output hook" do
|
191
|
+
expected = "after_commit(v0.0.3) has been called"
|
192
|
+
expect { subject.commit('v0.0.3') }.not_to output(/#{Regexp.escape(expected)}/).to_stdout
|
193
|
+
end
|
194
|
+
end
|
166
195
|
end
|
167
196
|
end
|
168
197
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: releasetool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Diggins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: climate_control
|
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'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +128,8 @@ files:
|
|
114
128
|
- release_notes/v0.3.0.md
|
115
129
|
- release_notes/v0.4.0.md
|
116
130
|
- release_notes/v0.5.0.md
|
131
|
+
- release_notes/v0.5.1.md
|
132
|
+
- release_notes/v0.5.2.md
|
117
133
|
- releasetool.gemspec
|
118
134
|
- spec/fixtures/empty_file.rb
|
119
135
|
- spec/fixtures/example_with_releases.tar
|