Package not found. Please check the package name and try again.

manifest-builder 0.6.2 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b10b3d8ea6cfc58960b69110ceb02434f017b35
4
- data.tar.gz: 1d2dc07ea272e2d8ffde9016586873cd5e834350
3
+ metadata.gz: 4f8692350e883642c61400675d5b04780b553a5b
4
+ data.tar.gz: 61d48a5874ff2b1c8aed3bd1c4accda5a1d6032c
5
5
  SHA512:
6
- metadata.gz: f545e10d18b032a1c4f2de06f63f684cff93e2d1fd3d9ddea06e4c976a7f7192e73d6bce5be5b3ff76300f76ddda5a093308c55b472bbf1e287a43f5283781cd
7
- data.tar.gz: 6e88d6c42454c00614ced3186896e6744682e451c8557e8f482b26c1b69f36664aa5c951cf75704873247dbb5ed67b69512c5594ab483f46cd285644a2ab8d1f
6
+ metadata.gz: 06cba7f7f72e817a3343664c3c8cf9dd9218a0006d71a0b35e6722c09685771bc839f48ab5c9377df8f898b2ada4acb344531fd9ffc6648d69d08f09deb015e2
7
+ data.tar.gz: 32ecf4772c0abb9180b9f965a6cbec2d481786cd6d55fdc8dc60e3f08c06d0444d4815f4809347d5913061c769d93573982f1d66543b3801c2467ecccc89e20c
@@ -1,23 +1,23 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- manifest-builder (0.6.2)
4
+ manifest-builder (0.6.4)
5
5
  archive-tar-minitar (= 0.5.2)
6
- chefrepo-builder (>= 0.9.32, < 1.1)
6
+ chefrepo-builder (>= 0.9.34, < 1.1)
7
7
  json (>= 1.8.1, < 1.9)
8
8
  s3etag (>= 0.0.1, < 0.1.0)
9
9
 
10
10
  PATH
11
11
  remote: ../chefrepo-builder
12
12
  specs:
13
- chefrepo-builder (0.9.32)
14
- cicd-builder (>= 0.9.47, < 1.1)
13
+ chefrepo-builder (0.9.34)
14
+ cicd-builder (>= 0.9.50, < 1.1)
15
15
  json (= 1.8.1)
16
16
 
17
17
  PATH
18
18
  remote: ../cicd-builder
19
19
  specs:
20
- cicd-builder (0.9.48)
20
+ cicd-builder (0.9.50)
21
21
  artifactory (>= 2.2.1, < 2.3)
22
22
  awesome_print (>= 1.6, < 2.0)
23
23
  aws-sdk (>= 2.0, < 2.1)
@@ -26,6 +26,8 @@ PATH
26
26
  inifile (>= 3.0.0, < 3.1)
27
27
  json (>= 1.8.1, < 1.9)
28
28
  logging (>= 1.8.2, < 1.9)
29
+ parallel (>= 1.4.1, < 1.5)
30
+ ruby-progressbar (>= 1.7.5, < 2)
29
31
  semverse (>= 1.2.1, < 1.3)
30
32
  yajl-ruby (>= 1.2.1, < 1.3)
31
33
 
@@ -35,14 +37,14 @@ GEM
35
37
  archive-tar-minitar (0.5.2)
36
38
  artifactory (2.2.1)
37
39
  awesome_print (1.6.1)
38
- aws-sdk (2.0.39)
39
- aws-sdk-resources (= 2.0.39)
40
- aws-sdk-core (2.0.39)
40
+ aws-sdk (2.0.41)
41
+ aws-sdk-resources (= 2.0.41)
42
+ aws-sdk-core (2.0.41)
41
43
  builder (~> 3.0)
42
44
  jmespath (~> 1.0)
43
45
  multi_json (~> 1.0)
44
- aws-sdk-resources (2.0.39)
45
- aws-sdk-core (= 2.0.39)
46
+ aws-sdk-resources (2.0.41)
47
+ aws-sdk-core (= 2.0.41)
46
48
  builder (3.2.2)
47
49
  chef (12.0.3)
48
50
  chef-zero (~> 3.2)
@@ -95,7 +97,7 @@ GEM
95
97
  little-plugger (>= 1.1.3)
96
98
  multi_json (>= 1.8.4)
97
99
  method_source (0.8.2)
98
- mime-types (2.4.3)
100
+ mime-types (2.5)
99
101
  mixlib-authentication (1.3.0)
