dapp 0.11.0 → 0.12.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.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/config/en/net_status.yml +36 -4
  3. data/lib/dapp.rb +84 -36
  4. data/lib/dapp/cli.rb +3 -2
  5. data/lib/dapp/cli/command/base.rb +69 -0
  6. data/lib/dapp/config/config.rb +17 -0
  7. data/lib/dapp/config/directive/base.rb +90 -3
  8. data/lib/dapp/dapp.rb +6 -14
  9. data/lib/dapp/dapp/dappfile.rb +20 -27
  10. data/lib/dapp/dapp/deps/base.rb +2 -2
  11. data/lib/dapp/dapp/lock.rb +1 -1
  12. data/lib/dapp/dapp/logging/base.rb +11 -7
  13. data/lib/dapp/dapp/logging/process.rb +4 -2
  14. data/lib/dapp/dapp/shellout/base.rb +2 -2
  15. data/lib/dapp/dapp/ssh_agent.rb +2 -2
  16. data/lib/dapp/deployment.rb +1 -0
  17. data/lib/dapp/deployment/app.rb +120 -0
  18. data/lib/dapp/deployment/cli/cli.rb +1 -0
  19. data/lib/dapp/deployment/cli/command/base.rb +14 -0
  20. data/lib/dapp/deployment/cli/command/deployment.rb +21 -0
  21. data/lib/dapp/deployment/cli/command/deployment/apply.rb +26 -0
  22. data/lib/dapp/deployment/cli/command/deployment/minikube_setup.rb +13 -0
  23. data/lib/dapp/deployment/cli/command/deployment/mrproper.rb +13 -0
  24. data/lib/dapp/deployment/cli/command/deployment/secret_generate.rb +13 -0
  25. data/lib/dapp/deployment/cli/command/deployment/secret_key_generate.rb +13 -0
  26. data/lib/dapp/deployment/config/config.rb +46 -0
  27. data/lib/dapp/deployment/config/directive/app.rb +28 -0
  28. data/lib/dapp/deployment/config/directive/app/instance_methods.rb +51 -0
  29. data/lib/dapp/deployment/config/directive/base.rb +13 -0
  30. data/lib/dapp/deployment/config/directive/deployment.rb +11 -0
  31. data/lib/dapp/deployment/config/directive/expose.rb +68 -0
  32. data/lib/dapp/deployment/config/directive/group.rb +27 -0
  33. data/lib/dapp/deployment/config/directive/job.rb +28 -0
  34. data/lib/dapp/deployment/config/directive/mod/group.rb +22 -0
  35. data/lib/dapp/deployment/config/directive/mod/jobs.rb +26 -0
  36. data/lib/dapp/deployment/config/directive/namespace.rb +26 -0
  37. data/lib/dapp/deployment/config/directive/namespace/instance_methods.rb +37 -0
  38. data/lib/dapp/deployment/core_ext/hash.rb +19 -0
  39. data/lib/dapp/deployment/dapp/command/apply.rb +83 -0
  40. data/lib/dapp/deployment/dapp/command/common.rb +17 -0
  41. data/lib/dapp/deployment/dapp/command/minikube_setup.rb +393 -0
  42. data/lib/dapp/deployment/dapp/command/mrproper.rb +12 -0
  43. data/lib/dapp/deployment/dapp/command/secret_generate.rb +17 -0
  44. data/lib/dapp/deployment/dapp/command/secret_key_generate.rb +13 -0
  45. data/lib/dapp/deployment/dapp/dapp.rb +18 -0
  46. data/lib/dapp/deployment/dapp/dappfile.rb +23 -0
  47. data/lib/dapp/deployment/deployment.rb +46 -0
  48. data/lib/dapp/deployment/error/app.rb +7 -0
  49. data/lib/dapp/deployment/error/base.rb +7 -0
  50. data/lib/dapp/deployment/error/command.rb +7 -0
  51. data/lib/dapp/deployment/error/config.rb +7 -0
  52. data/lib/dapp/deployment/error/deployment.rb +7 -0
  53. data/lib/dapp/deployment/error/kubernetes.rb +7 -0
  54. data/lib/dapp/deployment/kube_app.rb +277 -0
  55. data/lib/dapp/deployment/kube_base.rb +97 -0
  56. data/lib/dapp/deployment/kube_deployment.rb +51 -0
  57. data/lib/dapp/deployment/kubernetes.rb +174 -0
  58. data/lib/dapp/deployment/kubernetes/error.rb +20 -0
  59. data/lib/dapp/deployment/mod/jobs.rb +37 -0
  60. data/lib/dapp/deployment/mod/namespace.rb +58 -0
  61. data/lib/dapp/deployment/mod/system_environments.rb +30 -0
  62. data/lib/dapp/deployment/secret.rb +93 -0
  63. data/lib/dapp/dimg/artifact.rb +1 -1
  64. data/lib/dapp/dimg/build/stage/artifact_default.rb +35 -23
  65. data/lib/dapp/dimg/build/stage/base.rb +1 -1
  66. data/lib/dapp/dimg/build/stage/before_setup.rb +0 -2
  67. data/lib/dapp/dimg/build/stage/build_artifact.rb +0 -2
  68. data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +2 -2
  69. data/lib/dapp/dimg/build/stage/install/install.rb +0 -1
  70. data/lib/dapp/dimg/build/stage/setup/setup.rb +0 -1
  71. data/lib/dapp/dimg/cli/cli.rb +1 -1
  72. data/lib/dapp/dimg/cli/command/base.rb +14 -0
  73. data/lib/dapp/dimg/cli/{dimg.rb → command/dimg.rb} +5 -7
  74. data/lib/dapp/dimg/cli/{bp.rb → command/dimg/bp.rb} +3 -3
  75. data/lib/dapp/dimg/cli/{build.rb → command/dimg/build.rb} +3 -3
  76. data/lib/dapp/dimg/cli/{build_context.rb → command/dimg/build_context.rb} +3 -3
  77. data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/export.rb +4 -4
  78. data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/import.rb +4 -4
  79. data/lib/dapp/dimg/cli/{cleanup.rb → command/dimg/cleanup.rb} +3 -3
  80. data/lib/dapp/dimg/cli/{list.rb → command/dimg/list.rb} +3 -3
  81. data/lib/dapp/dimg/cli/{mrproper.rb → command/dimg/mrproper.rb} +4 -4
  82. data/lib/dapp/dimg/cli/{push.rb → command/dimg/push.rb} +5 -5
  83. data/lib/dapp/dimg/cli/{run.rb → command/dimg/run.rb} +8 -8
  84. data/lib/dapp/dimg/cli/{spush.rb → command/dimg/spush.rb} +4 -4
  85. data/lib/dapp/dimg/cli/{stage_image.rb → command/dimg/stage_image.rb} +3 -3
  86. data/lib/dapp/dimg/cli/{stages.rb → command/dimg/stages.rb} +3 -3
  87. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_local.rb +6 -6
  88. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_repo.rb +5 -5
  89. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_local.rb +5 -5
  90. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_repo.rb +6 -6
  91. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/pull.rb +6 -6
  92. data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/push.rb +6 -6
  93. data/lib/dapp/dimg/cli/{tag.rb → command/dimg/tag.rb} +6 -6
  94. data/lib/dapp/dimg/config/config.rb +20 -0
  95. data/lib/dapp/dimg/config/directive/artifact_dimg.rb +19 -0
  96. data/lib/dapp/dimg/config/directive/artifact_group.rb +45 -0
  97. data/lib/dapp/dimg/config/directive/dimg.rb +36 -0
  98. data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +149 -0
  99. data/lib/dapp/dimg/config/directive/dimg/validation.rb +128 -0
  100. data/lib/dapp/dimg/config/directive/dimg_group.rb +64 -0
  101. data/lib/dapp/dimg/config/directive/dimg_group_base.rb +46 -0
  102. data/lib/dapp/dimg/config/directive/docker/dimg.rb +4 -4
  103. data/lib/dapp/dimg/config/directive/shell/dimg.rb +1 -1
  104. data/lib/dapp/dimg/dapp/command/bp.rb +4 -4
  105. data/lib/dapp/dimg/dapp/command/build.rb +2 -2
  106. data/lib/dapp/dimg/dapp/command/build_context/common.rb +2 -2
  107. data/lib/dapp/dimg/dapp/command/build_context/export.rb +1 -1
  108. data/lib/dapp/dimg/dapp/command/build_context/import.rb +1 -1
  109. data/lib/dapp/dimg/dapp/command/cleanup.rb +1 -1
  110. data/lib/dapp/dimg/dapp/command/common.rb +19 -4
  111. data/lib/dapp/dimg/dapp/command/list.rb +1 -1
  112. data/lib/dapp/dimg/dapp/command/mrproper.rb +3 -3
  113. data/lib/dapp/dimg/dapp/command/push.rb +6 -5
  114. data/lib/dapp/dimg/dapp/command/run.rb +1 -1
  115. data/lib/dapp/dimg/dapp/command/spush.rb +4 -3
  116. data/lib/dapp/dimg/dapp/command/stage_image.rb +2 -2
  117. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +1 -1
  118. data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +3 -3
  119. data/lib/dapp/dimg/dapp/command/stages/common.rb +4 -4
  120. data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +1 -1
  121. data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +1 -1
  122. data/lib/dapp/dimg/dapp/command/stages/pull.rb +5 -4
  123. data/lib/dapp/dimg/dapp/command/stages/push.rb +4 -3
  124. data/lib/dapp/dimg/dapp/command/tag.rb +3 -2
  125. data/lib/dapp/dimg/dapp/dapp.rb +33 -0
  126. data/lib/dapp/dimg/dapp/dappfile.rb +25 -0
  127. data/lib/dapp/dimg/dimg.rb +3 -3
  128. data/lib/dapp/dimg/dimg/path.rb +1 -1
  129. data/lib/dapp/dimg/dimg/stages.rb +1 -1
  130. data/lib/dapp/dimg/dimg/tags.rb +5 -5
  131. data/lib/dapp/dimg/docker_registry.rb +3 -7
  132. data/lib/dapp/dimg/git_artifact.rb +30 -14
  133. data/lib/dapp/dimg/git_repo/base.rb +13 -1
  134. data/lib/dapp/dimg/git_repo/own.rb +9 -1
  135. data/lib/dapp/dimg/image/docker.rb +9 -3
  136. data/lib/dapp/helper/cli.rb +3 -1
  137. data/lib/dapp/helper/net_status.rb +5 -1
  138. data/lib/dapp/helper/trivia.rb +1 -1
  139. data/lib/dapp/version.rb +2 -2
  140. metadata +84 -38
  141. data/lib/dapp/cli/base.rb +0 -63
  142. data/lib/dapp/config/base.rb +0 -54
  143. data/lib/dapp/dimg/build/stage/mod/git_artifact_dependencies.rb +0 -23
  144. data/lib/dapp/dimg/cli/base.rb +0 -16
  145. data/lib/dapp/dimg/config/artifact_dimg.rb +0 -17
  146. data/lib/dapp/dimg/config/artifact_group.rb +0 -43
  147. data/lib/dapp/dimg/config/base.rb +0 -7
  148. data/lib/dapp/dimg/config/dimg.rb +0 -24
  149. data/lib/dapp/dimg/config/dimg/instance_methods.rb +0 -179
  150. data/lib/dapp/dimg/config/dimg/validation.rb +0 -126
  151. data/lib/dapp/dimg/config/dimg_group.rb +0 -61
  152. data/lib/dapp/dimg/config/dimg_group_base.rb +0 -54
  153. data/lib/dapp/dimg/config/dimg_group_main.rb +0 -22
  154. data/lib/dapp/dimg/dapp/command.rb +0 -21
