yes_ship_it 0.0.1 → 0.0.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/.gitignore +1 -0
- data/CHANGELOG.md +14 -0
- data/Gemfile +3 -0
- data/README.md +6 -6
- data/assertions/built_gem.rb +2 -1
- data/assertions/change_log.rb +15 -0
- data/assertions/published_gem.rb +2 -0
- data/assertions/pushed_tag.rb +3 -1
- data/assertions/tag.rb +3 -1
- data/bin/yes_ship_it +42 -9
- data/configs/ruby_gem.conf +7 -0
- data/lib/version.rb +3 -0
- data/lib/yes_ship_it/assertion.rb +30 -0
- data/lib/yes_ship_it/engine.rb +43 -18
- data/lib/yes_ship_it.rb +1 -0
- data/spec/data/red_herring-004.tar.gz +0 -0
- data/spec/data/red_herring-005.tar.gz +0 -0
- data/spec/data/yes_ship_it.include.conf +2 -0
- data/spec/integration/cli_spec.rb +75 -2
- data/spec/unit/assertion_spec.rb +15 -0
- data/spec/unit/assertions/change_log_spec.rb +52 -0
- data/spec/unit/assertions/pushed_tag_spec.rb +15 -0
- data/spec/unit/engine_spec.rb +51 -12
- data/spec/unit/spec_helper.rb +2 -0
- data/yes_ship_it-0.0.1.gem +0 -0
- data/yes_ship_it.conf +2 -8
- data/yes_ship_it.gemspec +24 -0
- metadata +15 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0a3bdc9066a3756da3d10312af339a670ebb3b5
|
4
|
+
data.tar.gz: f0c52e701d5bc7ede706a76cdc1550d9d9199cfd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 881cc76db9867a69368e18a8e0f45ab05c8de8c008160897806d01cf3ed425600bfefe9ad2c388c73e458d859eb5298b396d08e709293148b1fe959b51ce3a10
|
7
|
+
data.tar.gz: 8593fe6bd2e0369073444351c81dfda0ba02c0728ace57d53401b97427c23c8c8a58e8d94ffd4d33d9d9397cea0c6e09f525c3a24a426159c57e16075a25f34b
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Gemfile.lock
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Change log of yes_ship_it
|
2
|
+
|
3
|
+
## Version 0.0.2
|
4
|
+
|
5
|
+
* Don't run assertions when dependent assertions have failed
|
6
|
+
* Add support for including standard configs for certain scenarios. The first
|
7
|
+
and only one for now is ruby_gems for releasing Ruby Gems.
|
8
|
+
* Add helper command `yes_ship_it changelog` to show the git log with all
|
9
|
+
changes since last release as inspiration for the actual change log
|
10
|
+
* Check that the change log contains an entry for the version to be released
|
11
|
+
|
12
|
+
## Version 0.0.1
|
13
|
+
|
14
|
+
* Initial release
|
data/Gemfile
ADDED
data/README.md
CHANGED
@@ -58,12 +58,12 @@ A more detailed configuration could look like this:
|
|
58
58
|
|
59
59
|
```yaml
|
60
60
|
assertions:
|
61
|
-
ci_green
|
62
|
-
release_notes
|
63
|
-
version_number
|
64
|
-
gem_built
|
65
|
-
release_tagged
|
66
|
-
gem_pushed
|
61
|
+
- ci_green
|
62
|
+
- release_notes
|
63
|
+
- version_number
|
64
|
+
- gem_built
|
65
|
+
- release_tagged
|
66
|
+
- gem_pushed
|
67
67
|
```
|
68
68
|
|
69
69
|
There can be more configuration on a general level or the level of the
|
data/assertions/built_gem.rb
CHANGED
data/assertions/change_log.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module YSI
|
2
2
|
class ChangeLog < Assertion
|
3
|
+
needs "version"
|
4
|
+
|
3
5
|
attr_reader :error
|
4
6
|
|
5
7
|
def initialize(engine)
|
@@ -16,10 +18,23 @@ module YSI
|
|
16
18
|
return nil
|
17
19
|
end
|
18
20
|
|
21
|
+
@error = check_content(File.read("CHANGELOG.md"))
|
22
|
+
if @error
|
23
|
+
return nil
|
24
|
+
end
|
25
|
+
|
19
26
|
"CHANGELOG.md"
|
20
27
|
end
|
21
28
|
|
22
29
|
def assert(dry_run: false)
|
23
30
|
end
|
31
|
+
|
32
|
+
def check_content(content)
|
33
|
+
if content =~ /#{engine.version}/
|
34
|
+
nil
|
35
|
+
else
|
36
|
+
return "Can't find version #{engine.version} in change log"
|
37
|
+
end
|
38
|
+
end
|
24
39
|
end
|
25
40
|
end
|
data/assertions/published_gem.rb
CHANGED
data/assertions/pushed_tag.rb
CHANGED
data/assertions/tag.rb
CHANGED
data/bin/yes_ship_it
CHANGED
@@ -2,8 +2,26 @@
|
|
2
2
|
|
3
3
|
require_relative("../lib/yes_ship_it.rb")
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
options = {}
|
6
|
+
option_parser = OptionParser.new do |opts|
|
7
|
+
opts.banner = "Usage: yes_ship_it [options] [command]"
|
8
|
+
|
9
|
+
opts.separator ""
|
10
|
+
opts.separator "Commands:"
|
11
|
+
opts.separator " changelog - show change log since last release"
|
12
|
+
opts.separator ""
|
13
|
+
opts.separator "Specific options:"
|
14
|
+
|
15
|
+
opts.on("--dry-run", "Just pretend. Don't change anything.") do |v|
|
16
|
+
options[:dry_run] = v
|
17
|
+
end
|
18
|
+
|
19
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
20
|
+
puts opts
|
21
|
+
exit
|
22
|
+
end
|
23
|
+
end
|
24
|
+
option_parser.parse!
|
7
25
|
|
8
26
|
config_file = "yes_ship_it.conf"
|
9
27
|
|
@@ -12,14 +30,29 @@ if !File.exist?(config_file)
|
|
12
30
|
exit 1
|
13
31
|
end
|
14
32
|
|
15
|
-
|
16
|
-
engine
|
33
|
+
if ARGV == ["changelog"]
|
34
|
+
engine = YSI::Engine.new
|
35
|
+
engine.check_assertion(YSI::Version)
|
36
|
+
tag = `git tag`.split("\n").last
|
37
|
+
system("git log #{tag}..HEAD")
|
38
|
+
exit 0
|
39
|
+
elsif ARGV.empty?
|
40
|
+
puts "Shipping..."
|
41
|
+
puts
|
42
|
+
|
43
|
+
engine = YSI::Engine.new
|
44
|
+
engine.dry_run = options[:dry_run]
|
17
45
|
|
18
|
-
begin
|
19
|
-
|
46
|
+
begin
|
47
|
+
engine.read(config_file)
|
20
48
|
|
21
|
-
|
22
|
-
rescue YSI::Error => e
|
23
|
-
|
49
|
+
exit engine.run
|
50
|
+
rescue YSI::Error => e
|
51
|
+
STDERR.puts e
|
52
|
+
exit 1
|
53
|
+
end
|
54
|
+
else
|
55
|
+
$stderr.puts "Unrecognized arguments: #{ARGV.join(" ")}"
|
56
|
+
puts option_parser
|
24
57
|
exit 1
|
25
58
|
end
|
data/lib/version.rb
ADDED
@@ -3,8 +3,38 @@ module YSI
|
|
3
3
|
attr_reader :error
|
4
4
|
attr_accessor :engine
|
5
5
|
|
6
|
+
def self.class_for_name(name)
|
7
|
+
class_name = name.split("_").map { |n| n.capitalize }.join
|
8
|
+
begin
|
9
|
+
Object.const_get("YSI::" + class_name)
|
10
|
+
rescue NameError
|
11
|
+
raise YSI::Error.new("Error: Unknown assertion '#{name}'")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.needs(dependency)
|
16
|
+
@dependency_names ||= []
|
17
|
+
# Classes might not all be loaded yet, so delay class name lookup to
|
18
|
+
# first invocation of #needs
|
19
|
+
@dependency_names << dependency
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.dependency_names
|
23
|
+
@dependency_names || []
|
24
|
+
end
|
25
|
+
|
6
26
|
def initialize(engine)
|
7
27
|
@engine = engine
|
8
28
|
end
|
29
|
+
|
30
|
+
def needs
|
31
|
+
@dependencies ||= self.class.dependency_names.map do |d|
|
32
|
+
Assertion.class_for_name(d)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def needs?(dependency)
|
37
|
+
needs.include?(dependency)
|
38
|
+
end
|
9
39
|
end
|
10
40
|
end
|
data/lib/yes_ship_it/engine.rb
CHANGED
@@ -5,15 +5,6 @@ module YSI
|
|
5
5
|
attr_accessor :out
|
6
6
|
attr_accessor :dry_run
|
7
7
|
|
8
|
-
def self.class_for_assertion_name(name)
|
9
|
-
class_name = name.split("_").map { |n| n.capitalize }.join
|
10
|
-
begin
|
11
|
-
Object.const_get("YSI::" + class_name)
|
12
|
-
rescue NameError
|
13
|
-
raise YSI::Error.new("Error: Unknown assertion '#{name}'")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
8
|
def initialize
|
18
9
|
@assertions = []
|
19
10
|
@out = STDOUT
|
@@ -22,30 +13,64 @@ module YSI
|
|
22
13
|
def read(filename)
|
23
14
|
config = YAML.load_file(filename)
|
24
15
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
16
|
+
config.each do |key,value|
|
17
|
+
if key == "include"
|
18
|
+
included_file = value
|
19
|
+
configs_path = File.expand_path("../../../configs", __FILE__)
|
20
|
+
read(File.join(configs_path, included_file + ".conf"))
|
21
|
+
elsif key == "assertions"
|
22
|
+
assertions = value
|
23
|
+
if assertions
|
24
|
+
assertions.each do |assertion|
|
25
|
+
if assertion == "version_number"
|
26
|
+
out.puts "Warning: use `version` instead of `version_number`."
|
27
|
+
out.puts
|
28
|
+
assertion = "version"
|
29
|
+
end
|
33
30
|
|
34
|
-
|
31
|
+
@assertions << YSI::Assertion.class_for_name(assertion).new(self)
|
32
|
+
end
|
33
|
+
end
|
35
34
|
end
|
36
35
|
end
|
37
36
|
end
|
38
37
|
|
38
|
+
def check_assertion(assertion_class)
|
39
|
+
assertion_class.new(self).check
|
40
|
+
end
|
41
|
+
|
39
42
|
def project_name
|
40
43
|
File.basename(Dir.pwd)
|
41
44
|
end
|
42
45
|
|
46
|
+
def tag
|
47
|
+
"v#{version}"
|
48
|
+
end
|
49
|
+
|
50
|
+
def dependency_errored?(assertion, errored_assertions)
|
51
|
+
assertion.needs.each do |need|
|
52
|
+
errored_assertions.each do |errored_assertion|
|
53
|
+
if errored_assertion.class == need
|
54
|
+
return true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
false
|
59
|
+
end
|
60
|
+
|
43
61
|
def run
|
44
62
|
failed_assertions = []
|
45
63
|
errored_assertions = []
|
64
|
+
skipped_assertions = []
|
46
65
|
|
47
66
|
@assertions.each do |assertion|
|
48
67
|
out.print "Checking #{assertion.display_name}: "
|
68
|
+
if dependency_errored?(assertion, errored_assertions) ||
|
69
|
+
dependency_errored?(assertion, skipped_assertions)
|
70
|
+
out.puts "skip (because dependency errored)"
|
71
|
+
skipped_assertions << assertion
|
72
|
+
next
|
73
|
+
end
|
49
74
|
success = assertion.check
|
50
75
|
if success
|
51
76
|
out.puts success
|
data/lib/yes_ship_it.rb
CHANGED
Binary file
|
Binary file
|
@@ -24,8 +24,7 @@ Warning: use `version` instead of `version_number`.
|
|
24
24
|
|
25
25
|
Checking version number: error
|
26
26
|
Expected version in lib/version.rb
|
27
|
-
Checking change log:
|
28
|
-
Expected change log in CHANGELOG.md
|
27
|
+
Checking change log: skip (because dependency errored)
|
29
28
|
|
30
29
|
Couldn't ship red_herring. Help me.
|
31
30
|
EOT
|
@@ -119,5 +118,79 @@ EOT
|
|
119
118
|
working_directory: File.join(dir, "red_herring"))).
|
120
119
|
to exit_with_success(expected_output)
|
121
120
|
end
|
121
|
+
|
122
|
+
it "checks the change log" do
|
123
|
+
dir = given_directory
|
124
|
+
|
125
|
+
setup_test_git_repo("004", dir)
|
126
|
+
|
127
|
+
expected_output = <<EOT
|
128
|
+
Shipping...
|
129
|
+
|
130
|
+
Checking version number: 0.0.2
|
131
|
+
Checking change log: error
|
132
|
+
Can't find version 0.0.2 in change log
|
133
|
+
Checking built gem: fail
|
134
|
+
Checking tag: fail
|
135
|
+
|
136
|
+
Couldn't ship red_herring. Help me.
|
137
|
+
EOT
|
138
|
+
|
139
|
+
expect(run_command(working_directory: File.join(dir, "red_herring"))).
|
140
|
+
to exit_with_error(1, "", expected_output)
|
141
|
+
end
|
142
|
+
|
143
|
+
it "skips assertions with errored dependencies" do
|
144
|
+
dir = nil
|
145
|
+
given_directory do
|
146
|
+
dir = given_directory "test_project" do
|
147
|
+
given_file("yes_ship_it.conf", from: "yes_ship_it.include.conf")
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
expected_output = <<EOT
|
152
|
+
Shipping...
|
153
|
+
|
154
|
+
Checking version number: error
|
155
|
+
Expected version in lib/version.rb
|
156
|
+
Checking change log: skip (because dependency errored)
|
157
|
+
Checking tag: skip (because dependency errored)
|
158
|
+
Checking built gem: error
|
159
|
+
I need a gemspec: test_project.gemspec
|
160
|
+
Checking published gem: skip (because dependency errored)
|
161
|
+
Checking pushed tag: skip (because dependency errored)
|
162
|
+
|
163
|
+
Couldn't ship test_project. Help me.
|
164
|
+
EOT
|
165
|
+
|
166
|
+
expect(run_command(working_directory: dir)).
|
167
|
+
to exit_with_error(1, "", expected_output)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
describe "changelog helper" do
|
172
|
+
it "shows changelog since last version" do
|
173
|
+
dir = given_directory
|
174
|
+
|
175
|
+
setup_test_git_repo("005", dir)
|
176
|
+
|
177
|
+
expected_output = <<EOT
|
178
|
+
commit 22cb6af3f7ea8385a8d0c62340c99265e0c8a63d
|
179
|
+
Author: Cornelius Schumacher <schumacher@kde.org>
|
180
|
+
Date: Fri Jul 10 23:54:01 2015 +0200
|
181
|
+
|
182
|
+
Implement magic method
|
183
|
+
|
184
|
+
commit 40ec45663e2a3cf32895b451cc43e667463af431
|
185
|
+
Author: Cornelius Schumacher <schumacher@kde.org>
|
186
|
+
Date: Fri Jul 10 23:50:08 2015 +0200
|
187
|
+
|
188
|
+
Add magic method
|
189
|
+
EOT
|
190
|
+
|
191
|
+
expect(run_command(args: ["changelog"],
|
192
|
+
working_directory: File.join(dir, "red_herring"))).
|
193
|
+
to exit_with_success(expected_output)
|
194
|
+
end
|
122
195
|
end
|
123
196
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative "spec_helper"
|
2
|
+
|
3
|
+
describe YSI::Assertion do
|
4
|
+
describe ".class_for_name" do
|
5
|
+
it "creates VersionNumber class" do
|
6
|
+
expect(YSI::Assertion.class_for_name("version")).
|
7
|
+
to be(YSI::Version)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "creates ChangeLog class" do
|
11
|
+
expect(YSI::Assertion.class_for_name("change_log")).
|
12
|
+
to be(YSI::ChangeLog)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require_relative "../spec_helper.rb"
|
2
|
+
|
3
|
+
describe YSI::ChangeLog do
|
4
|
+
describe "checks content of change log" do
|
5
|
+
it "when empty" do
|
6
|
+
engine = YSI::Engine.new
|
7
|
+
engine.version = "1.2.3"
|
8
|
+
a = YSI::ChangeLog.new(engine)
|
9
|
+
expect(a.check_content("")).to eq("Can't find version 1.2.3 in change log")
|
10
|
+
end
|
11
|
+
|
12
|
+
it "when no version" do
|
13
|
+
engine = YSI::Engine.new
|
14
|
+
engine.version = "1.2.3"
|
15
|
+
a = YSI::ChangeLog.new(engine)
|
16
|
+
content = <<EOT
|
17
|
+
# Change log
|
18
|
+
|
19
|
+
## Version 1.0.0
|
20
|
+
|
21
|
+
* Some changes
|
22
|
+
EOT
|
23
|
+
expect(a.check_content(content)).to eq("Can't find version 1.2.3 in change log")
|
24
|
+
end
|
25
|
+
|
26
|
+
it "when all info is there" do
|
27
|
+
engine = YSI::Engine.new
|
28
|
+
engine.version = "1.2.3"
|
29
|
+
a = YSI::ChangeLog.new(engine)
|
30
|
+
content = <<EOT
|
31
|
+
# Change log
|
32
|
+
|
33
|
+
## Version 1.2.3
|
34
|
+
|
35
|
+
* Some changes
|
36
|
+
EOT
|
37
|
+
expect(a.check_content(content)).to be_nil
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "dependencies" do
|
42
|
+
it "#needs?" do
|
43
|
+
a = YSI::ChangeLog.new(YSI::Engine)
|
44
|
+
expect(a.needs?(YSI::Version)).to be(true)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "#needs" do
|
48
|
+
a = YSI::ChangeLog.new(YSI::Engine)
|
49
|
+
expect(a.needs).to eq([YSI::Version])
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative "../spec_helper.rb"
|
2
|
+
|
3
|
+
describe YSI::PushedTag do
|
4
|
+
describe "dependencies" do
|
5
|
+
it "#needs?" do
|
6
|
+
a = YSI::PushedTag.new(YSI::Engine)
|
7
|
+
expect(a.needs?(YSI::Tag)).to be(true)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "#needs" do
|
11
|
+
a = YSI::PushedTag.new(YSI::Engine)
|
12
|
+
expect(a.needs).to eq([YSI::Tag])
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/spec/unit/engine_spec.rb
CHANGED
@@ -5,18 +5,6 @@ include GivenFilesystemSpecHelpers
|
|
5
5
|
describe YSI::Engine do
|
6
6
|
use_given_filesystem
|
7
7
|
|
8
|
-
describe "#class_for_assertion_name" do
|
9
|
-
it "creates VersionNumber class" do
|
10
|
-
expect(YSI::Engine.class_for_assertion_name("version")).
|
11
|
-
to be(YSI::Version)
|
12
|
-
end
|
13
|
-
|
14
|
-
it "creates ChangeLog class" do
|
15
|
-
expect(YSI::Engine.class_for_assertion_name("change_log")).
|
16
|
-
to be(YSI::ChangeLog)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
8
|
describe "#read" do
|
21
9
|
it "reads valid configuration" do
|
22
10
|
path = nil
|
@@ -45,6 +33,13 @@ describe YSI::Engine do
|
|
45
33
|
ysi.read(path)
|
46
34
|
}.to raise_error YSI::Error
|
47
35
|
end
|
36
|
+
|
37
|
+
it "throws error when file does not exist" do
|
38
|
+
ysi = YSI::Engine.new
|
39
|
+
expect {
|
40
|
+
ysi.read("/this/file/does/not/exist.conf")
|
41
|
+
}.to raise_error Errno::ENOENT
|
42
|
+
end
|
48
43
|
end
|
49
44
|
|
50
45
|
it "runs assertions" do
|
@@ -65,4 +60,48 @@ describe YSI::Engine do
|
|
65
60
|
|
66
61
|
ysi.run
|
67
62
|
end
|
63
|
+
|
64
|
+
it "runs assertion" do
|
65
|
+
ysi = YSI::Engine.new
|
66
|
+
|
67
|
+
expect_any_instance_of(YSI::Version).to receive(:check)
|
68
|
+
|
69
|
+
ysi.check_assertion(YSI::Version)
|
70
|
+
end
|
71
|
+
|
72
|
+
it "provides tag" do
|
73
|
+
ysi = YSI::Engine.new
|
74
|
+
ysi.version = "1.2.3"
|
75
|
+
|
76
|
+
expect(ysi.tag).to eq("v1.2.3")
|
77
|
+
end
|
78
|
+
|
79
|
+
it "loads standard config" do
|
80
|
+
ysi_standard = YSI::Engine.new
|
81
|
+
ysi_standard.read("configs/ruby_gem.conf")
|
82
|
+
|
83
|
+
ysi = YSI::Engine.new
|
84
|
+
ysi.read(given_file("yes_ship_it.include.conf"))
|
85
|
+
|
86
|
+
expect(ysi.assertions.count).to be >= 6
|
87
|
+
ysi_standard.assertions.each_with_index do |assertion, i|
|
88
|
+
expect(assertion.class).to eq(ysi.assertions[i].class)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe "#dependency_errored?" do
|
93
|
+
it "returns true, if no dependency errored" do
|
94
|
+
engine = YSI::Engine.new
|
95
|
+
errored_assertions = []
|
96
|
+
assertion = YSI::ChangeLog.new(engine)
|
97
|
+
expect(engine.dependency_errored?(assertion, errored_assertions)).to be(false)
|
98
|
+
end
|
99
|
+
|
100
|
+
it "returns false, if a dependency errored" do
|
101
|
+
engine = YSI::Engine.new
|
102
|
+
errored_assertions = [YSI::Version.new(engine)]
|
103
|
+
assertion = YSI::ChangeLog.new(engine)
|
104
|
+
expect(engine.dependency_errored?(assertion, errored_assertions)).to be(true)
|
105
|
+
end
|
106
|
+
end
|
68
107
|
end
|
data/spec/unit/spec_helper.rb
CHANGED
Binary file
|
data/yes_ship_it.conf
CHANGED
data/yes_ship_it.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path("../lib/version", __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "yes_ship_it"
|
6
|
+
s.version = YSI::VERSION
|
7
|
+
s.license = 'MIT'
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ['Cornelius Schumacher']
|
10
|
+
s.email = ['schumacher@kde.org']
|
11
|
+
s.homepage = "http://github.com/cornelius/yes_ship_it"
|
12
|
+
s.summary = "The ultimate release script"
|
13
|
+
s.description = "Whenever the answer is 'Yes, ship it!' you will need yes_ship_it. It is the ultimate helper in releasing software.."
|
14
|
+
|
15
|
+
s.required_rubygems_version = ">= 1.3.6"
|
16
|
+
s.rubyforge_project = "yes_ship_it"
|
17
|
+
|
18
|
+
s.add_development_dependency "rspec", "~>3"
|
19
|
+
s.add_development_dependency "given_filesystem"
|
20
|
+
s.add_development_dependency "cli_tester"
|
21
|
+
|
22
|
+
s.files = `git ls-files`.split("\n")
|
23
|
+
s.require_path = 'lib'
|
24
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yes_ship_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cornelius Schumacher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -60,7 +60,10 @@ executables: []
|
|
60
60
|
extensions: []
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
|
+
- .gitignore
|
63
64
|
- .rspec
|
65
|
+
- CHANGELOG.md
|
66
|
+
- Gemfile
|
64
67
|
- README.md
|
65
68
|
- assertions/built_gem.rb
|
66
69
|
- assertions/change_log.rb
|
@@ -69,6 +72,8 @@ files:
|
|
69
72
|
- assertions/tag.rb
|
70
73
|
- assertions/version.rb
|
71
74
|
- bin/yes_ship_it
|
75
|
+
- configs/ruby_gem.conf
|
76
|
+
- lib/version.rb
|
72
77
|
- lib/yes_ship_it.rb
|
73
78
|
- lib/yes_ship_it/assertion.rb
|
74
79
|
- lib/yes_ship_it/engine.rb
|
@@ -77,15 +82,23 @@ files:
|
|
77
82
|
- spec/data/red_herring-001.tar.gz
|
78
83
|
- spec/data/red_herring-002.tar.gz
|
79
84
|
- spec/data/red_herring-003.tar.gz
|
85
|
+
- spec/data/red_herring-004.tar.gz
|
86
|
+
- spec/data/red_herring-005.tar.gz
|
80
87
|
- spec/data/yes_ship_it.conf
|
88
|
+
- spec/data/yes_ship_it.include.conf
|
81
89
|
- spec/data/yes_ship_it.unknown.conf
|
82
90
|
- spec/integration/cli_spec.rb
|
83
91
|
- spec/integration/spec_helper.rb
|
92
|
+
- spec/unit/assertion_spec.rb
|
93
|
+
- spec/unit/assertions/change_log_spec.rb
|
94
|
+
- spec/unit/assertions/pushed_tag_spec.rb
|
84
95
|
- spec/unit/assertions_spec.rb
|
85
96
|
- spec/unit/engine_spec.rb
|
86
97
|
- spec/unit/spec_helper.rb
|
87
98
|
- spec/unit/support/assertion_examples.rb
|
99
|
+
- yes_ship_it-0.0.1.gem
|
88
100
|
- yes_ship_it.conf
|
101
|
+
- yes_ship_it.gemspec
|
89
102
|
homepage: http://github.com/cornelius/yes_ship_it
|
90
103
|
licenses:
|
91
104
|
- MIT
|