dapp 0.8.0 → 0.9.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 (299) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dapp +5 -5
  3. data/config/en/common.yml +6 -4
  4. data/config/en/net_status.yml +8 -7
  5. data/lib/dapp.rb +157 -139
  6. data/lib/dapp/cli.rb +6 -16
  7. data/lib/dapp/cli/base.rb +3 -5
  8. data/lib/dapp/config/base.rb +19 -7
  9. data/lib/dapp/config/directive/base.rb +0 -1
  10. data/lib/dapp/config/error/config.rb +7 -0
  11. data/lib/dapp/core_ext/hash.rb +0 -2
  12. data/lib/dapp/core_ext/pathname.rb +1 -3
  13. data/lib/dapp/{project.rb → dapp.rb} +2 -21
  14. data/lib/dapp/{project → dapp}/chef.rb +2 -4
  15. data/lib/dapp/{project → dapp}/dappfile.rb +5 -7
  16. data/lib/dapp/{project → dapp}/deps/base.rb +3 -6
  17. data/lib/dapp/{project → dapp}/deps/gitartifact.rb +2 -5
  18. data/lib/dapp/{project → dapp}/git_artifact.rb +2 -4
  19. data/lib/dapp/{project → dapp}/lock.rb +3 -5
  20. data/lib/dapp/{project → dapp}/logging/base.rb +2 -5
  21. data/lib/dapp/{project → dapp}/logging/i18n.rb +2 -3
  22. data/lib/dapp/{project → dapp}/logging/paint.rb +2 -4
  23. data/lib/dapp/{project → dapp}/logging/process.rb +2 -5
  24. data/lib/dapp/{project → dapp}/shellout/base.rb +2 -4
  25. data/lib/dapp/{project → dapp}/shellout/streaming.rb +3 -8
  26. data/lib/dapp/{project → dapp}/ssh_agent.rb +6 -9
  27. data/lib/dapp/dimg.rb +1 -192
  28. data/lib/dapp/dimg/artifact.rb +24 -0
  29. data/lib/dapp/dimg/build/stage/after_install_artifact.rb +14 -0
  30. data/lib/dapp/dimg/build/stage/after_setup_artifact.rb +18 -0
  31. data/lib/dapp/dimg/build/stage/artifact_base.rb +80 -0
  32. data/lib/dapp/dimg/build/stage/artifact_default.rb +63 -0
  33. data/lib/dapp/dimg/build/stage/base.rb +210 -0
  34. data/lib/dapp/dimg/build/stage/before_install.rb +33 -0
  35. data/lib/dapp/dimg/build/stage/before_install_artifact.rb +14 -0
  36. data/lib/dapp/dimg/build/stage/before_setup.rb +31 -0
  37. data/lib/dapp/dimg/build/stage/before_setup_artifact.rb +14 -0
  38. data/lib/dapp/dimg/build/stage/build_artifact.rb +31 -0
  39. data/lib/dapp/dimg/build/stage/docker_instructions.rb +25 -0
  40. data/lib/dapp/dimg/build/stage/from.rb +50 -0
  41. data/lib/dapp/dimg/build/stage/ga_archive.rb +28 -0
  42. data/lib/dapp/dimg/build/stage/ga_archive_dependencies.rb +27 -0
  43. data/lib/dapp/dimg/build/stage/ga_artifact_patch.rb +22 -0
  44. data/lib/dapp/dimg/build/stage/ga_base.rb +80 -0
  45. data/lib/dapp/dimg/build/stage/ga_dependencies_base.rb +20 -0
  46. data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +54 -0
  47. data/lib/dapp/dimg/build/stage/import_artifact.rb +64 -0
  48. data/lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb +22 -0
  49. data/lib/dapp/dimg/build/stage/install/ga_post_install_patch_dependencies.rb +22 -0
  50. data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb +22 -0
  51. data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch_dependencies.rb +22 -0
  52. data/lib/dapp/dimg/build/stage/install/install.rb +35 -0
  53. data/lib/dapp/dimg/build/stage/mod/group.rb +42 -0
  54. data/lib/dapp/dimg/build/stage/mod/logging.rb +101 -0
  55. data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb +22 -0
  56. data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch_dependencies.rb +32 -0
  57. data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch.rb +22 -0
  58. data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch_dependencies.rb +22 -0
  59. data/lib/dapp/dimg/build/stage/setup/setup.rb +35 -0
  60. data/lib/dapp/dimg/builder.rb +6 -0
  61. data/lib/dapp/{builder → dimg/builder}/base.rb +4 -5
  62. data/lib/dapp/{builder → dimg/builder}/chef.rb +41 -33
  63. data/lib/dapp/dimg/builder/chef/berksfile.rb +121 -0
  64. data/lib/dapp/dimg/builder/chef/cookbook.rb +285 -0
  65. data/lib/dapp/dimg/builder/chef/cookbook_metadata.rb +106 -0
  66. data/lib/dapp/{builder → dimg/builder}/none.rb +4 -5
  67. data/lib/dapp/{builder → dimg/builder}/shell.rb +5 -6
  68. data/lib/dapp/dimg/cli/base.rb +16 -0
  69. data/lib/dapp/dimg/cli/bp.rb +37 -0
  70. data/lib/dapp/dimg/cli/build.rb +64 -0
  71. data/lib/dapp/dimg/cli/build_context.rb +18 -0
  72. data/lib/dapp/dimg/cli/build_context/export.rb +26 -0
  73. data/lib/dapp/dimg/cli/build_context/import.rb +17 -0
  74. data/lib/dapp/dimg/cli/cleanup.rb +22 -0
  75. data/lib/dapp/dimg/cli/cli.rb +1 -0
  76. data/lib/dapp/dimg/cli/dimg.rb +30 -0
  77. data/lib/dapp/dimg/cli/list.rb +17 -0
  78. data/lib/dapp/dimg/cli/mrproper.rb +26 -0
  79. data/lib/dapp/dimg/cli/push.rb +61 -0
  80. data/lib/dapp/dimg/cli/run.rb +59 -0
  81. data/lib/dapp/{cli → dimg/cli}/spush.rb +7 -7
  82. data/lib/dapp/dimg/cli/stage_image.rb +24 -0
  83. data/lib/dapp/dimg/cli/stages.rb +22 -0
  84. data/lib/dapp/dimg/cli/stages/cleanup_local.rb +44 -0
  85. data/lib/dapp/dimg/cli/stages/cleanup_repo.rb +26 -0
  86. data/lib/dapp/dimg/cli/stages/flush_local.rb +23 -0
  87. data/lib/dapp/dimg/cli/stages/flush_repo.rb +24 -0
  88. data/lib/dapp/dimg/cli/stages/pull.rb +28 -0
  89. data/lib/dapp/dimg/cli/stages/push.rb +24 -0
  90. data/lib/dapp/dimg/cli/tag.rb +24 -0
  91. data/lib/dapp/dimg/config/artifact_dimg.rb +17 -0
  92. data/lib/dapp/dimg/config/artifact_group.rb +47 -0
  93. data/lib/dapp/dimg/config/base.rb +7 -0
  94. data/lib/dapp/dimg/config/dimg.rb +24 -0
  95. data/lib/dapp/dimg/config/dimg/instance_methods.rb +177 -0
  96. data/lib/dapp/dimg/config/dimg/validation.rb +126 -0
  97. data/lib/dapp/dimg/config/dimg_group.rb +61 -0
  98. data/lib/dapp/dimg/config/dimg_group_base.rb +54 -0
  99. data/lib/dapp/dimg/config/dimg_group_main.rb +22 -0
  100. data/lib/dapp/dimg/config/directive/artifact.rb +70 -0
  101. data/lib/dapp/dimg/config/directive/artifact_base.rb +97 -0
  102. data/lib/dapp/dimg/config/directive/base.rb +9 -0
  103. data/lib/dapp/dimg/config/directive/chef.rb +68 -0
  104. data/lib/dapp/dimg/config/directive/docker/artifact.rb +15 -0
  105. data/lib/dapp/dimg/config/directive/docker/base.rb +22 -0
  106. data/lib/dapp/dimg/config/directive/docker/dimg.rb +82 -0
  107. data/lib/dapp/dimg/config/directive/git_artifact_local.rb +47 -0
  108. data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +58 -0
  109. data/lib/dapp/dimg/config/directive/mount.rb +27 -0
  110. data/lib/dapp/dimg/config/directive/shell/artifact.rb +18 -0
  111. data/lib/dapp/dimg/config/directive/shell/dimg.rb +65 -0
  112. data/lib/dapp/dimg/dapp/command.rb +21 -0
  113. data/lib/dapp/dimg/dapp/command/bp.rb +20 -0
  114. data/lib/dapp/dimg/dapp/command/build.rb +22 -0
  115. data/lib/dapp/dimg/dapp/command/build_context/common.rb +27 -0
  116. data/lib/dapp/dimg/dapp/command/build_context/export.rb +55 -0
  117. data/lib/dapp/dimg/dapp/command/build_context/import.rb +71 -0
  118. data/lib/dapp/dimg/dapp/command/cleanup.rb +23 -0
  119. data/lib/dapp/dimg/dapp/command/common.rb +96 -0
  120. data/lib/dapp/dimg/dapp/command/list.rb +19 -0
  121. data/lib/dapp/dimg/dapp/command/mrproper.rb +75 -0
  122. data/lib/dapp/dimg/dapp/command/push.rb +27 -0
  123. data/lib/dapp/dimg/dapp/command/run.rb +15 -0
  124. data/lib/dapp/dimg/dapp/command/spush.rb +17 -0
  125. data/lib/dapp/dimg/dapp/command/stage_image.rb +14 -0
  126. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +137 -0
  127. data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +124 -0
  128. data/lib/dapp/dimg/dapp/command/stages/common.rb +85 -0
  129. data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +21 -0
  130. data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +21 -0
  131. data/lib/dapp/dimg/dapp/command/stages/pull.rb +26 -0
  132. data/lib/dapp/dimg/dapp/command/stages/push.rb +22 -0
  133. data/lib/dapp/dimg/dapp/command/tag.rb +17 -0
  134. data/lib/dapp/dimg/dimg.rb +192 -0
  135. data/lib/dapp/dimg/dimg/git_artifact.rb +26 -0
  136. data/lib/dapp/dimg/dimg/path.rb +37 -0
  137. data/lib/dapp/dimg/dimg/stages.rb +60 -0
  138. data/lib/dapp/dimg/dimg/tags.rb +65 -0
  139. data/lib/dapp/dimg/docker_registry.rb +37 -0
  140. data/lib/dapp/dimg/docker_registry/base.rb +109 -0
  141. data/lib/dapp/dimg/docker_registry/base/authorization.rb +63 -0
  142. data/lib/dapp/dimg/docker_registry/base/request.rb +34 -0
  143. data/lib/dapp/dimg/docker_registry/default.rb +18 -0
  144. data/lib/dapp/dimg/error/base.rb +7 -0
  145. data/lib/dapp/dimg/error/build.rb +7 -0
  146. data/lib/dapp/dimg/error/chef.rb +11 -0
  147. data/lib/dapp/dimg/error/command.rb +7 -0
  148. data/lib/dapp/dimg/error/config.rb +7 -0
  149. data/lib/dapp/dimg/error/dimg.rb +7 -0
  150. data/lib/dapp/dimg/error/lock.rb +7 -0
  151. data/lib/dapp/dimg/error/registry.rb +7 -0
  152. data/lib/dapp/dimg/error/rugged.rb +7 -0
  153. data/lib/dapp/dimg/error/shellout.rb +7 -0
  154. data/lib/dapp/dimg/error/tar_writer.rb +7 -0
  155. data/lib/dapp/dimg/exception/base.rb +7 -0
  156. data/lib/dapp/dimg/exception/introspect_image.rb +7 -0
  157. data/lib/dapp/dimg/exception/registry.rb +7 -0
  158. data/lib/dapp/dimg/filelock.rb +43 -0
  159. data/lib/dapp/dimg/git_artifact.rb +241 -18
  160. data/lib/dapp/dimg/git_repo/base.rb +90 -0
  161. data/lib/dapp/dimg/git_repo/own.rb +39 -0
  162. data/lib/dapp/dimg/git_repo/remote.rb +50 -0
  163. data/lib/dapp/dimg/image/argument.rb +143 -0
  164. data/lib/dapp/dimg/image/docker.rb +127 -0
  165. data/lib/dapp/dimg/image/scratch.rb +32 -0
  166. data/lib/dapp/dimg/image/stage.rb +95 -0
  167. data/lib/dapp/dimg/lock/base.rb +51 -0
  168. data/lib/dapp/dimg/lock/file.rb +48 -0
  169. data/lib/dapp/error/base.rb +0 -1
  170. data/lib/dapp/error/dapp.rb +5 -0
  171. data/lib/dapp/error/dappfile.rb +0 -1
  172. data/lib/dapp/error/shellout.rb +0 -1
  173. data/lib/dapp/exception/base.rb +0 -1
  174. data/lib/dapp/helper/cli.rb +5 -6
  175. data/lib/dapp/helper/net_status.rb +0 -1
  176. data/lib/dapp/helper/sha256.rb +0 -1
  177. data/lib/dapp/helper/trivia.rb +0 -1
  178. data/lib/dapp/prctl.rb +0 -1
  179. data/lib/dapp/version.rb +1 -2
  180. metadata +172 -140
  181. data/lib/dapp/artifact.rb +0 -23
  182. data/lib/dapp/build/stage/after_install_artifact.rb +0 -13
  183. data/lib/dapp/build/stage/after_setup_artifact.rb +0 -17
  184. data/lib/dapp/build/stage/artifact_base.rb +0 -80
  185. data/lib/dapp/build/stage/artifact_default.rb +0 -63
  186. data/lib/dapp/build/stage/base.rb +0 -203
  187. data/lib/dapp/build/stage/before_install.rb +0 -32
  188. data/lib/dapp/build/stage/before_install_artifact.rb +0 -13
  189. data/lib/dapp/build/stage/before_setup.rb +0 -30
  190. data/lib/dapp/build/stage/before_setup_artifact.rb +0 -13
  191. data/lib/dapp/build/stage/build_artifact.rb +0 -36
  192. data/lib/dapp/build/stage/docker_instructions.rb +0 -24
  193. data/lib/dapp/build/stage/from.rb +0 -34
  194. data/lib/dapp/build/stage/ga_archive.rb +0 -27
  195. data/lib/dapp/build/stage/ga_archive_dependencies.rb +0 -26
  196. data/lib/dapp/build/stage/ga_artifact_patch.rb +0 -21
  197. data/lib/dapp/build/stage/ga_base.rb +0 -79
  198. data/lib/dapp/build/stage/ga_dependencies_base.rb +0 -19
  199. data/lib/dapp/build/stage/ga_latest_patch.rb +0 -53
  200. data/lib/dapp/build/stage/import_artifact.rb +0 -65
  201. data/lib/dapp/build/stage/install/ga_post_install_patch.rb +0 -21
  202. data/lib/dapp/build/stage/install/ga_post_install_patch_dependencies.rb +0 -21
  203. data/lib/dapp/build/stage/install/ga_pre_install_patch.rb +0 -21
  204. data/lib/dapp/build/stage/install/ga_pre_install_patch_dependencies.rb +0 -21
  205. data/lib/dapp/build/stage/install/install.rb +0 -40
  206. data/lib/dapp/build/stage/mod/group.rb +0 -42
  207. data/lib/dapp/build/stage/mod/logging.rb +0 -104
  208. data/lib/dapp/build/stage/setup/ga_post_setup_patch.rb +0 -21
  209. data/lib/dapp/build/stage/setup/ga_post_setup_patch_dependencies.rb +0 -31
  210. data/lib/dapp/build/stage/setup/ga_pre_setup_patch.rb +0 -21
  211. data/lib/dapp/build/stage/setup/ga_pre_setup_patch_dependencies.rb +0 -21
  212. data/lib/dapp/build/stage/setup/setup.rb +0 -40
  213. data/lib/dapp/builder/chef/berksfile.rb +0 -78
  214. data/lib/dapp/builder/chef/cookbook.rb +0 -257
  215. data/lib/dapp/builder/chef/cookbook_metadata.rb +0 -54
  216. data/lib/dapp/builder/chef/error.rb +0 -12
  217. data/lib/dapp/cli/bp.rb +0 -37
  218. data/lib/dapp/cli/build.rb +0 -60
  219. data/lib/dapp/cli/cleanup.rb +0 -22
  220. data/lib/dapp/cli/list.rb +0 -17
  221. data/lib/dapp/cli/mrproper.rb +0 -26
  222. data/lib/dapp/cli/push.rb +0 -61
  223. data/lib/dapp/cli/run.rb +0 -53
  224. data/lib/dapp/cli/stage_image.rb +0 -24
  225. data/lib/dapp/cli/stages.rb +0 -23
  226. data/lib/dapp/cli/stages/cleanup_local.rb +0 -44
  227. data/lib/dapp/cli/stages/cleanup_repo.rb +0 -26
  228. data/lib/dapp/cli/stages/flush_local.rb +0 -23
  229. data/lib/dapp/cli/stages/flush_repo.rb +0 -24
  230. data/lib/dapp/cli/stages/pull.rb +0 -28
  231. data/lib/dapp/cli/stages/push.rb +0 -24
  232. data/lib/dapp/cli/tag.rb +0 -24
  233. data/lib/dapp/config/artifact_dimg.rb +0 -20
  234. data/lib/dapp/config/artifact_group.rb +0 -56
  235. data/lib/dapp/config/dimg.rb +0 -23
  236. data/lib/dapp/config/dimg/instance_methods.rb +0 -194
  237. data/lib/dapp/config/dimg/validation.rb +0 -125
  238. data/lib/dapp/config/dimg_group.rb +0 -60
  239. data/lib/dapp/config/dimg_group_base.rb +0 -53
  240. data/lib/dapp/config/dimg_group_main.rb +0 -21
  241. data/lib/dapp/config/directive/artifact.rb +0 -69
  242. data/lib/dapp/config/directive/artifact_base.rb +0 -93
  243. data/lib/dapp/config/directive/chef.rb +0 -57
  244. data/lib/dapp/config/directive/docker/artifact.rb +0 -15
  245. data/lib/dapp/config/directive/docker/base.rb +0 -20
  246. data/lib/dapp/config/directive/docker/dimg.rb +0 -81
  247. data/lib/dapp/config/directive/git_artifact_local.rb +0 -13
  248. data/lib/dapp/config/directive/git_artifact_remote.rb +0 -57
  249. data/lib/dapp/config/directive/mount.rb +0 -26
  250. data/lib/dapp/config/directive/shell/artifact.rb +0 -17
  251. data/lib/dapp/config/directive/shell/dimg.rb +0 -65
  252. data/lib/dapp/dimg/path.rb +0 -37
  253. data/lib/dapp/dimg/stages.rb +0 -59
  254. data/lib/dapp/dimg/tags.rb +0 -65
  255. data/lib/dapp/docker_registry.rb +0 -36
  256. data/lib/dapp/docker_registry/base.rb +0 -109
  257. data/lib/dapp/docker_registry/default.rb +0 -18
  258. data/lib/dapp/docker_registry/mod/authorization.rb +0 -63
  259. data/lib/dapp/docker_registry/mod/request.rb +0 -32
  260. data/lib/dapp/error/build.rb +0 -6
  261. data/lib/dapp/error/config.rb +0 -6
  262. data/lib/dapp/error/dimg.rb +0 -6
  263. data/lib/dapp/error/image.rb +0 -6
  264. data/lib/dapp/error/project.rb +0 -6
  265. data/lib/dapp/error/registry.rb +0 -6
  266. data/lib/dapp/error/rugged.rb +0 -6
  267. data/lib/dapp/error/tar_writer.rb +0 -6
  268. data/lib/dapp/exception/introspect_image.rb +0 -6
  269. data/lib/dapp/exception/registry.rb +0 -6
  270. data/lib/dapp/filelock.rb +0 -43
  271. data/lib/dapp/git_artifact.rb +0 -241
  272. data/lib/dapp/git_repo/base.rb +0 -88
  273. data/lib/dapp/git_repo/own.rb +0 -38
  274. data/lib/dapp/git_repo/remote.rb +0 -49
  275. data/lib/dapp/image/argument.rb +0 -134
  276. data/lib/dapp/image/docker.rb +0 -115
  277. data/lib/dapp/image/scratch.rb +0 -32
  278. data/lib/dapp/image/stage.rb +0 -94
  279. data/lib/dapp/lock/base.rb +0 -51
  280. data/lib/dapp/lock/error.rb +0 -14
  281. data/lib/dapp/lock/file.rb +0 -45
  282. data/lib/dapp/project/command/bp.rb +0 -21
  283. data/lib/dapp/project/command/build.rb +0 -20
  284. data/lib/dapp/project/command/cleanup.rb +0 -24
  285. data/lib/dapp/project/command/common.rb +0 -96
  286. data/lib/dapp/project/command/list.rb +0 -20
  287. data/lib/dapp/project/command/mrproper.rb +0 -69
  288. data/lib/dapp/project/command/push.rb +0 -28
  289. data/lib/dapp/project/command/run.rb +0 -15
  290. data/lib/dapp/project/command/spush.rb +0 -18
  291. data/lib/dapp/project/command/stage_image.rb +0 -15
  292. data/lib/dapp/project/command/stages/cleanup_local.rb +0 -138
  293. data/lib/dapp/project/command/stages/cleanup_repo.rb +0 -125
  294. data/lib/dapp/project/command/stages/common.rb +0 -86
  295. data/lib/dapp/project/command/stages/flush_local.rb +0 -22
  296. data/lib/dapp/project/command/stages/flush_repo.rb +0 -22
  297. data/lib/dapp/project/command/stages/pull.rb +0 -27
  298. data/lib/dapp/project/command/stages/push.rb +0 -23
  299. data/lib/dapp/project/command/tag.rb +0 -18
