puppet-blacksmith 6.1.1 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
}
|