dapp 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NThkZTliY2NiMmIyMjYxOTU2NzU0OWFhMDc4NjgxYTE0Y2U1MDMxZQ==
4
+ ZDIwZTRlMjc2NjRmODU1ZDQ5MmU4YmYyMTVjY2E1NWFmMWI1YmVkNA==
5
5
  data.tar.gz: !binary |-
6
- MjlmYTUwZDNjYTE1MDVlYTIxODdjODVkNjFkMWNmMTJjNWVmMDkwOQ==
6
+ NjMwODFkZWRkY2NmNjZkZDJlMjcyNWFmZjYwYjc4NDIzYzM4ZDMzYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTE5N2M4ZTRlZmE3OWU2ZTUzOTVlYzVjMmVlY2Q3MWE3NjEwMTEyZjU1M2Ri
10
- ZjhmNGI1YzRlMTk5YjE4YmI4MzA3Yzg3N2EyMTkyMmNkODcyNDFmOTkzMGMx
11
- ZjU2MDFiNmI1ODAxOGYxYjM4ZjEwMTI3Yjc3NDVhZDIyMGI1N2U=
9
+ MTFlYmY1MzhmZmFmN2E2ZWUzMWQyNjA1ZDljNGMzNzNjODRjMWUwMzI5MjJi
10
+ YzhiNWRiZGM0NTU0YjVhMzYwNmNmYTY0ZDUxZWRhMzViNTExMzNiZjI1MGZk
11
+ NjIzYTkzZjQ2Zjc3N2QyOGY5OGVhMDU3NmEwYTExM2YzZmE3NWY=
12
12
  data.tar.gz: !binary |-
13
- ZWUxNDM5ZWEyMTRlYWQwMjI3NzllYmE0YzZiY2JjN2U4NTFkYTgxNmQ5ZDA0
14
- MmUxOWEzYjk0MDg4Y2YxNjQ3ZjhiNTQyYmI4Yjg4ZjFkMWU4MDRmOWY1NTRm
15
- MzBiMDJkNjM4NmI3Y2RlNzBlODRiMzg1MThlYmFlMmJiYzUzNWM=
13
+ MWE1NGM5ZmQ4ODg4M2NjY2VmN2U2YTRkNjU1ZjAxYmM0OWQwMjEyNWY3ZjFm
14
+ Yzg5NjIwMGM2ZGY4NDMwYmNmZTZmODU5YjI2ZWJmMGIyMDgxYjA5MGFmMTBj
15
+ YmIxMWY2NGUwNzM3MmE5YTkwMTM3MzMyMWU1OTU5OGQwODk1MzA=
@@ -72,13 +72,13 @@ module Dapp
72
72
 
73
73
  def local_cookbook_paths_for_checksum
74
74
  @local_cookbook_paths_for_checksum ||= berksfile
75
- .local_cookbooks
76
- .values
77
- .map { |cookbook| cookbook[:path] }
78
- .product(LOCAL_COOKBOOK_CHECKSUM_PATTERNS)
79
- .map { |cb, dir| Dir[cb.join(dir)] }
80
- .flatten
81
- .map(&Pathname.method(:new))
75
+ .local_cookbooks
76
+ .values
77
+ .map { |cookbook| cookbook[:path] }
78
+ .product(LOCAL_COOKBOOK_CHECKSUM_PATTERNS)
79
+ .map { |cb, dir| Dir[cb.join(dir)] }
80
+ .flatten
81
+ .map(&Pathname.method(:new))
82
82
  end
83
83
 
84
84
  def stage_cookbooks_paths_for_checksum(stage)
@@ -202,35 +202,38 @@ module Dapp
202
202
  [['metadata.json', 'metadata.json'],
203
203
  ['attributes', 'attributes'],
204
204
  ["files/#{stage}", 'files/default'],
205
- ["templates/#{stage}", 'templates/default']].select { |from, _| cookbook_path.join(from).exist? }
205
+ ["templates/#{stage}", 'templates/default']
206
+ ].select { |from, _| cookbook_path.join(from).exist? }
206
207
  end
