rake-n-bake 1.1.5 → 1.2.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/.semver +2 -2
- data/history.rdoc +4 -0
- data/lib/version.rb +1 -1
- metadata +1 -4
- data/lib/versioning.rb +0 -64
- data/spec/versioning_spec.rb +0 -166
- data/tasks/version.rake +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b27f8375fc4e4be7856074896c4dd5f41b5952d7
|
4
|
+
data.tar.gz: e5b15d34fada459e6e410ae8ba095c1794342062
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6b9c69af6d973c43efaaef31e83339ec502579d5bbd81f500969bed2cc722f1cb18b9923fe1647aa4420776a932d16e655029b2ac717b50eb95a4274b789349
|
7
|
+
data.tar.gz: 522d28a77818545db8f3e2598b4805359c1db4fa1ac31fbea4cdb194f04276a95a2c833832fe5b4191d12bae168e13108c24b0cb1ef396f189f854432474abaa
|
data/.semver
CHANGED
data/history.rdoc
CHANGED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-n-bake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Vickerstaff
|
@@ -80,14 +80,12 @@ files:
|
|
80
80
|
- lib/rake_n_bake.rb
|
81
81
|
- lib/semver_versioning.rb
|
82
82
|
- lib/version.rb
|
83
|
-
- lib/versioning.rb
|
84
83
|
- rake-n-bake.gemspec
|
85
84
|
- spec/.keep
|
86
85
|
- spec/assistant_baker_spec.rb
|
87
86
|
- spec/dependency_checker_spec.rb
|
88
87
|
- spec/semver_versioning_spec.rb
|
89
88
|
- spec/spec_helper.rb
|
90
|
-
- spec/versioning_spec.rb
|
91
89
|
- tasks/bundler_audit.rake
|
92
90
|
- tasks/check_external_deps.rake
|
93
91
|
- tasks/code_quality.rake
|
@@ -96,7 +94,6 @@ files:
|
|
96
94
|
- tasks/rails_best_practices.rake
|
97
95
|
- tasks/rspec.rake
|
98
96
|
- tasks/semver.rake
|
99
|
-
- tasks/version.rake
|
100
97
|
homepage: https://github.com/RichardVickerstaff/rake-n-bake
|
101
98
|
licenses:
|
102
99
|
- MIT
|
data/lib/versioning.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
module RakeNBake
|
2
|
-
class Versioning
|
3
|
-
HISTORY_FILE = "history.rdoc"
|
4
|
-
def self.current_history history_file
|
5
|
-
unless File.exists? history_file
|
6
|
-
File.open history_file, "w" do |f|
|
7
|
-
f.puts "== 0.0.0 (#{Time.now.strftime "%d %B %Y"})"
|
8
|
-
end
|
9
|
-
end
|
10
|
-
File.read history_file
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.latest_version
|
14
|
-
latest_version_string = current_history(HISTORY_FILE)[/== ([\d\.]*)/, 1] || "0.0.0"
|
15
|
-
@latest_version ||= latest_version_string.split(".").map(&:to_i)
|
16
|
-
def @latest_version.to_s
|
17
|
-
join "."
|
18
|
-
end
|
19
|
-
@latest_version
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.update_to version
|
23
|
-
add_history_header version
|
24
|
-
update_gem version if gem?
|
25
|
-
commit version
|
26
|
-
tag version
|
27
|
-
branch = `git symbolic-ref HEAD`[%r{.*/(.*)}, 1]
|
28
|
-
puts "To push the new tag, use 'git push origin #{branch} --tags'"
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.add_history_header(version, history_file = HISTORY_FILE)
|
32
|
-
history = current_history history_file
|
33
|
-
File.open history_file, "w" do |f|
|
34
|
-
f.puts "== #{version} (#{Time.now.strftime "%d %B %Y"})"
|
35
|
-
f.puts
|
36
|
-
f.print history
|
37
|
-
end
|
38
|
-
puts "Added version to history.rdoc"
|
39
|
-
end
|
40
|
-
|
41
|
-
def self.update_gem version
|
42
|
-
path = Dir.glob('*.gemspec').first
|
43
|
-
text = File.read path
|
44
|
-
File.open(path, "w") do |file|
|
45
|
-
file.puts text.sub(/(.*version\s*=\s*)(['|"].*['|"])/, "\\1'#{version}'")
|
46
|
-
end
|
47
|
-
puts "Added version to .gemfile"
|
48
|
-
end
|
49
|
-
|
50
|
-
def self.commit version
|
51
|
-
`git add . && git commit -m 'increment version to #{version}'`
|
52
|
-
puts "Committed change"
|
53
|
-
end
|
54
|
-
|
55
|
-
def self.tag version
|
56
|
-
`git tag #{version}`
|
57
|
-
puts "Tagged with #{version}"
|
58
|
-
end
|
59
|
-
|
60
|
-
def self.gem?
|
61
|
-
!Dir.glob('*.gemspec').empty?
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
data/spec/versioning_spec.rb
DELETED
@@ -1,166 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require production_code
|
3
|
-
|
4
|
-
describe RakeNBake::Versioning do
|
5
|
-
before do
|
6
|
-
allow(described_class).to receive(:`)
|
7
|
-
allow(described_class).to receive(:puts)
|
8
|
-
end
|
9
|
-
|
10
|
-
describe '.current_history' do
|
11
|
-
let(:tmp_file) { Tempfile.new(['history','.rdoc']) }
|
12
|
-
|
13
|
-
context 'when there is a history file' do
|
14
|
-
before do
|
15
|
-
allow(File).to receive(:read).and_return 'history'
|
16
|
-
allow(File).to receive(:exists?).and_return true
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'returns the current history file' do
|
20
|
-
expect(described_class.current_history(tmp_file.path)).to eq 'history'
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
context 'when there is no history file' do
|
25
|
-
before do
|
26
|
-
allow(File).to receive(:exists?).and_return false
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'creates a history file at version 0.0.0' do
|
30
|
-
expect(described_class.current_history(tmp_file.path)).to match(/\= 0.0.0 /)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe '.latest_version' do
|
36
|
-
before do
|
37
|
-
allow(File).to receive(:read).and_return "== 1.2.3 (16 July 2014)\n * Change version tack so it can update gem version"
|
38
|
-
end
|
39
|
-
|
40
|
-
context 'there is no version'do
|
41
|
-
it 'returns a version of [0,0,0]' do
|
42
|
-
allow(File).to receive(:read).and_return ""
|
43
|
-
expect(described_class.latest_version).to eq [1,2,3]
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
context 'there is a version' do
|
48
|
-
it 'returns the latest version' do
|
49
|
-
expect(described_class.latest_version).to eq [1,2,3]
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'defines the .to_s of the latest version'do
|
54
|
-
expect(described_class.latest_version.to_s).to eq "1.2.3"
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe '.gem?' do
|
59
|
-
context 'the project is a gem' do
|
60
|
-
before do
|
61
|
-
allow(Dir).to receive(:glob).and_return ['a gem spec']
|
62
|
-
end
|
63
|
-
|
64
|
-
it 'returns true' do
|
65
|
-
expect(described_class.gem?).to eq true
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
context 'the project is not a gem' do
|
70
|
-
before do
|
71
|
-
allow(Dir).to receive(:glob).and_return []
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'returns false' do
|
75
|
-
expect(described_class.gem?).to eq false
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
describe '.update_gem' do
|
81
|
-
let(:tmp_file) { Tempfile.new(['rake-n-bake','.gemspec']) }
|
82
|
-
|
83
|
-
before do
|
84
|
-
gemspec = <<-GEM
|
85
|
-
Gem::Specification.new do |spec|
|
86
|
-
spec.name = "rake-n-bake"
|
87
|
-
spec.version = '0.0.5'
|
88
|
-
spec.authors = ["Richard Vickerstaff", "Adam Whittingham"]
|
89
|
-
end
|
90
|
-
GEM
|
91
|
-
tmp_file.write gemspec
|
92
|
-
tmp_file.rewind
|
93
|
-
allow(Dir).to receive(:glob).and_return [tmp_file.path]
|
94
|
-
end
|
95
|
-
|
96
|
-
it 'updates the gem version' do
|
97
|
-
t = Time.local(2014, 7, 16)
|
98
|
-
Timecop.travel(t) do
|
99
|
-
described_class.update_gem 'foo'
|
100
|
-
expect(File.read(tmp_file)).to match(/.*version\s*= 'foo'/)
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
it 'outputs a message to the user' do
|
105
|
-
expect(described_class).to receive(:puts).with 'Added version to .gemfile'
|
106
|
-
described_class.update_gem 'foo'
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
describe '.update_to' do
|
111
|
-
before do
|
112
|
-
allow(described_class).to receive(:`).and_return "refs/heads/master"
|
113
|
-
end
|
114
|
-
|
115
|
-
it 'updates the version' do
|
116
|
-
expect(described_class).to receive(:add_history_header).with 'foo'
|
117
|
-
expect(described_class).to receive(:update_gem).with 'foo'
|
118
|
-
expect(described_class).to receive(:commit).with 'foo'
|
119
|
-
expect(described_class).to receive(:tag).with 'foo'
|
120
|
-
expect(described_class).to receive(:`).with 'git symbolic-ref HEAD'
|
121
|
-
expect(described_class).to receive(:puts).with "To push the new tag, use 'git push origin master --tags'"
|
122
|
-
described_class.update_to 'foo'
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
describe '.add_history_header' do
|
127
|
-
let(:tmp_file) { Tempfile.new('foo').path }
|
128
|
-
|
129
|
-
it 'adds the new headre to the history.rdoc' do
|
130
|
-
t = Time.local(2014, 7, 16)
|
131
|
-
Timecop.travel(t) do
|
132
|
-
described_class.add_history_header 'foo', tmp_file
|
133
|
-
expect(File.read tmp_file).to eq "== foo (16 July 2014)\n\n"
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
it 'outputs a message to the user' do
|
138
|
-
expect(described_class).to receive(:puts).with 'Added version to history.rdoc'
|
139
|
-
described_class.add_history_header 'foo', tmp_file
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
describe '.commit' do
|
144
|
-
it 'commits all changes' do
|
145
|
-
expect(described_class).to receive(:`).with "git add . && git commit -m 'increment version to foo'"
|
146
|
-
described_class.commit 'foo'
|
147
|
-
end
|
148
|
-
|
149
|
-
it 'outputs a message to the user' do
|
150
|
-
expect(described_class).to receive(:puts).with 'Committed change'
|
151
|
-
described_class.commit 'foo'
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
describe '.tag' do
|
156
|
-
it 'it tags the commit with the new version' do
|
157
|
-
expect(described_class).to receive(:`).with 'git tag foo'
|
158
|
-
described_class.tag 'foo'
|
159
|
-
end
|
160
|
-
|
161
|
-
it 'outputs a message to the user' do
|
162
|
-
expect(described_class).to receive(:puts).with 'Tagged with foo'
|
163
|
-
described_class.tag 'foo'
|
164
|
-
end
|
165
|
-
end
|
166
|
-
end
|
data/tasks/version.rake
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
require_relative '../lib/versioning'
|
2
|
-
|
3
|
-
desc "Display the latest version (from history.rdoc)"
|
4
|
-
task :"bake:version" do
|
5
|
-
RakeNBake::AssistantBaker.log_warn "[DEPRECATION] `bake:version` is deprecated. Please use `bake:semver` instead."
|
6
|
-
puts "Latest version is #{RakeNBake::Versioning.latest_version}"
|
7
|
-
end
|
8
|
-
|
9
|
-
namespace :bake do
|
10
|
-
namespace :version do
|
11
|
-
desc "Increment the major version in history.rdoc (eg 1.2.3 => 2.0.0)"
|
12
|
-
task :major do
|
13
|
-
RakeNBake::AssistantBaker.log_warn "[DEPRECATION] `bake:version` is deprecated. Please use `bake:semver` instead."
|
14
|
-
new_version = RakeNBake::Versioning.latest_version
|
15
|
-
new_version[0] += 1
|
16
|
-
new_version[1,2] = 0, 0
|
17
|
-
RakeNBake::Versioning.update_to new_version
|
18
|
-
end
|
19
|
-
|
20
|
-
desc "Increment the minor version in history.rdoc (eg 1.2.3 => 1.3.0)"
|
21
|
-
task :minor do
|
22
|
-
RakeNBake::AssistantBaker.log_warn "[DEPRECATION] `bake:version` is deprecated. Please use `bake:semver` instead."
|
23
|
-
new_version = RakeNBake::Versioning.latest_version
|
24
|
-
new_version[1] += 1
|
25
|
-
new_version[2] = 0
|
26
|
-
RakeNBake::Versioning.update_to new_version
|
27
|
-
end
|
28
|
-
|
29
|
-
desc "Increment the patch version in history.rdoc (eg 1.2.3 => 1.2.4)"
|
30
|
-
task :patch do
|
31
|
-
RakeNBake::AssistantBaker.log_warn "[DEPRECATION] `bake:version` is deprecated. Please use `bake:semver` instead."
|
32
|
-
new_version = RakeNBake::Versioning.latest_version
|
33
|
-
new_version[2] += 1
|
34
|
-
RakeNBake::Versioning.update_to new_version
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|