100
102
  mixlib-log
101
103
  mixlib-cli (1.5.0)
@@ -109,7 +111,7 @@ GEM
109
111
  net-ssh-multi (1.2.1)
110
112
  net-ssh (>= 2.6.5)
111
113
  net-ssh-gateway (>= 1.2.0)
112
- ohai (8.2.0)
114
+ ohai (8.3.0)
113
115
  ffi (~> 1.9)
114
116
  ffi-yajl (>= 1.1, < 3.0)
115
117
  ipaddress
@@ -121,6 +123,7 @@ GEM
121
123
  rake (~> 10.1)
122
124
  systemu (~> 2.6.4)
123
125
  wmi-lite (~> 1.0)
126
+ parallel (1.4.1)
124
127
  plist (3.1.0)
125
128
  pry (0.10.1)
126
129
  coderay (~> 1.1.0)
@@ -136,6 +139,7 @@ GEM
136
139
  rspec-expectations (2.99.2)
137
140
  diff-lcs (>= 1.1.3, < 2.0)
138
141
  rspec-mocks (2.99.3)
142
+ ruby-progressbar (1.7.5)
139
143
  rubygems-tasks (0.2.4)
140
144
  s3etag (0.0.1)
141
145
  semverse (1.2.1)
@@ -8,6 +8,7 @@ module CiCd
8
8
  require 'cicd/builder/manifest/version'
9
9
 
10
10
  module Manifest
11
+ CLASS = 'CiCd::Builder::Manifest'
11
12
  class Runner < ChefRepo::Runner
12
13
  require 'cicd/builder/manifest/mixlib/build'
13
14
  require 'cicd/builder/manifest/mixlib/repo'
@@ -9,6 +9,7 @@ module CiCd
9
9
  # ---------------------------------------------------------------------------------------------------------------
10
10
  # noinspection RubyHashKeysTypesInspection
11
11
  def prepareBuild()
12
+ @logger.step CLASS+'::'+__method__.to_s
12
13
  ret = super
13
14
  if ret == 0
14
15
  @vars[:artifacts] = []
@@ -157,33 +158,22 @@ module CiCd
157
158
 
158
159
  # ---------------------------------------------------------------------------------------------------------------
159
160
  def packageBuild()
160
- @logger.step __method__.to_s
161
+ @logger.info CLASS+'::'+__method__.to_s
161
162
  if isSameDirectory(Dir.pwd, ENV['WORKSPACE'])
162
163
  if @vars.has_key?(:components) and not @vars[:components].empty?
163
164
  @vars[:return_code] = 0
164
165
 
165
- clazz = getRepoClass('S3')
166
- @logger.debug "Repo class == '#{clazz}'"
167
- if clazz.is_a?(Class) and not clazz.nil?
168
- @repo = clazz.new(self)
169
-
166
+ getRepoInstance('S3')
167
+ if 0 == @vars[:return_code]
168
+ lines = []
169
+ @vars[:artifacts] = []
170
+ # Deal with all artifacts of each component
171
+ @vars[:components].each { |comp|
172
+ processComponent(comp, lines)
173
+ }
170
174
  if @vars[:return_code] == 0
171
- lines = []
172
- @vars[:artifacts] = []
173
- # Deal with all artifacts of each component
174
- @vars[:components].each { |comp|
175
- processComponent(comp, lines)
176
- }
177
- if @vars[:return_code] == 0
178
- cleanupAfterPackaging(lines)
179
- end
180
-
181
- else
182
- @logger.fatal "S3 repo error: Bucket #{ENV['AWS_S3_BUCKET']}"
175
+ cleanupAfterPackaging(lines)
183
176
  end
184
- else
185
- @logger.error "CiCd::Builder::Repo::#{type} is not a valid repo class"
186
- @vars[:return_code] = Errors::BUILDER_REPO_TYPE
187
177
  end
188
178
  else
189
179
  @logger.error 'No components found during preparation?'
@@ -217,7 +207,7 @@ module CiCd
217
207
  end
218
208
  end
219
209
 
220
- private
210
+ protected
221
211
 
222
212
  # ---------------------------------------------------------------------------------------------------------------
223
213
  def processComponent(comp, lines)
@@ -227,7 +217,7 @@ module CiCd
227
217
  require 'uri'
228
218
  require 'digest'
229
219
  begin
