avmtrf1-tools 0.31.2 → 0.33.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avmtrf1/active_directory/user.rb +3 -3
- data/lib/avmtrf1/core_ext.rb +4 -0
- data/lib/avmtrf1/default_jira.rb +2 -2
- data/lib/avmtrf1/executables.rb +10 -2
- data/lib/avmtrf1/git/cached_repository.rb +2 -2
- data/lib/avmtrf1/git/issue_on_repository.rb +2 -2
- data/lib/avmtrf1/git/push_large.rb +4 -4
- data/lib/avmtrf1/git/push_large/lfs_commit.rb +5 -10
- data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +19 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/checkout_previous_revision.rb +35 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/commit_changes.rb +48 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +29 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/pick_source_revision.rb +103 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +90 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/track_large_files.rb +53 -0
- data/lib/avmtrf1/git/push_large/source_commit.rb +4 -7
- data/lib/avmtrf1/git/push_large/source_commit/push.rb +42 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base.rb +1 -1
- data/lib/avmtrf1/openvpn/config/builder.rb +59 -0
- data/lib/avmtrf1/openvpn/config/parser.rb +20 -0
- data/lib/avmtrf1/openvpn/config/parser/builder.rb +62 -0
- data/lib/avmtrf1/openvpn/config/parser/line.rb +47 -0
- data/lib/avmtrf1/openvpn/config/parser/simple.rb +27 -0
- data/lib/avmtrf1/openvpn/config/parser/tag.rb +39 -0
- data/lib/avmtrf1/patches.rb +3 -0
- data/lib/avmtrf1/patches/avm.rb +4 -0
- data/lib/avmtrf1/patches/avm/git.rb +4 -0
- data/lib/avmtrf1/patches/avm/git/issue.rb +4 -0
- data/lib/avmtrf1/patches/avm/launcher.rb +4 -0
- data/lib/avmtrf1/patches/avm/launcher/git.rb +4 -0
- data/lib/avmtrf1/patches/avm/launcher/git/base.rb +46 -0
- data/lib/avmtrf1/red/helper.rb +2 -2
- data/lib/avmtrf1/template.rb +2 -2
- data/lib/avmtrf1/tools/application.rb +13 -0
- data/lib/avmtrf1/tools/runner.rb +18 -25
- data/lib/avmtrf1/tools/runner/check_point.rb +8 -14
- data/lib/avmtrf1/tools/runner/check_point/login.rb +7 -20
- data/lib/avmtrf1/tools/runner/esosti.rb +9 -21
- data/lib/avmtrf1/tools/runner/esosti/changed.rb +10 -23
- data/lib/avmtrf1/tools/runner/esosti/fetch.rb +10 -23
- data/lib/avmtrf1/tools/runner/esosti/request.rb +18 -30
- data/lib/avmtrf1/tools/runner/forponto.rb +14 -24
- data/lib/avmtrf1/tools/runner/forponto/espelho.rb +12 -22
- data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +8 -19
- data/lib/avmtrf1/tools/runner/forponto/resumos.rb +8 -20
- data/lib/avmtrf1/tools/runner/forponto/saldo.rb +11 -22
- data/lib/avmtrf1/tools/runner/git.rb +3 -5
- data/lib/avmtrf1/tools/runner/git/issues_check.rb +8 -19
- data/lib/avmtrf1/tools/runner/git/push_large.rb +28 -19
- data/lib/avmtrf1/tools/runner/inventario_sistemas.rb +7 -9
- data/lib/avmtrf1/tools/runner/openvpn.rb +91 -0
- data/lib/avmtrf1/tools/runner/oracle.rb +16 -23
- data/lib/avmtrf1/tools/runner/oracle/query.rb +10 -14
- data/lib/avmtrf1/tools/runner/oracle/source_get.rb +18 -19
- data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +8 -16
- data/lib/avmtrf1/tools/runner/php.rb +8 -15
- data/lib/avmtrf1/tools/runner/php/docker.rb +21 -31
- data/lib/avmtrf1/tools/runner/red.rb +22 -26
- data/lib/avmtrf1/tools/runner/trf1_dspace_base0.rb +10 -19
- data/lib/avmtrf1/tools/runner/trf1_dspace_base0/deploy.rb +2 -2
- data/lib/avmtrf1/tools/version.rb +1 -1
- data/template/avmtrf1/php/docker_image/Dockerfile.template +4 -1
- metadata +30 -93
- data/lib/avmtrf1/configs.rb +0 -24
- data/lib/avmtrf1/git/push_large/lfs_commit/_00_checkout_previous_revision.rb +0 -33
- data/lib/avmtrf1/git/push_large/lfs_commit/_01_cherry_pick_source_revision.rb +0 -89
- data/lib/avmtrf1/git/push_large/lfs_commit/_02_track_large_files.rb +0 -51
- data/lib/avmtrf1/git/push_large/lfs_commit/_03_commit_changes.rb +0 -46
- data/lib/avmtrf1/git/push_large/lfs_commit/_04_push.rb +0 -88
- data/lib/avmtrf1/git/push_large/lfs_commit/_cache.rb +0 -17
- data/lib/avmtrf1/git/push_large/lfs_commit/_helpers.rb +0 -27
- data/lib/avmtrf1/git/push_large/source_commit/_push.rb +0 -40
- data/lib/avmtrf1/patches/eac_launcher/git/base.rb +0 -43
@@ -1,27 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
6
4
|
|
7
5
|
module Avmtrf1
|
8
6
|
module Tools
|
9
|
-
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Espelho
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options] <year> <month>
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
DOCOPT
|
7
|
+
class Runner
|
8
|
+
class Forponto
|
9
|
+
class Espelho
|
10
|
+
runner_with :help do
|
11
|
+
desc 'Recupera e trata dados do Forponto.'
|
12
|
+
pos_arg :year
|
13
|
+
pos_arg :month
|
14
|
+
end
|
25
15
|
|
26
16
|
def run
|
27
17
|
infov 'Start date', user_month.start_date
|
@@ -36,15 +26,15 @@ module Avmtrf1
|
|
36
26
|
end
|
37
27
|
|
38
28
|
def user_month_uncached
|
39
|
-
|
29
|
+
runner_context.call(:user).month(year, month)
|
40
30
|
end
|
41
31
|
|
42
32
|
def year
|
43
|
-
|
33
|
+
parsed.year.to_i
|
44
34
|
end
|
45
35
|
|
46
36
|
def month
|
47
|
-
|
37
|
+
parsed.month.to_i
|
48
38
|
end
|
49
39
|
|
50
40
|
def date(day)
|
@@ -1,27 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avmtrf1/forponto/user/day_registers'
|
4
|
-
require '
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avmtrf1/core_ext'
|
6
5
|
|
7
6
|
module Avmtrf1
|
8
7
|
module Tools
|
9
|
-
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Marcacoes
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
DOC = <<~DOCOPT
|
16
|
-
Mostra marcações Forponto do dia.
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options]
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
DOCOPT
|
8
|
+
class Runner
|
9
|
+
class Forponto
|
10
|
+
class Marcacoes
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Mostra marcações Forponto do dia.'
|
13
|
+
end
|
25
14
|
|
26
15
|
def run
|
27
16
|
infov 'Date', day_registers.date
|
@@ -34,7 +23,7 @@ module Avmtrf1
|
|
34
23
|
private
|
35
24
|
|
36
25
|
def day_registers_uncached
|
37
|
-
::Avmtrf1::Forponto::User::DayRegisters.new(
|
26
|
+
::Avmtrf1::Forponto::User::DayRegisters.new(runner_context.call(:user))
|
38
27
|
end
|
39
28
|
end
|
40
29
|
end
|
@@ -1,27 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
6
4
|
|
7
5
|
module Avmtrf1
|
8
6
|
module Tools
|
9
|
-
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Resumos
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
DOC = <<~DOCOPT
|
16
|
-
Mostra os resumos.
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options]
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
DOCOPT
|
7
|
+
class Runner
|
8
|
+
class Forponto
|
9
|
+
class Resumos
|
10
|
+
runner_with :help do
|
11
|
+
desc 'Mostra os resumos.'
|
12
|
+
end
|
25
13
|
|
26
14
|
def run
|
27
15
|
sorted_months.each do |month|
|
@@ -32,7 +20,7 @@ module Avmtrf1
|
|
32
20
|
def head_month
|
33
21
|
today = ::Date.today
|
34
22
|
date = ::Date.civil(today.year, today.month, 1)
|
35
|
-
|
23
|
+
runner_context.call(:user).month(date.year, date.month)
|
36
24
|
end
|
37
25
|
|
38
26
|
def show_month(month)
|
@@ -1,28 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require '
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
4
|
+
require 'avmtrf1/forponto/user/balance'
|
6
5
|
|
7
6
|
module Avmtrf1
|
8
7
|
module Tools
|
9
|
-
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Saldo
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
Calcula saldo de horas atual.
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options]
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
-d --details Show details.
|
25
|
-
DOCOPT
|
8
|
+
class Runner
|
9
|
+
class Forponto
|
10
|
+
class Saldo
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Calcula saldo de horas atual.'
|
13
|
+
bool_opt '-d', '--details', 'Show details.'
|
14
|
+
end
|
26
15
|
|
27
16
|
def run
|
28
17
|
balance.months_balances.each do |mb|
|
@@ -47,7 +36,7 @@ module Avmtrf1
|
|
47
36
|
|
48
37
|
def show_month_attr_balance(mba, label)
|
49
38
|
infov " * #{label}", minutes_to_s(mba.initial_value)
|
50
|
-
return unless
|
39
|
+
return unless parsed.details?
|
51
40
|
|
52
41
|
show_month_withdrawals(mba)
|
53
42
|
show_month_requests(mba)
|
@@ -93,7 +82,7 @@ module Avmtrf1
|
|
93
82
|
end
|
94
83
|
|
95
84
|
def balance_uncached
|
96
|
-
::Avmtrf1::Forponto::User::Balance.new(
|
85
|
+
::Avmtrf1::Forponto::User::Balance.new(runner_context.call(:user))
|
97
86
|
end
|
98
87
|
end
|
99
88
|
end
|
@@ -1,15 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/tools/runner/git'
|
4
|
-
require '
|
5
|
-
require 'avmtrf1/tools/runner/git/issues_check'
|
6
|
-
require 'avmtrf1/tools/runner/git/push_large'
|
7
|
-
require 'avmtrf1/patches/avm/git/issue/complete'
|
4
|
+
require 'avmtrf1/core_ext'
|
8
5
|
|
9
6
|
module Avmtrf1
|
10
7
|
module Tools
|
11
|
-
class Runner
|
8
|
+
class Runner
|
12
9
|
class Git < ::Avm::Tools::Runner::Git
|
10
|
+
require_sub __FILE__
|
13
11
|
end
|
14
12
|
end
|
15
13
|
end
|
@@ -1,28 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
6
4
|
require 'avmtrf1/git/cached_repository'
|
7
5
|
|
8
6
|
module Avmtrf1
|
9
7
|
module Tools
|
10
|
-
class Runner
|
8
|
+
class Runner
|
11
9
|
class Git < ::Avm::Tools::Runner::Git
|
12
|
-
class IssuesCheck
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
Confronta situação das demandas no Git com a situação nos trackers.
|
18
|
-
|
19
|
-
Usage:
|
20
|
-
__PROGRAM__ [options] <git-url>
|
21
|
-
__PROGRAM__ -h | --help
|
22
|
-
|
23
|
-
Options:
|
24
|
-
-h --help Mostra esta ajuda.
|
25
|
-
DOCOPT
|
10
|
+
class IssuesCheck
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Confronta situação das demandas no Git com a situação nos trackers.'
|
13
|
+
pos_arg :git_url
|
14
|
+
end
|
26
15
|
|
27
16
|
def run
|
28
17
|
infov 'Repository path', git_url
|
@@ -34,7 +23,7 @@ module Avmtrf1
|
|
34
23
|
private
|
35
24
|
|
36
25
|
def git_url
|
37
|
-
|
26
|
+
parsed.git_url
|
38
27
|
end
|
39
28
|
|
40
29
|
def git_uncached
|
@@ -1,35 +1,44 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'avmtrf1/core_ext'
|
4
4
|
require 'avmtrf1/git/push_large'
|
5
5
|
|
6
6
|
module Avmtrf1
|
7
7
|
module Tools
|
8
|
-
class Runner
|
8
|
+
class Runner
|
9
9
|
class Git < ::Avm::Tools::Runner::Git
|
10
|
-
class PushLarge
|
11
|
-
|
12
|
-
|
13
|
-
(Que falham com "pack exceeds maximum allowed size").
|
10
|
+
class PushLarge
|
11
|
+
DEFAULT_REPO_PATH = '.'
|
12
|
+
DEFAULT_REMOTE = 'origin'
|
14
13
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
14
|
+
runner_with :help do
|
15
|
+
desc 'Realiza push de repositórios grandes (Que falham com "pack exceeds maximum' \
|
16
|
+
' allowed size")'
|
17
|
+
arg_opt '-C', '--repo-path', 'Caminho do repositório local' \
|
18
|
+
" [default: #{DEFAULT_REPO_PATH}]."
|
19
|
+
arg_opt '-r', '--remote', "Nome do remoto [default: #{DEFAULT_REMOTE}]."
|
20
|
+
pos_arg :source_ref
|
21
|
+
pos_arg :target_ref
|
22
|
+
end
|
24
23
|
|
25
24
|
def run
|
26
25
|
::Avmtrf1::Git::PushLarge.new(
|
27
|
-
::File.expand_path(
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
::File.expand_path(repo_path),
|
27
|
+
remote,
|
28
|
+
parsed.source_ref,
|
29
|
+
parsed.target_ref
|
31
30
|
).run
|
32
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def repo_path
|
36
|
+
parsed.repo_path || DEFAULT_REPO_PATH
|
37
|
+
end
|
38
|
+
|
39
|
+
def remote
|
40
|
+
parsed.remote || DEFAULT_REMOTE
|
41
|
+
end
|
33
42
|
end
|
34
43
|
end
|
35
44
|
end
|
@@ -1,18 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
4
3
|
require 'avmtrf1/tools/runner/check_point/login'
|
5
4
|
require 'avmtrf1/inventario_sistemas/parser'
|
5
|
+
require 'eac_cli/core_ext'
|
6
6
|
|
7
7
|
module Avmtrf1
|
8
8
|
module Tools
|
9
|
-
class Runner
|
10
|
-
class InventarioSistemas
|
11
|
-
include ::EacCli::DefaultRunner
|
12
|
-
|
9
|
+
class Runner
|
10
|
+
class InventarioSistemas
|
13
11
|
DEFAULT_OUTPUT_DIR = './inventario-sistemas'
|
14
12
|
|
15
|
-
|
13
|
+
runner_with :help do
|
16
14
|
desc 'Formata a planilha de inventário de sistemas do TRF1.'
|
17
15
|
bool_opt '-w', '--overwrite', 'Sobreescreve diretório de saída se já existir.'
|
18
16
|
arg_opt '-d', '--output-directory', "Diretório de saída [default: #{DEFAULT_OUTPUT_DIR}]."
|
@@ -37,7 +35,7 @@ module Avmtrf1
|
|
37
35
|
end
|
38
36
|
|
39
37
|
def input_file_uncached
|
40
|
-
|
38
|
+
parsed.source_file_path.to_pathname.expand_path
|
41
39
|
end
|
42
40
|
|
43
41
|
def site_build_uncached
|
@@ -45,11 +43,11 @@ module Avmtrf1
|
|
45
43
|
end
|
46
44
|
|
47
45
|
def output_directory_uncached
|
48
|
-
|
46
|
+
parsed.output_directory.if_present(DEFAULT_OUTPUT_DIR).to_pathname.expand_path
|
49
47
|
end
|
50
48
|
|
51
49
|
def overwrite?
|
52
|
-
|
50
|
+
parsed.overwrite?
|
53
51
|
end
|
54
52
|
|
55
53
|
def start_banner
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/ad_user'
|
4
|
+
require 'avmtrf1/executables'
|
5
|
+
require 'avmtrf1/openvpn/config/builder'
|
6
|
+
require 'eac_cli/core_ext'
|
7
|
+
|
8
|
+
module Avmtrf1
|
9
|
+
module Tools
|
10
|
+
class Runner
|
11
|
+
class Openvpn
|
12
|
+
runner_with :help do
|
13
|
+
desc 'Conecta-se utilizando OpenVPN com configurações dinâmicas.'
|
14
|
+
bool_opt '-S', '--no-sudo', 'Não executa com "sudo".'
|
15
|
+
bool_opt '-A', '--no-ad-auth', 'Não utiliza autenticação do Active Directory.'
|
16
|
+
pos_arg :ovpn_path
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
on_temp_files do
|
21
|
+
start_banner
|
22
|
+
infov 'Resultado', command.system
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_accessor :credentials_path, :ovpn_config_path
|
29
|
+
|
30
|
+
def ad_auth?
|
31
|
+
!parsed.no_ad_auth?
|
32
|
+
end
|
33
|
+
|
34
|
+
def command_uncached
|
35
|
+
if parsed.no_sudo?
|
36
|
+
::Avmtrf1::Executables.env.command(*openvpn_args)
|
37
|
+
else
|
38
|
+
::Avmtrf1::Executables.sudo.command(*openvpn_args)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def config_builder_uncached
|
43
|
+
r = ::Avmtrf1::Openvpn::Config::Builder.new(parsed.ovpn_path)
|
44
|
+
r.simple_add_or_update('auth-user-pass', [credentials_path.to_path]) if ad_auth?
|
45
|
+
r
|
46
|
+
end
|
47
|
+
|
48
|
+
def openvpn_args
|
49
|
+
['openvpn', '--config', ovpn_config_path]
|
50
|
+
end
|
51
|
+
|
52
|
+
def start_banner
|
53
|
+
infov 'Arquivo de configuração', parsed.ovpn_path
|
54
|
+
infov 'Linha de comando', ::Shellwords.join(command.args)
|
55
|
+
end
|
56
|
+
|
57
|
+
def on_temp_files
|
58
|
+
on_credentials_file do
|
59
|
+
on_config_file { yield }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def on_credentials_file(&block)
|
64
|
+
if ad_auth?
|
65
|
+
on_temp_file(:credentials_path, -> { credentials_content }, &block)
|
66
|
+
else
|
67
|
+
block.call
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def on_config_file(&block)
|
72
|
+
on_temp_file(:ovpn_config_path, -> { config_builder.data }, &block)
|
73
|
+
end
|
74
|
+
|
75
|
+
def on_temp_file(attr, content_proc)
|
76
|
+
::EacRubyUtils::Fs::Temp.on_file do |file|
|
77
|
+
file.write(content_proc.call)
|
78
|
+
send("#{attr}=", file)
|
79
|
+
yield
|
80
|
+
send("#{attr}=", nil)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def credentials_content
|
85
|
+
[::Avmtrf1.ad_user.username, ::Avmtrf1.ad_user.password]
|
86
|
+
.map { |v| "#{v}\n" }.join
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|