avm-tools 0.94.2 → 0.98.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/app_src.rb +60 -0
- data/lib/avm/core_ext.rb +4 -0
- data/lib/avm/docker/runner.rb +22 -30
- data/lib/avm/eac_asciidoctor_base0/deploy.rb +5 -5
- data/lib/avm/eac_rails_base1/runner/bundle.rb +0 -1
- data/lib/avm/eac_rails_base1/runner/code_runner.rb +0 -1
- data/lib/avm/eac_rails_base1/runner/rails_server.rb +0 -1
- data/lib/avm/eac_webapp_base0/instance.rb +5 -2
- data/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +24 -0
- data/lib/avm/eac_webapp_base0/runner/data.rb +1 -0
- data/lib/avm/eac_webapp_base0/runner/data/dump.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/data/load.rb +1 -1
- data/lib/avm/git/issue/complete/_test.rb +2 -2
- data/lib/avm/instances/base.rb +6 -12
- data/lib/avm/instances/base/entry_keys.rb +17 -0
- data/lib/{eac_launcher → avm/launcher}/instances/error.rb +0 -0
- data/lib/avm/launcher/instances/runner_helper.rb +41 -0
- data/lib/avm/patches/class.rb +4 -0
- data/lib/avm/patches/eac_ruby_gems_utils.rb +4 -0
- data/lib/avm/patches/eac_ruby_gems_utils/gem.rb +2 -2
- data/lib/avm/patches/object.rb +4 -0
- data/lib/avm/patches/object/fs_cache.rb +16 -0
- data/lib/avm/ruby/bundler.rb +11 -0
- data/lib/avm/ruby/bundler/incompatible_parser.rb +25 -0
- data/lib/avm/ruby/bundler/incompatible_parser/depends_on.rb +25 -0
- data/lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb +39 -0
- data/lib/avm/ruby/bundler/incompatible_parser/in_gemfile.rb +19 -0
- data/lib/avm/ruby/bundler/incompatible_parser/line_buffer.rb +73 -0
- data/lib/avm/ruby/bundler/incompatible_parser/line_factory.rb +31 -0
- data/lib/avm/ruby/bundler/incompatible_parser/line_parser_base.rb +19 -0
- data/lib/avm/ruby/bundler/incompatible_parser/version_requirement.rb +26 -0
- data/lib/avm/ruby/gems/generator.rb +1 -5
- data/lib/avm/ruby/rubocop/_configured.rb +2 -2
- data/lib/avm/tools/runner/{local_project.rb → app_src.rb} +3 -3
- data/lib/avm/tools/runner/app_src/eac_asciidoctor_base0.rb +14 -0
- data/lib/avm/tools/runner/{local_project → app_src}/eac_asciidoctor_base0/build.rb +19 -7
- data/lib/avm/tools/runner/{local_project → app_src}/eac_writings_base0.rb +1 -2
- data/lib/avm/tools/runner/{local_project → app_src}/eac_writings_base0/build_chapters.rb +1 -2
- data/lib/avm/tools/runner/{local_project → app_src}/eac_writings_base0/build_single.rb +1 -2
- data/lib/avm/tools/runner/{local_project → app_src}/eac_writings_base0/info.rb +1 -2
- data/lib/avm/tools/runner/app_src/info.rb +22 -0
- data/lib/avm/tools/runner/{local_project → app_src}/ruby.rb +1 -1
- data/lib/avm/tools/runner/{local_project → app_src}/ruby/bundler.rb +1 -1
- data/lib/avm/tools/runner/{local_project → app_src}/ruby/bundler/gemfile_lock.rb +1 -1
- data/lib/avm/tools/runner/app_src/ruby/bundler/incompatible.rb +84 -0
- data/lib/avm/tools/runner/{local_project → app_src}/test.rb +6 -9
- data/lib/avm/tools/runner/app_src/update.rb +22 -0
- data/lib/avm/tools/runner/{local_project → app_src}/version_bump.rb +1 -1
- data/lib/avm/tools/runner/eac_asciidoctor_base0.rb +0 -1
- data/lib/avm/tools/runner/eac_rails_base0.rb +0 -1
- data/lib/avm/tools/runner/eac_redmine_base0.rb +0 -1
- data/lib/avm/tools/runner/eac_wordpress_base0.rb +0 -1
- data/lib/avm/tools/runner/eac_writings_base0.rb +0 -1
- data/lib/avm/tools/runner/git.rb +0 -1
- data/lib/avm/tools/runner/git/commit.rb +0 -1
- data/lib/avm/tools/runner/git/dirty_files.rb +17 -22
- data/lib/avm/tools/runner/git/issue.rb +21 -36
- data/lib/avm/tools/runner/git/organize.rb +6 -9
- data/lib/avm/tools/runner/git/revisions_test.rb +14 -25
- data/lib/avm/tools/runner/git/subrepo.rb +3 -6
- data/lib/avm/tools/runner/git/subrepo/check.rb +10 -13
- data/lib/avm/tools/runner/git/subrepo/clone.rb +2 -3
- data/lib/avm/tools/runner/git/subrepo/fix.rb +2 -3
- data/lib/avm/tools/runner/launcher.rb +3 -6
- data/lib/avm/tools/runner/launcher/instances.rb +10 -21
- data/lib/avm/tools/runner/launcher/projects.rb +10 -18
- data/lib/avm/tools/runner/launcher/publish.rb +18 -26
- data/lib/avm/tools/runner/ruby/rubocop.rb +9 -25
- data/lib/avm/tools/runner/self.rb +7 -15
- data/lib/avm/tools/runner/self/docker.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/lib/eac_launcher/instances.rb +1 -1
- data/template/avm/ruby/gems/generator/static/spec/rubocop_spec.rb +1 -5
- data/template/avm/ruby/gems/generator/static/spec/spec_helper.rb +2 -0
- data/vendor/avm-apps/avm-apps.gemspec +1 -1
- data/vendor/avm-apps/lib/avm/apps/sources/configuration.rb +57 -0
- data/vendor/avm-apps/lib/avm/apps/sources/configuration/_locale.rb +18 -0
- data/vendor/avm-apps/lib/avm/apps/sources/configuration/_rubocop.rb +26 -0
- data/vendor/avm-apps/lib/avm/apps/sources/configuration/_tests.rb +29 -0
- data/vendor/avm-apps/lib/avm/apps/version.rb +1 -1
- data/vendor/avm-apps/spec/rubocop_spec.rb +1 -5
- data/vendor/avm-apps/spec/spec_helper.rb +3 -0
- data/vendor/avm-eac_asciidoctor_base0/Gemfile +5 -0
- data/vendor/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +20 -0
- data/{lib/avm/local_projects.rb → vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb} +1 -1
- data/{lib/avm/eac_asciidoctor_base0/project.rb → vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb} +2 -4
- data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +19 -0
- data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build.rb +49 -0
- data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build/file.rb +30 -0
- data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runner.rb +30 -0
- data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runner/build.rb +54 -0
- data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +7 -0
- data/vendor/avm-eac_asciidoctor_base0/spec/rubocop_spec.rb +3 -0
- data/vendor/avm-eac_asciidoctor_base0/spec/spec_helper.rb +102 -0
- data/vendor/eac_cli/eac_cli.gemspec +1 -1
- data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +5 -1
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +3 -1
- data/vendor/eac_cli/lib/eac_cli/runner/context.rb +2 -1
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +8 -1
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/rubocop_spec.rb +1 -5
- data/vendor/eac_cli/spec/spec_helper.rb +3 -0
- data/vendor/eac_docker/eac_docker.gemspec +1 -1
- data/vendor/eac_docker/lib/eac_docker/version.rb +1 -1
- data/vendor/eac_docker/spec/rubocop_spec.rb +1 -5
- data/vendor/eac_docker/spec/spec_helper.rb +3 -0
- data/vendor/eac_git/eac_git.gemspec +2 -1
- data/vendor/eac_git/lib/eac_git/local.rb +4 -0
- data/vendor/eac_git/lib/eac_git/local/commit.rb +53 -0
- data/vendor/eac_git/lib/eac_git/local/commit/changed_file.rb +46 -0
- data/vendor/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +32 -0
- data/vendor/eac_git/lib/eac_git/rspec.rb +6 -1
- data/{lib/avm/git/spec_helper.rb → vendor/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb} +16 -13
- data/vendor/eac_git/lib/eac_git/version.rb +1 -1
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +13 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +1 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +1 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +1 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +2 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit_spec.rb +58 -0
- data/vendor/eac_git/spec/rubocop_spec.rb +1 -5
- data/vendor/eac_git/spec/spec_helper.rb +3 -0
- data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +4 -4
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/input.rb +36 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +58 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +81 -0
- data/vendor/eac_ruby_base0/spec/rubocop_spec.rb +1 -5
- data/vendor/eac_ruby_base0/spec/spec_helper.rb +3 -0
- data/vendor/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +4 -3
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/base.rb +7 -10
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple.rb +9 -2
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
- data/vendor/eac_ruby_gems_utils/spec/code/rubocop_check_spec.rb +1 -5
- data/vendor/eac_ruby_gems_utils/spec/spec_helper.rb +3 -0
- data/vendor/eac_ruby_utils/eac_ruby_utils.gemspec +2 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/filesystem_cache.rb +6 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/logs.rb +63 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +9 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +3 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +4 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +10 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +4 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +34 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +10 -29
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +69 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +18 -5
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +8 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +9 -0
- data/vendor/eac_ruby_utils/spec/rubocop_check_spec.rb +1 -5
- data/vendor/eac_ruby_utils/spec/spec_helper.rb +3 -0
- metadata +120 -39
- data/lib/avm/eac_asciidoctor_base0/build.rb +0 -47
- data/lib/avm/eac_asciidoctor_base0/build/file.rb +0 -28
- data/lib/avm/instances/configuration.rb +0 -55
- data/lib/avm/instances/configuration/_locale.rb +0 -16
- data/lib/avm/instances/configuration/_rubocop.rb +0 -24
- data/lib/avm/instances/configuration/_tests.rb +0 -27
- data/lib/avm/local_projects/instance.rb +0 -62
- data/lib/avm/tools/runner/local_project/eac_asciidoctor_base0.rb +0 -32
- data/lib/avm/tools/runner/local_project/info.rb +0 -25
- data/lib/avm/tools/runner/local_project/update.rb +0 -25
- data/lib/eac_launcher/instances/runner_helper.rb +0 -42
- data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +0 -30
- data/vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb +0 -53
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
require 'avm/eac_writings_base0/project'
|
4
4
|
require 'eac_cli/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
6
5
|
|
7
6
|
module Avm
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
|
-
class
|
9
|
+
class AppSrc
|
11
10
|
class EacWritingsBase0
|
12
11
|
require_sub __FILE__
|
13
12
|
enable_simple_cache
|
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
require 'avm/eac_writings_base0/project_build'
|
4
4
|
require 'eac_cli/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
6
5
|
|
7
6
|
module Avm
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
|
-
class
|
9
|
+
class AppSrc
|
11
10
|
class EacWritingsBase0
|
12
11
|
class BuildChapters
|
13
12
|
runner_with :help do
|
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
require 'avm/eac_writings_base0/project_build'
|
4
4
|
require 'eac_cli/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
6
5
|
|
7
6
|
module Avm
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
|
-
class
|
9
|
+
class AppSrc
|
11
10
|
class EacWritingsBase0
|
12
11
|
class BuildSingle
|
13
12
|
runner_with :help do
|
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
require 'avm/eac_writings_base0/project_build'
|
4
4
|
require 'eac_cli/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
6
5
|
|
7
6
|
module Avm
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
|
-
class
|
9
|
+
class AppSrc
|
11
10
|
class EacWritingsBase0
|
12
11
|
class Info
|
13
12
|
runner_with :help do
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Tools
|
7
|
+
class Runner
|
8
|
+
class AppSrc
|
9
|
+
class Info
|
10
|
+
runner_with :help do
|
11
|
+
desc 'Show information about local project instance.'
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
infov 'Path', runner_context.call(:instance).path
|
16
|
+
infov 'Stereotypes', runner_context.call(:instance).stereotypes.map(&:label).join(', ')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/fs_cache'
|
4
|
+
require 'avm/ruby/bundler/incompatible_parser'
|
5
|
+
require 'eac_ruby_base0/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module Tools
|
9
|
+
class Runner
|
10
|
+
class AppSrc
|
11
|
+
class Ruby
|
12
|
+
class Bundler
|
13
|
+
class Incompatible
|
14
|
+
runner_with :help do
|
15
|
+
desc 'Identify incompatible gems in a "Gemfile.lock" file.'
|
16
|
+
bool_opt '-l', '--last', 'Process the last \"bundle update\" result.'
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
infov 'Cache path', fs_cache.content_path
|
21
|
+
infov 'Cached?', fs_cache.cached?
|
22
|
+
parser.gems_in_conflict.each do |gem_in_conflict|
|
23
|
+
print_gem_in_conflict(gem_in_conflict)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def bundle_update
|
30
|
+
infom 'Running "bundle update"...'
|
31
|
+
instance.ruby_gem.bundle('update').execute[:stdout]
|
32
|
+
end
|
33
|
+
|
34
|
+
def content_path
|
35
|
+
fs_cache.write(bundle_update) unless fs_cache.cached? && parsed.last?
|
36
|
+
fs_cache.content_path
|
37
|
+
end
|
38
|
+
|
39
|
+
def fs_cache_uncached
|
40
|
+
::Avm.fs_cache.child(self.class.name.variableize)
|
41
|
+
.child(instance.path.to_s.variableize)
|
42
|
+
end
|
43
|
+
|
44
|
+
def gem_title(gem_in_conflict)
|
45
|
+
gem_in_conflict.gem_name
|
46
|
+
end
|
47
|
+
|
48
|
+
def instance
|
49
|
+
runner_context.call(:instance)
|
50
|
+
end
|
51
|
+
|
52
|
+
def parser_uncached
|
53
|
+
::Avm::Ruby::Bundler::IncompatibleParser.new(content_path)
|
54
|
+
end
|
55
|
+
|
56
|
+
def print_gem_in_conflict(gem_in_conflict)
|
57
|
+
infov 'Gem', gem_title(gem_in_conflict)
|
58
|
+
gem_in_conflict.versions_requirements.each do |requirement|
|
59
|
+
print_requirement(requirement)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def print_requirement(req)
|
64
|
+
infov ' ' + requirement_title(req), requirement_value(req)
|
65
|
+
end
|
66
|
+
|
67
|
+
def requirement_stack(req)
|
68
|
+
req.stack.map { |d| "#{d.gem_name} (#{d.version})" }.join(' > '.green)
|
69
|
+
end
|
70
|
+
|
71
|
+
def requirement_title(req)
|
72
|
+
req.requirements_source.if_present('*')
|
73
|
+
end
|
74
|
+
|
75
|
+
def requirement_value(req)
|
76
|
+
requirement_stack(req)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -1,21 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
3
|
+
require 'avm/core_ext'
|
5
4
|
|
6
5
|
module Avm
|
7
6
|
module Tools
|
8
7
|
class Runner
|
9
|
-
class
|
10
|
-
class Test
|
11
|
-
|
12
|
-
|
13
|
-
runner_definition do
|
8
|
+
class AppSrc
|
9
|
+
class Test
|
10
|
+
runner_with :help do
|
14
11
|
desc 'Test local project.'
|
15
12
|
end
|
16
13
|
|
17
14
|
def run
|
18
|
-
|
15
|
+
runner_context.call(:instance_banner)
|
19
16
|
infov 'Test command', test_command
|
20
17
|
if test_command.present?
|
21
18
|
test_command.system!
|
@@ -25,7 +22,7 @@ module Avm
|
|
25
22
|
end
|
26
23
|
|
27
24
|
def test_command
|
28
|
-
|
25
|
+
runner_context.call(:instance).configuration.if_present(&:any_test_command)
|
29
26
|
end
|
30
27
|
end
|
31
28
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Tools
|
7
|
+
class Runner
|
8
|
+
class AppSrc
|
9
|
+
class Update
|
10
|
+
runner_with :help do
|
11
|
+
desc 'Update local project.'
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
infov 'Path', runner_context.call(:instance).path
|
16
|
+
runner_context.call(:instance).run_job(:update)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/avm/tools/runner/git.rb
CHANGED
@@ -1,46 +1,41 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
3
|
+
require 'avm/core_ext'
|
5
4
|
|
6
5
|
module Avm
|
7
6
|
module Tools
|
8
7
|
class Runner
|
9
8
|
class Git
|
10
|
-
class DirtyFiles
|
11
|
-
|
12
|
-
|
9
|
+
class DirtyFiles
|
10
|
+
DEFAULT_FORMAT = '%p'
|
13
11
|
FIELDS = {
|
14
12
|
i: :index, w: :worktree, p: :path, a: :absolute_path
|
15
13
|
}.map { |k, v| ["%#{k}", v] }.to_h
|
16
14
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
Usage:
|
23
|
-
__PROGRAM__ [options]
|
24
|
-
__PROGRAM__ -h | --help
|
25
|
-
|
26
|
-
Options:
|
27
|
-
-h --help Mostra esta ajuda.
|
28
|
-
-f --format=<format> Format of each line (See "Format fields") [default: %p].
|
15
|
+
runner_with :help do
|
16
|
+
desc 'Lists dirty files in Git repository.'
|
17
|
+
arg_opt '-f', '--format',
|
18
|
+
"Format of each line (See \"Format fields\") [default: #{DEFAULT_FORMAT}]."
|
19
|
+
end
|
29
20
|
|
30
|
-
|
31
|
-
#{
|
32
|
-
|
21
|
+
def help_extra_text
|
22
|
+
"Format fields:\n" + FIELDS.map { |k, v| " #{k} => #{v}" }.join("\n")
|
23
|
+
end
|
33
24
|
|
34
25
|
def run
|
35
|
-
|
26
|
+
runner_context.call(:git).dirty_files.each do |file|
|
36
27
|
out("#{format_file(file)}\n")
|
37
28
|
end
|
38
29
|
end
|
39
30
|
|
40
31
|
private
|
41
32
|
|
33
|
+
def format
|
34
|
+
parsed.format || DEFAULT_FORMAT
|
35
|
+
end
|
36
|
+
|
42
37
|
def format_file(file)
|
43
|
-
FIELDS.inject(
|
38
|
+
FIELDS.inject(format) { |a, e| a.gsub(e.first, file.send(e.last)) }
|
44
39
|
end
|
45
40
|
end
|
46
41
|
end
|
@@ -1,45 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/speaker'
|
3
|
+
require 'avm/core_ext'
|
5
4
|
require 'avm/git/issue/complete'
|
6
5
|
|
7
6
|
module Avm
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
9
|
class Git
|
11
|
-
class Issue
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
-f --uncomplete-unfail Do not exit with error if issue is not completed
|
25
|
-
or is invalid.
|
26
|
-
-s --skip-validations=<validations> Does not validate conditions on <validations>
|
27
|
-
(Comma separated value).
|
28
|
-
-y --yes Does not ask for user confirmation.
|
29
|
-
|
30
|
-
Validations:
|
31
|
-
%%VALIDATIONS%%
|
32
|
-
DOCOPT
|
33
|
-
|
34
|
-
UNCOMPLETE_MESSAGE =
|
10
|
+
class Issue
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Closes a issue in a Git repository.'
|
13
|
+
bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not' \
|
14
|
+
' completed or is invalid.'
|
15
|
+
arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations>' \
|
16
|
+
' (Comma separated value).'
|
17
|
+
bool_opt '-y', '--yes', 'Does not ask for user confirmation.'
|
18
|
+
bool_opt '--complete', 'Run complete task.'
|
19
|
+
end
|
35
20
|
|
36
|
-
|
37
|
-
|
38
|
-
|
21
|
+
def run
|
22
|
+
banner
|
23
|
+
return unless validate
|
39
24
|
|
40
|
-
|
41
|
-
|
42
|
-
|
25
|
+
run_complete if parsed.complete?
|
26
|
+
success('Done!')
|
27
|
+
end
|
43
28
|
|
44
29
|
def banner
|
45
30
|
complete.start_banner
|
@@ -68,15 +53,15 @@ module Avm
|
|
68
53
|
end
|
69
54
|
|
70
55
|
def confirm?
|
71
|
-
|
56
|
+
parsed.yes? || request_input('Confirm issue completion?', bool: true)
|
72
57
|
end
|
73
58
|
|
74
59
|
def skip_validations
|
75
|
-
|
60
|
+
parsed.skip_validations.to_s.split(',').map(&:strip).reject(&:blank?)
|
76
61
|
end
|
77
62
|
|
78
63
|
def git_complete_issue_options
|
79
|
-
{ dir:
|
64
|
+
{ dir: runner_context.call(:repository_path), skip_validations: skip_validations }
|
80
65
|
end
|
81
66
|
|
82
67
|
def doc_validations_list
|
@@ -84,7 +69,7 @@ module Avm
|
|
84
69
|
end
|
85
70
|
|
86
71
|
def uncomplete_unfail?
|
87
|
-
|
72
|
+
parsed.uncomplete_unfail?
|
88
73
|
end
|
89
74
|
|
90
75
|
def uncomplete_message(message)
|