230
- key, name, objects = getObjects(artifact, path)
220
+ key, bucket, objects = getObjects(artifact, path,cdata)
231
221
  local_dir = File.join(@vars[:local_dirs]['artifacts'], cname, '')
232
222
  Dir.mkdir(local_dir, 0700) unless File.directory?(local_dir)
233
223
  artifacts = []
@@ -244,7 +234,7 @@ module CiCd
244
234
  etag = object.etag.gsub(%r/['"]/, '')
245
235
  download = shouldDownload?(etag, local, object)
246
236
  if download
247
- changed = doDownload(etag, local, object)
237
+ changed = doDownload(etag, local, object, bucket)
248
238
  else
249
239
  @logger.info "\t\tunchanged"
250
240
  end
@@ -261,7 +251,7 @@ module CiCd
261
251
  artifacts.each do |local|
262
252
  base = File.basename(local)
263
253
  if sha256[base].is_a?(String)
264
- msg = "Artifact checksum is invalid or manifest is incorrect. Artifact: s3://#{name}/#{key}#{artifact}, SHA256: Manifest=#{cdata[:sha256]}, Actual=#{sha256[base]}"
254
+ msg = "Artifact checksum is invalid or manifest is incorrect. Artifact: s3://#{bucket}/#{key}#{artifact}, SHA256: Manifest=#{cdata[:sha256]}, Actual=#{sha256[base]}"
265
255
  if ENV['ENFORCE_CHECKSUMS'] and ENV['ENFORCE_CHECKSUMS'].downcase =~ %r/^(yes|on|set|1|enable|active|enforced?)$/
266
256
  @logger.fatal msg
267
257
  @vars[:return_code] = Errors::ARTIFACT_CHECKSUM_BAD
@@ -280,12 +270,14 @@ module CiCd
280
270
  build: build,
281
271
  version: version,
282
272
  file: local,
283
- sha256: (sha256.keys.include?(base)) ? (sha256[base].is_a?(TrueClass) ? cdata[:sha256] : sha256[base]) : Digest::SHA256.file(local).hexdigest
273
+ sha256: (sha256.keys.include?(base)) ? (sha256[base].is_a?(TrueClass) ? cdata[:sha256] : sha256[base]) : Digest::SHA256.file(local).hexdigest,
274
+ file_name: cdata[:file_name],
275
+ file_ext: cdata[:file_ext],
284
276
  })
285
277
  end
286
278
  end
287
279
  else
288
- @logger.fatal "Artifact not found: s3://#{name}/#{key}#{artifact}"
280
+ @logger.fatal "Artifact not found: s3://#{bucket}/#{key}#{artifact}"
289
281
  @vars[:return_code] = Errors::ARTIFACT_NOT_FOUND
290
282
  end
291
283
  rescue Exception => e
@@ -295,26 +287,38 @@ module CiCd
295
287
  end
296
288
 
297
289
  # ---------------------------------------------------------------------------------------------------------------
298
- def getObjects(artifact, path)
290
+ def getObjects(artifact, path, cdata)
299
291
  parts = URI(path).path.gsub(%r'^#{File::SEPARATOR}', '').split(File::SEPARATOR)
300
- name = parts.shift
301
- bucket = getBucket(name)
302
- key = File.join(parts, '')
303
- @logger.info "S3://#{name}:#{key} URL: #{path} #{artifact}"
292
+ bucket,prefix = if cdata[:s3_bucket] and cdata[:s3_key]
293
+ [cdata[:s3_bucket],File.join(File.dirname(cdata[:s3_key]),'')]
294
+ else
295
+ name = parts.shift
296
+ [name,File.join(parts, '')]
297
+ end
298
+ @logger.info "S3://#{bucket}:#{prefix} URL: #{path} #{artifact}"
304
299
  objects = []
305
- bucket.objects(prefix: key).each do |object|
306
- if artifact.empty? or (not artifact.empty? and object.key =~ %r'#{key}#{artifact}')
307
- objects << object
300
+ @s3 = @repo.getS3() #bucket_client = getBucket(bucket)
301
+ bucket_objects = @s3.list_objects(bucket: bucket, prefix: prefix)
302
+ if bucket_objects
303
+ bucket_objects = bucket_objects[:contents]
304
+ bucket_objects.each do |object|
305
+ if artifact.empty? or (not artifact.empty? and object.key =~ %r'#{prefix}#{artifact}')
306
+ objects << object
307
+ end
308
308
  end
309
309
  end
310
- @logger.debug "S3://#{name}:#{key} has #{objects.size} objects"
311
- return key, name, objects
310
+ @logger.debug "S3://#{bucket}:#{prefix} has #{objects.size} objects"
311
+ return prefix, bucket, objects
312
312
  end
313
313
 
314
314
  # ---------------------------------------------------------------------------------------------------------------
315
- def doDownload(etag, local, object)
315
+ def doDownload(etag, local, object, bucket)
316
316
  @logger.info "\t\tdownload #{object.size} bytes"
317
- response = object.get(:response_target => local)
317
+ begin
318
+ response = object.get(:response_target => local)
319
+ rescue NoMethodError
320
+ response = @s3.get_object(bucket: bucket, key: object.key, response_target: local)
321
+ end
318
322
  File.utime(response.last_modified, response.last_modified, local)
319
323
  @logger.info "\t\tdone"
320
324
  check = calcLocalETag(etag, local)
@@ -374,7 +378,7 @@ module CiCd
374
378
  cname,cdata = comp
375
379
  if cdata[:url]
376
380
  path, artifact = File.split(cdata[:url])
377
- version, build = getVersionBuild(path, artifact, comp)
381
+ version, build = (cdata[:version] and cdata[:build]) ? [cdata[:version], cdata[:build]] : getVersionBuild(path, artifact, comp)
378
382
  elsif cdata[:base_url]
379
383
  artifact = ''
380
384
  if cdata[:build].nil?
@@ -389,7 +393,7 @@ module CiCd
389
393
  else
390
394
  path = ''
391
395
  artifact = ''
392
- version, build = getVersionBuild(path, artifact, comp)
396
+ version, build = (cdata[:version] and cdata[:build]) ? [cdata[:version], cdata[:build]] : getVersionBuild(path, artifact, comp)
393
397
  end
394
398
  return artifact, path, version, build
395
399
  end
@@ -14,7 +14,7 @@ module CiCd
14
14
 
15
15
  # ---------------------------------------------------------------------------------------------------------------
16
16
  def getRepoClass(type = nil)
17
- @logger.info __method__.to_s
17
+ @logger.step CLASS+'::'+__method__.to_s
18
18
  if type.nil?
19
19
  type ||= 'S3'
20
20
  if ENV.has_key?('REPO_TYPE')
@@ -18,16 +18,15 @@ module CiCd
18
18
  def uploadToRepo(artifacts)
19
19
  @manifest = {}
20
20
  super
21
- if @vars[:return_code] == 0
22
- # Preserve the manifest (maybeUploadArtifactoryObject will add everything we upload to the instance var)
23
- manifest = @manifest.dup
24
- # Create a manifest for each product and store it.
25
- createProductManifests(manifest)
26
- # Get a super manifest of all products and store as learning-manifest
27
- createSuperManifest(manifest) # -#{@vars[:variant]}
28
- @manifest = manifest
29
- end
21
+ handleManifests()
30
22
  # If we are asked to produce a PROJECTS_FILE then we do that from the manifest and components.
23
+ handleProjectsFile()
24
+ cleanupTempFiles()
25
+ @vars[:return_code]
26
+ end
27
+
28
+ # ---------------------------------------------------------------------------------------------------------------
29
+ def handleProjectsFile
31
30
  unless ENV['PROJECTS_FILE'].nil?
32
31
  if @vars[:return_code] == 0
33
32
  if File.directory?(File.realdirpath(File.dirname(ENV['PROJECTS_FILE'])))
@@ -38,19 +37,19 @@ module CiCd
38
37
  end
39
38
  end
40
39
  end
41
- @vars[:artifacts].each do |art|
42
- if art[:data][:temp].is_a?(FalseClass)
43
- if File.exists?(art[:data][:file])
44
- File.unlink(art[:data][:file]) if File.exists?(art[:data][:file])
45
- art[:data].delete(:file)
46
- art[:data].delete(:temp)
47
- else
48
- @logger.warn "Temporary file disappeared: #{data.ai}"
49
- @vars[:return_code] = Errors::TEMP_FILE_MISSING
50
- end
51
- end
40
+ end
41
+
42
+ # ---------------------------------------------------------------------------------------------------------------
43
+ def handleManifests
44
+ if @vars[:return_code] == 0
45
+ # Preserve the manifest (maybeUploadArtifactoryObject will add everything we upload to the instance var)
46
+ manifest = @manifest.dup
47
+ # Create a manifest for each product and store it.
48
+ createProductManifests(manifest)
49
+ # Get a super manifest of all products and store as learning-manifest
50
+ createSuperManifest(manifest) # -#{@vars[:variant]}
51
+ @manifest = manifest
52
52
  end
53
- @vars[:return_code]
54
53
  end
55
54
 
56
55
  # ---------------------------------------------------------------------------------------------------------------
@@ -191,12 +190,16 @@ module CiCd
191
190
  end
192
191
 
193
192
  def createSuperManifest(manifest)
194
- manifest_data = ''
195
- manifest.each do |mod, man|
196
- man.each do |k, v|
197
- manifest_data += "#{k}=#{v}\n"
193
+ assemble = lambda{|mani|
194
+ manifest_data = ''
195
+ mani.each do |_, man|
196
+ man.each do |k, v|
197
+ manifest_data += "#{k}=#{v}\n"
198
+ end
198
199
  end
199
- end
200
+ manifest_data
201
+ }
202
+ manifest_data = assemble.call(manifest)
200
203
  amn = artifactory_manifest_name # Just using a local iso invoking method_missing repeatedly ... ;)
201
204
  data = {module: amn, data: manifest_data, version: @vars[:build_ver], build: @vars[:build_num], properties: @properties_matrix}
202
205
  # tempArtifactFile(amn, data)
@@ -215,18 +218,22 @@ module CiCd
215
218
  key: amn,
216
219
  data: data.dup,
217
220
  }
218
- # manifest[amn]={ amn => "#{@vars[:build_ver]}-#{@vars[:build_num]}" }
219
-
220
- maybeUploadArtifactoryObject(data: data, artifact_module: amn, artifact_version: data[:version] || @vars[:version], file_name: '', file_ext: 'properties')
221
+ manifest = maybeUpdateManifest(data, manifest, assemble, amn)
222
+ if 0 == @vars[:return_code]
223
+ maybeUploadArtifactoryObject(data: data, artifact_module: amn, artifact_version: data[:version] || @vars[:version], file_name: '', file_ext: 'properties')
224
+ end
221
225
  end
222
-
223
226
  # ---------------------------------------------------------------------------------------------------------------
224
227
  def createProductManifests(manifest)
225
228
  manifest.dup.each do |mod, man|
226
- manifest_data = ''
227
- man.each do |k, v|
228
- manifest_data += "#{k}=#{v}\n"
229
- end
229
+ assemble = lambda{ |mani|
230
+ manifest_data = ''
231
+ mani.each do |k, v|
232
+ manifest_data += "#{k}=#{v}\n"
233
+ end
234
+ manifest_data
235
+ }
236
+ manifest_data = assemble.call(man)
230
237
  data = {
231
238
  name: "#{mod}-manifest",
232
239
  module: "#{mod}-manifest",
@@ -236,7 +243,6 @@ module CiCd
236
243
  build: @vars[:build_num],
237
244
  properties: @properties_matrix
238
245
  }
239
- # tempArtifactFile("#{mod}-manifest", data)
240
246
 
241
247
  data[:file] = Dir::Tmpname.create("#{mod}-manifest") do |tmpnam, n, opts|
242
248
  mode = File::RDWR|File::CREAT|File::EXCL
@@ -248,14 +254,72 @@ module CiCd
248
254
  data[:sha1] = Digest::SHA1.file(data[:file]).hexdigest
249
255
  data[:md5] = Digest::MD5.file(data[:file]).hexdigest
250
256
  @vars[:artifacts] << {
251
- key: "#{mod}-manifest",
252
- data: data.dup,
253
- }
254
- # noinspection RubyStringKeysInHashInspection
255
- # manifest["#{mod}-manifest"]={ "#{mod}-manifest" => "#{@vars[:build_ver]}-#{@vars[:build_num]}" }
257
+ key: "#{mod}-manifest",
258
+ data: data.dup,
259
+ }
260
+
261
+ maybeUpdateManifest(data, man, assemble)
262
+ if 0 == @vars[:return_code]
263
+ maybeUploadArtifactoryObject(data: data, artifact_module: data[:name], artifact_version: data[:version] || @vars[:version], file_name: '', file_ext: 'properties') # -#{@vars[:variant]}
264
+ end
265
+ end
266
+ end
256
267
 
