bosh-gen 0.97.0 → 0.98.0

Sign up to get free protection for your applications and to get access to all the features.
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: ''