vara 0.19.0 → 0.20.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e41d610b2187ae48c3fd50782d51cac3453588a0
4
- data.tar.gz: 9c450bf99a4a73351c510ba95287abf7f6562b4c
3
+ metadata.gz: ea249c4314dc11fc544234a01f69b1c4750ea688
4
+ data.tar.gz: f303f4a246979d3bccd56d5699069fd1ccbfe05a
5
5
  SHA512:
6
- metadata.gz: 255859e178c8e8ea85f902d80700072c8534584b8ff80bd062c2e21cc7b65c2e923b3ed07004f3bcb7040d3aaf0175ba044fc6a177d787b513498d020c528e63
7
- data.tar.gz: 7b62a9c3dc6f952f0d6e3c41a5fd98bc1538fe4bbbc4798d9e0b4852000f423aa48f8cbcc962db1591a6fc45760ca64b9a5e000f5952c32c9d0c59266187ed31
6
+ metadata.gz: 76c90a9297ff7948c50d9488f49d3e3e64d5422ef7002f7318c367691df7f8cb4cbb6c0b71b7a5ade0353868fbdffbea8dd2a993468db1fe4bea6e0280d96e1b
7
+ data.tar.gz: 0813df3e4aba5fe610eb4ec2db117ba92410ce05978cb271286de40ccede8bf8171a123ff6061792e3a4599e9046ea29bc67bd42e90bbd51a34df204ff471cc3
data/lib/vara/cli.rb CHANGED
@@ -64,7 +64,7 @@ module Vara
64
64
  desc 'zip-pivotal PRODUCT_DIR', 'Zips up the .pivotal product given that all artifacts are synced locally'
65
65
  def zip_pivotal(product_dir)
66
66
  require 'vara/product'
67
- product = Vara::Product.new(File.expand_path(product_dir))
67
+ product = Vara::Product.new(File.expand_path(product_dir), options)
68
68
  product.build
69
69
  say("file #{product.path} has been created")
70
70
  say("file #{product.bom_path} has been created")
@@ -73,6 +73,7 @@ module Vara
73
73
 
74
74
  desc 'build-pivotal PRODUCT_DIR', 'Generate a .pivotal from a vara-flavored product repository'
75
75
  option 'final', type: :boolean, desc: 'When true, $PRERELEASE_VERSION$ is removed instead of substituted'
76
+ option 'exclude_releases', type: :boolean, desc: 'When true, the empty files will be included instead of actual release binaries'
76
77
  option 'version', type: :string, desc: 'When given, use the version as specified'
77
78
  option 'external_releases', desc: 'Comma delimited paths to release metadata files to use when generating the .pivotal'
78
79
  option 'cycle', default: 'alpha'
@@ -80,7 +81,7 @@ module Vara
80
81
  metadata_path = build_metadata(product_dir)
81
82
  build_migrations(product_dir)
82
83
  lint(metadata_path)
83
- download_artifacts(metadata_path)
84
+ download_artifacts(metadata_path) unless options[:exclude_releases]
84
85
  zip_pivotal(product_dir)
85
86
  end
86
87
  end
data/lib/vara/product.rb CHANGED
@@ -12,8 +12,9 @@ module Vara
12
12
 
13
13
  attr_reader :base_dir
14
14
 
15
- def initialize(base_dir)
15
+ def initialize(base_dir, options = {})
16
16
  @base_dir = base_dir
17
+ @options = options
17
18
  end
18
19
 
19
20
  def metadata_file
@@ -25,7 +26,7 @@ module Vara
25
26
  fail 'binaries.yml includes both stemcell and stemcell criteria keys'
26
27
  end
27
28
 
28
- ProductArtifactZipper.new(path, ProductContents.from_metadata_path(metadata_file)).zip!
29
+ ProductArtifactZipper.new(path, ProductContents.from_metadata_path(metadata_file), @options).zip!
29
30
 
30
31
  MD5Creator.md5(path)
31
32
 
@@ -1,3 +1,5 @@
1
+ require 'digest/md5'
2
+
1
3
  module Vara
2
4
  class ProductArtifactValidator
3
5
  def self.validate_file_checksum(file_metadata, file_name)
@@ -6,9 +6,10 @@ module Vara
6
6
  class ProductArtifactZipper
7
7
  include Loggable
8
8
 
9
- def initialize(artifact_path, product_contents)
9
+ def initialize(artifact_path, product_contents, options = {})
10
10
  @artifact_path = artifact_path
11
11
  @product_contents = product_contents
12
+ @options = options
12
13
  end
13
14
 
14
15
  def zip!
@@ -73,9 +74,14 @@ module Vara
73
74
  FileUtils.mkdir('releases')
74
75
 
75
76
  product_contents.release_paths.each do |release_path|
76
- FileUtils.cp(release_path, 'releases')
77
+ if @options[:exclude_releases]
78
+ FileUtils.touch("releases/#{File.basename(release_path)}")
79
+ else
80
+ FileUtils.cp(release_path, 'releases')
81
+ end
77
82
  end
78
83
 
84
+ return if @options[:exclude_releases]
79
85
  product_metadata.releases_metadata.each do |release_metadata|
80
86
  ProductArtifactValidator.validate_file_checksum(
81
87
  release_metadata,
data/lib/vara/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Vara
2
- VERSION = '0.19.0'.freeze
2
+ VERSION = '0.20.0'.freeze
3
3
  end
4
4
 
5
5
  # Copyright (c) 2014-2015 Pivotal Software, Inc.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vara
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CF Release Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-28 00:00:00.000000000 Z
11
+ date: 2016-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -205,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
205
  version: '0'
206
206
  requirements: []
207
207
  rubyforge_project:
208
- rubygems_version: 2.4.5
208
+ rubygems_version: 2.4.5.1
209
209
  signing_key:
210
210
  specification_version: 4
211
211
  summary: Vara starts with a product git repository that meets specific requirements.