mark_version 0.0.0 → 0.1.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/.gitignore +1 -0
- data/bin/version +5 -0
- data/lib/mark_version.rb +1 -0
- data/lib/mark_version/mark_version_cli.rb +85 -0
- data/lib/mark_version/version_file.rb +21 -5
- data/mark_version.gemspec +2 -1
- metadata +5 -3
- data/lib/tasks/mark_version.rake +0 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e59137ca71ad5cba33dc35cbe58abf30062fac3
|
4
|
+
data.tar.gz: 230fd695e36fcd59f46091a9d65b46501851d2b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6c341a76be0de9213f186936bfa012eb3b943cecf714cc5347025ee5187b02ebfc76a1ea5cabfaf5e929078b9166d8daf3f7d39ef765e3776fa23351fcbdffe
|
7
|
+
data.tar.gz: f5a03479bd0d03dcd42bea28e09009e181d1e57b4653bb1f727e58822444ecc445edb4e53dfa449e419104347bd81f17242ecc539b1c71d947217d990ea153cc
|
data/.gitignore
CHANGED
data/bin/version
ADDED
data/lib/mark_version.rb
CHANGED
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'thor'
|
2
|
+
|
3
|
+
class MarkVersionCli < Thor
|
4
|
+
default_task :show
|
5
|
+
|
6
|
+
desc 'init', 'initialize the project to start tracking it\'s version'
|
7
|
+
def init
|
8
|
+
VersionFile.new.init
|
9
|
+
commit
|
10
|
+
tag
|
11
|
+
end
|
12
|
+
|
13
|
+
desc 'patch', 'create a new patch-level (n.n.X) release'
|
14
|
+
def patch
|
15
|
+
VersionFile.new.patch
|
16
|
+
commit
|
17
|
+
tag
|
18
|
+
end
|
19
|
+
|
20
|
+
desc 'minor', 'create a new minor-level (n.X.n) release'
|
21
|
+
def minor
|
22
|
+
VersionFile.new.minor
|
23
|
+
commit
|
24
|
+
tag
|
25
|
+
end
|
26
|
+
|
27
|
+
desc 'major', 'create a new major-level (X.n.n) release'
|
28
|
+
def major
|
29
|
+
VersionFile.new.major
|
30
|
+
commit
|
31
|
+
tag
|
32
|
+
end
|
33
|
+
|
34
|
+
desc 'minor_release_candidate', 'create a new minor-level (n.X.n-RC1) release candidate'
|
35
|
+
def minor_release_candidate
|
36
|
+
VersionFile.new.minor_release_candidate
|
37
|
+
commit
|
38
|
+
tag
|
39
|
+
end
|
40
|
+
|
41
|
+
desc 'major_release_candidate', 'create a new major-level (X.n.n-RC1) release candidate'
|
42
|
+
def major_release_candidate
|
43
|
+
VersionFile.new.major_release_candidate
|
44
|
+
commit
|
45
|
+
tag
|
46
|
+
end
|
47
|
+
|
48
|
+
desc 'increment_release_candidate', 'increments the current release candidate (n.n.n-RCX)'
|
49
|
+
def increment_release_candidate
|
50
|
+
VersionFile.new.increment_release_candidate
|
51
|
+
commit
|
52
|
+
tag
|
53
|
+
end
|
54
|
+
|
55
|
+
desc 'release', 'releases the current release candidate (n.n.n)'
|
56
|
+
def release
|
57
|
+
VersionFile.new.release
|
58
|
+
commit
|
59
|
+
tag
|
60
|
+
end
|
61
|
+
|
62
|
+
desc 'show', "print the current version level from the VERSION file"
|
63
|
+
def show
|
64
|
+
puts version
|
65
|
+
end
|
66
|
+
|
67
|
+
no_commands {
|
68
|
+
def version
|
69
|
+
VersionFile.new.version
|
70
|
+
end
|
71
|
+
|
72
|
+
def file_name
|
73
|
+
VersionFile.new.file_name
|
74
|
+
end
|
75
|
+
|
76
|
+
def commit
|
77
|
+
system("git add #{file_name}")
|
78
|
+
system("git commit -m 'To version #{version}'")
|
79
|
+
end
|
80
|
+
|
81
|
+
def tag
|
82
|
+
system("git tag #{version} -a -m \"Release version #{version}\"")
|
83
|
+
end
|
84
|
+
}
|
85
|
+
end
|
@@ -2,14 +2,29 @@ class VersionFile
|
|
2
2
|
attr_reader :file_name
|
3
3
|
|
4
4
|
def initialize(file_name = 'VERSION')
|
5
|
-
fail "Version file '#{file_name}' does not exist." unless File.file?(file_name)
|
6
5
|
@file_name = file_name
|
7
|
-
@version_file = open(file_name, 'r+')
|
8
6
|
end
|
9
7
|
|
10
|
-
def
|
8
|
+
def init
|
9
|
+
fail 'Project already initialized.' if file_exists?
|
10
|
+
@version_file = open(file_name, 'w')
|
11
|
+
@version_file.rewind
|
12
|
+
@version_file.puts('0.0.0')
|
13
|
+
@version_file.print(revision)
|
11
14
|
@version_file.rewind
|
15
|
+
@version_file.close
|
16
|
+
version
|
17
|
+
end
|
18
|
+
|
19
|
+
def file_exists?
|
20
|
+
File.file?(file_name)
|
21
|
+
end
|
22
|
+
|
23
|
+
def version
|
24
|
+
fail "Version file '#{file_name}' does not exist." unless file_exists?
|
25
|
+
@version_file = open(file_name, 'r+')
|
12
26
|
version = @version_file.readline.chomp
|
27
|
+
@version_file.close
|
13
28
|
version
|
14
29
|
end
|
15
30
|
|
@@ -109,10 +124,11 @@ class VersionFile
|
|
109
124
|
end
|
110
125
|
|
111
126
|
def write(version)
|
112
|
-
|
127
|
+
fail "Version file '#{file_name}' does not exist." unless file_exists?
|
128
|
+
@version_file = open(file_name, 'r+')
|
113
129
|
@version_file.puts(version)
|
114
130
|
@version_file.print(revision)
|
115
|
-
@version_file.
|
131
|
+
@version_file.close
|
116
132
|
version
|
117
133
|
end
|
118
134
|
end
|
data/mark_version.gemspec
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'mark_version'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '0.1.0'
|
4
4
|
s.date = '2015-05-30'
|
5
5
|
s.summary = 'A tool for recording the version of a ruby application.'
|
6
6
|
s.authors = ['Grayden Smith']
|
7
7
|
s.email = 'grayden@tech-vision.ca'
|
8
8
|
s.files = `git ls-files`.split($/)
|
9
|
+
s.executables << 'version'
|
9
10
|
s.homepage = 'http://graydens.ca'
|
10
11
|
s.license = 'MIT'
|
11
12
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mark_version
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grayden Smith
|
@@ -26,7 +26,8 @@ dependencies:
|
|
26
26
|
version: '3.2'
|
27
27
|
description:
|
28
28
|
email: grayden@tech-vision.ca
|
29
|
-
executables:
|
29
|
+
executables:
|
30
|
+
- version
|
30
31
|
extensions: []
|
31
32
|
extra_rdoc_files: []
|
32
33
|
files:
|
@@ -34,9 +35,10 @@ files:
|
|
34
35
|
- ".rspec"
|
35
36
|
- LICENSE
|
36
37
|
- README.md
|
38
|
+
- bin/version
|
37
39
|
- lib/mark_version.rb
|
40
|
+
- lib/mark_version/mark_version_cli.rb
|
38
41
|
- lib/mark_version/version_file.rb
|
39
|
-
- lib/tasks/mark_version.rake
|
40
42
|
- mark_version.gemspec
|
41
43
|
- spec/fixtures/version_file.txt
|
42
44
|
- spec/version_file_spec.rb
|
data/lib/tasks/mark_version.rake
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
namespace :version do
|
2
|
-
def version
|
3
|
-
VersionFile.new.version
|
4
|
-
end
|
5
|
-
|
6
|
-
def file_name
|
7
|
-
VersionFile.new.file_name
|
8
|
-
end
|
9
|
-
|
10
|
-
def commit
|
11
|
-
system("git add #{file_name}")
|
12
|
-
system("git commit -m 'To version #{version}'")
|
13
|
-
end
|
14
|
-
|
15
|
-
def tag
|
16
|
-
system("git tag #{version} -a -m \"Release version #{version}\"")
|
17
|
-
end
|
18
|
-
|
19
|
-
desc "create a new patch-level (n.n.X) release"
|
20
|
-
|
21
|
-
task :patch => :environment do
|
22
|
-
VersionFile.new.patch
|
23
|
-
commit
|
24
|
-
tag
|
25
|
-
end
|
26
|
-
|
27
|
-
desc "create a new minor-level (n.X.n) release"
|
28
|
-
|
29
|
-
task :minor => :environment do
|
30
|
-
VersionFile.new.minor
|
31
|
-
commit
|
32
|
-
tag
|
33
|
-
end
|
34
|
-
|
35
|
-
desc "create a new major-level (X.n.n) release"
|
36
|
-
|
37
|
-
task :major => :environment do
|
38
|
-
VersionFile.new.major
|
39
|
-
commit
|
40
|
-
tag
|
41
|
-
end
|
42
|
-
|
43
|
-
desc "create a new minor-level (n.X.n-RC1) release candidate"
|
44
|
-
|
45
|
-
task :minor_release_candidate => :environment do
|
46
|
-
VersionFile.new.minor_release_candidate
|
47
|
-
commit
|
48
|
-
tag
|
49
|
-
end
|
50
|
-
|
51
|
-
desc "create a new major-level (X.n.n-RC1) release candidate"
|
52
|
-
|
53
|
-
task :major_release_candidate => :environment do
|
54
|
-
VersionFile.new.major_release_candidate
|
55
|
-
commit
|
56
|
-
tag
|
57
|
-
end
|
58
|
-
|
59
|
-
desc "increments the current release candidate (n.n.n-RCX)"
|
60
|
-
|
61
|
-
task :increment_release_candidate => :environment do
|
62
|
-
VersionFile.new.increment_release_candidate
|
63
|
-
commit
|
64
|
-
tag
|
65
|
-
end
|
66
|
-
|
67
|
-
desc "releases the current release candidate (n.n.n)"
|
68
|
-
|
69
|
-
task :release => :environment do
|
70
|
-
VersionFile.new.release
|
71
|
-
commit
|
72
|
-
tag
|
73
|
-
end
|
74
|
-
|
75
|
-
desc "print the current version level from the VERSION file"
|
76
|
-
|
77
|
-
task :show => :environment do
|
78
|
-
puts version
|
79
|
-
end
|
80
|
-
end
|