@@ -1,30 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # BeforeSetup
5
- class BeforeSetup < Base
6
- def initialize(dimg, next_stage)
7
- @prev_stage = AfterInstallArtifact.new(dimg, self)
8
- super
9
- end
10
-
11
- def empty?
12
- !dimg.builder.before_setup?
13
- end
14
-
15
- def context
16
- [builder_checksum]
17
- end
18
-
19
- def builder_checksum
20
- dimg.builder.before_setup_checksum
21
- end
22
-
23
- def prepare_image
24
- super
25
- dimg.builder.before_setup(image)
26
- end
27
- end # BeforeSetup
28
- end # Stage
29
- end # Build
30
- end # Dapp
@@ -1,13 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # BeforeSetupArtifact
5
- class BeforeSetupArtifact < ArtifactDefault
6
- def initialize(dimg, next_stage)
7
- @prev_stage = BeforeSetup.new(dimg, self)
8
- super
9
- end
10
- end # BeforeSetupArtifact
11
- end # Stage
12
- end # Build
13
- end # Dapp
@@ -1,36 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # BuildArtifact
5
- class BuildArtifact < Base
6
- def initialize(dimg)
7
- @prev_stage = GAArtifactPatch.new(dimg, self)
8
- @dimg = dimg
9
- end
10
-
11
- def empty?
12
- !dimg.builder.build_artifact?
13
- end
14
-
15
- def context
16
- [artifact_dependencies_files_checksum, builder_checksum]
17
- end
18
-
19
- def builder_checksum
20
- dimg.builder.build_artifact_checksum
21
- end
22
-
23
- def prepare_image
24
- super
25
- dimg.builder.build_artifact(image)
26
- end
27
-
28
- private
29
-
30
- def artifact_dependencies_files_checksum
31
- dependencies_files_checksum(dimg.config._artifact_dependencies)
32
- end
33
- end # BuildArtifact
34
- end # Stage
35
- end # Build
36
- end # Dapp
@@ -1,24 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # DockerInstructions
5
- class DockerInstructions < Base
6
- def initialize(dimg)
7
- @prev_stage = GALatestPatch.new(dimg, self)
8
- @dimg = dimg
9
- end
10
-
11
- def dependencies
12
- [change_options]
13
- end
14
-
15
- def prepare_image
16
- super
17
- change_options.each do |k, v|
18
- image.public_send("add_change_#{k}", v)
19
- end
20
- end
21
- end # DockerInstructions
22
- end # Stage
23
- end # Build
24
- end # Dapp
@@ -1,34 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # From
5
- class From < Base
6
- def dependencies
7
- [from_image_name, dimg.config._docker._from_cache_version]
8
- end
9
-
10
- protected
11
-
12
- def prepare_image
13
- from_image.pull!
14
- raise Error::Build, code: :from_image_not_found, data: { name: from_image_name } unless from_image.tagged?
15
- super
16
- end
17
-
18
- def should_not_be_detailed?
19
- from_image.tagged?
20
- end
21
-
22
- private
23
-
24
- def from_image_name
25
- dimg.config._docker._from
26
- end
27
-
28
- def from_image
29
- @from_image ||= Image::Stage.image_by_name(name: from_image_name, project: dimg.project)
30
- end
31
- end # Prepare
32
- end # Stage
33
- end # Build
34
- end # Dapp
@@ -1,27 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # GAArchive
5
- class GAArchive < GABase
6
- def initialize(dimg, next_stage)
7
- @prev_stage = GAArchiveDependencies.new(dimg, self)
8
- super
9
- end
10
-
11
- def prev_g_a_stage
12
- nil
13
- end
14
-
15
- def next_g_a_stage
16
- next_stage.next_stage # GAPreInstallPatch
17
- end
18
-
19
- protected
20
-
21
- def apply_command_method
22
- :apply_archive_command
23
- end
24
- end # GAArchive
25
- end # Stage
26
- end # Build
27
- end # Dapp
@@ -1,26 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # GAArchiveDependencies
5
- class GAArchiveDependencies < GADependenciesBase
6
- RESET_COMMIT_MESSAGES = ['[dapp reset]', '[reset dapp]']
7
-
8
- def initialize(dimg, next_stage)
9
- @prev_stage = BeforeInstallArtifact.new(dimg, self)
10
- super
11
- end
12
-
13
- def dependencies
14
- [dimg.git_artifacts.map(&:paramshash).join, reset_commits.sort.uniq.compact]
15
- end
16
-
17
- protected
18
-
19
- def reset_commits
20
- regex = Regexp.union(RESET_COMMIT_MESSAGES)
21
- dimg.git_artifacts.map { |git_artifact| git_artifact.repo.find_commit_id_by_message(regex) }
22
- end
23
- end # GAArchiveDependencies
24
- end # Stage
25
- end # Build
26
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # GAArtifactPatch
5
- class GAArtifactPatch < GALatestPatch
6
- def initialize(dimg, next_stage)
7
- @prev_stage = SetupGroup::Setup.new(dimg, self)
8
- super
9
- end
10
-
11
- def dependencies
12
- next_stage.context # BuildArtifact
13
- end
14
-
15
- def prev_g_a_stage
16
- super.prev_stage # GAPreSetupPatch
17
- end
18
- end # GAArtifactPatch
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,79 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # GABase
5
- class GABase < Base
6
- attr_accessor :prev_g_a_stage, :next_g_a_stage
7
-
8
- def prev_g_a_stage
9
- dependencies_stage.prev_stage.prev_stage
10
- end
11
-
12
- def next_g_a_stage
13
- next_stage.next_stage.next_stage
14
- end
15
-
16
- def dependencies_stage
17
- prev_stage
18
- end
19
-
20
- def prepare_image
21
- super do
22
- image.add_volumes_from dimg.project.gitartifact_container
23
- image.add_volume "#{dimg.tmp_path('archives')}:#{dimg.container_tmp_path('archives')}:ro"
24
- image.add_volume "#{dimg.tmp_path('patches')}:#{dimg.container_tmp_path('patches')}:ro"
25
-
26
- prepare_local_git_artifacts_command
27
- prepare_remote_git_artifacts_command
28
- end
29
- end
30
-
31
- def prepare_local_git_artifacts_command
32
- prepare_base_git_artifacts_command(dimg.local_git_artifacts)
33
- end
34
-
35
- def prepare_remote_git_artifacts_command
36
- prepare_base_git_artifacts_command(dimg.remote_git_artifacts)
37
- end
38
-
39
- def prepare_base_git_artifacts_command(git_artifacts)
40
- git_artifacts.each { |git_artifact| image.add_command git_artifact.send(apply_command_method, self) }
41
- end
42
-
43
- def empty?
44
- dependencies_stage.empty?
45
- end
46
-
47
- def layer_commit(git_artifact)
48
- commits[git_artifact] ||= begin
49
- if dependencies_stage && dependencies_stage.image.tagged?
50
- dependencies_stage.image.labels[git_artifact.full_name]
51
- else
52
- git_artifact.latest_commit
53
- end
54
- end
55
- end
56
-
57
- protected
58
-
59
- def should_not_be_detailed?
60
- true
61
- end
62
-
63
- def ignore_log_commands?
64
- true
65
- end
66
-
67
- def apply_command_method
68
- :apply_patch_command
69
- end
70
-
71
- private
72
-
73
- def commits
74
- @commits ||= {}
75
- end
76
- end # GABase
77
- end # Stage
78
- end # Build
79
- end # Dapp
@@ -1,19 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # GADependenciesBase
5
- class GADependenciesBase < Base
6
- def prepare_image
7
- super
8
- dimg.git_artifacts.each do |git_artifact|
9
- image.add_service_change_label(git_artifact.full_name.to_sym => git_artifact.latest_commit)
10
- end
11
- end
12
-
13
- def empty?
14
- dimg.git_artifacts.empty? || super
15
- end
16
- end # GADependenciesBase
17
- end # Stage
18
- end # Build
19
- end # Dapp
@@ -1,53 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # GALatestPatch
5
- class GALatestPatch < GABase
6
- def initialize(dimg, next_stage)
7
- @prev_stage = AfterSetupArtifact.new(dimg, self)
8
- super
9
- end
10
-
11
- def prev_g_a_stage
12
- prev_stage.prev_stage # GAPostSetupPatch
13
- end
14
-
15
- def next_g_a_stage
16
- nil
17
- end
18
-
19
- def dependencies_stage
20
- nil
21
- end
22
-
23
- def dependencies
24
- [].tap do |dependencies|
25
- dependencies << commit_list
26
- dependencies << dimg.local_git_artifacts.map { |git_artifact| git_artifact.dev_patch_hash(self) } if dimg.project.dev_mode?
27
- end
28
- end
29
-
30
- def prepare_local_git_artifacts_command
31
- return super unless dimg.project.dev_mode?
32
- dimg.local_git_artifacts.each { |git_artifact| image.add_command git_artifact.apply_dev_patch_command(self) }
33
- end
34
-
35
- def layer_commit(git_artifact)
36
- commits[git_artifact] ||= begin
37
- git_artifact.latest_commit
38
- end
39
- end
40
-
41
- def empty?
42
- dependencies_empty? || dimg.git_artifacts.all? { |git_artifact| !git_artifact.any_changes?(prev_g_a_stage.layer_commit(git_artifact)) }
43
- end
44
-
45
- private
46
-
47
- def commit_list
48
- dimg.git_artifacts.map { |git_artifact| layer_commit(git_artifact) }
49
- end
50
- end # GALatestPatch
51
- end # Stage
52
- end # Build
53
- end # Dapp
@@ -1,65 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # ImportArtifact
5
- class ImportArtifact < ArtifactBase
6
- def initialize(dimg)
7
- @dimg = dimg
8
- end
9
-
10
- def signature
11
- @signature ||= hashsum [*dependencies.flatten, change_options]
12
- end
13
-
14
- def image
15
- @image ||= Image::Scratch.new(name: image_name, project: dimg.project)
16
- end
17
-
18
- def image_add_volumes
19
- end
20
-
21
- def prepare_image
22
- super
23
- change_options.each do |k, v|
24
- image.public_send("add_change_#{k}", v)
25
- end
26
- end
27
-
28
- protected
29
-
30
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
31
- def apply_artifact(artifact, image)
32
- return if dimg.project.dry_run?
33
-
34
- artifact_name = artifact[:name]
35
- artifact_dimg = artifact[:dimg]
36
- cwd = artifact[:options][:cwd]
37
- include_paths = artifact[:options][:include_paths]
38
- owner = artifact[:options][:owner]
39
- group = artifact[:options][:group]
40
- to = artifact[:options][:to]
41
-
42
- sudo = dimg.project.sudo_command(owner: Process.uid, group: Process.gid)
43
-
44
- credentials = ''
45
- credentials += "--owner=#{owner} " if owner
46
- credentials += "--group=#{group} " if group
47
- credentials += '--numeric-owner'
48
-
49
- archive_path = dimg.tmp_path('artifact', artifact_name, 'archive.tar.gz')
50
- container_archive_path = File.join(artifact_dimg.container_tmp_path(artifact_name), 'archive.tar.gz')
51
-
52
- exclude_paths = artifact[:options][:exclude_paths].map { |path| "--exclude=#{path}" }.join(' ')
53
- include_paths = include_paths.empty? ? [File.join(cwd, '*')] : include_paths.map { |path| File.join(cwd, path, '*') }
54
- include_paths.map! { |path| path[1..-1] } # relative path
55
-
56
- command = "#{sudo} #{dimg.project.tar_bin} -czf #{container_archive_path} #{exclude_paths} #{include_paths.join(' ')} #{credentials}"
57
- run_artifact_dimg(artifact_dimg, artifact_name, command)
58
-
59
- image.add_archive archive_path
60
- end
61
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
62
- end # ImportArtifact
63
- end # Stage
64
- end # Build
65
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module InstallGroup
5
- # GAPostInstallPatch
6
- class GAPostInstallPatch < GABase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAPostInstallPatchDependencies.new(dimg, self)
11
- super
12
- end
13
-
14
- def next_g_a_stage
15
- super.next_stage.next_stage # GAPreSetupPatch
16
- end
17
- end # GAPostInstallPatch
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp