avmtrf1-tools 0.33.0 → 0.33.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avmtrf1/active_directory/user.rb +3 -3
  3. data/lib/avmtrf1/core_ext.rb +4 -0
  4. data/lib/avmtrf1/default_jira.rb +2 -2
  5. data/lib/avmtrf1/git/cached_repository.rb +2 -2
  6. data/lib/avmtrf1/git/issue_on_repository.rb +2 -2
  7. data/lib/avmtrf1/git/push_large.rb +4 -4
  8. data/lib/avmtrf1/git/push_large/lfs_commit.rb +5 -10
  9. data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +19 -0
  10. data/lib/avmtrf1/git/push_large/lfs_commit/checkout_previous_revision.rb +35 -0
  11. data/lib/avmtrf1/git/push_large/lfs_commit/commit_changes.rb +48 -0
  12. data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +29 -0
  13. data/lib/avmtrf1/git/push_large/lfs_commit/pick_source_revision.rb +103 -0
  14. data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +90 -0
  15. data/lib/avmtrf1/git/push_large/lfs_commit/track_large_files.rb +53 -0
  16. data/lib/avmtrf1/git/push_large/source_commit.rb +4 -7
  17. data/lib/avmtrf1/git/push_large/source_commit/push.rb +42 -0
  18. data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base.rb +1 -1
  19. data/lib/avmtrf1/patches.rb +3 -0
  20. data/lib/avmtrf1/patches/avm.rb +4 -0
  21. data/lib/avmtrf1/patches/avm/git.rb +4 -0
  22. data/lib/avmtrf1/patches/avm/git/issue.rb +4 -0
  23. data/lib/avmtrf1/patches/avm/launcher.rb +4 -0
  24. data/lib/avmtrf1/patches/avm/launcher/git.rb +4 -0
  25. data/lib/avmtrf1/patches/avm/launcher/git/base.rb +46 -0
  26. data/lib/avmtrf1/red/helper.rb +2 -2
  27. data/lib/avmtrf1/template.rb +2 -2
  28. data/lib/avmtrf1/tools/runner.rb +5 -2
  29. data/lib/avmtrf1/tools/runner/check_point.rb +2 -2
  30. data/lib/avmtrf1/tools/runner/check_point/login.rb +5 -5
  31. data/lib/avmtrf1/tools/runner/esosti.rb +3 -3
  32. data/lib/avmtrf1/tools/runner/esosti/changed.rb +4 -4
  33. data/lib/avmtrf1/tools/runner/esosti/fetch.rb +4 -4
  34. data/lib/avmtrf1/tools/runner/esosti/request.rb +4 -4
  35. data/lib/avmtrf1/tools/runner/forponto.rb +6 -6
  36. data/lib/avmtrf1/tools/runner/forponto/espelho.rb +5 -5
  37. data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +4 -4
  38. data/lib/avmtrf1/tools/runner/forponto/resumos.rb +5 -5
  39. data/lib/avmtrf1/tools/runner/forponto/saldo.rb +5 -5
  40. data/lib/avmtrf1/tools/runner/git.rb +1 -1
  41. data/lib/avmtrf1/tools/runner/git/issues_check.rb +7 -18
  42. data/lib/avmtrf1/tools/runner/git/push_large.rb +27 -18
  43. data/lib/avmtrf1/tools/runner/oracle.rb +15 -22
  44. data/lib/avmtrf1/tools/runner/oracle/query.rb +10 -12
  45. data/lib/avmtrf1/tools/runner/oracle/source_get.rb +17 -18
  46. data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +7 -15
  47. data/lib/avmtrf1/tools/runner/php/docker.rb +3 -3
  48. data/lib/avmtrf1/tools/runner/red.rb +21 -25
  49. data/lib/avmtrf1/tools/runner/trf1_dspace_base0.rb +9 -18
  50. data/lib/avmtrf1/tools/runner/trf1_dspace_base0/deploy.rb +1 -1
  51. data/lib/avmtrf1/tools/version.rb +1 -1
  52. metadata +22 -93
  53. data/lib/avmtrf1/configs.rb +0 -24
  54. data/lib/avmtrf1/git/push_large/lfs_commit/_00_checkout_previous_revision.rb +0 -33
  55. data/lib/avmtrf1/git/push_large/lfs_commit/_01_cherry_pick_source_revision.rb +0 -89
  56. data/lib/avmtrf1/git/push_large/lfs_commit/_02_track_large_files.rb +0 -51
  57. data/lib/avmtrf1/git/push_large/lfs_commit/_03_commit_changes.rb +0 -46
  58. data/lib/avmtrf1/git/push_large/lfs_commit/_04_push.rb +0 -88
  59. data/lib/avmtrf1/git/push_large/lfs_commit/_cache.rb +0 -17
  60. data/lib/avmtrf1/git/push_large/lfs_commit/_helpers.rb +0 -27
  61. data/lib/avmtrf1/git/push_large/source_commit/_push.rb +0 -40
  62. data/lib/avmtrf1/patches/eac_launcher/git/base.rb +0 -43
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avmtrf1
4
+ module Git
5
+ class PushLarge
6
+ class LfsCommit
7
+ module TrackLargeFiles
8
+ private
9
+
10
+ EXTENSIONS_REQUIRED_TO_TRACK = %w[
11
+ bak bkp bmp bpm cfm chm dat db doc fla flv gz jar log mp3 mp4 otf pdf ppt psd rar rtf
12
+ swf ttf wav wmf wmv wmz woff woff2 xmind z zip
13
+ ].freeze
14
+
15
+ def track_large_files_uncached
16
+ cherry_pick_source_revision
17
+ if lfs_file_min_size.present?
18
+
19
+ source_commit.files.each do |file|
20
+ next unless track_file_with_lfs?(file)
21
+
22
+ track_file(file)
23
+ end
24
+ raise 'None file was tracked' unless tracked_files.positive?
25
+ end
26
+ infov message('Tracked files'), @tracked_files
27
+ end
28
+
29
+ def track_file(file)
30
+ infov message('Tracking with LFS'), file
31
+ git.execute!('rm', '--cached', file.path)
32
+ git.execute!('lfs', 'track', file.path) unless tracked_file?(file)
33
+ @tracked_files += 1
34
+ end
35
+
36
+ def track_file_with_lfs?(file)
37
+ return false unless file.dst_size.positive?
38
+
39
+ required_extesion_to_track?(file) || (file.dst_size >= lfs_file_min_size)
40
+ end
41
+
42
+ def required_extesion_to_track?(file)
43
+ EXTENSIONS_REQUIRED_TO_TRACK.include?(::File.extname(file.path).gsub(/\A\./, ''))
44
+ end
45
+
46
+ def tracked_file?(file)
47
+ git.execute!('check-attr', '--all', '--', file.path).strip.present?
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -1,18 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/git/commit'
4
- require 'eac_ruby_utils/console/speaker'
5
- require 'eac_ruby_utils/simple_cache'
6
- require 'eac_ruby_utils/require_sub'
4
+ require 'avmtrf1/core_ext'
7
5
 
