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
data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Rubygems
|
6
|
+
class Gemspec
|
7
|
+
class AddOrReplaceGemLine
|
8
|
+
enable_method_class
|
9
|
+
common_constructor :sender, :gem_name, :gem_specs, :dependency_type do
|
10
|
+
self.dependency_type = ::Avm::EacRubyBase1::Rubygems::Gemspec::Dependency.lists.type
|
11
|
+
.value_validate!(dependency_type)
|
12
|
+
end
|
13
|
+
delegate :lines, to: :sender
|
14
|
+
|
15
|
+
DEPENDENCY_PREFIX = ' s.add%<dependency_type>s_dependency \'%<gem_name>s\''
|
16
|
+
|
17
|
+
# @return [Integer]
|
18
|
+
def existing_gem_line_index
|
19
|
+
lines.index do |line|
|
20
|
+
::Avm::EacRubyBase1::Rubygems::Gemspec::DEPENDENCY_LINE_PARSER.parse(line)
|
21
|
+
.if_present(&:first) == gem_name
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def result
|
26
|
+
if existing_gem_line_index.present?
|
27
|
+
replace_line
|
28
|
+
else
|
29
|
+
add_line
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def add_line
|
34
|
+
lines.insert(add_line_index, new_gem_line)
|
35
|
+
end
|
36
|
+
|
37
|
+
def add_line_index
|
38
|
+
(gems_lines_start_index..(lines.count - 1)).each do |e|
|
39
|
+
return e if new_gem_line < lines[e]
|
40
|
+
end
|
41
|
+
lines.count
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [Integer]
|
45
|
+
def gems_lines_start_index
|
46
|
+
existing_gem_line_index || (lines.count - 1)
|
47
|
+
end
|
48
|
+
|
49
|
+
def new_gem_line
|
50
|
+
([gem_line_prefix] + quoted_gem_specs).join(', ')
|
51
|
+
end
|
52
|
+
|
53
|
+
# @return [String]
|
54
|
+
def gem_line_prefix
|
55
|
+
format(DEPENDENCY_PREFIX, { dependency_type: dependency_type, gem_name: gem_name })
|
56
|
+
end
|
57
|
+
|
58
|
+
def replace_line
|
59
|
+
lines[existing_gem_line_index] = new_gem_line
|
60
|
+
end
|
61
|
+
|
62
|
+
def quoted_gem_specs
|
63
|
+
gem_specs.map { |gem_spec| "'#{gem_spec}'" }
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Rubygems
|
6
|
+
class Gemspec
|
7
|
+
class Dependency
|
8
|
+
enable_listable
|
9
|
+
lists.add_string :type, '' => :common, '_development' => :development,
|
10
|
+
'_runtime' => :runtime
|
11
|
+
|
12
|
+
common_constructor :gemspec, :gem_name, :type do
|
13
|
+
self.type = self.class.lists.type.value_validate!(type)
|
14
|
+
end
|
15
|
+
|
16
|
+
def version_specs=(version_specs)
|
17
|
+
gemspec.add_or_replace_gem_line(gem_name, version_specs, type)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Rubygems
|
6
|
+
class Gemspec
|
7
|
+
require_sub __FILE__, require_dependency: true
|
8
|
+
enable_simple_cache
|
9
|
+
|
10
|
+
DEPENDENCY_LINE_PARSER = /s\.add([a-zA-Z0-9_]*)_dependency\s*'(\S+)'/
|
11
|
+
.to_parser { |m| [m[2], m[1]] }
|
12
|
+
|
13
|
+
class << self
|
14
|
+
def from_file(path)
|
15
|
+
new(path.read.each_line.map(&:rstrip))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
common_constructor :lines
|
20
|
+
|
21
|
+
# @param gem_name [String]
|
22
|
+
# @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
|
23
|
+
def dependency(gem_name)
|
24
|
+
dependencies_hash.fetch(gem_name)
|
25
|
+
end
|
26
|
+
|
27
|
+
# @return [Array<Avm::EacRubyBase1::Bundler::Gemfile::Dependency>]
|
28
|
+
def dependencies
|
29
|
+
dependencies_hash.values
|
30
|
+
end
|
31
|
+
|
32
|
+
def write(path)
|
33
|
+
path.to_pathname.write(to_text)
|
34
|
+
end
|
35
|
+
|
36
|
+
def to_text
|
37
|
+
lines.map { |line| "#{line}\n" }.join
|
38
|
+
end
|
39
|
+
|
40
|
+
protected
|
41
|
+
|
42
|
+
# @param gem_name [String]
|
43
|
+
# @param type [String] Avm::EacRubyBase1::Rubygems::Gemspec::Dependency::TYPE_*
|
44
|
+
# @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
|
45
|
+
def create_dependency(gem_name, type)
|
46
|
+
::Avm::EacRubyBase1::Rubygems::Gemspec::Dependency.new(self, gem_name, type)
|
47
|
+
end
|
48
|
+
|
49
|
+
# @return [Hash<String, Avm::EacRubyBase1::Bundler::Gemfile::Dependency>]
|
50
|
+
def dependencies_hash_uncached
|
51
|
+
lines.lazy.map { |line| DEPENDENCY_LINE_PARSER.parse(line) }.compact_blank
|
52
|
+
.map { |dependency_args| create_dependency(*dependency_args) }.index_by(&:gem_name)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Rubygems
|
6
|
+
class Remote
|
7
|
+
enable_simple_cache
|
8
|
+
common_constructor :name
|
9
|
+
|
10
|
+
# @return [Gem::Version, nil]
|
11
|
+
def maximum_number
|
12
|
+
numbers.max.if_present { |v| ::Gem::Version.new(v) }
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [Array<Gem::Version>]
|
16
|
+
def numbers
|
17
|
+
versions.map { |v| ::Gem::Version.new(v.fetch('number')) }
|
18
|
+
end
|
19
|
+
|
20
|
+
protected
|
21
|
+
|
22
|
+
# @return [Array<Hash>]
|
23
|
+
def versions_uncached
|
24
|
+
::EacEnvs::Http::Request.new
|
25
|
+
.url("https://rubygems.org/api/v1/versions/#{name}.json")
|
26
|
+
.response.body_data_or_raise
|
27
|
+
rescue EacEnvs::Http::Response => e
|
28
|
+
e.status == 404 ? [] : raise(e)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Rubygems
|
6
|
+
class VersionFile
|
7
|
+
common_constructor :path
|
8
|
+
|
9
|
+
VERSION_LINE_PATTERN = /\A(\s*)VERSION\s*=\s*[\'\"]([^\'\"]+)[\'\"](\s*)\z/.freeze
|
10
|
+
|
11
|
+
def value
|
12
|
+
return nil unless path.file?
|
13
|
+
|
14
|
+
path.read.each_line.lazy.map { |line| line_value(line) }.find { |v| v }
|
15
|
+
end
|
16
|
+
|
17
|
+
def value=(new_value)
|
18
|
+
path.write(new_value_content(new_value))
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# @return Version found in line, nil otherwise.
|
24
|
+
def line_value(line)
|
25
|
+
VERSION_LINE_PATTERN.if_match(line.rstrip, false) { |m| ::Gem::Version.new(m[2]) }
|
26
|
+
end
|
27
|
+
|
28
|
+
def new_value_content(new_value)
|
29
|
+
path.read.each_line
|
30
|
+
.map { |line| new_value_line(line, new_value) }
|
31
|
+
.join
|
32
|
+
end
|
33
|
+
|
34
|
+
def new_value_line(line, new_value)
|
35
|
+
m = VERSION_LINE_PATTERN.match(line)
|
36
|
+
return line unless m
|
37
|
+
|
38
|
+
"#{m[1]}VERSION = '#{new_value}'#{m[3]}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Runners
|
6
|
+
class Base
|
7
|
+
class LibRename
|
8
|
+
runner_with :help, :file_replacer do
|
9
|
+
desc 'Rename Ruby modules classes Ruby.'
|
10
|
+
arg_opt '-f', '--from', 'Rename "from".'
|
11
|
+
arg_opt '-t', '--to', 'Rename "to".'
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
start_banner
|
16
|
+
validate
|
17
|
+
replacements_banner
|
18
|
+
run_filesystem_traverser
|
19
|
+
success 'Done!'
|
20
|
+
end
|
21
|
+
|
22
|
+
def validate
|
23
|
+
%w[from to].each do |opt|
|
24
|
+
fatal_error "No \"#{opt}\" option" if send(opt).blank?
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def start_banner
|
29
|
+
infov 'From', from
|
30
|
+
infov 'To', to
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def namespace_replacer_uncached
|
36
|
+
::Avm::EacRubyBase1::Sources::NamespaceReplacer.new(from, to)
|
37
|
+
end
|
38
|
+
|
39
|
+
def text_replacer
|
40
|
+
@text_replacer ||= super.gsub(from, to).gsub(from_path, to_path)
|
41
|
+
.gsub(namespace_replacer.from_result, namespace_replacer.to_result)
|
42
|
+
end
|
43
|
+
|
44
|
+
def replace_file?(file)
|
45
|
+
file.extname == '.rb'
|
46
|
+
end
|
47
|
+
|
48
|
+
def replacements_banner
|
49
|
+
infov 'Replacements', text_replacer.replacements.count
|
50
|
+
text_replacer.replacements.each do |rep|
|
51
|
+
infov ' * ', rep
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def from
|
56
|
+
parsed.from.to_s
|
57
|
+
end
|
58
|
+
|
59
|
+
def to
|
60
|
+
parsed.to.to_s
|
61
|
+
end
|
62
|
+
|
63
|
+
def from_path
|
64
|
+
from.underscore
|
65
|
+
end
|
66
|
+
|
67
|
+
def to_path
|
68
|
+
to.underscore
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Runners
|
6
|
+
class Base
|
7
|
+
class Rubocop
|
8
|
+
runner_with :help do
|
9
|
+
desc 'Runs Rubocop (https://rubygems.org/gems/rubocop).'
|
10
|
+
arg_opt '-C', 'Caminho para executar o Rubocop [default: .].'
|
11
|
+
pos_arg :rubocop_args, repeat: true, optional: true
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
::Avm::EacRubyBase1::Rubocop.new(path, parsed.rubocop_args).run
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def path
|
21
|
+
::Pathname.new(parsed.c || '.').expand_path
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Runners
|
6
|
+
class Base < ::Avm::Runners::Base
|
7
|
+
require_sub __FILE__
|
8
|
+
|
9
|
+
runner_with :help, :subcommands do
|
10
|
+
desc 'Ruby utilities for AVM.'
|
11
|
+
subcommands
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module SourceGenerators
|
6
|
+
class Base < ::Avm::SourceGenerators::Base
|
7
|
+
module Dependencies
|
8
|
+
common_concern
|
9
|
+
|
10
|
+
COMMON_DEPENDENCY_GEMS = %w[eac_ruby_utils].freeze
|
11
|
+
DEVELOPMENT_DEPENDENCY_GEMS = %w[eac_ruby_gem_support].freeze
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
# @return [Array<String>]
|
15
|
+
def common_dependency_gems
|
16
|
+
COMMON_DEPENDENCY_GEMS
|
17
|
+
end
|
18
|
+
|
19
|
+
# @return [Array<String>]
|
20
|
+
def development_dependency_gems
|
21
|
+
DEVELOPMENT_DEPENDENCY_GEMS
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [String]
|
26
|
+
def common_dependencies
|
27
|
+
dependencies_section(:common_dependency_gems, '')
|
28
|
+
end
|
29
|
+
|
30
|
+
def dependency_version(gem_name)
|
31
|
+
::Avm::EacRubyBase1::SourceGenerators::Base::VersionBuilder.new(gem_name, options).to_s
|
32
|
+
end
|
33
|
+
|
34
|
+
# @return [String]
|
35
|
+
def development_dependencies
|
36
|
+
dependencies_section(:development_dependency_gems, 'development_')
|
37
|
+
end
|
38
|
+
|
39
|
+
protected
|
40
|
+
|
41
|
+
# @param gem_name [String]
|
42
|
+
# @param prefix [String]
|
43
|
+
# @return [String]
|
44
|
+
def dependency_line(gem_name, prefix)
|
45
|
+
"#{IDENT}s.add_#{prefix}dependency '#{gem_name}', #{dependency_version(gem_name)}\n"
|
46
|
+
end
|
47
|
+
|
48
|
+
# @param setting_key [Symbol]
|
49
|
+
# @param prefix [String]
|
50
|
+
# @return [String]
|
51
|
+
def dependencies_section(gems_method, prefix)
|
52
|
+
self.class.send(gems_method).sort.map { |gem_name| dependency_line(gem_name, prefix) }
|
53
|
+
.join.rstrip
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module SourceGenerators
|
6
|
+
class Base < ::Avm::SourceGenerators::Base
|
7
|
+
module GemfileLock
|
8
|
+
def generate_gemfile_lock
|
9
|
+
return unless generate_gemfile_lock?
|
10
|
+
|
11
|
+
self_gem.bundle('install').chdir_root.execute!
|
12
|
+
end
|
13
|
+
|
14
|
+
# @return [Boolean]
|
15
|
+
def generate_gemfile_lock?
|
16
|
+
options[::Avm::EacRubyBase1::SourceGenerators::Base::Options::GEMFILE_LOCK_OPTION]
|
17
|
+
.to_bool
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module SourceGenerators
|
6
|
+
class Base < ::Avm::SourceGenerators::Base
|
7
|
+
module Options
|
8
|
+
common_concern
|
9
|
+
|
10
|
+
GEMFILE_LOCK_OPTION = :'gemfile-lock'
|
11
|
+
|
12
|
+
OPTIONS = {
|
13
|
+
GEMFILE_LOCK_OPTION => 'Run "bundle install" at the end'
|
14
|
+
}.freeze
|
15
|
+
|
16
|
+
module ClassMethods
|
17
|
+
def option_list
|
18
|
+
OPTIONS.merge(dependency_version_options).inject(super) { |a, e| a.option(*e) }
|
19
|
+
end
|
20
|
+
|
21
|
+
# @return [Hash<Symbol, String>]
|
22
|
+
def dependency_version_options
|
23
|
+
(common_dependency_gems + development_dependency_gems).sort.to_h do |gem_name|
|
24
|
+
["#{gem_name}_version".dasherize.to_sym, "Version for \"#{gem_name}\" gem."]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module SourceGenerators
|
6
|
+
class Base < ::Avm::SourceGenerators::Base
|
7
|
+
module RootModule
|
8
|
+
def root_module
|
9
|
+
lib_path.camelize
|
10
|
+
end
|
11
|
+
|
12
|
+
def root_module_close
|
13
|
+
root_module_components.count.times.map do |index|
|
14
|
+
"#{IDENT * index}end"
|
15
|
+
end.reverse.join("\n")
|
16
|
+
end
|
17
|
+
|
18
|
+
def root_module_inner_identation
|
19
|
+
IDENT * root_module_components.count
|
20
|
+
end
|
21
|
+
|
22
|
+
def root_module_open
|
23
|
+
root_module_components.each_with_index.map do |component, index|
|
24
|
+
"#{IDENT * index}module #{component}"
|
25
|
+
end.join("\n")
|
26
|
+
end
|
27
|
+
|
28
|
+
def root_module_components
|
29
|
+
root_module.split('::')
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module SourceGenerators
|
6
|
+
class Base < ::Avm::SourceGenerators::Base
|
7
|
+
class VersionBuilder
|
8
|
+
enable_simple_cache
|
9
|
+
common_constructor :gem_name, :options
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
r = "'~> #{two_segments}'"
|
13
|
+
r += ", '>= #{three_segments}'" if segments.count >= 3 && segments[2].positive?
|
14
|
+
r
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [Gem::Version]
|
18
|
+
def version
|
19
|
+
options_version || loaded_version || maximum_version
|
20
|
+
end
|
21
|
+
|
22
|
+
def two_segments
|
23
|
+
segments.first(2).join('.')
|
24
|
+
end
|
25
|
+
|
26
|
+
def three_segments
|
27
|
+
segments.first(3).join('.')
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
# @return [Gem::Version]
|
33
|
+
def maximum_version
|
34
|
+
r = ::Avm::EacRubyBase1::Rubygems::Remote.new(gem_name).maximum_number
|
35
|
+
return ::Gem::Version.new(r) if r.present?
|
36
|
+
|
37
|
+
raise "None version found for gem \"#{gem_name}\""
|
38
|
+
end
|
39
|
+
|
40
|
+
def segments_uncached
|
41
|
+
version.release.to_s.split('.').map(&:to_i)
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [Gem::Version, nil]
|
45
|
+
def loaded_version
|
46
|
+
::Gem.loaded_specs[gem_name].if_present(&:version)
|
47
|
+
end
|
48
|
+
|
49
|
+
def options_version
|
50
|
+
options["#{gem_name}_version".dasherize.to_sym].if_present do |v|
|
51
|
+
::Gem::Version.new(v)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module SourceGenerators
|
6
|
+
class Base < ::Avm::SourceGenerators::Base
|
7
|
+
GEMSPEC_FILES_DIRECTORY_PATHS = %w[lib].freeze
|
8
|
+
GEMSPEC_FILES_FILE_PATHS = [].freeze
|
9
|
+
IDENT = ' '
|
10
|
+
JOBS = %w[gemspec root_lib version_lib gemfile_lock].freeze
|
11
|
+
TEMPLATE_VARIABLES = %w[lib_path name root_module].freeze
|
12
|
+
|
13
|
+
enable_speaker
|
14
|
+
enable_simple_cache
|
15
|
+
require_sub __FILE__, include_modules: true
|
16
|
+
|
17
|
+
# @return [String]
|
18
|
+
def gemspec_extra
|
19
|
+
gemspec_extra_lines.map { |line| "\n#{IDENT}#{line}" }.join
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return [Array<String>]
|
23
|
+
def gemspec_extra_lines
|
24
|
+
[]
|
25
|
+
end
|
26
|
+
|
27
|
+
# @return [String]
|
28
|
+
def gemspec_files_value
|
29
|
+
"Dir[#{gemspec_files_paths.map { |path| "'#{path}'" }.join(', ')}]"
|
30
|
+
end
|
31
|
+
|
32
|
+
# @return [Array<String>]
|
33
|
+
def gemspec_files_paths
|
34
|
+
["{#{gemspec_files_directory_paths.sort.join(',')}}/**/*"] +
|
35
|
+
gemspec_files_file_paths.sort
|
36
|
+
end
|
37
|
+
|
38
|
+
# @return [Array<String>]
|
39
|
+
def gemspec_files_directory_paths
|
40
|
+
GEMSPEC_FILES_DIRECTORY_PATHS
|
41
|
+
end
|
42
|
+
|
43
|
+
# @return [Array<String>]
|
44
|
+
def gemspec_files_file_paths
|
45
|
+
GEMSPEC_FILES_FILE_PATHS
|
46
|
+
end
|
47
|
+
|
48
|
+
def lib_path
|
49
|
+
name.split('-').join('/')
|
50
|
+
end
|
51
|
+
|
52
|
+
protected
|
53
|
+
|
54
|
+
def generate_gemspec
|
55
|
+
template_apply('gemspec', "#{name}.gemspec")
|
56
|
+
end
|
57
|
+
|
58
|
+
def generate_root_lib
|
59
|
+
template_apply('root_lib', "lib/#{lib_path}.rb")
|
60
|
+
end
|
61
|
+
|
62
|
+
def generate_version_lib
|
63
|
+
template_apply('version', "lib/#{lib_path}/version.rb")
|
64
|
+
end
|
65
|
+
|
66
|
+
# @return [EacTemplates::Modules::Base]
|
67
|
+
def root_template
|
68
|
+
template.child('static')
|
69
|
+
end
|
70
|
+
|
71
|
+
def self_gem_uncached
|
72
|
+
::Avm::EacRubyBase1::Sources::Base.new(target_path)
|
73
|
+
end
|
74
|
+
|
75
|
+
def template_apply(from, to)
|
76
|
+
target = target_path.join(to)
|
77
|
+
target.dirname.mkpath
|
78
|
+
template.child(from).apply_to_file(self, target.to_path)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|