eac_tools 0.120.0 → 0.122.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +58 -47
- data/eac_tools.gemspec +5 -5
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm-eac_generic_base0/.gitrepo +7 -0
- data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +21 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +29 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +21 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +65 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +38 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +10 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +40 -0
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker/runner.rb +107 -0
- data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb → avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb} +2 -2
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +11 -0
- data/sub/avm-eac_generic_base0/locale/en.yml +6 -0
- data/sub/avm-eac_generic_base0/locale/pt-BR.yml +6 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +5 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.source +3 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.target +3 -0
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +5 -0
- data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +3 -0
- data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_generic_base0}/spec/spec_helper.rb +1 -1
- data/sub/avm-eac_redmine_base0/.gitignore +2 -0
- data/sub/avm-eac_redmine_base0/.gitrepo +7 -0
- data/sub/avm-eac_redmine_base0/.rubocop.yml +2 -0
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +26 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +10 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +27 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +18 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +52 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +43 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +19 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +17 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +63 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +16 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +110 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +27 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +30 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +17 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +66 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +16 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +15 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +25 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +68 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +26 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +22 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +53 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +40 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +34 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +125 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +61 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +16 -0
- data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb} +2 -3
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +11 -0
- data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
- data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +19 -0
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +11 -0
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +24 -0
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
- data/sub/{eac_ruby_gem_support → avm-eac_redmine_base0}/spec/spec_helper.rb +2 -1
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +46 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +37 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +53 -0
- data/sub/{avm-eac_ruby_base1 → avm-eac_ubuntu_base0}/.gitignore +1 -1
- data/sub/avm-eac_ubuntu_base0/.gitrepo +7 -0
- data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +21 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +57 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +24 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +30 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +24 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/minimal_docker_image.rb +20 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +83 -0
- data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb} +5 -4
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +26 -0
- data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1 → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0}/version.rb +2 -2
- data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb} +1 -3
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +12 -0
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server_spec.rb +11 -0
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +11 -0
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +5 -0
- data/sub/{avm-eac_ruby_base1 → avm-eac_ubuntu_base0}/spec/spec_helper.rb +1 -1
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +25 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/minimal_docker_image/Dockerfile.template +6 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/Dockerfile.template +22 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa +27 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa.pub +1 -0
- data/sub/eac_docker/.avm.yaml +3 -0
- data/sub/eac_docker/.gitignore +2 -0
- data/sub/eac_docker/.gitrepo +7 -0
- data/sub/eac_docker/eac_docker.gemspec +20 -0
- data/sub/eac_docker/lib/eac_docker/container/exist.rb +27 -0
- data/sub/eac_docker/lib/eac_docker/container/identifiers.rb +25 -0
- data/sub/eac_docker/lib/eac_docker/container/run_command.rb +53 -0
- data/sub/eac_docker/lib/eac_docker/container/start_command.rb +26 -0
- data/sub/eac_docker/lib/eac_docker/container.rb +56 -0
- data/sub/eac_docker/lib/eac_docker/debug.rb +13 -0
- data/sub/eac_docker/lib/eac_docker/executables.rb +15 -0
- data/sub/eac_docker/lib/eac_docker/images/base.rb +11 -0
- data/sub/eac_docker/lib/eac_docker/images/coded.rb +39 -0
- data/sub/eac_docker/lib/eac_docker/images/named.rb +32 -0
- data/sub/eac_docker/lib/eac_docker/images/templatized.rb +43 -0
- data/sub/eac_docker/lib/eac_docker/registry.rb +15 -0
- data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +15 -0
- data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +39 -0
- data/sub/eac_docker/lib/eac_docker/version.rb +5 -0
- data/sub/eac_docker/lib/eac_docker.rb +6 -0
- data/sub/eac_docker/spec/lib/eac_docker/container_spec.rb +24 -0
- data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +7 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +10 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +1 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +15 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +1 -0
- data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → eac_docker}/spec/spec_helper.rb +1 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_instance_method.rb +14 -2
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/execution.rb +13 -3
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +4 -2
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patch_module.rb +6 -6
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_instance_method.rb +3 -2
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch_self.rb +1 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -1
- metadata +143 -213
- data/sub/avm-eac_ruby_base1/.gitrepo +0 -7
- data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +0 -24
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +0 -54
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +0 -17
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +0 -32
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +0 -22
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +0 -41
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +0 -14
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +0 -73
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +0 -26
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +0 -17
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +0 -13
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +0 -23
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +0 -21
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +0 -44
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +0 -19
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +0 -24
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +0 -120
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +0 -61
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +0 -24
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +0 -71
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/local_gem.rb +0 -31
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/remote_gem.rb +0 -45
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +0 -33
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +0 -32
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +0 -40
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +0 -13
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +0 -20
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +0 -29
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +0 -15
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +0 -39
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +0 -54
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gem_search_parser.rb +0 -34
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +0 -69
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +0 -28
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +0 -57
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb +0 -39
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +0 -59
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/nexus.rb +0 -29
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +0 -42
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +0 -31
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +0 -43
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +0 -74
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +0 -27
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +0 -59
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +0 -23
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemspec.rb +0 -81
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +0 -32
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +0 -46
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +0 -58
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +0 -48
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +0 -35
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +0 -62
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/gem_provider.rb +0 -46
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +0 -39
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +0 -23
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +0 -70
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +0 -50
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +0 -30
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +0 -30
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +0 -16
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +0 -55
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +0 -21
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +0 -51
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +0 -65
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +0 -66
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +0 -26
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +0 -55
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +0 -58
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +0 -87
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +0 -73
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +0 -16
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +0 -57
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +0 -27
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +0 -50
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +0 -29
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +0 -85
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +0 -23
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/bundle_update.rb +0 -28
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/update_requirements.rb +0 -57
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +0 -57
- data/sub/avm-eac_ruby_base1/locale/en.yml +0 -19
- data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +0 -19
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +0 -192
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +0 -300
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +0 -245
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +0 -355
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +0 -305
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +0 -13
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +0 -6
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +0 -3
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +0 -6
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +0 -43
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +0 -57
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +0 -25
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +0 -21
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +0 -21
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec.rb +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.source +0 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.target.yaml +0 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.source +0 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.target.yaml +0 -123
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +0 -35
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +0 -15
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +0 -15
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +0 -13
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +0 -33
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/.avm.yml +0 -4
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +0 -7
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +0 -31
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +0 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/.avm.yml +0 -4
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +0 -4
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +0 -16
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +0 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +0 -2
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +0 -20
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +0 -7
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +0 -4
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +0 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +0 -2
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +0 -4
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +0 -20
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +0 -28
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +0 -19
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +0 -14
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +0 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +0 -7
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +0 -17
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +0 -13
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +0 -19
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +0 -4
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.gitignore +0 -2
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.rubocop.yml +0 -3
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +0 -5
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +0 -5
- data/sub/eac_ruby_gem_support/.gitrepo +0 -7
- data/sub/eac_ruby_gem_support/.rspec +0 -1
- data/sub/eac_ruby_gem_support/.rubocop.yml +0 -45
- data/sub/eac_ruby_gem_support/Gemfile +0 -8
- data/sub/eac_ruby_gem_support/eac_ruby_gem_support.gemspec +0 -27
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/filesystem.rb +0 -73
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/utils.rb +0 -22
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup/rubocop.rb +0 -61
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup.rb +0 -52
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures.rb +0 -73
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths.rb +0 -11
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/source_target_fixtures_controller.rb +0 -29
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/spec_paths_controller.rb +0 -27
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures/source_target_file.rb +0 -17
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures.rb +0 -72
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/version.rb +0 -5
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support.rb +0 -9
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/helpers/filesystem_spec.rb +0 -30
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec.rb +0 -11
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.source.yaml +0 -2
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.target.yaml +0 -2
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths_spec.rb +0 -17
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec.rb +0 -25
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.source.txt +0 -1
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.target.html +0 -1
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub2.source.html +0 -1
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
- /data/sub/{eac_ruby_gem_support → avm-eac_generic_base0}/.gitignore +0 -0
- /data/sub/{avm-eac_ruby_base1 → avm-eac_generic_base0}/.rspec +0 -0
- /data/sub/{avm-eac_ruby_base1 → avm-eac_generic_base0}/.rubocop.yml +0 -0
- /data/sub/{avm-eac_ruby_base1 → avm-eac_generic_base0}/Gemfile +0 -0
- /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_redmine_base0}/.rspec +0 -0
- /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_redmine_base0}/Gemfile +0 -0
- /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → avm-eac_ubuntu_base0}/.rspec +0 -0
- /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_ubuntu_base0}/.rubocop.yml +0 -0
- /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → avm-eac_ubuntu_base0}/Gemfile +0 -0
- /data/sub/{avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static → eac_docker}/.rspec +0 -0
- /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → eac_docker}/.rubocop.yml +0 -0
- /data/sub/{avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static → eac_docker}/Gemfile +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
class Container
|
|
5
|
+
module Identifiers
|
|
6
|
+
common_concern do
|
|
7
|
+
immutable_accessor :name, type: :common
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
attr_reader :id
|
|
11
|
+
|
|
12
|
+
# Value that identifies the container to Docker commands: {#id}, if present, or {#name}.
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
def identifier
|
|
16
|
+
id.presence || name.presence || raise('Neither `id` or `name` is present ' \
|
|
17
|
+
'- need at least one of them')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
protected
|
|
21
|
+
|
|
22
|
+
attr_writer :id
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
class Container
|
|
5
|
+
class RunCommand
|
|
6
|
+
acts_as_instance_method
|
|
7
|
+
common_constructor :container, :extra_args, default: [[]]
|
|
8
|
+
delegate :capabilities, :command_args, :envs, :image, :interactive?, :name, :temporary?,
|
|
9
|
+
:tty?, :volumes, to: :container
|
|
10
|
+
|
|
11
|
+
# @return [EacRubyUtils::Envs::Command]
|
|
12
|
+
def result
|
|
13
|
+
::EacDocker::Executables.docker.command('run', *all_args)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @return [Array<String>]
|
|
17
|
+
def all_args
|
|
18
|
+
%w[boolean capabilities envs name volumes]
|
|
19
|
+
.inject([]) { |a, e| a + send("#{e}_args") } +
|
|
20
|
+
extra_args + [image.provide.id] + command_args
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# @return [Array<String>]
|
|
24
|
+
def boolean_args
|
|
25
|
+
r = []
|
|
26
|
+
r << '--interactive' if interactive?
|
|
27
|
+
r << '--tty' if tty?
|
|
28
|
+
r << '--rm' if temporary?
|
|
29
|
+
r
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# @return [Array<String>]
|
|
33
|
+
def capabilities_args
|
|
34
|
+
capabilities.flat_map { |capability| ['--cap-add', capability] }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @return [Array<String>]
|
|
38
|
+
def envs_args
|
|
39
|
+
envs.flat_map { |name, value| ['--env', "#{name}=#{value}"] }
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# @return [Array<String>]
|
|
43
|
+
def name_args
|
|
44
|
+
name.if_present([]) { |v| ['--name', v] }
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @return [Array<String>]
|
|
48
|
+
def volumes_args
|
|
49
|
+
volumes.flat_map { |volume| ['--volume', volume] }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
class Container
|
|
5
|
+
# Start an already existing container identified by {#id}, if present, or {#name}.
|
|
6
|
+
class StartCommand
|
|
7
|
+
acts_as_instance_method
|
|
8
|
+
common_constructor :container
|
|
9
|
+
delegate :identifier, :interactive?, :tty?, to: :container
|
|
10
|
+
|
|
11
|
+
# @return [EacRubyUtils::Envs::Command]
|
|
12
|
+
def result
|
|
13
|
+
::EacDocker::Executables.docker.command('start', *start_args)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @return [Array<String>]
|
|
17
|
+
def start_args
|
|
18
|
+
r = []
|
|
19
|
+
r << '--attach' if interactive? || tty?
|
|
20
|
+
r << '--interactive' if interactive?
|
|
21
|
+
r << identifier
|
|
22
|
+
r
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
class Container
|
|
5
|
+
enable_immutable
|
|
6
|
+
immutable_accessor :interactive, :temporary, :tty, type: :boolean
|
|
7
|
+
immutable_accessor :env, type: :hash
|
|
8
|
+
immutable_accessor :capability, :command_arg, :volume, type: :array
|
|
9
|
+
|
|
10
|
+
common_constructor :image
|
|
11
|
+
|
|
12
|
+
def immutable_constructor_args
|
|
13
|
+
[image]
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
alias immutable_volume volume
|
|
17
|
+
|
|
18
|
+
def hostname
|
|
19
|
+
::EacDocker::Executables.docker.command(
|
|
20
|
+
'inspect', '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}',
|
|
21
|
+
id
|
|
22
|
+
).execute!.strip
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @return [String]
|
|
26
|
+
def logs
|
|
27
|
+
::EacDocker::Executables.docker.command('logs', id).execute!
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def on_detached
|
|
31
|
+
self.id = run_command(%w[--detach]).execute!.strip
|
|
32
|
+
begin
|
|
33
|
+
yield(self)
|
|
34
|
+
ensure
|
|
35
|
+
stop
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def volume(left_part, right_part = nil)
|
|
40
|
+
immutable_volume(right_part.if_present(left_part) { |v| "#{left_part}:#{v}" })
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Force removal of the container identified by {#id}, if present, or {#name}.
|
|
44
|
+
#
|
|
45
|
+
# @return [String] output of the "docker rm" command.
|
|
46
|
+
def remove_command
|
|
47
|
+
::EacDocker::Executables.docker.command('rm', '--force', identifier)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def stop
|
|
51
|
+
::EacDocker::Executables.docker.command('stop', id).execute!
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
require_sub __FILE__, require_mode: :kernel, include_modules: true
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
module Images
|
|
5
|
+
class Coded < ::EacDocker::Images::Base
|
|
6
|
+
enable_simple_cache
|
|
7
|
+
enable_immutable
|
|
8
|
+
immutable_accessor :tag
|
|
9
|
+
common_constructor :path do
|
|
10
|
+
self.path = path.to_pathname
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def immutable_constructor_args
|
|
14
|
+
[path]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def provide
|
|
18
|
+
id
|
|
19
|
+
self
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def id_uncached
|
|
25
|
+
if ::EacDocker::Debug.enabled?
|
|
26
|
+
::EacDocker::Executables.docker.command(*build_args.excluding('--quiet')).system!
|
|
27
|
+
end
|
|
28
|
+
::EacDocker::Executables.docker.command(*build_args).execute!.strip
|
|
29
|
+
.then { |digest| tag.presence || digest }
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def build_args
|
|
33
|
+
args = %w[build --quiet]
|
|
34
|
+
args += ['--tag', tag] if tag.present?
|
|
35
|
+
args + [path.to_path]
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
module Images
|
|
5
|
+
class Named < ::EacDocker::Images::Base
|
|
6
|
+
common_constructor :source_tag
|
|
7
|
+
|
|
8
|
+
# @return [Boolean]
|
|
9
|
+
def exist?
|
|
10
|
+
::EacDocker::Executables.docker.command('image', 'inspect', source_tag).execute
|
|
11
|
+
.fetch(:exit_code).zero?
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def id
|
|
15
|
+
source_tag
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def provide
|
|
19
|
+
provide_command.execute! unless exist?
|
|
20
|
+
self
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def provide_command
|
|
24
|
+
::EacDocker::Executables.docker.command(*docker_provide_args)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def docker_provide_args
|
|
28
|
+
['pull', source_tag]
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
module Images
|
|
5
|
+
class Templatized < ::EacDocker::Images::Base
|
|
6
|
+
enable_immutable
|
|
7
|
+
immutable_accessor :tag
|
|
8
|
+
attr_reader :provide_dir
|
|
9
|
+
|
|
10
|
+
def id
|
|
11
|
+
tag
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def provide
|
|
15
|
+
::EacRubyUtils::Fs::Temp.on_directory do |provide_dir|
|
|
16
|
+
self.provide_dir = provide_dir
|
|
17
|
+
write_in_provide_dir
|
|
18
|
+
coded_image(provide_dir).tag(tag).provide
|
|
19
|
+
ensure
|
|
20
|
+
self.provide_dir = nil
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def coded_image(provide_dir)
|
|
25
|
+
::EacDocker::Images::Coded.new(provide_dir)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
protected
|
|
29
|
+
|
|
30
|
+
def variables_source
|
|
31
|
+
self
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def write_in_provide_dir
|
|
35
|
+
eac_template.apply(variables_source, provide_dir)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
attr_writer :provide_dir
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
module Rspec
|
|
5
|
+
module Setup
|
|
6
|
+
def self.extended(obj)
|
|
7
|
+
obj.setup_conditional_docker_executable
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def setup_conditional_docker_executable
|
|
11
|
+
conditional(:docker) { ::EacDocker::Executables.docker.validate }
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacDocker
|
|
4
|
+
module Rspec
|
|
5
|
+
class StubImage
|
|
6
|
+
include ::ActiveSupport::Callbacks
|
|
7
|
+
|
|
8
|
+
define_callbacks :on_container
|
|
9
|
+
common_constructor :image
|
|
10
|
+
|
|
11
|
+
def build_container
|
|
12
|
+
image.provide.container.temporary(true)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def container
|
|
16
|
+
raise 'internal container is blank' if internal_container.blank?
|
|
17
|
+
|
|
18
|
+
internal_container
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def on_container(&)
|
|
22
|
+
raise 'A container was already created' if internal_container.present?
|
|
23
|
+
|
|
24
|
+
build_container.on_detached do |container|
|
|
25
|
+
self.internal_container = container
|
|
26
|
+
begin
|
|
27
|
+
run_callbacks(:on_container, &)
|
|
28
|
+
ensure
|
|
29
|
+
self.internal_container = nil
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
attr_accessor :internal_container
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.describe(EacDocker::Container, :docker) do
|
|
4
|
+
let(:image) { EacDocker::Images::Named.new('alpine') }
|
|
5
|
+
let(:instance) { described_class.new(image) }
|
|
6
|
+
|
|
7
|
+
it do
|
|
8
|
+
expect(instance.id).to be_blank
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe '#run_command' do
|
|
12
|
+
it do
|
|
13
|
+
expect(instance.command_arg('whoami').run_command.execute!.strip).to eq('root')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#on_detached' do
|
|
18
|
+
it do
|
|
19
|
+
instance.on_detached do
|
|
20
|
+
expect(instance.id).to be_present
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.describe(EacDocker::Images::Coded, :docker) do
|
|
4
|
+
let(:fixtures_dir) { Pathname.new('coded_spec_files').expand_path(__dir__) }
|
|
5
|
+
let(:instance) { described_class.new(fixtures_dir / 'image1') }
|
|
6
|
+
|
|
7
|
+
describe '#provide' do
|
|
8
|
+
it { expect { instance.provide }.not_to raise_error }
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from ubuntu:bionic
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.describe(EacDocker::Images::Templatized, :docker) do
|
|
4
|
+
let(:fixtures_dir) { Pathname.new('templatized_spec_files').expand_path(__dir__) }
|
|
5
|
+
let(:instance) { StubDockerImage.new }
|
|
6
|
+
|
|
7
|
+
before do
|
|
8
|
+
EacTemplates::Sources::Set.default.included_paths << fixtures_dir
|
|
9
|
+
stub_const('StubDockerImage', Class.new(described_class))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe '#provide' do
|
|
13
|
+
it { expect { instance.provide }.not_to raise_error }
|
|
14
|
+
end
|
|
15
|
+
end
|
data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from ubuntu:bionic
|
|
@@ -2,12 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
require 'active_support/core_ext/module/introspection'
|
|
4
4
|
require 'eac_ruby_utils/patches/class/common_constructor'
|
|
5
|
+
require 'eac_ruby_utils/patches/module/listable'
|
|
5
6
|
require 'eac_ruby_utils/patches/module/module_parent'
|
|
6
7
|
require 'eac_ruby_utils/patches/string/inflector'
|
|
7
8
|
|
|
8
9
|
module EacRubyUtils
|
|
9
10
|
class ActsAsInstanceMethod
|
|
10
|
-
|
|
11
|
+
enable_listable
|
|
12
|
+
lists.add_symbol :option, :name_mark
|
|
13
|
+
lists.add_symbol :name_mark, '': :none, '!': :exclamation, '?': :interrogation
|
|
14
|
+
|
|
15
|
+
common_constructor :method_class, :options, default: [{}] do
|
|
16
|
+
self.options = ::EacRubyUtils::ActsAsInstanceMethod.lists.option.hash_keys_validate!(options)
|
|
17
|
+
end
|
|
11
18
|
|
|
12
19
|
# @param sender_module [Module, nil]
|
|
13
20
|
# @return [self]
|
|
@@ -23,7 +30,12 @@ module EacRubyUtils
|
|
|
23
30
|
|
|
24
31
|
# @return [String]
|
|
25
32
|
def method_name
|
|
26
|
-
method_class.name.demodulize.underscore.variableize
|
|
33
|
+
"#{method_class.name.demodulize.underscore.variableize}#{method_name_mark}"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @return [Symbol]
|
|
37
|
+
def method_name_mark
|
|
38
|
+
options[OPTION_NAME_MARK] || NAME_MARK_NONE
|
|
27
39
|
end
|
|
28
40
|
|
|
29
41
|
# @return [Module]
|
|
@@ -10,6 +10,12 @@ module EacRubyUtils
|
|
|
10
10
|
module Envs
|
|
11
11
|
module BaseCommand
|
|
12
12
|
module Execution
|
|
13
|
+
common_concern do
|
|
14
|
+
include ActiveSupport::Callbacks
|
|
15
|
+
|
|
16
|
+
define_callbacks :any_execution, :execute, :spawn, :system
|
|
17
|
+
end
|
|
18
|
+
|
|
13
19
|
def execute!(options = {})
|
|
14
20
|
options[:exit_outputs] = status_results.merge(options[:exit_outputs].presence || {})
|
|
15
21
|
er = ::EacRubyUtils::Envs::ExecutionResult.new(execute(options), options)
|
|
@@ -23,7 +29,9 @@ module EacRubyUtils
|
|
|
23
29
|
c = command(options)
|
|
24
30
|
debug_print("BEFORE: #{c}")
|
|
25
31
|
t1 = Time.now
|
|
26
|
-
r =
|
|
32
|
+
r = run_callbacks :any_execution, :execute do
|
|
33
|
+
::EacRubyUtils::Envs::Process.new(c).to_h
|
|
34
|
+
end
|
|
27
35
|
i = Time.now - t1
|
|
28
36
|
debug_print("AFTER [#{i}]: #{c}")
|
|
29
37
|
r
|
|
@@ -32,7 +40,9 @@ module EacRubyUtils
|
|
|
32
40
|
def spawn(options = {})
|
|
33
41
|
c = command(options)
|
|
34
42
|
debug_print("SPAWN: #{c}")
|
|
35
|
-
|
|
43
|
+
run_callbacks :any_execution, :spawn do
|
|
44
|
+
::EacRubyUtils::Envs::Spawn.new(c)
|
|
45
|
+
end
|
|
36
46
|
end
|
|
37
47
|
|
|
38
48
|
def system!(options = {})
|
|
@@ -44,7 +54,7 @@ module EacRubyUtils
|
|
|
44
54
|
def system(options = {})
|
|
45
55
|
c = command(options)
|
|
46
56
|
debug_print(c)
|
|
47
|
-
Kernel.system(c)
|
|
57
|
+
run_callbacks(:any_execution, :system) { Kernel.system(c) }
|
|
48
58
|
end
|
|
49
59
|
end
|
|
50
60
|
end
|
|
@@ -11,8 +11,10 @@ module EacRubyUtils
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
class Setup < ::EacRubyUtils::ActsAsInstanceMethod
|
|
14
|
-
common_constructor :method_class, :static_method, default: [false],
|
|
15
|
-
|
|
14
|
+
common_constructor :method_class, :static_method, :options, default: [false, {}],
|
|
15
|
+
super_args: lambda {
|
|
16
|
+
[method_class, options]
|
|
17
|
+
} do
|
|
16
18
|
perform
|
|
17
19
|
end
|
|
18
20
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
require 'eac_ruby_utils/patches/module/common_concern'
|
|
4
4
|
|
|
5
5
|
module EacRubyUtils
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class_methods do
|
|
10
|
-
delegate :patch_module, to: :'::EacRubyUtils::PatchModule'
|
|
6
|
+
class << self
|
|
7
|
+
def patch_module(*)
|
|
8
|
+
::EacRubyUtils::PatchModule.perform(*)
|
|
11
9
|
end
|
|
10
|
+
end
|
|
12
11
|
|
|
12
|
+
module PatchModule
|
|
13
13
|
class << self
|
|
14
|
-
def
|
|
14
|
+
def perform(target, patch)
|
|
15
15
|
return if target.include?(patch)
|
|
16
16
|
|
|
17
17
|
target.send(:include, patch)
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
require 'eac_ruby_utils/acts_as_instance_method'
|
|
4
4
|
|
|
5
5
|
class Module
|
|
6
|
+
# @param options [Hash]
|
|
6
7
|
# @return [EacRubyUtils::ActsAsInstanceMethod]
|
|
7
|
-
def acts_as_instance_method
|
|
8
|
-
::EacRubyUtils::ActsAsInstanceMethod.new(self).setup
|
|
8
|
+
def acts_as_instance_method(**options)
|
|
9
|
+
::EacRubyUtils::ActsAsInstanceMethod.new(self, options).setup
|
|
9
10
|
end
|
|
10
11
|
end
|