8
6
  module Avmtrf1
9
7
  module Git
10
8
  class PushLarge
11
9
  class SourceCommit < ::Avm::Git::Commit
12
- include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
14
-
15
- ::EacRubyUtils.require_sub(__FILE__)
10
+ require_sub __FILE__, include_modules: true
11
+ enable_simple_cache
12
+ enable_speaker
16
13
 
17
14
  attr_reader :push_large, :sha1, :no_lfs_max_size
18
15
 
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'filesize'
4
+
5
+ module Avmtrf1
6
+ module Git
7
+ class PushLarge
8
+ class SourceCommit
9
+ module Push
10
+ private
11
+
12
+ LFS_FILE_MIN_SIZES = [nil, 1_048_576, 524_288, 131_072].freeze
13
+
14
+ def pushed_revision_uncached
15
+ fs_cache.child('pushed_revision')
16
+ end
17
+
18
+ def run_pushs
19
+ return if LFS_FILE_MIN_SIZES.any? do |lfs_file_min_size|
20
+ lfs_commit = ::Avmtrf1::Git::PushLarge::LfsCommit.new(self, lfs_file_min_size)
21
+ lfs_commit.start_banner
22
+ push_with_lfs(lfs_commit)
23
+ end
24
+
25
+ raise 'Push de todos os commits falharam'
26
+ end
27
+
28
+ def push_with_lfs(lfs_commit)
29
+ if lfs_commit.push_ok?
30
+ pushed_revision.write(lfs_commit.commit.sha1)
31
+ success " * Pushed: #{pushed_revision.read}"
32
+ true
33
+ else
34
+ warn ' * Push failed'
35
+ false
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -7,7 +7,7 @@ module Avmtrf1
7
7
  class SiteBuild
