simple-cli 0.3.3 → 0.3.4
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/VERSION +1 -1
- data/scripts/release +2 -0
- data/scripts/release.rb +91 -0
- data/simple-cli.gemspec +1 -1
- data/tasks/release.rake +2 -88
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 396da74801c8dbe4910923bec2ad720181966e27c543afee855ff15b8e807f28
|
4
|
+
data.tar.gz: f2f1d11130bd1b2ac43c40308c71eaec78a148662ab65ce55b5dcbdaa201834c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10b9f1865828bba3102bd0a93f711d99449923a6d8159597035dd552174411c0c3286071c69005fe400948f10acb534ed87ba9a7e436647f36b47e49c6337953
|
7
|
+
data.tar.gz: 6c36d0894fc438c4058824239db56020b8075193daa6638f93587e712c8e2dfa128999b56bde2802c2d23dace843800cab7f8c98d94cc6c3a1d5ebf4ee5a8d89
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.4
|
data/scripts/release
ADDED
data/scripts/release.rb
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# -- helpers ------------------------------------------------------------------
|
4
|
+
|
5
|
+
def sys(cmd)
|
6
|
+
STDERR.puts "> #{cmd}"
|
7
|
+
system cmd
|
8
|
+
return true if $?.success?
|
9
|
+
|
10
|
+
STDERR.puts "> #{cmd} returned with exitstatus #{$?.exitstatus}"
|
11
|
+
$?.success?
|
12
|
+
end
|
13
|
+
|
14
|
+
def sys!(cmd, error: nil)
|
15
|
+
return true if sys(cmd)
|
16
|
+
STDERR.puts error if error
|
17
|
+
exit 1
|
18
|
+
end
|
19
|
+
|
20
|
+
def die!(msg)
|
21
|
+
STDERR.puts msg
|
22
|
+
exit 1
|
23
|
+
end
|
24
|
+
|
25
|
+
ROOT = File.expand_path("#{File.dirname(__FILE__)}/..")
|
26
|
+
|
27
|
+
GEMSPEC = Dir.glob("*.gemspec").first || die!("Missing gemspec file.")
|
28
|
+
|
29
|
+
# -- Version reading and bumping ----------------------------------------------
|
30
|
+
|
31
|
+
module Version
|
32
|
+
extend self
|
33
|
+
|
34
|
+
VERSION_FILE = "#{Dir.getwd}/VERSION"
|
35
|
+
|
36
|
+
def read_version
|
37
|
+
version = File.exist?(VERSION_FILE) ? File.read(VERSION_FILE) : "0.0.1"
|
38
|
+
version.chomp!
|
39
|
+
raise "Invalid version number in #{VERSION_FILE}" unless version =~ /^\d+\.\d+\.\d+$/
|
40
|
+
version
|
41
|
+
end
|
42
|
+
|
43
|
+
def auto_version_bump
|
44
|
+
old_version_number = read_version
|
45
|
+
old = old_version_number.split(".")
|
46
|
+
|
47
|
+
current = old[0..-2] << old[-1].next
|
48
|
+
current.join(".")
|
49
|
+
end
|
50
|
+
|
51
|
+
def bump_version
|
52
|
+
next_version = ENV["VERSION"] || auto_version_bump
|
53
|
+
File.open(VERSION_FILE, "w") { |io| io.write next_version }
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# -- check, bump, release a new gem version -----------------------------------
|
58
|
+
|
59
|
+
Dir.chdir ROOT
|
60
|
+
$BASE_BRANCH = ENV["BRANCH"] || "master"
|
61
|
+
|
62
|
+
# ENV["BUNDLE_GEMFILE"] = "#{Dir.getwd}/Gemfile"
|
63
|
+
# sys! "bundle install"
|
64
|
+
|
65
|
+
sys! "git diff --exit-code > /dev/null", error: "There are unstaged changes in your working directory"
|
66
|
+
sys! "git diff --cached --exit-code > /dev/null", error: "There are staged but uncommitted changes"
|
67
|
+
|
68
|
+
sys! "git checkout #{$BASE_BRANCH}"
|
69
|
+
sys! "git pull"
|
70
|
+
|
71
|
+
Version.bump_version
|
72
|
+
version = Version.read_version
|
73
|
+
|
74
|
+
sys! "git add VERSION"
|
75
|
+
sys! "git commit -m \"bump gem to v#{version}\""
|
76
|
+
sys! "git tag -a v#{version} -m \"Tag #{version}\""
|
77
|
+
|
78
|
+
sys! "gem build #{GEMSPEC}"
|
79
|
+
|
80
|
+
sys! "git push origin #{$BASE_BRANCH}"
|
81
|
+
sys! "git push --tags --force"
|
82
|
+
sys! "gem push #{Dir.glob("*.gem").first}"
|
83
|
+
|
84
|
+
sys! "mkdir -p pkg"
|
85
|
+
sys! "mv *.gem pkg"
|
86
|
+
|
87
|
+
STDERR.puts <<~MSG
|
88
|
+
================================================================================
|
89
|
+
Thank you for releasing a new gem version. You made my day.
|
90
|
+
================================================================================
|
91
|
+
MSG
|
data/simple-cli.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |gem|
|
|
27
27
|
gem.required_ruby_version = '~> 2.3'
|
28
28
|
|
29
29
|
# optional gems (required by some of the parts)
|
30
|
-
gem.add_dependency "simple-service", "~> 0.1.
|
30
|
+
gem.add_dependency "simple-service", "~> 0.1.4"
|
31
31
|
|
32
32
|
# development gems
|
33
33
|
gem.add_development_dependency 'rake', '~> 12'
|
data/tasks/release.rake
CHANGED
@@ -1,89 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
GEM_ROOT = File.expand_path('../../', __FILE__)
|
5
|
-
GEM_SPEC = "simple-cli.gemspec"
|
6
|
-
|
7
|
-
require 'simple/cli/version'
|
8
|
-
VERSION_FILE_PATH = 'lib/simple/cli/version.rb'
|
9
|
-
|
10
|
-
class VersionNumberTracker
|
11
|
-
class << self
|
12
|
-
def update_version_file(old_version_number, new_version_number)
|
13
|
-
old_line = "VERSION = \"#{old_version_number}\""
|
14
|
-
new_line = "VERSION = \"#{new_version_number}\""
|
15
|
-
update = File.read(VERSION_FILE_PATH).gsub(old_line, new_line)
|
16
|
-
File.open(VERSION_FILE_PATH, 'w') { |file| file.puts update }
|
17
|
-
new_version_number
|
18
|
-
end
|
19
|
-
|
20
|
-
def auto_version_bump
|
21
|
-
old_version_number = Simple::CLI::VERSION
|
22
|
-
old = old_version_number.split('.')
|
23
|
-
current = old[0..-2] << old[-1].next
|
24
|
-
new_version_number = current.join('.')
|
25
|
-
|
26
|
-
update_version_file(old_version_number, new_version_number)
|
27
|
-
end
|
28
|
-
|
29
|
-
def manual_version_bump
|
30
|
-
update_version_file(Simple::CLI::VERSION, ENV['VERSION'])
|
31
|
-
end
|
32
|
-
|
33
|
-
def update_version_number
|
34
|
-
@version = ENV['VERSION'] ? manual_version_bump : auto_version_bump
|
35
|
-
end
|
36
|
-
|
37
|
-
attr_reader :version
|
38
|
-
end
|
1
|
+
task :release do
|
2
|
+
sh "scripts/release"
|
39
3
|
end
|
40
|
-
|
41
|
-
namespace :release do
|
42
|
-
task :version do
|
43
|
-
VersionNumberTracker.update_version_number
|
44
|
-
end
|
45
|
-
|
46
|
-
task :build do
|
47
|
-
Dir.chdir(GEM_ROOT) do
|
48
|
-
sh("gem build #{GEM_SPEC}")
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
desc "Commit changes"
|
53
|
-
task :commit do
|
54
|
-
Dir.chdir(GEM_ROOT) do
|
55
|
-
version = VersionNumberTracker.version
|
56
|
-
sh("git add #{VERSION_FILE_PATH}")
|
57
|
-
sh("git commit -m \"bump to v#{version}\"")
|
58
|
-
sh("git tag -a v#{version} -m \"Tag\"")
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
desc "Push code and tags"
|
63
|
-
task :push do
|
64
|
-
sh('git push origin master')
|
65
|
-
sh('git push --tags')
|
66
|
-
end
|
67
|
-
|
68
|
-
desc "Cleanup"
|
69
|
-
task :clean do
|
70
|
-
Dir.glob(File.join(GEM_ROOT, '*.gem')).each { |f| FileUtils.rm_rf(f) }
|
71
|
-
end
|
72
|
-
|
73
|
-
desc "Push Gem to gemfury"
|
74
|
-
task :push_to_rubygems do
|
75
|
-
Dir.chdir(GEM_ROOT) { sh("gem push #{Dir.glob('*.gem').first}") }
|
76
|
-
end
|
77
|
-
|
78
|
-
task default: [
|
79
|
-
'version',
|
80
|
-
'clean',
|
81
|
-
'build',
|
82
|
-
'commit',
|
83
|
-
'push',
|
84
|
-
'push_to_rubygems'
|
85
|
-
]
|
86
|
-
end
|
87
|
-
|
88
|
-
desc "Clean, build, commit and push"
|
89
|
-
task release: 'release:default'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- radiospiel
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-12-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: simple-service
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.1.
|
20
|
+
version: 0.1.4
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.1.
|
27
|
+
version: 0.1.4
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,6 +109,8 @@ files:
|
|
109
109
|
- lib/simple/cli/runner.rb
|
110
110
|
- lib/simple/cli/version.rb
|
111
111
|
- log/.gitkeep
|
112
|
+
- scripts/release
|
113
|
+
- scripts/release.rb
|
112
114
|
- simple-cli.gemspec
|
113
115
|
- spec/.keep
|
114
116
|
- spec/spec_helper.rb
|