avm-tools 0.120.0 → 0.120.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/projects/stereotypes/ruby_gem/local_project_mixin.rb +3 -3
  3. data/lib/avm/tools/runner/app_src/ruby.rb +0 -1
  4. data/lib/avm/tools/version.rb +1 -1
  5. metadata +6 -233
  6. data/lib/avm/patches/eac_ruby_gems_utils/gem.rb +0 -29
  7. data/lib/avm/patches/eac_ruby_gems_utils.rb +0 -4
  8. data/sub/avm/Gemfile +0 -5
  9. data/sub/avm/avm.gemspec +0 -26
  10. data/sub/avm/lib/avm/data/instance/files_unit.rb +0 -40
  11. data/sub/avm/lib/avm/data/instance/package.rb +0 -18
  12. data/sub/avm/lib/avm/data/instance/unit.rb +0 -17
  13. data/sub/avm/lib/avm/data/instance.rb +0 -11
  14. data/sub/avm/lib/avm/data/package/dump.rb +0 -119
  15. data/sub/avm/lib/avm/data/package/load.rb +0 -48
  16. data/sub/avm/lib/avm/data/package.rb +0 -42
  17. data/sub/avm/lib/avm/data/rotate.rb +0 -107
  18. data/sub/avm/lib/avm/data/unit.rb +0 -94
  19. data/sub/avm/lib/avm/docker/container.rb +0 -50
  20. data/sub/avm/lib/avm/docker/image.rb +0 -71
  21. data/sub/avm/lib/avm/docker/runner.rb +0 -125
  22. data/sub/avm/lib/avm/docker.rb +0 -9
  23. data/sub/avm/lib/avm/executables.rb +0 -24
  24. data/sub/avm/lib/avm/instances/application.rb +0 -29
  25. data/sub/avm/lib/avm/instances/base/auto_values/access.rb +0 -40
  26. data/sub/avm/lib/avm/instances/base/auto_values/admin.rb +0 -19
  27. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +0 -26
  28. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +0 -76
  29. data/sub/avm/lib/avm/instances/base/auto_values/filesystem.rb +0 -43
  30. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +0 -34
  31. data/sub/avm/lib/avm/instances/base/auto_values/ruby.rb +0 -15
  32. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +0 -15
  33. data/sub/avm/lib/avm/instances/base/auto_values/system.rb +0 -23
  34. data/sub/avm/lib/avm/instances/base/auto_values/web.rb +0 -46
  35. data/sub/avm/lib/avm/instances/base/auto_values.rb +0 -21
  36. data/sub/avm/lib/avm/instances/base/dockerizable.rb +0 -45
  37. data/sub/avm/lib/avm/instances/base/entry_keys.rb +0 -22
  38. data/sub/avm/lib/avm/instances/base.rb +0 -64
  39. data/sub/avm/lib/avm/instances/docker_image.rb +0 -15
  40. data/sub/avm/lib/avm/instances/entries.rb +0 -43
  41. data/sub/avm/lib/avm/instances/entry.rb +0 -60
  42. data/sub/avm/lib/avm/instances/entry_keys.rb +0 -60
  43. data/sub/avm/lib/avm/instances/runner.rb +0 -39
  44. data/sub/avm/lib/avm/instances.rb +0 -8
  45. data/sub/avm/lib/avm/jobs/base.rb +0 -63
  46. data/sub/avm/lib/avm/jobs/variables_source.rb +0 -22
  47. data/sub/avm/lib/avm/jobs.rb +0 -9
  48. data/sub/avm/lib/avm/launcher/errors/base.rb +0 -10
  49. data/sub/avm/lib/avm/launcher/errors/non_project.rb +0 -15
  50. data/sub/avm/lib/avm/launcher/paths/real.rb +0 -44
  51. data/sub/avm/lib/avm/launcher/publish/check_result.rb +0 -67
  52. data/sub/avm/lib/avm/path_string.rb +0 -27
  53. data/sub/avm/lib/avm/registry/base.rb +0 -71
  54. data/sub/avm/lib/avm/registry/with_path.rb +0 -23
  55. data/sub/avm/lib/avm/registry.rb +0 -39
  56. data/sub/avm/lib/avm/result.rb +0 -86
  57. data/sub/avm/lib/avm/rspec/setup.rb +0 -22
  58. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +0 -11
  59. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +0 -14
  60. data/sub/avm/lib/avm/rspec.rb +0 -9
  61. data/sub/avm/lib/avm/runners/base.rb +0 -27
  62. data/sub/avm/lib/avm/scms/base.rb +0 -41
  63. data/sub/avm/lib/avm/scms/commit.rb +0 -43
  64. data/sub/avm/lib/avm/scms/inflector.rb +0 -22
  65. data/sub/avm/lib/avm/scms/null.rb +0 -14
  66. data/sub/avm/lib/avm/self/docker_image.rb +0 -14
  67. data/sub/avm/lib/avm/self/instance/entry_keys.rb +0 -12
  68. data/sub/avm/lib/avm/self/instance.rb +0 -31
  69. data/sub/avm/lib/avm/sources/base/configuration.rb +0 -55
  70. data/sub/avm/lib/avm/sources/base/instance.rb +0 -28
  71. data/sub/avm/lib/avm/sources/base/locale.rb +0 -26
  72. data/sub/avm/lib/avm/sources/base/parent.rb +0 -31
  73. data/sub/avm/lib/avm/sources/base/subs.rb +0 -55
  74. data/sub/avm/lib/avm/sources/base/subs_paths.rb +0 -32
  75. data/sub/avm/lib/avm/sources/base/testing.rb +0 -27
  76. data/sub/avm/lib/avm/sources/base.rb +0 -53
  77. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +0 -26
  78. data/sub/avm/lib/avm/sources/configuration.rb +0 -59
  79. data/sub/avm/lib/avm/sources/tester.rb +0 -24
  80. data/sub/avm/lib/avm/sources/tests/builder.rb +0 -83
  81. data/sub/avm/lib/avm/sources/tests/performer.rb +0 -35
  82. data/sub/avm/lib/avm/sources/tests/result.rb +0 -15
  83. data/sub/avm/lib/avm/sources/tests/single.rb +0 -56
  84. data/sub/avm/lib/avm/sources/tests.rb +0 -11
  85. data/sub/avm/lib/avm/sources.rb +0 -9
  86. data/sub/avm/lib/avm/sync.rb +0 -94
  87. data/sub/avm/lib/avm/version.rb +0 -5
  88. data/sub/avm/lib/avm/version_number.rb +0 -45
  89. data/sub/avm/lib/avm.rb +0 -7
  90. data/sub/avm/spec/lib/avm/scms/base_spec.rb +0 -7
  91. data/sub/avm/spec/lib/avm/sources/base_spec.rb +0 -7
  92. data/sub/avm/spec/rubocop_spec.rb +0 -3
  93. data/sub/avm/spec/spec_helper.rb +0 -4
  94. data/sub/avm-eac_rails_base1/Gemfile +0 -5
  95. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +0 -21
  96. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/apache_host.rb +0 -17
  97. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instance.rb +0 -24
  98. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/bundle.rb +0 -26
  99. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/code_runner.rb +0 -26
  100. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/log.rb +0 -43
  101. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs/clear.rb +0 -26
  102. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs.rb +0 -18
  103. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/rails_server.rb +0 -32
  104. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb +0 -46
  105. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler.rb +0 -17
  106. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner.rb +0 -12
  107. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +0 -27
  108. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -47
  109. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +0 -27
  110. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit/service.rb +0 -70
  111. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.rb +0 -29
  112. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb +0 -57
  113. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +0 -7
  114. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1.rb +0 -9
  115. data/sub/avm-eac_rails_base1/spec/rubocop_spec.rb +0 -3
  116. data/sub/avm-eac_rails_base1/spec/spec_helper.rb +0 -4
  117. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/systemd_unit/tasks_scheduler.service +0 -12
  118. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.sh +0 -6
  119. data/sub/avm-eac_ruby_base1/Gemfile +0 -5
  120. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +0 -22
  121. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +0 -56
  122. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +0 -19
  123. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +0 -34
  124. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +0 -25
  125. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +0 -44
  126. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +0 -17
  127. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +0 -73
  128. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +0 -31
  129. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +0 -19
  130. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +0 -26
  131. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +0 -25
  132. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler.rb +0 -11
  133. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +0 -31
  134. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +0 -17
  135. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +0 -41
  136. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +0 -55
  137. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +0 -39
  138. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +0 -39
  139. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +0 -23
  140. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +0 -55
  141. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +0 -76
  142. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +0 -19
  143. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +0 -13
  144. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tester.rb +0 -38
  145. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +0 -56
  146. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb +0 -52
  147. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources.rb +0 -11
  148. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +0 -7
  149. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb +0 -9
  150. data/sub/avm-eac_ruby_base1/locale/en.yml +0 -8
  151. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +0 -8
  152. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +0 -7
  153. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +0 -192
  154. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +0 -300
  155. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +0 -245
  156. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +0 -355
  157. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +0 -7
  158. data/sub/avm-eac_ruby_base1/spec/rubocop_spec.rb +0 -3
  159. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +0 -4
  160. data/sub/eac_ruby_base0/Gemfile +0 -5
  161. data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +0 -21
  162. data/sub/eac_ruby_base0/lib/eac_ruby_base0/application.rb +0 -87
  163. data/sub/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +0 -34
  164. data/sub/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +0 -5
  165. data/sub/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +0 -31
  166. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class/jobs_runner.rb +0 -10
  167. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class.rb +0 -4
  168. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/object/runner_with.rb +0 -5
  169. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/object.rb +0 -5
  170. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches.rb +0 -4
  171. data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec/setup.rb +0 -14
  172. data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec.rb +0 -9
  173. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +0 -92
  174. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +0 -42
  175. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/filesystem_traverser.rb +0 -52
  176. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/input.rb +0 -36
  177. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +0 -58
  178. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with.rb +0 -9
  179. data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +0 -5
  180. data/sub/eac_ruby_base0/lib/eac_ruby_base0.rb +0 -7
  181. data/sub/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/confirmation_spec.rb +0 -42
  182. data/sub/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +0 -81
  183. data/sub/eac_ruby_base0/spec/rubocop_spec.rb +0 -3
  184. data/sub/eac_ruby_base0/spec/spec_helper.rb +0 -4
  185. data/sub/eac_ruby_gems_utils/Gemfile +0 -5
  186. data/sub/eac_ruby_gems_utils/LICENCE +0 -16
  187. data/sub/eac_ruby_gems_utils/README.rdoc +0 -3
  188. data/sub/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +0 -31
  189. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/command.rb +0 -33
  190. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/version_file.rb +0 -41
  191. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem.rb +0 -97
  192. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/base.rb +0 -57
  193. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/minitest.rb +0 -25
  194. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +0 -48
  195. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/result.rb +0 -25
  196. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple.rb +0 -84
  197. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/rspec.rb +0 -21
  198. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests.rb +0 -9
  199. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +0 -5
  200. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils.rb +0 -7
  201. data/sub/eac_ruby_gems_utils/spec/code/rubocop_check_spec.rb +0 -3
  202. data/sub/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec.rb +0 -14
  203. data/sub/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec_files/a_version_file.rb +0 -7
  204. data/sub/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem_spec.rb +0 -20
  205. data/sub/eac_ruby_gems_utils/spec/spec_helper.rb +0 -4
  206. data/sub/eac_ruby_gems_utils/spec/support/mygem/Gemfile +0 -5
  207. data/sub/eac_ruby_gems_utils/spec/support/mygem/Gemfile.lock +0 -19
  208. data/sub/eac_ruby_gems_utils/spec/support/mygem/Rakefile +0 -14
  209. data/sub/eac_ruby_gems_utils/spec/support/mygem/exe/myrunner +0 -5
  210. data/sub/eac_ruby_gems_utils/spec/support/mygem/lib/mygem/version.rb +0 -5
  211. data/sub/eac_ruby_gems_utils/spec/support/mygem/lib/mygem.rb +0 -5
  212. data/sub/eac_ruby_gems_utils/spec/support/mygem/mygem.gemspec +0 -16
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/scms/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module Scms
8
- class Null < ::Avm::Scms::Base
9
- def update
10
- # Do nothing
11
- end
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'avm/docker/image'
5
-
6
- module Avm
7
- module Self
8
- class DockerImage < ::Avm::Docker::Image
9
- def stereotype_tag
10
- nil
11
- end
12
- end
13
- end
14
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Self
5
- class Instance < ::Avm::Instances::Base
6
- module EntryKeys
7
- DATA_DEFAULT_PATH = 'data.default_path'
8
- DOCKER_REGISTRY_NAME = 'docker.registry.name'
9
- end
10
- end
11
- end
12
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/instances/base'
4
- require 'avm/self/docker_image'
5
- require 'avm/self/instance/entry_keys'
6
-
7
- module Avm
8
- module Self
9
- class Instance < ::Avm::Instances::Base
10
- DEFAULT_INSTANCE_ID = 'avm_self'
11
-
12
- class << self
13
- def default
14
- @default ||= by_id(DEFAULT_INSTANCE_ID)
15
- end
16
- end
17
-
18
- def docker_image_class
19
- ::Avm::Self::DockerImage
20
- end
21
-
22
- def docker_registry
23
- read_entry(::Avm::Self::Instance::EntryKeys::DOCKER_REGISTRY_NAME)
24
- end
25
-
26
- def docker_run_arguments
27
- ['-e', "LOCAL_USER_ID=#{::Process.uid}"]
28
- end
29
- end
30
- end
31
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_config/yaml_file_node'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/yaml'
6
- require 'shellwords'
7
-
8
- module Avm
9
- module Sources
10
- class Base
11
- module Configuration
12
- CONFIGURATION_FILENAMES = %w[.avm.yml .avm.yaml].freeze
13
-
14
- # @return [Array<String>, nil]
15
- def read_configuration_as_shell_words(key)
16
- configuration.entry(key).value.if_present do |v|
17
- v.is_a?(::Enumerable) ? v.map(&:to_s) : ::Shellwords.split(v.to_s)
18
- end
19
- end
20
-
21
- # Utility to read a configuration as a [EacRubyUtils::Envs::Command].
22
- # @return [EacRubyUtils::Envs::Command]
23
- def read_configuration_as_env_command(key)
24
- read_configuration_as_shell_words(key).if_present do |v|
25
- env.command(v).chdir(path)
26
- end
27
- end
28
-
29
- private
30
-
31
- # @return [EacConfig::YamlFileNode]
32
- def configuration_uncached
33
- CONFIGURATION_FILENAMES.each do |filename|
34
- configuration_with_filename(filename, true)
35
- end
36
- configuration_with_filename(CONFIGURATION_FILENAMES.first, false)
37
- end
38
-
39
- # @return [EacConfig::YamlFileNode, nil]
40
- def configuration_with_filename(filename, needs_exist)
41
- file_path = path.join(filename)
42
- return ::EacConfig::YamlFileNode.new(file_path) if !needs_exist || file_path.exist?
43
-
44
- nil
45
- end
46
-
47
- # @return [Avm::Sources::Configuration]
48
- def old_configuration_uncached
49
- ::Avm::Sources::Configuration.find_in_path(path) ||
50
- ::Avm::Sources::Configuration.temp_instance
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/instances/application'
4
- require 'avm/instances/base'
5
-
6
- module Avm
7
- module Sources
8
- class Base
9
- module Instance
10
- DEFAULT_INSTANCE_SUFFIX = 'dev'
11
-
12
- def instance_suffix
13
- DEFAULT_INSTANCE_SUFFIX
14
- end
15
-
16
- private
17
-
18
- def application_uncached
19
- ::Avm::Instances::Application.new(path.basename)
20
- end
21
-
22
- def instance_uncached
23
- ::Avm::Instances::Base.new(application, DEFAULT_INSTANCE_SUFFIX)
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'i18n'
5
-
6
- module Avm
7
- module Sources
8
- class Base
9
- module Locale
10
- LOCALE_KEY = 'locale'
11
-
12
- def locale
13
- configured_locale || default_locale
14
- end
15
-
16
- def configured_locale
17
- configuration.entry(LOCALE_KEY).value
18
- end
19
-
20
- def default_locale
21
- ::I18n.default_locale
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Sources
7
- class Base
8
- module Parent
9
- # @return [Avm::Sources::Base]
10
- def parent
11
- parent_by_option || parent_by_search
12
- end
13
-
14
- # @return [Avm::Sources::Base]
15
- def parent_by_option
16
- options[OPTION_PARENT]
17
- end
18
-
19
- # @return [Avm::Sources::Base]
20
- def parent_by_search
21
- parent_path = path.parent
22
- until parent_path.root?
23
- ::Avm::Registry.sources.detect_optional(parent_path).if_present { |v| return v }
24
- parent_path = parent_path.parent
25
- end
26
- nil
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/sources/base/subs_paths'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module Sources
8
- class Base
9
- module Subs
10
- CONFIGURATION_SUBS_EXCLUDE_PATHS_KEY = 'subs.exclude_path'
11
- CONFIGURATION_SUBS_INCLUDE_PATHS_KEY = 'subs.include_path'
12
- SUBS_EXCLUDE_PATHS_DEFAULT = [].freeze
13
- SUBS_INCLUDE_PATHS_DEFAULT = ['sub/*'].freeze
14
-
15
- # @return [Enumerable<Avm::Sources::Base>]
16
- def subs
17
- subs_paths_to_search
18
- .map { |sub_path| ::Avm::Registry.sources.detect_optional(sub_path, parent: self) }
19
- .reject(&:blank?)
20
- .sort_by { |sub| [sub.path] }
21
- end
22
-
23
- def subs_paths_to_search
24
- subs_include_paths.flat_map do |subs_include_path|
25
- ::Pathname.glob(path.join(subs_include_path)).reject do |sub_path|
26
- subs_exclude_paths.any? do |subs_exclude_path|
27
- sub_path.fnmatch?(path.join(subs_exclude_path).to_path)
28
- end
29
- end
30
- end
31
- end
32
-
33
- %i[include exclude].each do |type|
34
- %i[path paths configured_paths default_paths].each do |method_suffix|
35
- obj_method_name = "subs_#{type}_path_obj"
36
-
37
- define_method "subs_#{type}_#{method_suffix}" do
38
- send(obj_method_name).send(method_suffix)
39
- end
40
-
41
- define_method "#{obj_method_name}_uncached" do
42
- ::Avm::Sources::Base::SubsPaths.new(
43
- self,
44
- self.class.const_get("CONFIGURATION_SUBS_#{type}_PATHS_KEY".upcase),
45
- self.class.const_get("SUBS_#{type}_PATHS_DEFAULT".upcase)
46
- )
47
- end
48
-
49
- private "#{obj_method_name}_uncached" # rubocop:disable Style/AccessModifierDeclarations
50
- end
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Sources
7
- class Base
8
- class SubsPaths
9
- SUBS_PATH_SEPARATOR = ':'
10
-
11
- common_constructor :source, :configuration_key, :default_paths
12
-
13
- # @return [String]
14
- def path
15
- paths.join(SUBS_PATH_SEPARATOR)
16
- end
17
-
18
- # @return [Array<String>]
19
- def paths
20
- configured_paths || default_paths
21
- end
22
-
23
- # @return [Array<String>]
24
- def configured_paths
25
- source.configuration.entry(configuration_key).value.if_present do |v|
26
- v.split(SUBS_PATH_SEPARATOR)
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Sources
7
- class Base
8
- module Testing
9
- TEST_COMMAND_KEY = 'test.command'
10
-
11
- def configured_test_command
12
- read_configuration_as_env_command(TEST_COMMAND_KEY)
13
- end
14
-
15
- # @return [Avm::Sources::Tester]
16
- def tester
17
- tester_class.new(self)
18
- end
19
-
20
- # @return [Class<Avm::Sources::Tester>
21
- def tester_class
22
- Avm::Sources::Tester
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/registry'
4
- require 'avm/scms/null'
5
- require 'eac_git'
6
- require 'eac_ruby_utils/core_ext'
7
-
8
- module Avm
9
- module Sources
10
- class Base
11
- require_sub __FILE__, include_modules: true
12
- compare_by :path
13
- enable_abstract_methods
14
- enable_simple_cache
15
- enable_listable
16
- lists.add_symbol :option, :parent
17
- common_constructor :path, :options, default: [{}] do
18
- self.path = path.to_pathname.expand_path
19
- self.options = ::Avm::Sources::Base.lists.option.hash_keys_validate!(options)
20
- end
21
-
22
- abstract_methods :update, :valid?
23
-
24
- # @return [EacRubyUtils::Envs::LocalEnv]
25
- def env
26
- ::EacRubyUtils::Envs::LocalEnv.new
27
- end
28
-
29
- # @return [Hash<String, Class>]
30
- def extra_available_subcommands
31
- {}
32
- end
33
-
34
- # @return [Pathname]
35
- def relative_path
36
- return path if parent.blank?
37
-
38
- path.relative_path_from(parent.path)
39
- end
40
-
41
- def to_s
42
- "#{self.class}[#{path}]"
43
- end
44
-
45
- private
46
-
47
- # @return [Avm::Scms::Base]
48
- def scm_uncached
49
- ::Avm::Registry.scms.detect_optional(path) || ::Avm::Scms::Null.new(path)
50
- end
51
- end
52
- end
53
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Sources
5
- class Configuration < ::EacConfig::OldConfigs
6
- module Rubocop
7
- RUBOCOP_COMMAND_KEY = 'ruby.rubocop.command'
8
- RUBOCOP_GEMFILE_KEY = 'ruby.rubocop.gemfile'
9
-
10
- def rubocop_command
11
- read_command(RUBOCOP_COMMAND_KEY)
12
- end
13
-
14
- def rubocop_gemfile
15
- gemfile_path = read_entry(RUBOCOP_GEMFILE_KEY)
16
- return nil if gemfile_path.blank?
17
-
18
- gemfile_path = gemfile_path.to_pathname.expand_path(storage_path.parent)
19
- return gemfile_path if gemfile_path.file?
20
-
21
- raise "Gemfile path \"#{gemfile_path}\" does not exist or is not a file"
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_config/old_configs'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'yaml'
6
-
7
- module Avm
8
- module Sources
9
- class Configuration < ::EacConfig::OldConfigs
10
- require_sub __FILE__, include_modules: true
11
-
12
- FILENAMES = %w[.avm.yml .avm.yaml].freeze
13
-
14
- class << self
15
- def find_by_path(path)
16
- path = ::Pathname.new(path.to_s) unless path.is_a?(::Pathname)
17
- internal_find_path(path.expand_path)
18
- end
19
-
20
- def find_in_path(path)
21
- absolute_pathname = path.to_pathname.expand_path
22
- if absolute_pathname.directory?
23
- FILENAMES.each do |filename|
24
- file = absolute_pathname.join(filename)
25
- return new(file) if file.exist?
26
- end
27
- end
28
- nil
29
- end
30
-
31
- def temp_instance
32
- new(::Tempfile.new(['.avm', '.yaml']))
33
- end
34
-
35
- private
36
-
37
- def internal_find_path(absolute_pathname)
38
- r = find_in_path(absolute_pathname)
39
- return r if r.present?
40
-
41
- internal_find_path(absolute_pathname.dirname) unless absolute_pathname.root?
42
- end
43
- end
44
-
45
- def initialize(path)
46
- super(nil, storage_path: path)
47
- end
48
-
49
- # Utility to read a configuration as a [EacRubyUtils::Envs::Command].
50
- # @return [EacRubyUtils::Envs::Command]
51
- def read_command(key)
52
- read_entry(key).if_present do |v|
53
- args = v.is_a?(::Enumerable) ? v.map(&:to_s) : ::Shellwords.split(v)
54
- ::EacRubyUtils::Envs.local.command(args).chdir(::File.dirname(storage_path))
55
- end
56
- end
57
- end
58
- end
59
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Sources
7
- class Tester
8
- enable_abstract_methods
9
- common_constructor :source
10
-
11
- abstract_methods :result, :logs
12
-
13
- # @return [EacFs::Logs]
14
- def logs
15
- raise_abstract_method __method__
16
- end
17
-
18
- # @return [Avm::Sources::Tests::Result]
19
- def result
20
- raise_abstract_method __method__
21
- end
22
- end
23
- end
24
- end
@@ -1,83 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/sources/tests/performer'
4
- require 'avm/sources/tests/single'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module Sources
9
- module Tests
10
- class Builder
11
- require_sub __FILE__
12
- enable_immutable
13
-
14
- immutable_accessor :include_main, :include_subs, type: :boolean
15
- immutable_accessor :include_id, type: :array
16
- common_constructor :main_source
17
-
18
- def immutable_constructor_args
19
- [main_source]
20
- end
21
-
22
- # @return [Avm::Sources::Tests::Performer]
23
- def performer
24
- ::Avm::Sources::Tests::Performer.new(self)
25
- end
26
-
27
- def selected_units
28
- (select_units_from_subs + select_units_from_main + select_units_from_ids).sort.uniq
29
- end
30
-
31
- private
32
-
33
- # @return [Array<Avm::Sources::Tests::Single>]
34
- def available_units
35
- @available_units ||= ([main_source] + main_source.subs)
36
- .map { |a_source| create_unit(a_source) }
37
- end
38
-
39
- def available_units_from_main
40
- create_units([main_source])
41
- end
42
-
43
- def available_units_from_subs
44
- create_units(main_source.subs)
45
- end
46
-
47
- # @return [Avm::Sources::Tests::Single]
48
- def create_unit(source)
49
- ::Avm::Sources::Tests::Single.new(self, source)
50
- end
51
-
52
- # @return [Array<Avm::Sources::Tests::Single>]
53
- def create_units(sources)
54
- sources.map { |a_source| create_unit(a_source) }
55
- end
56
-
57
- # @return [Avm::Sources::Tests::Single]
58
- def create_unit_by_id(source_id)
59
- r = available_units.find { |unit| unit.id == source_id }
60
- return r if r
61
-
62
- raise ::ArgumentError, "Source not found with ID=#{source_id}" \
63
- "(Available: #{available_units.map(&:id).join(', ')})"
64
- end
65
-
66
- # @return [Array<Avm::Sources::Tests::Single>]
67
- def select_units_from_ids
68
- include_ids.map { |source_id| create_unit_by_id(source_id) }
69
- end
70
-
71
- # @return [Array<Avm::Sources::Tests::Single>]
72
- def select_units_from_main
73
- include_main? ? available_units_from_main : []
74
- end
75
-
76
- # @return [Array<Avm::Sources::Tests::Single>]
77
- def select_units_from_subs
78
- include_subs? ? available_units_from_subs : []
79
- end
80
- end
81
- end
82
- end
83
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/sources/tests/result'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module Sources
8
- module Tests
9
- class Performer
10
- enable_simple_cache
11
-
12
- common_constructor(:owner)
13
-
14
- def non_failed_units
15
- units.reject(&:failed?)
16
- end
17
-
18
- def failed_units
19
- units.select(&:failed?)
20
- end
21
-
22
- # @return [Boolean]
23
- def successful?
24
- failed_units.none?
25
- end
26
-
27
- protected
28
-
29
- def units_uncached
30
- owner.selected_units
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/enum'
4
-
5
- module Avm
6
- module Sources
7
- module Tests
8
- class Result < ::EacCli::Enum
9
- enum :failed, :red
10
- enum :nonexistent, :white
11
- enum :sucessful, :green
12
- end
13
- end
14
- end
15
- end
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/sources/tests/result'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_fs/logs'
6
-
7
- module Avm
8
- module Sources
9
- module Tests
10
- class Single
11
- MAIN_SOURCE_ID = '#main'
12
-
13
- compare_by :order_group, :id
14
- enable_simple_cache
15
- enable_speaker
16
-
17
- common_constructor :builder, :source
18
-
19
- delegate :logs, :result, to: :tester
20
- delegate :to_s, to: :id
21
-
22
- def failed?
23
- result == ::Avm::Sources::Tests::Result::FAILED
24
- end
25
-
26
- # @return [String]
27
- def id
28
- if main?
29
- MAIN_SOURCE_ID
30
- else
31
- relative_path_from_main_source.to_s
32
- end
33
- end
34
-
35
- def main?
36
- relative_path_from_main_source.to_s == '.'
37
- end
38
-
39
- def order_group
40
- main? ? 1 : 0
41
- end
42
-
43
- # @return [Pathname]
44
- def relative_path_from_main_source
45
- source.path.relative_path_from(builder.main_source.path)
46
- end
47
-
48
- private
49
-
50
- def tester_uncached
51
- source.tester
52
- end
53
- end
54
- end
55
- end
56
- end