8
8
  class HtmlPageBase
9
9
  require_sub __FILE__, include_modules: true
10
- enable_console_speaker
10
+ enable_speaker
11
11
  common_constructor :site, :parent
12
12
 
13
13
  SITE_TITLE = 'Inventário de Sistemas'
@@ -1 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/git/base'
4
+ require 'eac_ruby_utils/patch'
5
+ require 'active_support/concern'
6
+
7
+ module Avmtrf1
8
+ module Patches
9
+ module Avm
10
+ module Launcher
11
+ module Git
12
+ module Base
13
+ extend ActiveSupport::Concern
14
+
15
+ included do
16
+ include InstanceMethods
17
+ end
18
+
19
+ module InstanceMethods
20
+ def status_files
21
+ execute!('-c', 'core.quotepath=off', 'status', '--porcelain')
22
+ .each_line.map do |line|
23
+ parse_status_file(line)
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def parse_status_file(line)
30
+ m = /\A(.)(.)\s*(\S.*)\z/.match(line.strip)
31
+ return ::OpenStruct.new(stage: m[1], dirty: m[2], path: m[3]) if m
32
+
33
+ raise "\"#{line.strip}\" did not match pattern"
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ ::EacRubyUtils.patch(
44
+ ::Avm::Launcher::Git::Base,
45
+ ::Avmtrf1::Patches::Avm::Launcher::Git::Base
46
+ )
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'active_support/concern'
4
4
  require 'active_support/core_ext/string'
5
- require 'eac_ruby_utils/console/speaker'
5
+ require 'eac_ruby_utils/patches/module/speaker'
6
6
  require 'erb'
7
7
  require 'httpclient'
8
8
  require 'nokogiri'
@@ -13,7 +13,7 @@ module Avmtrf1
13
13
  extend ::ActiveSupport::Concern
14
14
 
15
15
  included do
16
- include ::EacRubyUtils::Console::Speaker
16
+ enable_speaker
17
17
  end
18
18
 
19
19
  def http_client
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/templates/searcher'
3
+ require 'eac_templates/searcher'
4
4
 
5
- ::EacRubyUtils::Templates::Searcher.default.included_paths <<
5
+ ::EacTemplates::Searcher.default.included_paths <<
6
6
  ::File.expand_path('../../template', __dir__)
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/apps/config'
3
4
  require 'aranha/selenium/driver_factory/base'
4
5
  require 'avmtrf1/ruby/gems/not_found_error'
5
6
  require 'avmtrf1/tools/application'
@@ -22,8 +23,10 @@ module Avmtrf1
22
23
  end
23
24
 
24
25
  def run
25
- ::Aranha::Selenium::DriverFactory::Base.default_headless = parsed.headless?
26
- super
26
+ ::Avm::Apps::Config.context.on(application.build_config) do
27
+ ::Aranha::Selenium::DriverFactory::Base.default_headless = parsed.headless?
28
+ super
29
+ end
27
30
  rescue ::Avmtrf1::Ruby::Gems::NotFoundError => e
28
31
  on_gem_not_found(e.dependency)