257
- maybeUploadArtifactoryObject(data: data, artifact_module: data[:name], artifact_version: data[:version] || @vars[:version], file_name: '', file_ext: 'properties') # -#{@vars[:variant]}
268
+ # ---------------------------------------------------------------------------------------------------------------
269
+ def maybeUpdateManifest(data, man, assemble, supman=nil)
270
+ artifact_name = getArtifactName(data[:name], '', data[:version], 'properties')
271
+ artifact_path = getArtifactPath(data[:module], data[:version], data[:name])
272
+ objects = maybeArtifactoryObject(data[:module], @vars[:build_ver], false)
273
+ unless objects.nil? or objects.size == 0
274
+ @logger.info "#{artifact_name}(#{artifactory_endpoint()}/#{artifactory_repo()}/#{artifact_path}) exists - #{objects.size} results"
275
+ @logger.info "\t#{objects.map { |o| o.attributes[:uri] }.join("\n\t")}"
276
+ if objects.size > 1
277
+ @logger.error "Matched more than one artifact: #{artifact_path}/#{artifact_name}"
278
+ @vars[:return_code] = Errors::ARTIFACT_MULTI_MATCH
279
+ else
280
+ # Download over our temp file
281
+ local_dir, local_fil = File.split(data[:file])
282
+ @logger.info "Download #{data[:name]} to #{local_fil}"
283
+ @arti_download_artifact = false
284
+ 3.times{
285
+ monitor(30){
286
+ IO.write(data[:file], '')
287
+ objects[0].download(local_dir, filename: local_fil)
288
+ @arti_download_artifact = true
289
+ }
290
+ break if @arti_download_artifact
291
+ }
292
+ # Add our manifest
293
+ data[:data] = IO.read(data[:file])
294
+ raise "Failed to download #{data[:name]}" if data[:data] == '' or not @arti_download_artifact
295
+ manifest = {}
296
+ data[:data].split(/\n+/).each do |line|
297
+ k, v = line.chomp.split(/=/)
298
+ manifest[k] = v #unless man.has_key?(k)
299
+ end
300
+ man = if supman
301
+ manifest.delete(supman)
302
+ man.each do |_,m|
303
+ m.each do |k,v|
304
+ manifest[k] = v
305
+ end
306
+ end
307
+ { supman => manifest }
308
+ else
309
+ man.each do |k,v|
310
+ manifest[k] = v #unless man.has_key?(k)
311
+ end
312
+ manifest
313
+ end
314
+ data[:data] = assemble.call(man)
315
+ # Save the new file
316
+ IO.write(data[:file], data[:data])
317
+ data[:temp] = false
318
+ data[:sha1] = Digest::SHA1.file(data[:file]).hexdigest
319
+ data[:md5] = Digest::MD5.file(data[:file]).hexdigest
320
+ end
258
321
  end
322
+ man
259
323
  end
260
324
 
261
325
  # ---------------------------------------------------------------------------------------------------------------
@@ -284,7 +348,7 @@ module CiCd
284
348
  @vars[:return_code]
285
349
  end
286
350
 
287
- private :createProductManifests, :createProjectsFile, :createSuperManifest
351
+ protected :createProductManifests, :createProjectsFile, :createSuperManifest
288
352
  end
289
353
  end
290
354
  end
@@ -2,7 +2,7 @@ module CiCd
2
2
  module Builder
3
3
  module Manifest
4
4
  # manifest-builder version
5
- VERSION = '0.6.2'
5
+ VERSION = '0.6.4'
6
6
  MAJOR, MINOR, TINY = VERSION.split('.')
7
7
  PATCH = TINY
8
8
  end
@@ -17,8 +17,8 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
19
 
20
- # gem.add_dependency 'cicd-builder', '>= 0.9.48', '< 1.1'
21
- gem.add_dependency 'chefrepo-builder', '>= 0.9.32', '< 1.1'
20
+ # gem.add_dependency 'cicd-builder', '>= 0.9.50', '< 1.1'
21
+ gem.add_dependency 'chefrepo-builder', '>= 0.9.34', '< 1.1'
22
22
  gem.add_dependency 'json', '>= 1.8.1', '< 1.9'
23
23
  gem.add_dependency 's3etag', '>= 0.0.1', '< 0.1.0'
24
24
  gem.add_dependency 'archive-tar-minitar', '= 0.5.2'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manifest-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christo De Lange
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-28 00:00:00.000000000 Z
11
+ date: 2015-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chefrepo-builder
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.9.32
19
+ version: 0.9.34
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '1.1'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.9.32
29
+ version: 0.9.34
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '1.1'