ggem 1.8.1 → 1.9.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 +7 -7
- data/Gemfile +3 -1
- data/README.md +2 -2
- data/bin/ggem +1 -1
- data/ggem.gemspec +8 -6
- data/lib/ggem.rb +2 -2
- data/lib/ggem/cli.rb +49 -54
- data/lib/ggem/cli/clirb.rb +44 -48
- data/lib/ggem/cli/commands.rb +23 -56
- data/lib/ggem/gem.rb +43 -43
- data/lib/ggem/gemspec.rb +68 -73
- data/lib/ggem/git_repo.rb +39 -44
- data/lib/ggem/template.rb +52 -54
- data/lib/ggem/template_file/Gemfile.erb +3 -1
- data/lib/ggem/template_file/README.md.erb +4 -4
- data/lib/ggem/template_file/gemspec.erb +10 -8
- data/lib/ggem/template_file/lib.rb.erb +2 -2
- data/lib/ggem/template_file/lib_version.rb.erb +1 -1
- data/lib/ggem/template_file/ruby-version.erb +1 -0
- data/lib/ggem/template_file/test_helper.rb.erb +2 -11
- data/lib/ggem/template_file/test_support_factory.rb.erb +1 -2
- data/lib/ggem/version.rb +1 -1
- data/log/.keep +0 -0
- data/test/helper.rb +6 -15
- data/test/support/cmd_tests_helpers.rb +35 -40
- data/test/support/factory.rb +1 -2
- data/test/support/gem1/gem1.gemspec +1 -1
- data/test/support/gem2/gem2.gemspec +2 -2
- data/test/support/name_set.rb +53 -53
- data/test/system/ggem_tests.rb +7 -12
- data/test/unit/cli_tests.rb +100 -121
- data/test/unit/gem_tests.rb +1 -5
- data/test/unit/gemspec_tests.rb +19 -26
- data/test/unit/git_repo_tests.rb +3 -14
- metadata +64 -57
- data/.gitignore +0 -19
data/test/unit/gem_tests.rb
CHANGED
@@ -2,13 +2,11 @@ require "assert"
|
|
2
2
|
require "ggem/gem"
|
3
3
|
|
4
4
|
class GGem::Gem
|
5
|
-
|
6
5
|
class UnitTests < Assert::Context
|
7
6
|
desc "GGem::Gem"
|
8
7
|
setup do
|
9
8
|
@gem_class = GGem::Gem
|
10
9
|
end
|
11
|
-
|
12
10
|
end
|
13
11
|
|
14
12
|
class InitTests < UnitTests
|
@@ -29,12 +27,10 @@ class GGem::Gem
|
|
29
27
|
|
30
28
|
should "complain if no name is provided" do
|
31
29
|
assert_raises(NoNameError) do
|
32
|
-
@gem_class.new(TMP_PATH, [nil,
|
30
|
+
@gem_class.new(TMP_PATH, [nil, ""].sample)
|
33
31
|
end
|
34
32
|
end
|
35
33
|
|
36
34
|
# most of the gem's behavior is covered in the system tests
|
37
|
-
|
38
35
|
end
|
39
|
-
|
40
36
|
end
|
data/test/unit/gemspec_tests.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
require "assert"
|
2
2
|
require "ggem/gemspec"
|
3
3
|
|
4
|
-
require
|
5
|
-
require
|
4
|
+
require "ggem/version"
|
5
|
+
require "test/support/cmd_tests_helpers"
|
6
6
|
|
7
7
|
class GGem::Gemspec
|
8
|
-
|
9
8
|
class UnitTests < Assert::Context
|
10
9
|
desc "GGem::Gemspec"
|
11
10
|
setup do
|
@@ -14,15 +13,15 @@ class GGem::Gemspec
|
|
14
13
|
subject{ @gemspec_class }
|
15
14
|
|
16
15
|
should "know the push host meta key" do
|
17
|
-
assert_equal
|
16
|
+
assert_equal "allowed_push_host", subject::PUSH_HOST_META_KEY
|
18
17
|
end
|
19
18
|
|
20
19
|
should "use Rubygems as its default push host" do
|
21
|
-
assert_equal
|
20
|
+
assert_equal "https://rubygems.org", subject::DEFAULT_PUSH_HOST
|
22
21
|
end
|
23
22
|
|
24
23
|
should "know which dir to build gems to" do
|
25
|
-
assert_equal
|
24
|
+
assert_equal "pkg", subject::BUILD_TO_DIRNAME
|
26
25
|
end
|
27
26
|
|
28
27
|
should "know its exceptions" do
|
@@ -30,13 +29,12 @@ class GGem::Gemspec
|
|
30
29
|
assert subject::LoadError < ArgumentError
|
31
30
|
assert subject::CmdError < RuntimeError
|
32
31
|
end
|
33
|
-
|
34
32
|
end
|
35
33
|
|
36
34
|
class InitTests < UnitTests
|
37
35
|
desc "when init"
|
38
36
|
setup do
|
39
|
-
@gem1_root_path = TEST_SUPPORT_PATH.join(
|
37
|
+
@gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
|
40
38
|
@spec = @gemspec_class.new(@gem1_root_path)
|
41
39
|
end
|
42
40
|
subject{ @spec }
|
@@ -46,12 +44,12 @@ class GGem::Gemspec
|
|
46
44
|
should have_imeths :run_build_cmd, :run_install_cmd, :run_push_cmd
|
47
45
|
|
48
46
|
should "know its attrs" do
|
49
|
-
exp = @gem1_root_path.join(
|
47
|
+
exp = @gem1_root_path.join("gem1.gemspec")
|
50
48
|
assert_equal exp, subject.path
|
51
49
|
|
52
|
-
assert_equal
|
53
|
-
assert_equal
|
54
|
-
assert_equal
|
50
|
+
assert_equal "gem1", subject.name
|
51
|
+
assert_equal "0.1.0", subject.version.to_s
|
52
|
+
assert_equal "v0.1.0", subject.version_tag
|
55
53
|
|
56
54
|
exp = "#{subject.name}-#{subject.version}.gem"
|
57
55
|
assert_equal exp, subject.gem_file_name
|
@@ -65,20 +63,20 @@ class GGem::Gemspec
|
|
65
63
|
assert_equal @gemspec_class::DEFAULT_PUSH_HOST, subject.push_host
|
66
64
|
|
67
65
|
# gem2 has a meta host specified, so that is used over the default
|
68
|
-
gem2_spec = @gemspec_class.new(TEST_SUPPORT_PATH.join(
|
69
|
-
assert_equal
|
66
|
+
gem2_spec = @gemspec_class.new(TEST_SUPPORT_PATH.join("gem2"))
|
67
|
+
assert_equal "http://gems.example.com", gem2_spec.push_host
|
70
68
|
|
71
69
|
# prefer the env push hosts over configured and default hosts
|
72
|
-
prev_env_push_host = ENV[
|
73
|
-
ENV[
|
74
|
-
spec = @gemspec_class.new(TEST_SUPPORT_PATH.join([
|
75
|
-
assert_equal ENV[
|
76
|
-
ENV[
|
70
|
+
prev_env_push_host = ENV["GGEM_PUSH_HOST"]
|
71
|
+
ENV["GGEM_PUSH_HOST"] = Factory.string
|
72
|
+
spec = @gemspec_class.new(TEST_SUPPORT_PATH.join(["gem1", "gem2"].sample))
|
73
|
+
assert_equal ENV["GGEM_PUSH_HOST"], spec.push_host
|
74
|
+
ENV["GGEM_PUSH_HOST"] = prev_env_push_host
|
77
75
|
end
|
78
76
|
|
79
77
|
should "complain if the given gemspec root doesn't exist" do
|
80
78
|
assert_raises(NotFoundError) do
|
81
|
-
@gemspec_class.new(
|
79
|
+
@gemspec_class.new("path/that-is/not-found")
|
82
80
|
end
|
83
81
|
end
|
84
82
|
|
@@ -87,16 +85,15 @@ class GGem::Gemspec
|
|
87
85
|
@gemspec_class.new(TEST_SUPPORT_PATH)
|
88
86
|
end
|
89
87
|
end
|
90
|
-
|
91
88
|
end
|
92
89
|
|
93
90
|
class CmdTests < InitTests
|
94
91
|
include GGem::CmdTestsHelpers
|
92
|
+
|
95
93
|
setup do
|
96
94
|
@exp_build_path = @gem1_root_path.join(subject.gem_file_name)
|
97
95
|
@exp_pkg_path = @gem1_root_path.join(@gemspec_class::BUILD_TO_DIRNAME, subject.gem_file_name)
|
98
96
|
end
|
99
|
-
|
100
97
|
end
|
101
98
|
|
102
99
|
class RunBuildCmdTests < CmdTests
|
@@ -116,7 +113,6 @@ class GGem::Gemspec
|
|
116
113
|
should "complain if any system cmds are not successful" do
|
117
114
|
assert_exp_cmds_error(CmdError){ subject.run_build_cmd }
|
118
115
|
end
|
119
|
-
|
120
116
|
end
|
121
117
|
|
122
118
|
class RunInstallCmdTests < CmdTests
|
@@ -132,7 +128,6 @@ class GGem::Gemspec
|
|
132
128
|
should "complain if the system cmd is not successful" do
|
133
129
|
assert_exp_cmds_error(CmdError){ subject.run_install_cmd }
|
134
130
|
end
|
135
|
-
|
136
131
|
end
|
137
132
|
|
138
133
|
class RunPushCmdTests < CmdTests
|
@@ -148,7 +143,5 @@ class GGem::Gemspec
|
|
148
143
|
should "complain if the system cmd is not successful" do
|
149
144
|
assert_exp_cmds_error(CmdError){ subject.run_push_cmd }
|
150
145
|
end
|
151
|
-
|
152
146
|
end
|
153
|
-
|
154
147
|
end
|
data/test/unit/git_repo_tests.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
require "assert"
|
2
2
|
require "ggem/git_repo"
|
3
3
|
|
4
|
-
require
|
4
|
+
require "test/support/cmd_tests_helpers"
|
5
5
|
|
6
6
|
class GGem::GitRepo
|
7
|
-
|
8
7
|
class UnitTests < Assert::Context
|
9
8
|
desc "GGem::GitRepo"
|
10
9
|
setup do
|
@@ -16,13 +15,12 @@ class GGem::GitRepo
|
|
16
15
|
assert subject::NotFoundError < ArgumentError
|
17
16
|
assert subject::CmdError < RuntimeError
|
18
17
|
end
|
19
|
-
|
20
18
|
end
|
21
19
|
|
22
20
|
class InitTests < UnitTests
|
23
21
|
desc "when init"
|
24
22
|
setup do
|
25
|
-
@repo_path = TEST_SUPPORT_PATH.join(
|
23
|
+
@repo_path = TEST_SUPPORT_PATH.join("gem1")
|
26
24
|
@repo = @git_repo_class.new(@repo_path)
|
27
25
|
end
|
28
26
|
subject{ @repo }
|
@@ -36,12 +34,10 @@ class GGem::GitRepo
|
|
36
34
|
should "know its path" do
|
37
35
|
assert_equal @repo_path, subject.path
|
38
36
|
end
|
39
|
-
|
40
37
|
end
|
41
38
|
|
42
39
|
class CmdTests < InitTests
|
43
40
|
include GGem::CmdTestsHelpers
|
44
|
-
|
45
41
|
end
|
46
42
|
|
47
43
|
class RunInitCmdTests < CmdTests
|
@@ -49,7 +45,7 @@ class GGem::GitRepo
|
|
49
45
|
setup do
|
50
46
|
@exp_cmds_run = [
|
51
47
|
"cd #{@repo_path} && git init",
|
52
|
-
"cd #{@repo_path} && git add --all && git add -f *.
|
48
|
+
"cd #{@repo_path} && git add --all && git add -f *.keep"
|
53
49
|
]
|
54
50
|
end
|
55
51
|
|
@@ -60,7 +56,6 @@ class GGem::GitRepo
|
|
60
56
|
should "complain if any system cmds are not successful" do
|
61
57
|
assert_exp_cmds_error(CmdError){ subject.run_init_cmd }
|
62
58
|
end
|
63
|
-
|
64
59
|
end
|
65
60
|
|
66
61
|
class RunValidateCleanCmdTests < CmdTests
|
@@ -78,7 +73,6 @@ class GGem::GitRepo
|
|
78
73
|
should "complain if any system cmds are not successful" do
|
79
74
|
assert_exp_cmds_error(CmdError){ subject.run_validate_clean_cmd }
|
80
75
|
end
|
81
|
-
|
82
76
|
end
|
83
77
|
|
84
78
|
class RunValidateCommittedCmdTests < CmdTests
|
@@ -96,7 +90,6 @@ class GGem::GitRepo
|
|
96
90
|
should "complain if any system cmds are not successful" do
|
97
91
|
assert_exp_cmds_error(CmdError){ subject.run_validate_committed_cmd }
|
98
92
|
end
|
99
|
-
|
100
93
|
end
|
101
94
|
|
102
95
|
class RunPushCmdTests < CmdTests
|
@@ -115,7 +108,6 @@ class GGem::GitRepo
|
|
115
108
|
should "complain if any system cmds are not successful" do
|
116
109
|
assert_exp_cmds_error(CmdError){ subject.run_push_cmd }
|
117
110
|
end
|
118
|
-
|
119
111
|
end
|
120
112
|
|
121
113
|
class RunAddVersionTagCmdTests < CmdTests
|
@@ -136,7 +128,6 @@ class GGem::GitRepo
|
|
136
128
|
should "complain if any system cmds are not successful" do
|
137
129
|
assert_exp_cmds_error(CmdError){ subject.run_add_version_tag_cmd(@version, @tag) }
|
138
130
|
end
|
139
|
-
|
140
131
|
end
|
141
132
|
|
142
133
|
class RunRmTagCmdTests < CmdTests
|
@@ -156,7 +147,5 @@ class GGem::GitRepo
|
|
156
147
|
should "complain if any system cmds are not successful" do
|
157
148
|
assert_exp_cmds_error(CmdError){ subject.run_rm_tag_cmd(@tag) }
|
158
149
|
end
|
159
|
-
|
160
150
|
end
|
161
|
-
|
162
151
|
end
|
metadata
CHANGED
@@ -1,59 +1,67 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ggem
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.9.2
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Kelly Redding
|
8
8
|
- Collin Redding
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
prerelease: false
|
17
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 2.16.1
|
22
|
-
type: :development
|
12
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: assert
|
24
|
-
|
25
|
-
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 2.18.2
|
21
|
+
type: :development
|
26
22
|
prerelease: false
|
27
|
-
|
28
|
-
requirements:
|
29
|
-
- - ~>
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version:
|
32
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 2.18.2
|
28
|
+
- !ruby/object:Gem::Dependency
|
33
29
|
name: much-plugin
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
- - ~>
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 3.0.1
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.2.2
|
42
35
|
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.2.2
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
43
|
name: scmd
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 3.0.3
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 3.0.3
|
56
|
+
description: '"Juh Gem", baby! (a gem utility CLI)'
|
57
|
+
email:
|
47
58
|
- kelly@kellyredding.com
|
48
59
|
- collin.redding@me.com
|
49
|
-
executables:
|
60
|
+
executables:
|
50
61
|
- ggem
|
51
62
|
extensions: []
|
52
|
-
|
53
63
|
extra_rdoc_files: []
|
54
|
-
|
55
|
-
files:
|
56
|
-
- .gitignore
|
64
|
+
files:
|
57
65
|
- Gemfile
|
58
66
|
- LICENSE
|
59
67
|
- README.md
|
@@ -74,9 +82,11 @@ files:
|
|
74
82
|
- lib/ggem/template_file/gitignore.erb
|
75
83
|
- lib/ggem/template_file/lib.rb.erb
|
76
84
|
- lib/ggem/template_file/lib_version.rb.erb
|
85
|
+
- lib/ggem/template_file/ruby-version.erb
|
77
86
|
- lib/ggem/template_file/test_helper.rb.erb
|
78
87
|
- lib/ggem/template_file/test_support_factory.rb.erb
|
79
88
|
- lib/ggem/version.rb
|
89
|
+
- log/.keep
|
80
90
|
- test/helper.rb
|
81
91
|
- test/support/cmd_tests_helpers.rb
|
82
92
|
- test/support/factory.rb
|
@@ -89,32 +99,29 @@ files:
|
|
89
99
|
- test/unit/gemspec_tests.rb
|
90
100
|
- test/unit/git_repo_tests.rb
|
91
101
|
homepage: http://github.com/redding/ggem
|
92
|
-
licenses:
|
102
|
+
licenses:
|
93
103
|
- MIT
|
94
104
|
metadata: {}
|
95
|
-
|
96
105
|
post_install_message:
|
97
106
|
rdoc_options: []
|
98
|
-
|
99
|
-
require_paths:
|
107
|
+
require_paths:
|
100
108
|
- lib
|
101
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
-
|
104
|
-
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '2.5'
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
110
119
|
requirements: []
|
111
|
-
|
112
|
-
rubyforge_project:
|
113
|
-
rubygems_version: 2.6.4
|
120
|
+
rubygems_version: 3.1.2
|
114
121
|
signing_key:
|
115
122
|
specification_version: 4
|
116
|
-
summary: "
|
117
|
-
test_files:
|
123
|
+
summary: '"Juh Gem", baby! (a gem utility CLI)'
|
124
|
+
test_files:
|
118
125
|
- test/helper.rb
|
119
126
|
- test/support/cmd_tests_helpers.rb
|
120
127
|
- test/support/factory.rb
|