29
32
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'avmtrf1/tools/runner/check_point/login'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  class Runner
9
- class CheckPoint < ::EacRubyUtils::Console::DocoptRunner
9
+ class CheckPoint < ::EacCli::DocoptRunner
10
10
  DOC = <<~DOCOPT
11
11
  Utilidades para Check Point (https://cp.trf1.jus.br).
12
12
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/simple_cache'
6
6
  require 'avmtrf1'
7
7
  require 'avmtrf1/check_point/session'
@@ -9,10 +9,10 @@ require 'avmtrf1/check_point/session'
9
9
  module Avmtrf1
10
10
  module Tools
11
11
  class Runner
12
- class CheckPoint < ::EacRubyUtils::Console::DocoptRunner
13
- class Login < ::EacRubyUtils::Console::DocoptRunner
12
+ class CheckPoint < ::EacCli::DocoptRunner
13
+ class Login < ::EacCli::DocoptRunner
14
14
  include ::EacRubyUtils::SimpleCache
15
- include ::EacRubyUtils::Console::Speaker
15
+ enable_speaker
16
16
 
17
17
  DOC = <<~DOCOPT
18
18
  Login no CheckPoint (https://cp.trf1.jus.br).
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -9,9 +9,9 @@ require 'avmtrf1/red/profile'
9
9
  module Avmtrf1
10
10
  module Tools
11
11
  class Runner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
12
+ class Esosti < ::EacCli::DocoptRunner
13
13
  require_sub __FILE__
14
- enable_console_speaker
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -9,9 +9,9 @@ require 'avmtrf1/red/profile'
9
9
  module Avmtrf1
10
10
  module Tools
11
11
  class Runner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
13
- class Changed < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_speaker
12
+ class Esosti < ::EacCli::DocoptRunner
13
+ class Changed < ::EacCli::DocoptRunner
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -9,9 +9,9 @@ require 'avmtrf1/red/profile'
9
9
  module Avmtrf1
10
10
  module Tools
11
11
  class Runner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
13
- class Fetch < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_speaker
12
+ class Esosti < ::EacCli::DocoptRunner
13
+ class Fetch < ::EacCli::DocoptRunner
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -9,9 +9,9 @@ require 'avmtrf1/red/profile'
9
9
  module Avmtrf1
10
10
  module Tools
11
11
  class Runner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
13
- class Request < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_speaker
12
+ class Esosti < ::EacCli::DocoptRunner
13
+ class Request < ::EacCli::DocoptRunner
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/require_sub'
6
6
  ::EacRubyUtils.require_sub(__FILE__)
7
- require 'avmtrf1/configs'
7
+ require 'avm/apps/config'
8
8
  require 'avmtrf1/forponto/user'
9
9
 
10
10
  module Avmtrf1
11
11
  module Tools
12
12
  class Runner
13
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
13
+ class Forponto < ::EacCli::DocoptRunner
14
14
  include ::EacRubyUtils::SimpleCache
15
- include ::EacRubyUtils::Console::Speaker
15
+ enable_speaker
16
16
 
17
17
  DEFAULT_VALUES = {
18
18
  url: 'http://pontoeletronico.trf1.jus.br/forponto/fptoweb.exe'
@@ -55,7 +55,7 @@ module Avmtrf1
55
55
  end
56
56
 
57
57
  def value_by_entry(name, read_options)
58
- ::Avmtrf1.configs.read_entry("trf1.forponto.#{name}", read_options)
58
+ ::Avm::Apps::Config.current.read_entry("trf1.forponto.#{name}", read_options)
59
59
  end
60
60
 
61
61
  def user_uncached
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/simple_cache'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
9
  class Runner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Espelho < ::EacRubyUtils::Console::DocoptRunner
10
+ class Forponto < ::EacCli::DocoptRunner
11
+ class Espelho < ::EacCli::DocoptRunner
12
12
  include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
13
+ enable_speaker
14
14
 
15
15
  DOC = <<~DOCOPT
16
16
  Recupera e trata dados do Forponto.