@@ -1,7 +0,0 @@
1
- module Dapp
2
- module Dimg
3
- module Config
4
- class Base < ::Dapp::Config::Base; end
5
- end
6
- end
7
- end
@@ -1,24 +0,0 @@
1
- module Dapp
2
- module Dimg
3
- module Config
4
- class Dimg < Base
5
- include Validation
6
- include InstanceMethods
7
-
8
- attr_reader :_name
9
-
10
- def initialize(name, dapp:)
11
- self._name = name
12
- super(dapp: dapp)
13
- end
14
-
15
- def _name=(name)
16
- return if name.nil?
17
- reg = '^[[[:alnum:]]_.-]*$'
18
- raise Error::Config, code: :dimg_name_incorrect, data: { name: name, reg: reg } unless name =~ /#{reg}/
19
- @_name = name
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,179 +0,0 @@
1
- module Dapp
2
- module Dimg
3
- module Config
4
- class Dimg < Base
5
- module InstanceMethods
6
- attr_reader :_builder
7
- attr_reader :_chef, :_shell, :_docker, :_git_artifact, :_mount, :_artifact
8
- attr_reader :_artifact_groups
9
-
10
- def dev_mode
11
- @_dev_mode = true
12
- end
13
-
14
- def chef(&blk)
15
- builder(:chef)
16
- directive_eval(_chef, &blk)
17
- end
18
-
19
- def shell(&blk)
20
- builder(:shell)
21
- directive_eval(_shell, &blk)
22
- end
23
-
24
- def docker(&blk)
25
- directive_eval(_docker, &blk)
26
- end
27
-
28
- def artifact(&blk)
29
- pass_to_custom(ArtifactGroup.new(dapp: dapp), :clone_to_artifact).tap do |artifact_group|
30
- _artifact_groups << directive_eval(artifact_group, &blk)
31
- end
32
- end
33
-
34
- def git(url = nil, &blk)
35
- type = url.nil? ? :local : :remote
36
- _git_artifact.public_send(type, url.to_s, &blk)
37
- end
38
-
39
- def mount(to, &blk)
40
- Directive::Mount.new(to, dapp: dapp, &blk).tap do |mount|
41
- _mount << mount
42
- end
43
- end
44
-
45
- def _dev_mode
46
- !!@_dev_mode
47
- end
48
-
49
- def _builder
50
- @_builder || :none
51
- end
52
-
53
- def _chef
54
- @_chef ||= Directive::Chef.new(dapp: dapp)
55
- end
56
-
57
- def _shell
58
- @_shell ||= Directive::Shell::Dimg.new(dapp: dapp)
59
- end
60
-
61
- def _docker
62
- @_docker ||= Directive::Docker::Dimg.new(dapp: dapp)
63
- end
64
-
65
- def _mount
66
- @_mount ||= []
67
- end
68
-
69
- def _git_artifact
70
- @_git_artifact ||= GitArtifact.new(dapp: dapp)
71
- end
72
-
73
- [:build_dir, :tmp_dir].each do |mount_type|
74
- define_method "_#{mount_type}_mount" do
75
- _mount.select { |m| m._type == mount_type }
76
- end
77
- end
78
-
79
- def _artifact_groups
80
- @_artifact_groups ||= []
81
- end
82
-
83
- def _artifact
84
- _artifact_groups.map(&:_export).flatten
85
- end
86
-
87
- [:before, :after].each do |order|
88
- [:setup, :install].each do |stage|
89
- define_method "_#{order}_#{stage}_artifact" do
90
- _artifact.select do |art|
91
- art.public_send("_#{order}") == stage
92
- end
93
- end
94
- end
95
- end
96
-
97
- def _import_artifact
98
- _artifact.select(&:not_associated?)
99
- end
100
-
101
- class GitArtifact < Directive::Base
102
- attr_reader :_local, :_remote
103
-
104
- def initialize(**kwargs, &blk)
105
- @_local = []
106
- @_remote = []
107
-
108
- super(**kwargs, &blk)
109
- end
110
-
111
- def local(_, &blk)
112
- Directive::GitArtifactLocal.new(dapp: dapp, &blk).tap do |git|
113
- @_local << git
114
- end
115
- end
116
-
117
- def remote(repo_url, &blk)
118
- Directive::GitArtifactRemote.new(repo_url, dapp: dapp, &blk).tap do |git|
119
- @_remote << git
120
- end
121
- end
122
-
123
- def _local
124
- @_local.map(&:_export).flatten
125
- end
126
-
127
- def _remote
128
- @_remote.map(&:_export).flatten
129
- end
130
-
131
- def empty?
132
- (_local + _remote).empty?
133
- end
134
-
135
- def validate!
136
- (_local + _remote).each(&:validate!)
137
- end
138
- end
139
-
140
- protected
141
-
142
- def builder(type)
143
- @_builder = type if _builder == :none
144
- raise Error::Config, code: :builder_type_conflict unless @_builder == type
145
- end
146
-
147
- def pass_to_default(dimg)
148
- pass_to_custom(dimg, :clone)
149
- end
150
-
151
- def pass_to_custom(obj, clone_method)
152
- passed_directives.each do |directive|
153
- next if (variable = instance_variable_get(directive)).nil?
154
-
155
- obj.instance_variable_set(directive, begin
156
- case variable
157
- when Directive::Base, GitArtifact then variable.public_send(clone_method)
158
- when Symbol then variable
159
- when Array then variable.dup
160
- when TrueClass, FalseClass then variable
161
- else
162
- raise
163
- end
164
- end)
165
- end
166
- obj
167
- end
168
-
169
- def passed_directives
170
- [:@_chef, :@_shell, :@_docker,
171
- :@_git_artifact, :@_mount,
172
- :@_artifact_groups, :@_builder, :@_dev_mode]
173
- end
174
- end # InstanceMethods
175
- # rubocop:enable Metrics/ModuleLength
176
- end # Dimg
177
- end # Config
178
- end # Dimg
179
- end # Dapp
@@ -1,126 +0,0 @@
1
- module Dapp
2
- module Dimg
3
- module Config
4
- class Dimg < Base
5
- module Validation
6
- def validate!
7
- directives_validate!
8
- validate_scratch!
9
- validate_artifacts!
10
- validate_artifacts_artifacts!
11
- end
12
-
13
- protected
14
-
15
- def validate_scratch!
16
- if _docker._from.nil?
17
- validate_scratch_directives!
18
- validate_scratch_artifacts!
19
- else
20
- raise Error::Config, code: :stage_artifact_not_associated unless _import_artifact.empty?
21
- end
22
- end
23
-
24
- def directives_validate!
25
- passed_directives.each do |v|
26
- next if (value = instance_variable_get(v)).nil?
27
- Array(value).each do |elm|
28
- elm.validate! if elm.respond_to?(:validate!)
29
- end
30
- end
31
- end
32
-
33
- def validate_scratch_directives!
34
- directives = [[:_shell, :shell], [:_chef, :chef], [:_git_artifact, :git],
35
- [:_tmp_dir_mount, :mount], [:_build_dir_mount, :mount]]
36
- directives.each do |name, user_name|
37
- raise Error::Config,
38
- code: :scratch_unsupported_directive,
39
- data: { directive: user_name } unless public_send(name).empty?
40
- end
41
-
42
- docker_directives = [:_expose, :_env, :_cmd, :_onbuild, :_workdir, :_user, :_entrypoint]
43
- docker_directives.each do |directive|
44
- value = _docker.public_send(directive)
45
- raise Error::Config,
46
- code: :scratch_unsupported_directive,
47
- data: { directive: "docker.#{directive}" } unless value.nil? || value.empty?
48
- end
49
- end
50
-
51
- def validate_scratch_artifacts!
52
- raise Error::Config, code: :scratch_artifact_associated unless _associated_artifacts.empty?
53
- raise Error::Config, code: :scratch_artifact_required if _import_artifact.empty?
54
- _import_artifact.each do |artifact|
55
- raise Error::Config, code: :scratch_artifact_docker_from if artifact._config._docker._from.nil?
56
- end
57
- end
58
-
59
- def validate_artifacts_artifacts!
60
- _artifact.each { |artifact_dimg| artifact_dimg._config.validate! }
61
- end
62
-
63
- def validate_artifacts!
64
- artifacts = validate_artifact_format(validated_artifacts)
65
- loop do
66
- break if artifacts.empty?
67
- verifiable_artifact = artifacts.shift
68
- artifacts.select { |a| a[:to] == verifiable_artifact[:to] }.each do |artifact|
69
- next if verifiable_artifact[:index] == artifact[:index]
70
- validate_artifact!(verifiable_artifact, artifact)
71
- validate_artifact!(artifact, verifiable_artifact)
72
- end
73
- end
74
- end
75
-
76
- def validate_artifact_format(artifacts)
77
- artifacts.map do |a|
78
- path_format = proc { |path| File.expand_path(File.join('/', path, '/'))[1..-1] }
79
-
80
- path_format.call(a._to) =~ %r{^([^\/]*)\/?(.*)$}
81
- to = Regexp.last_match(1)
82
- include_paths = a._include_paths.dup
83
- include_paths << Regexp.last_match(2) unless Regexp.last_match(2).empty?
84
- exclude_paths = a._exclude_paths.dup
85
-
86
- {
87
- index: artifacts.index(a),
88
- to: to,
89
- include_paths: include_paths.map(&path_format),
90
- exclude_paths: exclude_paths.map(&path_format)
91
- }
92
- end
93
- end
94
-
95
- def validate_artifact!(verifiable_artifact, artifact)
96
- verifiable_artifact[:include_paths].each do |verifiable_path|
97
- potential_conflicts = artifact[:include_paths].select { |path| path.start_with?(verifiable_path) }
98
- validate_artifact_path!(verifiable_artifact, potential_conflicts)
99
- end.empty? && verifiable_artifact[:exclude_paths].empty? && raise(Error::Config, code: :artifact_conflict)
100
- validate_artifact_path!(verifiable_artifact, artifact[:include_paths]) if verifiable_artifact[:include_paths].empty?
101
- end
102
-
103
- def validate_artifact_path!(verifiable_artifact, potential_conflicts)
104
- potential_conflicts.all? do |path|
105
- loop do
106
- break if verifiable_artifact[:exclude_paths].include?(path) || ((path = File.dirname(path)) == '.')
107
- end
108
- verifiable_artifact[:exclude_paths].include?(path)
109
- end.tap { |res| res || raise(Error::Config, code: :artifact_conflict) }
110
- end
111
-
112
- def _associated_artifacts
113
- _artifact.select do |art|
114
- !(art._before.nil? && art._after.nil?)
115
- end
116
- end
117
-
118
- def validated_artifacts
119
- _artifact + _git_artifact._local + _git_artifact._remote
120
- end
121
- end # Validation
122
- # rubocop:enable Metrics/ModuleLength
123
- end # Dimg
124
- end # Config
125
- end # Dimg
126
- end # Dapp
@@ -1,61 +0,0 @@
1
- module Dapp
2
- module Dimg
3
- module Config
4
- class DimgGroup < DimgGroupBase
5
- include Dimg::InstanceMethods
6
-
7
- def chef(&blk)
8
- check_dimg_directive_order(:chef)
9
- super
10
- end
11
-
12
- def shell(&blk)
13
- check_dimg_directive_order(:shell)
14
- super
15
- end
16
-
17
- def docker(&blk)
18
- check_dimg_directive_order(:docker)
19
- super
20
- end
21
-
22
- def artifact(&blk)
23
- check_dimg_group_directive_order(:artifact)
24
- super
25
- end
26
-
27
- def git(url = nil, &blk)
28
- check_dimg_directive_order(:git)
29
- super
30
- end
31
-
32
- def mount(to, &blk)
33
- check_dimg_directive_order(:mount)
34
- super
35
- end
36
-
37
- protected
38
-
39
- def before_dimg_eval(dimg)
40
- pass_to_default(dimg)
41
- end
42
-
43
- def before_dimg_group_eval(dimg_group)
44
- pass_to_default(dimg_group)
45
- end
46
-
47
- def check_dimg_directive_order(directive)
48
- dapp.log_config_warning(desc: { code: 'wrong_using_base_directive',
49
- data: { directive: directive },
50
- context: 'warning' }) if _dimg.any? || _dimg_group.any? || _artifact.any?
51
- end
52
-
53
- def check_dimg_group_directive_order(directive)
54
- dapp.log_config_warning(desc: { code: 'wrong_using_directive',
55
- data: { directive: directive },
56
- context: 'warning' }) if _dimg.any? || _dimg_group.any?
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,54 +0,0 @@
1
- module Dapp
2
- module Dimg
3
- module Config
4
- class DimgGroupBase < Base
5
- attr_reader :_dimg_group
6
-
7
- def initialize(dapp:)
8
- @_dimg = []
9
- @_dimg_group = []
10
-
11
- super(dapp: dapp)
12
- end
13
-
14
- def dev_mode
15
- @_dev_mode = true
16
- end
17
-
18
- def dimg(name = nil, &blk)
19
- Config::Dimg.new(name, dapp: dapp).tap do |dimg|
20
- before_dimg_eval(dimg)
21
- dimg.instance_eval(&blk) if block_given?
22
- @_dimg << dimg
23
- end
24
- end
25
-
26
- def dimg_group(&blk)
27
- Config::DimgGroup.new(dapp: dapp).tap do |dimg_group|
28
- before_dimg_group_eval(dimg_group)
29
- dimg_group.instance_eval(&blk) if block_given?
30
- @_dimg_group << dimg_group
31
- end
32
- end
33
-
34
- def _dimg
35
- (@_dimg + @_dimg_group.map(&:_dimg)).flatten
36
- end
37
-
38
- protected
39
-
40
- def before_dimg_eval(dimg)
41
- pass_to_default(dimg)
42
- end
43
-
44
- def before_dimg_group_eval(dimg_group)
45
- pass_to_default(dimg_group)
46
- end
47
-
48
- def pass_to_default(obj)
49
- obj.instance_variable_set(:@_dev_mode, @_dev_mode)
50
- end
51
- end
52
- end
53
- end
54
- end