eac_tools 0.99.1 → 0.100.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 +55 -27
- data/lib/eac_tools/version.rb +1 -1
- data/lib/eac_tools.rb +17 -0
- data/sub/avm/avm.gemspec +3 -3
- data/sub/avm/lib/avm/rspec/setup.rb +1 -0
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/Gemfile +8 -0
- data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +22 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +54 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +17 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +32 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +22 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +41 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +14 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +73 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +26 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +17 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +13 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +23 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +23 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +44 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +21 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +17 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +120 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +61 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +24 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +122 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +33 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +40 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +15 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +20 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec.rb +9 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +29 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +15 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +39 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +52 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +69 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +23 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +57 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +33 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +43 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems.rb +9 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +74 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +27 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb +16 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb +9 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +59 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +23 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +32 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +35 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +58 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +83 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +35 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +64 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +39 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +23 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +70 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +40 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +21 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +29 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +16 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +58 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +21 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +51 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +67 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +55 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +26 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +57 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +58 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +87 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +73 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +17 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +67 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +11 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +55 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +27 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +50 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +29 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +86 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +23 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +57 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +63 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +7 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb +14 -0
- data/sub/avm-eac_ruby_base1/locale/en.yml +9 -0
- data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +9 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
- 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 +305 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +13 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +6 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +3 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +6 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +43 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +57 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +25 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +21 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +21 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +35 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +15 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +15 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +13 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb +7 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +33 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +27 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +1 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +4 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +16 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +19 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +7 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +9 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/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/spec/spec_helper.rb +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +8 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +7 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +19 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +28 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +19 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +14 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +5 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +7 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +17 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +13 -0
- data/sub/avm-eac_ruby_base1/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +5 -0
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +19 -0
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +7 -0
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +8 -0
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +5 -0
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +5 -0
- data/sub/eac_ruby_base0/Gemfile +8 -0
- data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +22 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/application.rb +88 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +34 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +5 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +31 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class/jobs_runner.rb +9 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class.rb +4 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches.rb +4 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec/setup.rb +14 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec.rb +9 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner/contexts.rb +52 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner/prepend.rb +39 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +37 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with.rb +9 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +5 -0
- data/sub/eac_ruby_base0/lib/eac_ruby_base0.rb +12 -0
- data/sub/eac_ruby_base0/spec/rubocop_spec.rb +3 -0
- data/sub/eac_ruby_base0/spec/spec_helper.rb +4 -0
- data/sub/eac_ruby_gem_support/Gemfile +8 -0
- data/sub/eac_ruby_gem_support/eac_ruby_gem_support.gemspec +25 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/filesystem.rb +73 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/utils.rb +22 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup.rb +55 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures.rb +76 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths.rb +14 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/source_target_fixtures_controller.rb +32 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/spec_paths_controller.rb +29 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/specs/rubocop.rb +33 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures/source_target_file.rb +19 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures.rb +74 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/version.rb +5 -0
- data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support.rb +11 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/helpers/filesystem_spec.rb +30 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec.rb +11 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.source.yaml +2 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.target.yaml +2 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths_spec.rb +19 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec.rb +27 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.source.txt +1 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.target.html +1 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub2.source.html +1 -0
- data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub3.target.yaml +1 -0
- data/sub/eac_ruby_gem_support/spec/lib/rubocop_check_spec.rb +3 -0
- data/sub/eac_ruby_gem_support/spec/spec_helper.rb +103 -0
- data/sub/eac_templates/Gemfile +8 -0
- data/sub/eac_templates/README.textile +59 -0
- data/sub/eac_templates/eac_templates.gemspec +21 -0
- data/sub/eac_templates/lib/eac_templates/abstract/directory.rb +42 -0
- data/sub/eac_templates/lib/eac_templates/abstract/file.rb +25 -0
- data/sub/eac_templates/lib/eac_templates/abstract/fs_object.rb +99 -0
- data/sub/eac_templates/lib/eac_templates/abstract/fs_object_by_pathname.rb +13 -0
- data/sub/eac_templates/lib/eac_templates/abstract/with_directory_file_methods.rb +77 -0
- data/sub/eac_templates/lib/eac_templates/core_ext.rb +4 -0
- data/sub/eac_templates/lib/eac_templates/errors/not_found.rb +8 -0
- data/sub/eac_templates/lib/eac_templates/errors/type_mismatch.rb +8 -0
- data/sub/eac_templates/lib/eac_templates/errors.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/interface_methods.rb +12 -0
- data/sub/eac_templates/lib/eac_templates/modules/ancestor/directory.rb +37 -0
- data/sub/eac_templates/lib/eac_templates/modules/ancestor/file.rb +64 -0
- data/sub/eac_templates/lib/eac_templates/modules/ancestor/fs_object.rb +26 -0
- data/sub/eac_templates/lib/eac_templates/modules/ancestor.rb +37 -0
- data/sub/eac_templates/lib/eac_templates/modules/base/directory.rb +72 -0
- data/sub/eac_templates/lib/eac_templates/modules/base/file.rb +31 -0
- data/sub/eac_templates/lib/eac_templates/modules/base/fs_object.rb +16 -0
- data/sub/eac_templates/lib/eac_templates/modules/base.rb +93 -0
- data/sub/eac_templates/lib/eac_templates/modules.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/patches/module/template.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/patches/module.rb +4 -0
- data/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/patches/object/template.rb +7 -0
- data/sub/eac_templates/lib/eac_templates/patches/object.rb +4 -0
- data/sub/eac_templates/lib/eac_templates/patches.rb +4 -0
- data/sub/eac_templates/lib/eac_templates/sources/directory.rb +37 -0
- data/sub/eac_templates/lib/eac_templates/sources/file.rb +13 -0
- data/sub/eac_templates/lib/eac_templates/sources/from_all_gems.rb +4 -0
- data/sub/eac_templates/lib/eac_templates/sources/from_gem.rb +37 -0
- data/sub/eac_templates/lib/eac_templates/sources/fs_object.rb +58 -0
- data/sub/eac_templates/lib/eac_templates/sources/internal_set.rb +27 -0
- data/sub/eac_templates/lib/eac_templates/sources/set.rb +61 -0
- data/sub/eac_templates/lib/eac_templates/sources/single.rb +34 -0
- data/sub/eac_templates/lib/eac_templates/sources.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/variables/content.rb +52 -0
- data/sub/eac_templates/lib/eac_templates/variables/directory.rb +48 -0
- data/sub/eac_templates/lib/eac_templates/variables/file.rb +26 -0
- data/sub/eac_templates/lib/eac_templates/variables/fs_object.rb +65 -0
- data/sub/eac_templates/lib/eac_templates/variables/not_found_error.rb +7 -0
- data/sub/eac_templates/lib/eac_templates/variables/providers/base.rb +24 -0
- data/sub/eac_templates/lib/eac_templates/variables/providers/config_reader.rb +29 -0
- data/sub/eac_templates/lib/eac_templates/variables/providers/entries_reader.rb +25 -0
- data/sub/eac_templates/lib/eac_templates/variables/providers/generic.rb +25 -0
- data/sub/eac_templates/lib/eac_templates/variables/providers/hash.rb +29 -0
- data/sub/eac_templates/lib/eac_templates/variables/providers.rb +25 -0
- data/sub/eac_templates/lib/eac_templates/variables.rb +9 -0
- data/sub/eac_templates/lib/eac_templates/version.rb +5 -0
- data/sub/eac_templates/lib/eac_templates.rb +15 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec.rb +28 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/a/a_a +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/a/a_b +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/b +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/c +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/prepended_module/a/a_d +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/prepended_module/c +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/prepended_module/d +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_a +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_b +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_c +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_d +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/b +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/c +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/d +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/a/a_a +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/a/a_b +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/b +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/c +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/modules/base/child_spec.rb +110 -0
- data/sub/eac_templates/spec/lib/eac_templates/patches/object/template_spec.rb +26 -0
- data/sub/eac_templates/spec/lib/eac_templates/patches/object/template_spec_files/path/my_stub_with_template +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec.rb +42 -0
- data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file1.template +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file2 +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path2/subdir1/file3.template +1 -0
- data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec.rb +35 -0
- data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec_files/expected_content +2 -0
- data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec_files/source.template +2 -0
- data/sub/eac_templates/spec/rubocop_spec.rb +3 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context.rb +45 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/a_module/a/a_a +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/a_module/b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/prepended_module/a/a_d.template +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/sub_class/a/a_c +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/super_class/a/a_b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/super_class/b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/a_module/a/a_b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/a_module/b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/a_module/c +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/prepended_module/c +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/prepended_module/d.template +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/sub_class/a/a_d +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/sub_class/b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/super_class/a/a_b +1 -0
- data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/super_class/b +1 -0
- data/sub/eac_templates/spec/spec_helper.rb +6 -0
- metadata +294 -20
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
class BundleCommand < ::EacRubyUtils::Ruby::Command
|
8
|
+
GEMFILE_PATH_ENVVAR = 'BUNDLE_GEMFILE'
|
9
|
+
|
10
|
+
attr_reader :source
|
11
|
+
|
12
|
+
def initialize(source, command_args, extra_options = {})
|
13
|
+
@source = source
|
14
|
+
super(command_args, extra_options.merge(host_env: source.env))
|
15
|
+
end
|
16
|
+
|
17
|
+
# Changes current directory to the source's directory.
|
18
|
+
def chdir_root
|
19
|
+
chdir(source.path)
|
20
|
+
end
|
21
|
+
|
22
|
+
def envvar_gemfile
|
23
|
+
envvar(GEMFILE_PATH_ENVVAR, source.gemfile_path.to_path)
|
24
|
+
end
|
25
|
+
|
26
|
+
protected
|
27
|
+
|
28
|
+
def duplicate(command, extra_options)
|
29
|
+
self.class.new(source, command, extra_options)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_ruby_base1/sources/bundle_update'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Sources
|
8
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
9
|
+
module Bundler
|
10
|
+
CONFIGURED_GEMFILE_PATH_ENTRY_KEY = 'ruby.gemfile_path'
|
11
|
+
DEFAULT_GEMFILE_PATH = 'Gemfile'
|
12
|
+
GEMFILE_SOURCE_PARSER = /^\s*source\s+['"]([^'"]+)['"]$/.to_parser do |m|
|
13
|
+
::Addressable::URI.parse(m[1])
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
|
17
|
+
def bundle(*args)
|
18
|
+
::Avm::EacRubyBase1::Sources::Base::BundleCommand.new(self, %w[bundle] + args)
|
19
|
+
.envvar_gemfile
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return [Avm::EacRubyBase1::Sources::BundleUpdate]
|
23
|
+
def bundle_update
|
24
|
+
::Avm::EacRubyBase1::Sources::BundleUpdate.new(self)
|
25
|
+
end
|
26
|
+
|
27
|
+
# @return [String]
|
28
|
+
def configured_gemfile_path
|
29
|
+
configuration_entry(CONFIGURED_GEMFILE_PATH_ENTRY_KEY).value
|
30
|
+
end
|
31
|
+
|
32
|
+
# @return [String]
|
33
|
+
def default_gemfile_path
|
34
|
+
DEFAULT_GEMFILE_PATH
|
35
|
+
end
|
36
|
+
|
37
|
+
# @return [Bundler::LockfileParser]
|
38
|
+
def gemfile_lock_content
|
39
|
+
::Bundler::LockfileParser.new(::Bundler.read_file(gemfile_lock_path))
|
40
|
+
end
|
41
|
+
|
42
|
+
def gemfile_lock_gem_version(gem_name)
|
43
|
+
gemfile_lock_content.specs.find { |gem| gem.name == gem_name }.if_present(&:version)
|
44
|
+
end
|
45
|
+
|
46
|
+
# @return [Pathname]
|
47
|
+
def gemfile_lock_path
|
48
|
+
gemfile_path.basename_sub { |b| "#{b}.lock" }
|
49
|
+
end
|
50
|
+
|
51
|
+
# @return [Pathname]
|
52
|
+
def gemfile_path
|
53
|
+
path.join(configured_gemfile_path || default_gemfile_path)
|
54
|
+
end
|
55
|
+
|
56
|
+
# @return [Addressable::URI]
|
57
|
+
def gemfile_source
|
58
|
+
GEMFILE_SOURCE_PARSER.parse!(gemfile_path.read)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
module Rake
|
8
|
+
RAKEFILE_BASENAME = 'Rakefile'
|
9
|
+
RAKE_TASKS_LINE_PARSER = /\Arake\s+(\S+)\s+/.to_parser do |m|
|
10
|
+
m[1]
|
11
|
+
end
|
12
|
+
|
13
|
+
# @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
|
14
|
+
def rake(*args)
|
15
|
+
raise "File \"#{rakefile_path}\" does not exist" unless rakefile_path.exist?
|
16
|
+
|
17
|
+
bundle('exec', 'rake', '--rakefile', rakefile_path, *args)
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Pathname]
|
21
|
+
def rakefile_path
|
22
|
+
path.join(RAKEFILE_BASENAME)
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [Boolean]
|
26
|
+
def rake_task?(task_name)
|
27
|
+
rake_tasks.include?(task_name)
|
28
|
+
end
|
29
|
+
|
30
|
+
# @return [Array<String>]
|
31
|
+
def rake_tasks
|
32
|
+
rake('--all', '--tasks').execute!.each_line
|
33
|
+
.map { |line| RAKE_TASKS_LINE_PARSER.parse!(line) }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
module Rubocop
|
8
|
+
RUBOCOP_CONFIG_SUBPATH = '.rubocop.yml'
|
9
|
+
|
10
|
+
# @return [Avm::EacRubyBase1::Sources::Base::RubocopCommand]
|
11
|
+
def rubocop_command
|
12
|
+
::Avm::EacRubyBase1::Sources::Base::RubocopCommand.new(self)
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [Pathname]
|
16
|
+
def rubocop_config_path
|
17
|
+
path.join(RUBOCOP_CONFIG_SUBPATH)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
class RubocopCommand
|
8
|
+
acts_as_immutable
|
9
|
+
immutable_accessor :ignore_parent_exclusion, :autocorrect, :autocorrect_all,
|
10
|
+
type: :boolean
|
11
|
+
immutable_accessor :file, type: :array
|
12
|
+
common_constructor :source
|
13
|
+
delegate :execute, :execute!, :system, :system!, to: :bundle_command
|
14
|
+
|
15
|
+
# @return [Enumerable]
|
16
|
+
def immutable_constructor_args
|
17
|
+
[source]
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Gemspec::Version]
|
21
|
+
def version
|
22
|
+
@version ||= ::Gemspec::Version.new(
|
23
|
+
source.bundle('exec', 'rubocop', '--version').execute!
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
# @return [String]
|
30
|
+
def autocorrect_option
|
31
|
+
'--auto-correct'
|
32
|
+
end
|
33
|
+
|
34
|
+
# @return [String]
|
35
|
+
def autocorrect_all_option
|
36
|
+
'--auto-correct-all'
|
37
|
+
end
|
38
|
+
|
39
|
+
# @return [String]
|
40
|
+
def ignore_parent_exclusion_option
|
41
|
+
'--ignore-parent-exclusion'
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
|
45
|
+
def bundle_command
|
46
|
+
source.bundle(*bundle_command_args)
|
47
|
+
end
|
48
|
+
|
49
|
+
# @return [Array<String>]
|
50
|
+
def bundle_command_args
|
51
|
+
%w[exec rubocop] + rubocop_command_args
|
52
|
+
end
|
53
|
+
|
54
|
+
# @return [Array<String>]
|
55
|
+
def rubocop_command_args
|
56
|
+
r = []
|
57
|
+
r += ['--config', source.rubocop_config_path] if source.rubocop_config_path.file?
|
58
|
+
r << ignore_parent_exclusion_option if ignore_parent_exclusion?
|
59
|
+
if autocorrect_all?
|
60
|
+
r << autocorrect_all_option
|
61
|
+
elsif autocorrect?
|
62
|
+
r << autocorrect_option
|
63
|
+
end
|
64
|
+
r + files
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
module Rubygems
|
8
|
+
GEMSPEC_EXTNAME = '.gemspec'
|
9
|
+
|
10
|
+
def gem_name
|
11
|
+
gem_name_by_gemspec || gem_name_by_path
|
12
|
+
end
|
13
|
+
|
14
|
+
def gem_name_by_gemspec
|
15
|
+
gemspec_path.if_present { |v| v.basename(GEMSPEC_EXTNAME).to_path }
|
16
|
+
end
|
17
|
+
|
18
|
+
def gem_name_by_path
|
19
|
+
fullname = path.basename.to_s
|
20
|
+
/\A(.+)(?:-\d+(?:\.\d+)*)\z/.if_match(fullname, false) { |m| m[1] }.if_present(fullname)
|
21
|
+
end
|
22
|
+
|
23
|
+
def gem_namespace_parts
|
24
|
+
gem_name.split('-')
|
25
|
+
end
|
26
|
+
|
27
|
+
# @return [Gem::Specification]
|
28
|
+
def gemspec
|
29
|
+
::Gem::Specification.load(gemspec_path.to_path)
|
30
|
+
end
|
31
|
+
|
32
|
+
# @return [Pathname]
|
33
|
+
def gemspec_path
|
34
|
+
path.glob("*#{GEMSPEC_EXTNAME}").first
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
module Update
|
8
|
+
def on_sub_updated
|
9
|
+
update_self_content
|
10
|
+
end
|
11
|
+
|
12
|
+
def update_self_content
|
13
|
+
bundle_update.execute!
|
14
|
+
rescue ::EacRubyUtils::Envs::ExecutionError
|
15
|
+
raise ::Avm::Sources::UpdateError
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
module Version
|
8
|
+
# @return [Avm::VersionNumber]
|
9
|
+
def version
|
10
|
+
version_file.value.if_present { |v| ::Avm::VersionNumber.new(v) }
|
11
|
+
end
|
12
|
+
|
13
|
+
def version=(value)
|
14
|
+
version_file.value = value
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [Avm::EacRubyBase1::Rubygems::VersionFile]
|
18
|
+
def version_file
|
19
|
+
::Avm::EacRubyBase1::Rubygems::VersionFile.new(version_file_path)
|
20
|
+
end
|
21
|
+
|
22
|
+
def version_file_path
|
23
|
+
path.join('lib', *gem_namespace_parts, 'version.rb')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
7
|
+
module VersionBump
|
8
|
+
def version_bump_do_changes(target_version)
|
9
|
+
self.version = target_version
|
10
|
+
bundle('install').chdir_root.execute!
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_generic_base0/sources/base'
|
4
|
+
require 'avm/eac_ruby_base1/sources/runners'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Sources
|
9
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
10
|
+
RSPEC_TEST_COMMAND = 'rspec'
|
11
|
+
|
12
|
+
require_sub __FILE__, include_modules: :prepend
|
13
|
+
|
14
|
+
# @return [Hash<String, EacRubyUtils::Envs::Command>]
|
15
|
+
def default_test_commands
|
16
|
+
{
|
17
|
+
RSPEC_TEST_COMMAND => rspec_test_command
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
# To-do: dismiss this method at Avm::EacRailsBase1::Instance and remove.
|
22
|
+
# @return [EacRubyUtils::Envs::BaseEnv]
|
23
|
+
def env
|
24
|
+
@env.presence || super
|
25
|
+
end
|
26
|
+
|
27
|
+
# To-do: dismiss this method at Avm::EacRailsBase1::Instance and remove.
|
28
|
+
# @return [Avm::EacRubyBase1::Sources::Base]
|
29
|
+
def env_set(env)
|
30
|
+
@env = env
|
31
|
+
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
# @return [Avm::EacRubyBase1::Source::Base]
|
36
|
+
def ruby_parent
|
37
|
+
a_parent = parent
|
38
|
+
|
39
|
+
loop do
|
40
|
+
raise 'No Ruby parent found' if a_parent.blank?
|
41
|
+
return a_parent if a_parent.is_a?(::Avm::EacRubyBase1::Sources::Base)
|
42
|
+
|
43
|
+
a_parent = a_parent.parent
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# @return [EacRubyUtils::Envs::Command]
|
48
|
+
def rspec_test_command
|
49
|
+
bundle('exec', 'rspec', '--fail-fast').chdir_root
|
50
|
+
end
|
51
|
+
|
52
|
+
def valid?
|
53
|
+
gemfile_path.exist? || gemspec_path.present?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class BundleUpdate
|
7
|
+
common_constructor :source
|
8
|
+
delegate :bundle, to: :source
|
9
|
+
|
10
|
+
def execute!
|
11
|
+
bundle('update').execute! + bundle('install').execute!
|
12
|
+
end
|
13
|
+
|
14
|
+
def system!
|
15
|
+
bundle('update').system!
|
16
|
+
bundle('install').system!
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class GemfileLocal
|
7
|
+
class Sibling
|
8
|
+
common_constructor :gemfile_local, :source
|
9
|
+
delegate :relative_path, to: :source
|
10
|
+
|
11
|
+
# @return [String]
|
12
|
+
def gemspec_relative_path
|
13
|
+
source.gemspec_path.relative_path_from(gemfile_local.source.path).to_path
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [String]
|
17
|
+
def root_relative_path
|
18
|
+
source.path.relative_path_from(gemfile_local.source.path).to_path
|
19
|
+
end
|
20
|
+
|
21
|
+
# @return [String]
|
22
|
+
def target_content
|
23
|
+
"gem '#{source.gem_name}', #{gem_options_content} if #{condition_content}\n"
|
24
|
+
end
|
25
|
+
|
26
|
+
protected
|
27
|
+
|
28
|
+
# @return [String]
|
29
|
+
def condition_content
|
30
|
+
"::File.file?(::File.expand_path('#{gemspec_relative_path}', __dir__))"
|
31
|
+
end
|
32
|
+
|
33
|
+
# @return [String]
|
34
|
+
def gem_option_path
|
35
|
+
["::File.expand_path('", root_relative_path, "', __dir__)"].join
|
36
|
+
end
|
37
|
+
|
38
|
+
# @return [String]
|
39
|
+
def gem_option_require
|
40
|
+
'false'
|
41
|
+
end
|
42
|
+
|
43
|
+
# @return [String]
|
44
|
+
def gem_options_content
|
45
|
+
%w[path require].map { |v| [v, send("gem_option_#{v}")].join(': ') }.join(', ')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class GemfileLocal
|
7
|
+
enable_simple_cache
|
8
|
+
common_constructor :source
|
9
|
+
|
10
|
+
def dependency_sub?(sub)
|
11
|
+
sub.is_a?(::Avm::EacRubyBase1::Sources::Base) &&
|
12
|
+
sub.gem_name != source.gem_name &&
|
13
|
+
source.gemfile_lock_gem_version(sub.gem_name).present?
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [String]
|
17
|
+
def target_content
|
18
|
+
siblings.map(&:target_content).join
|
19
|
+
end
|
20
|
+
|
21
|
+
# @return [Pathname]
|
22
|
+
def target_path
|
23
|
+
source.path.join('Gemfile.local')
|
24
|
+
end
|
25
|
+
|
26
|
+
def on_unexisting_gemfile_local
|
27
|
+
return yield unless target_path.exist?
|
28
|
+
|
29
|
+
::EacRubyUtils::Fs::Temp.on_file do |temp_file|
|
30
|
+
::FileUtils.cp(target_path, temp_file)
|
31
|
+
begin
|
32
|
+
::FileUtils.rm_f(target_path)
|
33
|
+
yield
|
34
|
+
ensure
|
35
|
+
::FileUtils.cp(temp_file, target_path)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def run_bundle
|
41
|
+
on_unexisting_gemfile_local do
|
42
|
+
source.bundle.execute!
|
43
|
+
rescue ::RuntimeError
|
44
|
+
source.bundle('update').execute!
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# @return [void]
|
49
|
+
def write_target_file
|
50
|
+
target_path.write(target_content)
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def siblings_uncached
|
56
|
+
source.parent.if_present([]) do |v|
|
57
|
+
v.subs.select { |sub| dependency_sub?(sub) }.map do |sub|
|
58
|
+
::Avm::EacRubyBase1::Sources::GemfileLocal::Sibling.new(self, sub)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
require_sub __FILE__
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
class NamespaceReplacer
|
7
|
+
common_constructor :from, :to
|
8
|
+
|
9
|
+
def concat_regex(regexes)
|
10
|
+
r = regexes.first
|
11
|
+
regexes[1..].each do |x|
|
12
|
+
r = ::Regexp.new(r.source + x.source)
|
13
|
+
end
|
14
|
+
r
|
15
|
+
end
|
16
|
+
|
17
|
+
def from_result
|
18
|
+
/\n#{from_open.source}(.+)#{from_close.source}/m
|
19
|
+
end
|
20
|
+
|
21
|
+
def from_open
|
22
|
+
concat_regex(from.split('::')
|
23
|
+
.map { |v| / *(?:class|module) +#{::Regexp.quote(v)} *\n/m })
|
24
|
+
end
|
25
|
+
|
26
|
+
def from_close
|
27
|
+
concat_regex(from.split('::').count.times.map { / *end *\n/m })
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_result
|
31
|
+
"\n\n#{to_open}\\1#{to_close}"
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_open
|
35
|
+
s = ''
|
36
|
+
to.split('::').each_with_index do |part, index|
|
37
|
+
s += (' ' * index) + "module #{part}\n"
|
38
|
+
end
|
39
|
+
s
|
40
|
+
end
|
41
|
+
|
42
|
+
def to_close
|
43
|
+
parts = to.split('::')
|
44
|
+
s = ''
|
45
|
+
parts.each_with_index do |_part, index|
|
46
|
+
tabc = (parts.count - 1 - index)
|
47
|
+
tabc -= 1 if index.zero?
|
48
|
+
s += "#{' ' * tabc}end\n"
|
49
|
+
end
|
50
|
+
s
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
module Runners
|
7
|
+
class Bundle
|
8
|
+
runner_with :help do
|
9
|
+
desc 'Runs "bundle ...".'
|
10
|
+
pos_arg :'bundle-args', repeat: true, optional: true
|
11
|
+
end
|
12
|
+
|
13
|
+
def run
|
14
|
+
bundle_command.system!
|
15
|
+
end
|
16
|
+
|
17
|
+
def bundle_command
|
18
|
+
runner_context.call(:source).bundle(*bundle_args)
|
19
|
+
end
|
20
|
+
|
21
|
+
delegate :bundle_args, to: :parsed
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_ruby_base1/sources/gemfile_local'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Sources
|
8
|
+
module Runners
|
9
|
+
class Bundler
|
10
|
+
class GemfileLocal
|
11
|
+
runner_with :help do
|
12
|
+
bool_opt '-w', '--write', 'Write the Gemfile.local file.'
|
13
|
+
end
|
14
|
+
delegate :siblings, to: :builder
|
15
|
+
|
16
|
+
def run
|
17
|
+
start_banner
|
18
|
+
builder.run_bundle
|
19
|
+
siblings_banner
|
20
|
+
write_gemfile_local
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def start_banner
|
26
|
+
runner_context.call(:source_banner)
|
27
|
+
infov 'Parent', the_source.parent
|
28
|
+
end
|
29
|
+
|
30
|
+
def siblings_banner
|
31
|
+
infov 'Siblings', siblings.count
|
32
|
+
siblings.each do |sibling|
|
33
|
+
infov ' * ', sibling.relative_path
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def write_gemfile_local
|
38
|
+
return unless parsed.write?
|
39
|
+
|
40
|
+
infom "Writing #{builder.target_path}..."
|
41
|
+
builder.write_target_file
|
42
|
+
end
|
43
|
+
|
44
|
+
def the_source
|
45
|
+
runner_context.call(:source)
|
46
|
+
end
|
47
|
+
|
48
|
+
# @return [Avm::EacRubyBase1::Sources::GemfileLocal]
|
49
|
+
def builder_uncached
|
50
|
+
::Avm::EacRubyBase1::Sources::GemfileLocal.new(the_source)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|