bosh-gen 0.97.0 → 0.98.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
- SHA1:
3
- metadata.gz: 3b7692351ac5b6596e8b513a4798897bdbc89018
4
- data.tar.gz: c2c2156c41a4127e0f4ab4a918f71d7ac18c2f7f
2
+ SHA256:
3
+ metadata.gz: ae99e485c6d1ef012fa9791ea824916de6553b86fc1652876336e72a215bfd94
4
+ data.tar.gz: 5db89e28546f43d7e7f53c4bb37f3fa06244fb3925eab0a57606f9dcb6190c82
5
5
  SHA512:
6
- metadata.gz: 4f4f02ce3983d769d5ee81e239f89f05daf823d44b394e2f5635e73322d05fa9b91a0b37ae6acdb46f887e560bf8ded11c31d024900a5253a0e96c7de9b20ab1
7
- data.tar.gz: 2f7fe7100365e577267af10cfa69c4fa7ec5b56da1134db7130b5664038bb2f5c62d862b3a56d5fd590958ed9b7eb1b0c592265742e73b4e653f9aa05639c6f5
6
+ metadata.gz: f6e40d20102695231c3d30a40bb4b4eb5a193a502837c89b0c010f3c21e09d59a78972e42c3549bfa39d89380e84b75a9c65f94791a293a7bd3f4a5953e68f5a
7
+ data.tar.gz: 955dd272544f9cbdb11924a71408fdfa7bd928b4b9d5da8f90131282dddef0c4cfa9afcbea4ce4b534549e0b715dc4ea52970fdc61c55b542730d5d39da8127d
@@ -60,8 +60,11 @@ module Bosh::Gen
60
60
  file_globs.each do |file_glob|
61
61
  source_files = Dir.glob(File.join(source_release_path, "src", file_glob))
62
62
  source_files.each do |source_path|
63
- target_path = source_path.scan(%r{/blobs/(.*)}).flatten.first
64
- copy_file(File.join("src", target_path))
63
+ if target_path = source_path.scan(%r{/blobs/(.*)}).flatten.first
64
+ copy_file(File.join("src", target_path))
65
+ else
66
+ puts("Failed to copy file: #{source_path}")
67
+ end
65
68
  end
66
69
  end
67
70
 
@@ -1,4 +1,5 @@
1
1
  require 'yaml'
2
+ require 'json'
2
3
  require 'thor/group'
3
4
 
4
5
  module Bosh::Gen
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: <%= job_name %>
3
3
 
4
- packages: []
4
+ packages: <%= dependencies.to_json %>
5
5
  templates:
6
6
  config/bpm.yml: config/bpm.yml
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: <%= job_name %>
3
3
 
4
- packages: []
4
+ packages: <%= dependencies.to_json %>
5
5
  templates:
6
6
  bin/ctl: bin/ctl
7
7
  bin/monit_debugger: bin/monit_debugger
@@ -35,7 +35,7 @@ update:
35
35
 
36
36
  releases:
37
37
  - name: bpm
38
- version: 0.2.0
38
+ version: 0.5.0
39
39
  url: git+https://github.com/cloudfoundry-incubator/bpm-release
40
40
  - name: <%= project_name %>
41
41
  version: latest # TODO: update after first final release
@@ -53,7 +53,11 @@ module Bosh::Gen
53
53
 
54
54
  SHELL
55
55
 
56
- dependencies.each do |package|
56
+ language_packs.each do |package|
57
+ packaging << "source /var/vcap/packages/#{package}/bosh/compile.env\n"
58
+ end
59
+
60
+ simple_dependencies.each do |package|
57
61
  packaging << "PATH=/var/vcap/packages/#{package}/bin:$PATH\n"
58
62
  end
59
63
 
@@ -104,7 +108,7 @@ module Bosh::Gen
104
108
  def package_specification
105
109
  src_files =
106
110
  files.map {|f| "#{name}/#{File.basename(f)}"} + # new blobs
107
- existing_sources # existing files/sources, like 'myapp/**/*'
111
+ existing_sources_as_globs # existing directories, like 'myapp'
108
112
  config = { "name" => name, "dependencies" => dependencies, "files" => src_files }
109
113
  create_file package_dir("spec"), YAML.dump(config)
110
114
  end
@@ -163,6 +167,19 @@ module Bosh::Gen
163
167
  archives
164
168
  end
165
169
 
170
+ def language_packs
171
+ dependencies.select do |dep|
172
+ File.exist?(File.join("packages", dep, "spec.lock"))
173
+ end
174
+ end
175
+
176
+ # dependencies that are not language_packs
177
+ def simple_dependencies
178
+ dependencies.select do |dep|
179
+ !File.exist?(File.join("packages", dep, "spec.lock"))
180
+ end
181
+ end
182
+
166
183
  # Returns all .tar.gz in the files list
167
184
  def tarballs_in_files
168
185
  files.select { |file| file =~ /\.(?:tar.gz|tgz)/ }
@@ -172,6 +189,16 @@ module Bosh::Gen
172
189
  def zipfiles_in_files
173
190
  files.select { |file| file =~ /\.zip/ }
174
191
  end
192
+
193
+ def existing_sources_as_globs
194
+ existing_sources.map do |src|
195
+ if File.directory?(File.join("src", src))
196
+ "#{src}/**/*"
197
+ else
198
+ src
199
+ end
200
+ end
201
+ end
175
202
 
176
203
  # If primary_package_file was mysql's client-5.1.62-rel13.3-435-Linux-x86_64.tar.gz
177
204
  # then returns "client-5.1.62-rel13.3-435-Linux-x86_64"
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Gen
3
- VERSION = "0.97.0"
3
+ VERSION = "0.98.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.97.0
4
+ version: 0.98.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dr Nic Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-17 00:00:00.000000000 Z
11
+ date: 2018-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -244,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
244
  version: '0'
245
245
  requirements: []
246
246
  rubyforge_project:
247
- rubygems_version: 2.6.14
247
+ rubygems_version: 2.7.3
248
248
  signing_key:
249
249
  specification_version: 4
250
250
  summary: ''