avm-tools 0.84.0 → 0.87.1
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/lib/avm/git/file_auto_fixup.rb +22 -3
- data/lib/avm/instances/base/auto_values/database.rb +10 -0
- data/lib/avm/instances/base/auto_values/filesystem.rb +12 -0
- data/lib/avm/instances/entry_keys.rb +1 -1
- data/lib/avm/instances/runner.rb +2 -4
- data/lib/avm/projects/stereotypes/git/update.rb +42 -0
- data/lib/avm/projects/stereotypes/git/update/subrepo.rb +85 -0
- data/lib/avm/tools/runner.rb +2 -4
- data/lib/avm/tools/runner/eac_rails_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +1 -1
- data/lib/avm/tools/runner/eac_wordpress_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_writings_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_writings_base1.rb +1 -1
- data/lib/avm/tools/runner/files.rb +7 -15
- data/lib/avm/tools/runner/files/format.rb +18 -27
- data/lib/avm/tools/runner/files/rotate.rb +11 -21
- data/lib/avm/tools/runner/git.rb +10 -15
- data/lib/avm/tools/runner/git/auto_commit.rb +2 -2
- data/lib/avm/tools/runner/git/auto_fixup.rb +23 -16
- data/lib/avm/tools/runner/git/commit.rb +2 -2
- data/lib/avm/tools/runner/git/deploy.rb +18 -28
- data/lib/avm/tools/runner/git/dirty_files.rb +2 -2
- data/lib/avm/tools/runner/git/issue.rb +2 -2
- data/lib/avm/tools/runner/git/organize.rb +2 -2
- data/lib/avm/tools/runner/git/revisions_test.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo/check.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo/clone.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo/fix.rb +4 -3
- data/lib/avm/tools/runner/instance.rb +1 -1
- data/lib/avm/tools/runner/instance/info.rb +1 -1
- data/lib/avm/tools/runner/launcher.rb +1 -1
- data/lib/avm/tools/runner/launcher/instances.rb +1 -1
- data/lib/avm/tools/runner/launcher/projects.rb +1 -1
- data/lib/avm/tools/runner/launcher/publish.rb +1 -1
- data/lib/avm/tools/runner/local_project.rb +5 -8
- data/lib/avm/tools/runner/local_project/eac_writings_base0.rb +5 -6
- data/lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb +4 -6
- data/lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb +4 -5
- data/lib/avm/tools/runner/local_project/eac_writings_base0/info.rb +4 -5
- data/lib/avm/tools/runner/local_project/eac_writings_base1.rb +2 -2
- data/lib/avm/tools/runner/local_project/eac_writings_base1/build.rb +2 -2
- data/lib/avm/tools/runner/local_project/info.rb +2 -2
- data/lib/avm/tools/runner/local_project/ruby.rb +2 -2
- data/lib/avm/tools/runner/local_project/ruby/bundler.rb +2 -2
- data/lib/avm/tools/runner/local_project/ruby/bundler/gemfile_lock.rb +2 -2
- data/lib/avm/tools/runner/local_project/test.rb +2 -2
- data/lib/avm/tools/runner/local_project/update.rb +2 -2
- data/lib/avm/tools/runner/local_project/version_bump.rb +10 -13
- data/lib/avm/tools/runner/ruby.rb +1 -1
- data/lib/avm/tools/runner/ruby/gems.rb +1 -1
- data/lib/avm/tools/runner/ruby/gems/generate.rb +1 -1
- data/lib/avm/tools/runner/ruby/rubocop.rb +1 -1
- data/lib/avm/tools/runner/self.rb +1 -1
- data/lib/avm/tools/runner/self/docker.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/template/avm/eac_rails_base0/deploy/config/database.yml.template +3 -2
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +15 -0
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +5 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative.rb +4 -4
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +37 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +29 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb +7 -36
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +45 -0
- data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -48
- data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +29 -0
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +31 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +15 -3
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +22 -1
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +1 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +9 -6
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner/test_all.rb +4 -9
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +16 -6
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +2 -99
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb +29 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/instance_initialize.rb +53 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/super_args.rb +54 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +10 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/traverser.rb +0 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +4 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +38 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +8 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/template.rb +10 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/template.rb +1 -8
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb +3 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +8 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +14 -4
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +30 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +2 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +17 -0
- metadata +18 -3
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/local_time_zone.rb +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 39b5ee493e22bb4e2eb77a9e62067e0de6dd23b3d3d4dd62ba2eeadedf183d22
|
|
4
|
+
data.tar.gz: 0d528d18932807487721a84c32a6c4d1f2906a015840ac360921fcbca78b493c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4a7a88618b900c728d17a3ef9f492f1b0f42d74313190f8de7d532ebda8f89e27866eb9edbdee7043cfadfd075b71b44390d8c190191b11341120baef2489fea
|
|
7
|
+
data.tar.gz: e209c17b18ab7d34483054cb5545da9e946212ca857ae52ec18fa87b00704c3a589697ab1e0dfa1ec8b093afe55a8f8ea5a1e61487bda8ca717196d4e0e47679
|
|
@@ -7,8 +7,12 @@ module Avm
|
|
|
7
7
|
class FileAutoFixup
|
|
8
8
|
enable_console_speaker
|
|
9
9
|
enable_simple_cache
|
|
10
|
+
enable_listable
|
|
11
|
+
lists.add_symbol :option, :select, :unique
|
|
10
12
|
|
|
11
|
-
common_constructor :git, :path
|
|
13
|
+
common_constructor :git, :path, :options, default: [{}] do
|
|
14
|
+
self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
|
|
15
|
+
end
|
|
12
16
|
|
|
13
17
|
COMMIT_FORMAT = '%h - %s (%cr)'
|
|
14
18
|
COMMITS_SEARCH_INTERVAL = 'origin/master..HEAD'
|
|
@@ -18,8 +22,8 @@ module Avm
|
|
|
18
22
|
start_banner
|
|
19
23
|
if commits.count.zero?
|
|
20
24
|
run_no_commits_found
|
|
21
|
-
elsif
|
|
22
|
-
fixup_commit(
|
|
25
|
+
elsif auto_selected_commit.present?
|
|
26
|
+
fixup_commit(auto_selected_commit)
|
|
23
27
|
else
|
|
24
28
|
run_commits_selection
|
|
25
29
|
end
|
|
@@ -27,6 +31,10 @@ module Avm
|
|
|
27
31
|
|
|
28
32
|
private
|
|
29
33
|
|
|
34
|
+
def auto_selected_commit_uncached
|
|
35
|
+
selected_commit_by_unique || select_commit_by_select
|
|
36
|
+
end
|
|
37
|
+
|
|
30
38
|
def start_banner
|
|
31
39
|
infov 'Path', path
|
|
32
40
|
infov ' Commits found', commits.count
|
|
@@ -56,6 +64,17 @@ module Avm
|
|
|
56
64
|
request_input('Which commit?', list: commits_by_position)
|
|
57
65
|
end
|
|
58
66
|
|
|
67
|
+
def selected_commit_by_unique
|
|
68
|
+
return unless options[OPTION_UNIQUE]
|
|
69
|
+
return commits.first if commits.first
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def select_commit_by_select
|
|
73
|
+
options[OPTION_SELECT].if_present(&:to_i).if_present do |v|
|
|
74
|
+
commits.find { |commit| commit.position == v }
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
59
78
|
def commits_banner
|
|
60
79
|
commits.each_with_index do |commit, _index|
|
|
61
80
|
infov " #{commit.position}", format_commit(commit)
|
|
@@ -8,6 +8,7 @@ module Avm
|
|
|
8
8
|
module AutoValues
|
|
9
9
|
module Database
|
|
10
10
|
DEFAULT_HOSTNAME = '127.0.0.1'
|
|
11
|
+
DEFAULT_LIMIT = 5
|
|
11
12
|
DEFAULT_PORTS = {
|
|
12
13
|
'postgresql' => 5432,
|
|
13
14
|
'mysql' => 3306,
|
|
@@ -15,6 +16,7 @@ module Avm
|
|
|
15
16
|
'sqlserver' => 1433
|
|
16
17
|
}.freeze
|
|
17
18
|
DEFAULT_SYSTEM = 'postgresql'
|
|
19
|
+
DEFAULT_TIMEOUT = 5000
|
|
18
20
|
|
|
19
21
|
def auto_database_name
|
|
20
22
|
inherited_entry_value(::Avm::Instances::EntryKeys::DATABASE_ID,
|
|
@@ -25,6 +27,10 @@ module Avm
|
|
|
25
27
|
database_auto_common('hostname') || DEFAULT_HOSTNAME
|
|
26
28
|
end
|
|
27
29
|
|
|
30
|
+
def auto_database_limit
|
|
31
|
+
database_auto_common('limit') || DEFAULT_LIMIT
|
|
32
|
+
end
|
|
33
|
+
|
|
28
34
|
def auto_database_password
|
|
29
35
|
database_auto_common('password')
|
|
30
36
|
end
|
|
@@ -41,6 +47,10 @@ module Avm
|
|
|
41
47
|
database_auto_common('system') || DEFAULT_SYSTEM
|
|
42
48
|
end
|
|
43
49
|
|
|
50
|
+
def auto_database_timeout
|
|
51
|
+
database_auto_common('timeout') || DEFAULT_TIMEOUT
|
|
52
|
+
end
|
|
53
|
+
|
|
44
54
|
private
|
|
45
55
|
|
|
46
56
|
def database_auto_common(suffix)
|
|
@@ -20,12 +20,24 @@ module Avm
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def auto_fs_url
|
|
23
|
+
auto_fs_url_with_ssh || auto_fs_url_without_ssh
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def auto_fs_url_with_ssh
|
|
23
27
|
read_entry_optional('ssh.url').if_present do |ssh_url|
|
|
24
28
|
read_entry_optional('fs_path').if_present do |fs_path|
|
|
25
29
|
"#{ssh_url}#{fs_path}"
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
end
|
|
33
|
+
|
|
34
|
+
def auto_fs_url_without_ssh
|
|
35
|
+
return nil if read_entry_optional('ssh.url').present?
|
|
36
|
+
|
|
37
|
+
read_entry_optional('fs_path').if_present do |fs_path|
|
|
38
|
+
"file://#{fs_path}"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
29
41
|
end
|
|
30
42
|
end
|
|
31
43
|
end
|
|
@@ -41,7 +41,7 @@ module Avm
|
|
|
41
41
|
|
|
42
42
|
{
|
|
43
43
|
'' => %w[fs_path host_id source_instance_id],
|
|
44
|
-
database: %w[id hostname name password port system username],
|
|
44
|
+
database: %w[id hostname limit name password port system timeout username],
|
|
45
45
|
mailer: {
|
|
46
46
|
'' => %w[id from reply_to],
|
|
47
47
|
smtp: %w[address port domain username password authentication starttls_auto]
|
data/lib/avm/instances/runner.rb
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'eac_cli/core_ext'
|
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
4
|
|
|
6
5
|
module Avm
|
|
7
6
|
module Instances
|
|
8
|
-
class Runner
|
|
7
|
+
class Runner
|
|
9
8
|
class << self
|
|
10
9
|
def instance_class
|
|
11
10
|
::Avm.const_get(stereotype_name).const_get('Instance')
|
|
@@ -20,9 +19,8 @@ module Avm
|
|
|
20
19
|
end
|
|
21
20
|
end
|
|
22
21
|
|
|
23
|
-
runner_with
|
|
24
22
|
description = "Utilities for #{stereotype_name} instances."
|
|
25
|
-
|
|
23
|
+
runner_with :help, :subcommands do
|
|
26
24
|
desc description
|
|
27
25
|
pos_arg 'instance-id'
|
|
28
26
|
subcommands
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
require 'avm/patches/class/i18n'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module Projects
|
|
8
|
+
module Stereotypes
|
|
9
|
+
class Git
|
|
10
|
+
class Update
|
|
11
|
+
require_sub __FILE__
|
|
12
|
+
enable_simple_cache
|
|
13
|
+
enable_console_speaker
|
|
14
|
+
common_constructor :instance
|
|
15
|
+
|
|
16
|
+
delegate :git_repo, to: :instance
|
|
17
|
+
|
|
18
|
+
def run
|
|
19
|
+
clean_all
|
|
20
|
+
selected_subrepos.map do |f|
|
|
21
|
+
infov 'Subrepo', f
|
|
22
|
+
on_speaker_node do |node|
|
|
23
|
+
node.stderr_line_prefix = ' '
|
|
24
|
+
::Avm::Projects::Stereotypes::Git::Update::Subrepo.new(self, f).run
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def selected_subrepos_uncached
|
|
30
|
+
git_repo.command('subrepo', '-q', 'status').execute!.split("\n").map(&:strip)
|
|
31
|
+
.select(&:present?).map(&:to_pathname)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def clean_all
|
|
35
|
+
infom 'Cleaning'
|
|
36
|
+
git_repo.command('subrepo', 'clean', '--all').execute!
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_launcher/git/base'
|
|
4
|
+
require 'avm/git/commit'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module Projects
|
|
8
|
+
module Stereotypes
|
|
9
|
+
class Git
|
|
10
|
+
class Update
|
|
11
|
+
class Subrepo
|
|
12
|
+
TRANSLATE_CLASS = self
|
|
13
|
+
|
|
14
|
+
require_sub __FILE__, include_modules: true
|
|
15
|
+
enable_simple_cache
|
|
16
|
+
enable_console_speaker
|
|
17
|
+
common_constructor :parent_update, :subpath do
|
|
18
|
+
self.subpath = subpath.to_pathname
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
delegate :git_repo, :instance, to: :parent_update
|
|
22
|
+
|
|
23
|
+
def run
|
|
24
|
+
run_banner
|
|
25
|
+
if base_commit.sha1 == pull_commit.sha1
|
|
26
|
+
infom 'No new commit (No changes)'
|
|
27
|
+
elsif fix_message.present?
|
|
28
|
+
on_fix_message_present
|
|
29
|
+
else
|
|
30
|
+
warn 'No fix message found'
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
def base_commit_uncached
|
|
37
|
+
::Avm::Git::Commit.new(git_repo, git_repo.rev_parse('HEAD'))
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def on_fix_message_present
|
|
41
|
+
infom 'Fixing message...'
|
|
42
|
+
infov 'Message', fix_message
|
|
43
|
+
git_repo.command('commit', '--amend', '-m', fix_message).execute!
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def pull_commit_uncached
|
|
47
|
+
base_commit
|
|
48
|
+
infom 'Pulling subrepo...'
|
|
49
|
+
git_repo.command('subrepo', 'pull', '--force', subpath).execute!
|
|
50
|
+
::Avm::Git::Commit.new(
|
|
51
|
+
::EacLauncher::Git::Base.new(git_repo.root_path.to_path),
|
|
52
|
+
git_repo.rev_parse('HEAD')
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def run_banner
|
|
57
|
+
infov 'Base SHA1', base_commit.sha1
|
|
58
|
+
infov 'Pull SHA1', pull_commit.sha1
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def fix_message
|
|
62
|
+
TRANSLATE_CLASS.translate(
|
|
63
|
+
fix_message_translate_key, subpath: subpath, name: subpath.basename,
|
|
64
|
+
__locale: instance.locale
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def fix_message_translate_key
|
|
69
|
+
if gitrepo_only_changed?
|
|
70
|
+
:gitrepo_only_changed_fix_message
|
|
71
|
+
else
|
|
72
|
+
:content_updated_fix_message
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def gitrepo_only_changed?
|
|
77
|
+
pull_commit.files.count == 1 &&
|
|
78
|
+
::File.basename(pull_commit.files.first.path) == '.gitrepo'
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
data/lib/avm/tools/runner.rb
CHANGED
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
require 'avm/self'
|
|
4
4
|
require 'avm/tools/version'
|
|
5
5
|
require 'eac_ruby_base0/runner'
|
|
6
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
|
7
|
-
require 'eac_ruby_utils/core_ext'
|
|
8
6
|
|
|
9
7
|
module Avm
|
|
10
8
|
module Tools
|
|
11
|
-
class Runner
|
|
12
|
-
include ::EacRubyBase0::Runner
|
|
9
|
+
class Runner
|
|
13
10
|
require_sub __FILE__
|
|
11
|
+
include ::EacRubyBase0::Runner
|
|
14
12
|
|
|
15
13
|
runner_definition do
|
|
16
14
|
desc 'Tools for AVM.'
|
|
@@ -7,7 +7,7 @@ require 'avm/eac_rails_base0/apache_path'
|
|
|
7
7
|
|
|
8
8
|
module Avm
|
|
9
9
|
module Tools
|
|
10
|
-
class Runner
|
|
10
|
+
class Runner
|
|
11
11
|
class EacRailsBase0 < ::Avm::EacRailsBase1::Runner
|
|
12
12
|
class ApachePath < ::EacRubyUtils::Console::DocoptRunner
|
|
13
13
|
runner_with
|
|
@@ -7,7 +7,7 @@ require 'eac_ruby_utils/core_ext'
|
|
|
7
7
|
|
|
8
8
|
module Avm
|
|
9
9
|
module Tools
|
|
10
|
-
class Runner
|
|
10
|
+
class Runner
|
|
11
11
|
class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
|
|
12
12
|
class CoreUpdate < ::EacRubyUtils::Console::DocoptRunner
|
|
13
13
|
include ::EacCli::DefaultRunner
|
|
@@ -5,7 +5,7 @@ require 'avm/eac_rails_base1/runner/code_runner'
|
|
|
5
5
|
|
|
6
6
|
module Avm
|
|
7
7
|
module Tools
|
|
8
|
-
class Runner
|
|
8
|
+
class Runner
|
|
9
9
|
class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
|
|
10
10
|
class ProjectRename
|
|
11
11
|
runner_with ::Avm::EacRailsBase1::RunnerWith::Bundle do
|
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
5
4
|
|
|
6
5
|
module Avm
|
|
7
6
|
module Tools
|
|
8
|
-
class Runner
|
|
9
|
-
class Files
|
|
7
|
+
class Runner
|
|
8
|
+
class Files
|
|
10
9
|
require_sub __FILE__
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Usage:
|
|
16
|
-
__PROGRAM__ [options] __SUBCOMMANDS__
|
|
17
|
-
__PROGRAM__ -h | --help
|
|
18
|
-
|
|
19
|
-
Options:
|
|
20
|
-
-h --help Show this screen.
|
|
21
|
-
DOCOPT
|
|
10
|
+
runner_with :help, :subcommands do
|
|
11
|
+
desc 'Files utilities for AVM.'
|
|
12
|
+
subcommands
|
|
13
|
+
end
|
|
22
14
|
end
|
|
23
15
|
end
|
|
24
16
|
end
|
|
@@ -1,40 +1,31 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/files/formatter'
|
|
4
|
+
require 'eac_cli/core_ext'
|
|
4
5
|
require 'eac_launcher/git/base'
|
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
|
-
require 'eac_ruby_utils/core_ext'
|
|
7
6
|
|
|
8
7
|
module Avm
|
|
9
8
|
module Tools
|
|
10
|
-
class Runner
|
|
11
|
-
class Files
|
|
12
|
-
class Format
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Options:
|
|
23
|
-
-h --help Show this screen.
|
|
24
|
-
-a --apply Confirm changes.
|
|
25
|
-
-n --no-recursive No recursive.
|
|
26
|
-
-v --verbose Verbose
|
|
27
|
-
-d --git-dirty Select Git dirty files to format.
|
|
28
|
-
DOCOPT
|
|
9
|
+
class Runner
|
|
10
|
+
class Files
|
|
11
|
+
class Format
|
|
12
|
+
runner_with :help do
|
|
13
|
+
desc 'Format files.'
|
|
14
|
+
bool_opt '-a', '--apply', 'Confirm changes.'
|
|
15
|
+
bool_opt '-n', '--no-recursive', 'No recursive.'
|
|
16
|
+
bool_opt '-v', '--verbose', 'Verbose'
|
|
17
|
+
bool_opt '-d', '--git-dirty', 'Select Git dirty files to format.'
|
|
18
|
+
pos_arg :paths, repeat: true, optional: true
|
|
19
|
+
end
|
|
29
20
|
|
|
30
21
|
def run
|
|
31
22
|
::Avm::Files::Formatter.new(source_paths, formatter_options).run
|
|
32
23
|
end
|
|
33
24
|
|
|
34
25
|
def formatter_options
|
|
35
|
-
{ ::Avm::Files::Formatter::OPTION_APPLY =>
|
|
36
|
-
::Avm::Files::Formatter::OPTION_RECURSIVE => !
|
|
37
|
-
::Avm::Files::Formatter::OPTION_VERBOSE =>
|
|
26
|
+
{ ::Avm::Files::Formatter::OPTION_APPLY => parsed.apply?,
|
|
27
|
+
::Avm::Files::Formatter::OPTION_RECURSIVE => !parsed.no_recursive?,
|
|
28
|
+
::Avm::Files::Formatter::OPTION_VERBOSE => parsed.verbose? }
|
|
38
29
|
end
|
|
39
30
|
|
|
40
31
|
def git
|
|
@@ -46,10 +37,10 @@ module Avm
|
|
|
46
37
|
end
|
|
47
38
|
|
|
48
39
|
def source_paths
|
|
49
|
-
if
|
|
50
|
-
|
|
40
|
+
if parsed.git_dirty?
|
|
41
|
+
parsed.paths + git_dirty_files
|
|
51
42
|
else
|
|
52
|
-
|
|
43
|
+
parsed.paths.if_present(%w[.])
|
|
53
44
|
end
|
|
54
45
|
end
|
|
55
46
|
end
|