puppet-blacksmith 6.1.1 → 7.0.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/lib/puppet_blacksmith/forge.rb +44 -88
- data/lib/puppet_blacksmith/git.rb +22 -27
- data/lib/puppet_blacksmith/modulefile.rb +12 -10
- data/lib/puppet_blacksmith/rake_tasks.rb +32 -30
- data/lib/puppet_blacksmith/version.rb +1 -1
- data/lib/puppet_blacksmith/version_helper.rb +42 -43
- metadata +44 -55
- data/lib/puppet_blacksmith/credentials.yml +0 -3
- data/spec/data/maestrodev-test/metadata.json +0 -18
- data/spec/data/metadata-different-author.json +0 -36
- data/spec/data/metadata-no-author.json +0 -35
- data/spec/data/metadata.json +0 -36
- data/spec/data/response.json +0 -341
- data/spec/puppet_blacksmith/forge_live_spec.rb +0 -14
- data/spec/puppet_blacksmith/forge_shared.rb +0 -37
- data/spec/puppet_blacksmith/forge_spec.rb +0 -122
- data/spec/puppet_blacksmith/git_spec.rb +0 -132
- data/spec/puppet_blacksmith/modulefile_spec.rb +0 -169
- data/spec/spec_helper.rb +0 -25
@@ -10,11 +10,11 @@ module Blacksmith
|
|
10
10
|
SemVerRegexp = /\A(\d+\.\d+\.\d+)(-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?(\+([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?\Z/
|
11
11
|
attr_accessor :major, :minor, :patch, :pre, :build
|
12
12
|
|
13
|
-
def initialize
|
14
|
-
raise ArgumentError
|
13
|
+
def initialize(version_str)
|
14
|
+
raise ArgumentError, "#{version_str} is not a valid SemVer Version (http://semver.org)" unless SemVerRegexp.match?(version_str)
|
15
15
|
|
16
16
|
version, parts = version_str.split '-'
|
17
|
-
if
|
17
|
+
if !parts.nil? and parts.include? '+'
|
18
18
|
@pre, @build = parts.split '+'
|
19
19
|
elsif version.include? '+'
|
20
20
|
version, @build = version.split '+'
|
@@ -22,7 +22,6 @@ module Blacksmith
|
|
22
22
|
@pre = parts
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
25
|
@major, @minor, @patch = version.split('.').map(&:to_i)
|
27
26
|
end
|
28
27
|
|
@@ -39,19 +38,19 @@ module Blacksmith
|
|
39
38
|
end
|
40
39
|
|
41
40
|
def to_h
|
42
|
-
keys = [
|
43
|
-
|
41
|
+
keys = %i[major minor patch pre build]
|
42
|
+
keys.zip(to_a).to_h
|
44
43
|
end
|
45
44
|
|
46
45
|
alias to_hash to_h
|
47
46
|
alias to_array to_a
|
48
47
|
alias to_string to_s
|
49
48
|
|
50
|
-
def <=>
|
51
|
-
|
49
|
+
def <=>(other)
|
50
|
+
other = Version.new(other) if other.is_a? String
|
52
51
|
|
53
|
-
v1 =
|
54
|
-
v2 =
|
52
|
+
v1 = dup
|
53
|
+
v2 = other.dup
|
55
54
|
|
56
55
|
# The build must be excluded from the comparison, so that e.g. 1.2.3+foo and 1.2.3+bar are semantically equal.
|
57
56
|
# "Build metadata SHOULD be ignored when determining version precedence".
|
@@ -62,30 +61,32 @@ module Blacksmith
|
|
62
61
|
compare_recursively(v1.to_a, v2.to_a)
|
63
62
|
end
|
64
63
|
|
65
|
-
def >
|
66
|
-
(self <=>
|
64
|
+
def >(other)
|
65
|
+
(self <=> other) == 1
|
67
66
|
end
|
68
67
|
|
69
|
-
def <
|
70
|
-
(self <=>
|
68
|
+
def <(other)
|
69
|
+
(self <=> other) == -1
|
71
70
|
end
|
72
71
|
|
73
|
-
def >=
|
74
|
-
(self <=>
|
72
|
+
def >=(other)
|
73
|
+
(self <=> other) >= 0
|
75
74
|
end
|
76
75
|
|
77
|
-
def <=
|
78
|
-
(self <=>
|
76
|
+
def <=(other)
|
77
|
+
(self <=> other) <= 0
|
79
78
|
end
|
80
79
|
|
81
|
-
def ==
|
82
|
-
(self <=>
|
80
|
+
def ==(other)
|
81
|
+
(self <=> other) == 0
|
83
82
|
end
|
84
83
|
|
85
|
-
def satisfies
|
84
|
+
def satisfies(other_version)
|
86
85
|
return true if other_version.strip == '*'
|
86
|
+
|
87
87
|
parts = other_version.split(/(\d(.+)?)/, 2)
|
88
|
-
comparator
|
88
|
+
comparator = parts[0].strip
|
89
|
+
other_version_string = parts[1].strip
|
89
90
|
|
90
91
|
begin
|
91
92
|
Version.new other_version_string
|
@@ -100,28 +101,27 @@ module Blacksmith
|
|
100
101
|
end
|
101
102
|
end
|
102
103
|
|
103
|
-
[
|
104
|
+
%i[major minor patch].each do |term|
|
104
105
|
define_method("#{term}!") { increment!(term) }
|
105
106
|
end
|
106
107
|
|
107
108
|
def full!
|
108
|
-
env_var =
|
109
|
+
env_var = 'BLACKSMITH_FULL_VERSION'
|
109
110
|
begin
|
110
111
|
ENV.fetch env_var
|
111
112
|
rescue KeyError
|
112
|
-
raise Exception,
|
113
|
+
raise Exception,
|
114
|
+
"Setting the full version requires setting the #{env_var} environment variable to the new version"
|
113
115
|
end
|
114
116
|
end
|
115
117
|
|
116
118
|
def increment!(term)
|
117
119
|
new_version = clone
|
118
120
|
|
119
|
-
if term != :patch || @pre.nil?
|
120
|
-
new_version.send("#{term}=", send(term) + 1)
|
121
|
-
end
|
121
|
+
new_version.send("#{term}=", send(term) + 1) if term != :patch || @pre.nil?
|
122
122
|
|
123
123
|
new_version.minor = 0 if term == :major
|
124
|
-
new_version.patch = 0 if
|
124
|
+
new_version.patch = 0 if %i[major minor].include?(term)
|
125
125
|
new_version.build = new_version.pre = nil
|
126
126
|
|
127
127
|
new_version
|
@@ -129,41 +129,40 @@ module Blacksmith
|
|
129
129
|
|
130
130
|
private
|
131
131
|
|
132
|
-
def pad_version_string
|
133
|
-
parts = version_string.split('.').reject {|x| x == '*'}
|
134
|
-
while parts.length < 3
|
135
|
-
parts << '0'
|
136
|
-
end
|
132
|
+
def pad_version_string(version_string)
|
133
|
+
parts = version_string.split('.').reject { |x| x == '*' }
|
134
|
+
parts << '0' while parts.length < 3
|
137
135
|
parts.join '.'
|
138
136
|
end
|
139
137
|
|
140
|
-
def tilde_matches?
|
138
|
+
def tilde_matches?(other_version_string)
|
141
139
|
this_parts = to_a.collect(&:to_s)
|
142
|
-
other_parts = other_version_string.split('.').reject {|x| x == '*'}
|
143
|
-
other_parts == this_parts[0..other_parts.length-1]
|
140
|
+
other_parts = other_version_string.split('.').reject { |x| x == '*' }
|
141
|
+
other_parts == this_parts[0..other_parts.length - 1]
|
144
142
|
end
|
145
143
|
|
146
|
-
def satisfies_comparator?
|
144
|
+
def satisfies_comparator?(comparator, other_version_string)
|
147
145
|
if comparator == '~'
|
148
146
|
tilde_matches? other_version_string
|
149
147
|
else
|
150
|
-
|
148
|
+
send comparator, other_version_string
|
151
149
|
end
|
152
150
|
end
|
153
151
|
|
154
|
-
def compare_recursively
|
152
|
+
def compare_recursively(ary1, ary2)
|
155
153
|
# Short-circuit the recursion entirely if they're just equal
|
156
154
|
return 0 if ary1 == ary2
|
157
155
|
|
158
|
-
a = ary1.shift
|
156
|
+
a = ary1.shift
|
157
|
+
b = ary2.shift
|
159
158
|
|
160
159
|
# Reached the end of the arrays, equal all the way down
|
161
160
|
return 0 if a.nil? and b.nil?
|
162
161
|
|
163
162
|
# Mismatched types (ie. one has a pre and the other doesn't)
|
164
|
-
if a.nil? and
|
163
|
+
if a.nil? and !b.nil?
|
165
164
|
return 1
|
166
|
-
elsif
|
165
|
+
elsif !a.nil? and b.nil?
|
167
166
|
return -1
|
168
167
|
end
|
169
168
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-blacksmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MaestroDev
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-05-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: puppet-modulebuilder
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '0
|
20
|
+
version: '1.0'
|
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
|
27
|
+
version: '1.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rest-client
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,89 +40,101 @@ dependencies:
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '2.0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: aruba
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - "
|
46
|
+
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
48
|
+
version: '2.1'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - "
|
53
|
+
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '2.1'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: cucumber
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
62
|
+
version: '8.0'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - "
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
69
|
+
version: '8.0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: puppet
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
76
|
+
version: '7.24'
|
77
|
+
- - "<"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '9'
|
77
80
|
type: :development
|
78
81
|
prerelease: false
|
79
82
|
version_requirements: !ruby/object:Gem::Requirement
|
80
83
|
requirements:
|
81
84
|
- - ">="
|
82
85
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
86
|
+
version: '7.24'
|
87
|
+
- - "<"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '9'
|
84
90
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
91
|
+
name: rake
|
86
92
|
requirement: !ruby/object:Gem::Requirement
|
87
93
|
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '13.0'
|
88
97
|
- - ">="
|
89
98
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
99
|
+
version: 13.0.6
|
91
100
|
type: :development
|
92
101
|
prerelease: false
|
93
102
|
version_requirements: !ruby/object:Gem::Requirement
|
94
103
|
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '13.0'
|
95
107
|
- - ">="
|
96
108
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
109
|
+
version: 13.0.6
|
98
110
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
111
|
+
name: rspec
|
100
112
|
requirement: !ruby/object:Gem::Requirement
|
101
113
|
requirements:
|
102
|
-
- - "
|
114
|
+
- - "~>"
|
103
115
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
116
|
+
version: '3.12'
|
105
117
|
type: :development
|
106
118
|
prerelease: false
|
107
119
|
version_requirements: !ruby/object:Gem::Requirement
|
108
120
|
requirements:
|
109
|
-
- - "
|
121
|
+
- - "~>"
|
110
122
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
123
|
+
version: '3.12'
|
112
124
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
125
|
+
name: voxpupuli-rubocop
|
114
126
|
requirement: !ruby/object:Gem::Requirement
|
115
127
|
requirements:
|
116
|
-
- - "
|
128
|
+
- - "~>"
|
117
129
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
130
|
+
version: '1.2'
|
119
131
|
type: :development
|
120
132
|
prerelease: false
|
121
133
|
version_requirements: !ruby/object:Gem::Requirement
|
122
134
|
requirements:
|
123
|
-
- - "
|
135
|
+
- - "~>"
|
124
136
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
137
|
+
version: '1.2'
|
126
138
|
- !ruby/object:Gem::Dependency
|
127
139
|
name: webmock
|
128
140
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,7 +164,6 @@ extra_rdoc_files: []
|
|
152
164
|
files:
|
153
165
|
- LICENSE
|
154
166
|
- lib/puppet_blacksmith.rb
|
155
|
-
- lib/puppet_blacksmith/credentials.yml
|
156
167
|
- lib/puppet_blacksmith/error.rb
|
157
168
|
- lib/puppet_blacksmith/forge.rb
|
158
169
|
- lib/puppet_blacksmith/git.rb
|
@@ -160,17 +171,6 @@ files:
|
|
160
171
|
- lib/puppet_blacksmith/rake_tasks.rb
|
161
172
|
- lib/puppet_blacksmith/version.rb
|
162
173
|
- lib/puppet_blacksmith/version_helper.rb
|
163
|
-
- spec/data/maestrodev-test/metadata.json
|
164
|
-
- spec/data/metadata-different-author.json
|
165
|
-
- spec/data/metadata-no-author.json
|
166
|
-
- spec/data/metadata.json
|
167
|
-
- spec/data/response.json
|
168
|
-
- spec/puppet_blacksmith/forge_live_spec.rb
|
169
|
-
- spec/puppet_blacksmith/forge_shared.rb
|
170
|
-
- spec/puppet_blacksmith/forge_spec.rb
|
171
|
-
- spec/puppet_blacksmith/git_spec.rb
|
172
|
-
- spec/puppet_blacksmith/modulefile_spec.rb
|
173
|
-
- spec/spec_helper.rb
|
174
174
|
homepage: http://github.com/voxpupuli/puppet-blacksmith
|
175
175
|
licenses:
|
176
176
|
- Apache-2.0
|
@@ -183,26 +183,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
183
|
requirements:
|
184
184
|
- - ">="
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: 2.
|
186
|
+
version: 2.7.0
|
187
187
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
188
|
requirements:
|
189
189
|
- - ">="
|
190
190
|
- !ruby/object:Gem::Version
|
191
191
|
version: '0'
|
192
192
|
requirements: []
|
193
|
-
rubygems_version: 3.
|
193
|
+
rubygems_version: 3.4.10
|
194
194
|
signing_key:
|
195
195
|
specification_version: 4
|
196
196
|
summary: Tasks to manage Puppet module builds
|
197
|
-
test_files:
|
198
|
-
- spec/data/maestrodev-test/metadata.json
|
199
|
-
- spec/data/metadata-different-author.json
|
200
|
-
- spec/data/metadata-no-author.json
|
201
|
-
- spec/data/metadata.json
|
202
|
-
- spec/data/response.json
|
203
|
-
- spec/puppet_blacksmith/forge_live_spec.rb
|
204
|
-
- spec/puppet_blacksmith/forge_shared.rb
|
205
|
-
- spec/puppet_blacksmith/forge_spec.rb
|
206
|
-
- spec/puppet_blacksmith/git_spec.rb
|
207
|
-
- spec/puppet_blacksmith/modulefile_spec.rb
|
208
|
-
- spec/spec_helper.rb
|
197
|
+
test_files: []
|
@@ -1,18 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "maestrodev-test",
|
3
|
-
"version": "",
|
4
|
-
"source": "http://github.com/maestrodev/puppet-test",
|
5
|
-
"author": "maestrodev",
|
6
|
-
"license": "Apache License, Version 2.0",
|
7
|
-
"summary": "Testing Puppet module operations",
|
8
|
-
"description": "Testing Puppet module operations",
|
9
|
-
"project_page": "http://github.com/maestrodev/puppet-test",
|
10
|
-
"dependencies": [
|
11
|
-
|
12
|
-
],
|
13
|
-
"types": [
|
14
|
-
|
15
|
-
],
|
16
|
-
"checksums": {
|
17
|
-
}
|
18
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"operatingsystem_support": [
|
3
|
-
{
|
4
|
-
"operatingsystem": "CentOS",
|
5
|
-
"operatingsystemrelease": [
|
6
|
-
"4",
|
7
|
-
"5",
|
8
|
-
"6"
|
9
|
-
]
|
10
|
-
}
|
11
|
-
],
|
12
|
-
"requirements": [
|
13
|
-
{
|
14
|
-
"name": "pe",
|
15
|
-
"version_requirement": "3.2.x"
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"name": "puppet",
|
19
|
-
"version_requirement": ">=2.7.20 <7.0.0"
|
20
|
-
}
|
21
|
-
],
|
22
|
-
"name": "maestrodev-test",
|
23
|
-
"version": "1.0.0",
|
24
|
-
"source": "git://github.com/puppetlabs/puppetlabs-stdlib",
|
25
|
-
"author": "MaestroDev",
|
26
|
-
"license": "Apache 2.0",
|
27
|
-
"summary": "Puppet Module Standard Library",
|
28
|
-
"description": "Standard Library for Puppet Modules",
|
29
|
-
"project_page": "https://github.com/puppetlabs/puppetlabs-stdlib",
|
30
|
-
"dependencies": [
|
31
|
-
{
|
32
|
-
"name": "puppetlabs-stdlib",
|
33
|
-
"version_requirement": ">= 3.0.0"
|
34
|
-
}
|
35
|
-
]
|
36
|
-
}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"operatingsystem_support": [
|
3
|
-
{
|
4
|
-
"operatingsystem": "CentOS",
|
5
|
-
"operatingsystemrelease": [
|
6
|
-
"4",
|
7
|
-
"5",
|
8
|
-
"6"
|
9
|
-
]
|
10
|
-
}
|
11
|
-
],
|
12
|
-
"requirements": [
|
13
|
-
{
|
14
|
-
"name": "pe",
|
15
|
-
"version_requirement": "3.2.x"
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"name": "puppet",
|
19
|
-
"version_requirement": ">=2.7.20 <7.0.0"
|
20
|
-
}
|
21
|
-
],
|
22
|
-
"name": "maestrodev-test",
|
23
|
-
"version": "1.0.0",
|
24
|
-
"source": "git://github.com/puppetlabs/puppetlabs-stdlib",
|
25
|
-
"license": "Apache 2.0",
|
26
|
-
"summary": "Puppet Module Standard Library",
|
27
|
-
"description": "Standard Library for Puppet Modules",
|
28
|
-
"project_page": "https://github.com/puppetlabs/puppetlabs-stdlib",
|
29
|
-
"dependencies": [
|
30
|
-
{
|
31
|
-
"name": "puppetlabs-stdlib",
|
32
|
-
"version_requirement": ">= 3.0.0"
|
33
|
-
}
|
34
|
-
]
|
35
|
-
}
|
data/spec/data/metadata.json
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"operatingsystem_support": [
|
3
|
-
{
|
4
|
-
"operatingsystem": "CentOS",
|
5
|
-
"operatingsystemrelease": [
|
6
|
-
"4",
|
7
|
-
"5",
|
8
|
-
"6"
|
9
|
-
]
|
10
|
-
}
|
11
|
-
],
|
12
|
-
"requirements": [
|
13
|
-
{
|
14
|
-
"name": "pe",
|
15
|
-
"version_requirement": "3.2.x"
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"name": "puppet",
|
19
|
-
"version_requirement": ">=2.7.20 <7.0.0"
|
20
|
-
}
|
21
|
-
],
|
22
|
-
"name": "maestrodev-test",
|
23
|
-
"version": "1.0.0",
|
24
|
-
"source": "git://github.com/puppetlabs/puppetlabs-stdlib",
|
25
|
-
"author": "maestrodev",
|
26
|
-
"license": "Apache 2.0",
|
27
|
-
"summary": "Puppet Module Standard Library",
|
28
|
-
"description": "Standard Library for Puppet Modules",
|
29
|
-
"project_page": "https://github.com/puppetlabs/puppetlabs-stdlib",
|
30
|
-
"dependencies": [
|
31
|
-
{
|
32
|
-
"name": "puppetlabs-stdlib",
|
33
|
-
"version_requirement": ">= 3.0.0"
|
34
|
-
}
|
35
|
-
]
|
36
|
-
}
|