dapp 0.7.20 → 0.7.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dapp.rb +0 -1
- data/lib/dapp/config/artifact_group.rb +7 -2
- data/lib/dapp/config/base.rb +4 -0
- data/lib/dapp/config/dimg.rb +0 -1
- data/lib/dapp/config/dimg/instance_methods.rb +20 -21
- data/lib/dapp/config/dimg/validation.rb +2 -3
- data/lib/dapp/config/dimg_group.rb +2 -3
- data/lib/dapp/config/dimg_group_base.rb +8 -8
- data/lib/dapp/config/directive/base.rb +2 -20
- data/lib/dapp/config/directive/docker/dimg.rb +8 -0
- data/lib/dapp/config/directive/shell/dimg.rb +4 -0
- data/lib/dapp/project/command/list.rb +1 -1
- data/lib/dapp/version.rb +1 -1
- metadata +1 -2
- data/lib/dapp/config/dimg/merging.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f9e155a712a0ed1bf5eee4f2eb9eb3ee058e38d
|
4
|
+
data.tar.gz: f490000499dcdb9654ed0afb7d92b2bd6d8d5073
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ecc323bb36092b93fb788ee1ac3fb152b42891f64b7e4d904c905f55fdc6d4393252763789f03c1484fd4df06d35c3c1d6e3a0efafe930ae8508289cd195b3f
|
7
|
+
data.tar.gz: 0e3bac35a542c600f1cd39d561ddcef7c41899faecdbefc94aeca8b53e25b251f6c3324238529583889c2d386843d53b81ce84153561d11c891395e7bcca543c
|
data/lib/dapp.rb
CHANGED
@@ -64,7 +64,6 @@ require 'dapp/filelock'
|
|
64
64
|
require 'dapp/config/base'
|
65
65
|
require 'dapp/config/directive/base'
|
66
66
|
require 'dapp/config/dimg/instance_methods'
|
67
|
-
require 'dapp/config/dimg/merging'
|
68
67
|
require 'dapp/config/dimg/validation'
|
69
68
|
require 'dapp/config/dimg'
|
70
69
|
require 'dapp/config/artifact_dimg'
|
@@ -30,9 +30,14 @@ module Dapp
|
|
30
30
|
|
31
31
|
def export(*args, &blk)
|
32
32
|
_export.concat begin
|
33
|
-
artifact_config =
|
33
|
+
artifact_config = pass_to_default(ArtifactDimg.new(
|
34
|
+
"artifact-#{SecureRandom.hex(2)}",
|
35
|
+
project: project
|
36
|
+
))
|
37
|
+
|
34
38
|
artifact = Directive::Artifact.new(project: project, config: artifact_config)
|
35
39
|
artifact.send(:export, *args, &blk)
|
40
|
+
|
36
41
|
artifact._export
|
37
42
|
end
|
38
43
|
end
|
@@ -44,7 +49,7 @@ module Dapp
|
|
44
49
|
end
|
45
50
|
|
46
51
|
def passed_directives
|
47
|
-
super <<
|
52
|
+
super << :@_artifact_dependencies
|
48
53
|
end
|
49
54
|
end
|
50
55
|
end
|
data/lib/dapp/config/base.rb
CHANGED
data/lib/dapp/config/dimg.rb
CHANGED
@@ -35,7 +35,7 @@ module Dapp
|
|
35
35
|
|
36
36
|
def artifact(&blk)
|
37
37
|
_artifact.concat begin
|
38
|
-
|
38
|
+
pass_to_custom(ArtifactGroup.new(project: project), :clone_to_artifact).tap do |artifact_group|
|
39
39
|
artifact_group.instance_eval(&blk) if block_given?
|
40
40
|
end._export
|
41
41
|
end
|
@@ -160,34 +160,33 @@ module Dapp
|
|
160
160
|
directive
|
161
161
|
end
|
162
162
|
|
163
|
-
def
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
next if (value = instance_variable_get(directive_variable_name)).nil?
|
168
|
-
obj_value = obj.instance_variable_get(directive_variable_name)
|
163
|
+
def pass_to_default(dimg)
|
164
|
+
pass_to_custom(dimg, :clone)
|
165
|
+
end
|
169
166
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
167
|
+
def pass_to_custom(obj, clone_method)
|
168
|
+
passed_directives.each do |directive|
|
169
|
+
next if (variable = instance_variable_get(directive)).nil?
|
170
|
+
|
171
|
+
obj.instance_variable_set(directive, begin
|
172
|
+
case variable
|
173
|
+
when Directive::Base, GitArtifact then variable.send(clone_method)
|
174
|
+
when Symbol then variable
|
175
|
+
when Array then variable.dup
|
176
|
+
when TrueClass, FalseClass then variable
|
174
177
|
else
|
175
|
-
|
178
|
+
raise
|
176
179
|
end
|
177
|
-
|
178
|
-
obj.instance_variable_set(directive_variable_name, send(:"merge_#{directive}", obj_value, value))
|
179
|
-
else
|
180
|
-
raise
|
181
|
-
end
|
180
|
+
end)
|
182
181
|
end
|
183
182
|
obj
|
184
183
|
end
|
185
184
|
|
186
185
|
def passed_directives
|
187
|
-
[
|
188
|
-
|
189
|
-
|
190
|
-
|
186
|
+
[:@_chef, :@_shell, :@_docker,
|
187
|
+
:@_git_artifact, :@_mount,
|
188
|
+
:@_artifact, :@_builder, :@_dev_mode,
|
189
|
+
:@_install_dependencies, :@_setup_dependencies]
|
191
190
|
end
|
192
191
|
end
|
193
192
|
end
|
@@ -22,9 +22,8 @@ module Dapp
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def directives_validate!
|
25
|
-
passed_directives.each do |
|
26
|
-
|
27
|
-
next if (value = instance_variable_get(directive_variable_name)).nil?
|
25
|
+
passed_directives.each do |v|
|
26
|
+
next if (value = instance_variable_get(v)).nil?
|
28
27
|
Array(value).each do |elm|
|
29
28
|
elm.send(:validate!) if elm.methods.include?(:validate!)
|
30
29
|
end
|
@@ -3,7 +3,6 @@ module Dapp
|
|
3
3
|
# DimgGroup
|
4
4
|
class DimgGroup < DimgGroupBase
|
5
5
|
include Dimg::InstanceMethods
|
6
|
-
include Dimg::Merging
|
7
6
|
|
8
7
|
def chef(&blk)
|
9
8
|
check_dimg_directive_order(:chef)
|
@@ -38,11 +37,11 @@ module Dapp
|
|
38
37
|
protected
|
39
38
|
|
40
39
|
def before_dimg_eval(dimg)
|
41
|
-
|
40
|
+
pass_to_default(dimg)
|
42
41
|
end
|
43
42
|
|
44
43
|
def before_dimg_group_eval(dimg_group)
|
45
|
-
|
44
|
+
pass_to_default(dimg_group)
|
46
45
|
end
|
47
46
|
|
48
47
|
def check_dimg_directive_order(directive)
|
@@ -17,16 +17,16 @@ module Dapp
|
|
17
17
|
|
18
18
|
def dimg(name = nil, &blk)
|
19
19
|
Config::Dimg.new(name, project: project).tap do |dimg|
|
20
|
+
before_dimg_eval(dimg)
|
20
21
|
dimg.instance_eval(&blk) if block_given?
|
21
|
-
after_dimg_eval(dimg)
|
22
22
|
@_dimg << dimg
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
26
|
def dimg_group(&blk)
|
27
27
|
Config::DimgGroup.new(project: project).tap do |dimg_group|
|
28
|
+
before_dimg_group_eval(dimg_group)
|
28
29
|
dimg_group.instance_eval(&blk) if block_given?
|
29
|
-
after_dimg_group_eval(dimg_group)
|
30
30
|
@_dimg_group << dimg_group
|
31
31
|
end
|
32
32
|
end
|
@@ -37,16 +37,16 @@ module Dapp
|
|
37
37
|
|
38
38
|
protected
|
39
39
|
|
40
|
-
def
|
41
|
-
|
40
|
+
def before_dimg_eval(dimg)
|
41
|
+
pass_to_default(dimg)
|
42
42
|
end
|
43
43
|
|
44
|
-
def
|
45
|
-
|
44
|
+
def before_dimg_group_eval(dimg_group)
|
45
|
+
pass_to_default(dimg_group)
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
49
|
-
obj.instance_variable_set(:@_dev_mode,
|
48
|
+
def pass_to_default(obj)
|
49
|
+
obj.instance_variable_set(:@_dev_mode, @_dev_mode)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -9,26 +9,8 @@ module Dapp
|
|
9
9
|
_clone
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
13
|
-
|
14
|
-
|
15
|
-
instance_variables.each do |variable_name|
|
16
|
-
next if (obj_value = cloned_obj.instance_variable_get(variable_name)).nil?
|
17
|
-
value = instance_variable_get(variable_name)
|
18
|
-
|
19
|
-
case obj_value
|
20
|
-
when Directive::Base
|
21
|
-
if value.nil?
|
22
|
-
instance_variable_set(variable_name, obj_value)
|
23
|
-
else
|
24
|
-
value.send(:merge, obj_value)
|
25
|
-
end
|
26
|
-
when Array then instance_variable_set(variable_name, obj_value.concat(Array(value)))
|
27
|
-
when Hash then instance_variable_set(variable_name, obj_value.merge(Hash(value)))
|
28
|
-
else
|
29
|
-
instance_variable_set(variable_name, value || obj_value)
|
30
|
-
end
|
31
|
-
end
|
12
|
+
def clone_to_artifact
|
13
|
+
clone
|
32
14
|
end
|
33
15
|
end
|
34
16
|
end
|
data/lib/dapp/version.rb
CHANGED
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.7.
|
4
|
+
version: 0.7.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Stolyarov
|
@@ -438,7 +438,6 @@ files:
|
|
438
438
|
- lib/dapp/config/base.rb
|
439
439
|
- lib/dapp/config/dimg.rb
|
440
440
|
- lib/dapp/config/dimg/instance_methods.rb
|
441
|
-
- lib/dapp/config/dimg/merging.rb
|
442
441
|
- lib/dapp/config/dimg/validation.rb
|
443
442
|
- lib/dapp/config/dimg_group.rb
|
444
443
|
- lib/dapp/config/dimg_group_base.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
class Dimg < Base
|
4
|
-
# Merging
|
5
|
-
module Merging
|
6
|
-
protected
|
7
|
-
|
8
|
-
[:mount, :artifact].each do |directive|
|
9
|
-
define_method "merge_#{directive}" do |a, b|
|
10
|
-
b.map { |a| a.send(:_clone) }.concat(Array(a))
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
[:install_dependencies, :setup_dependencies, :artifact_dependencies].each do |directive|
|
15
|
-
define_method "merge_#{directive}" do |a, b|
|
16
|
-
b.dup.concat(Array(a))
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
[:builder, :dev_mode].each do |directive|
|
21
|
-
define_method "merge_#{directive}" do |a, b|
|
22
|
-
a.nil? ? b : a
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|