207
208
 
208
209
  install_paths = Dir[cookbooks_vendor_path('*')]
209
- .map(&Pathname.method(:new))
210
- .map do |cookbook_path|
211
- cookbook_name = File.basename cookbook_path
212
- is_project = (cookbook_name == project_name)
213
- is_mdapp = cookbook_name.start_with? 'mdapp-'
214
- mdapp_enabled = is_mdapp && application.config._chef._modules.include?(cookbook_name)
215
-
216
- paths = if is_project
217
- recipe_paths = application.config._chef._recipes
218
- .map { |recipe| ["recipes/#{stage}/#{recipe}.rb", "recipes/#{recipe}.rb"] }
219
- .select { |from, _| cookbook_path.join(from).exist? }
220
-
221
- (recipe_paths + common_paths[cookbook_path]) if recipe_paths.any?
222
- elsif is_mdapp && mdapp_enabled
223
- recipe_path = "recipes/#{stage}.rb"
224
- if cookbook_path.join(recipe_path).exist?
225
- [[recipe_path, recipe_path]] + common_paths[cookbook_path]
226
- end
227
- else
228
- [['.', '.']]
229
- end
230
-
231
- [cookbook_path, paths] if paths && paths.any?
232
- end
233
- .compact
210
+ .map(&Pathname.method(:new))
211
+ .map do |cookbook_path|
212
+ cookbook_name = File.basename cookbook_path
213
+ is_project = (cookbook_name == project_name)
214
+ is_mdapp = cookbook_name.start_with? 'mdapp-'
215
+ mdapp_enabled = is_mdapp && application.config._chef._modules.include?(cookbook_name)
216
+
217
+ paths = if is_project
218
+ recipe_paths = application.config._chef._recipes
219
+ .map { |recipe| ["recipes/#{stage}/#{recipe}.rb", "recipes/#{recipe}.rb"] }
220
+ .select { |from, _| cookbook_path.join(from).exist? }
221
+
222
+ (recipe_paths + common_paths[cookbook_path]) if recipe_paths.any?
223
+ elsif is_mdapp && mdapp_enabled
224
+ recipe_path = "recipes/#{stage}.rb"
225
+ if cookbook_path.join(recipe_path).exist?
226
+ [[recipe_path, recipe_path]] + common_paths[cookbook_path]
227
+ elsif cookbook_metadata.depends.include? cookbook_name
228
+ [['metadata.json', 'metadata.json']]
229
+ end
230
+ else
231
+ [['.', '.']]
232
+ end
233
+
234
+ [cookbook_path, paths] if paths && paths.any?
235
+ end
236
+ .compact
234
237
 
235
238
  stage_cookbooks_path(stage).mkpath
236
239
  install_paths.each do |cookbook_path, paths|
@@ -18,6 +18,10 @@ module Dapp
18
18
  @cookbook_metadata.version = version
19
19
  end
20
20
 
21
+ def depends(dependency)
22
+ @cookbook_metadata.depends << dependency
23
+ end
24
+
21
25
  # rubocop:disable Style/MethodMissing
22
26
  def method_missing(*_a, &_blk)
23
27
  end
@@ -34,6 +38,10 @@ module Dapp
34
38
  attr_accessor :name
35
39
  attr_accessor :version
36
40
 
41
+ def depends
42
+ @depends ||= []
43
+ end
44
+
37
45
  def initialize(path)
38
46
  @path = path
39
47
  @parser = Parser.new(self)
@@ -1,5 +1,5 @@
1
1
  # Version
2
2
  module Dapp
3
- VERSION = '0.3.2'.freeze
3
+ VERSION = '0.3.3'.freeze
4
4
  BUILD_CACHE_VERSION = 1
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Stolyarov