avmtrf1-tools 0.34.0 → 0.35.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 721191619e9226448f8b47fcee4b701bb6719ef2647da8485daa97ac35a4ede0
4
- data.tar.gz: 4c090c12dc45b3a1791d021c053b5f579e6f1f0b18cdc9a71cff1e1de5d46d67
3
+ metadata.gz: 3596640cb42d9331fc9a64994e5c9e0bc2804b17ea6683985317c6b8bd18a025
4
+ data.tar.gz: ffdc002e2061a896be7e43396fc4e16526cafda04a32383297d6fd95f8c34ff0
5
5
  SHA512:
6
- metadata.gz: 757659e4c913b5e3ac291123e47e7d7b50b9583411a31b9b079c2d3070483f9300d3f88539fd9e606df99317bc13d355fcbcd84e1c5f74868252c33b79063fc0
7
- data.tar.gz: 78687b9902d833e495821865721006a9f6c73cff652ae0becd84db7952a1a8288828e8c0e30f95c5f6399811547d80aed24afb36792fbd8eadba44fef036debc
6
+ metadata.gz: ce9c393bbaaae052c799ba9b67e5767b97d247e5672d9fbe3073cfd22084583a0e59db48faa1bc63709c0e683474c54d27cd7a5dee3d47d921d3e1e7c202fd0a
7
+ data.tar.gz: 72c41df2ae775716cb562fa13905edb0ae6704462d3e7993293b005edb1ef885f479f3b67f5063f88779c8e010f24f8948f43f82ac4abc66369d4f62a9399091
@@ -8,7 +8,7 @@ module Avmtrf1
8
8
  new(
9
9
  ::EacConfig::Node.context.current.entry("#{path_prefix}.domain").value,
10
10
  ::EacConfig::Node.context.current.entry("#{path_prefix}.username").value,
11
- ::EacConfig::Node.context.current.entry("#{path_prefix}.password", noecho: true).value
11
+ ::EacConfig::Node.context.current.entry("#{path_prefix}.password").secret_value
12
12
  )
13
13
  end
14
14
  end
@@ -11,7 +11,7 @@ module Avmtrf1
11
11
  'https://jira.engesoftware.com.br',
12
12
  ::EacConfig::Node.context.current.entry("#{DEFAULT_JIRA_PATH_PREFIX}.username").value,
13
13
  ::EacConfig::Node.context.current
14
- .entry("#{DEFAULT_JIRA_PATH_PREFIX}.password", noecho: true).value
14
+ .entry("#{DEFAULT_JIRA_PATH_PREFIX}.password").secret_value
15
15
  )
16
16
  end
17
17
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Git
7
+ module Gitlab
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avmtrf1
4
+ module Gitlab
5
+ class Commit
6
+ enable_speaker
7
+ enable_simple_cache
8
+ common_constructor :repository, :git, :source
9
+
10
+ def to_s
11
+ source
12
+ end
13
+
14
+ def web_url(object_type = 'commit')
15
+ "#{repository.web_url}/#{object_type}/#{full_id}"
16
+ end
17
+
18
+ private
19
+
20
+ def full_id_uncached
21
+ git.rev_parse(source)
22
+ end
23
+
24
+ def short_id_uncached
25
+ git.execute!('rev-parse', '--short', full_id).strip
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Gitlab
7
+ class Repository
8
+ class << self
9
+ # @param uri [String]
10
+ # @return [Avmtrf1::Gitlab::Address, nil]
11
+ def by_uri(uri)
12
+ by_git_uri(uri) || by_https_uri(uri)
13
+ end
14
+
15
+ # @param uri [String]
16
+ # @return [Avmtrf1::Gitlab::Address, nil]
17
+ def by_git_uri(uri)
18
+ /\Agit@(.+):(.+)\z/i.if_match(uri, false) do |m|
19
+ new(:git, m[1], m[2])
20
+ end
21
+ end
22
+
23
+ # @param uri [String]
24
+ # @return [Avmtrf1::Gitlab::Address, nil]
25
+ def by_https_uri(uri)
26
+ %r{\Ahttps?:\/\/([^\/]+)\/(.+)\z}i.if_match(uri, false) do |m|
27
+ new(:https, m[1], m[2])
28
+ end
29
+ end
30
+ end
31
+
32
+ common_constructor :protocol, :authority, :path do
33
+ self.path = '/' + path.to_s.gsub(/\.git\Z/, '').gsub(%r{\A/+}, '')
34
+ end
35
+
36
+ def web_url
37
+ "https://#{authority}#{path}"
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/runner/app_src'
4
+ require 'avmtrf1/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ class Runner
9
+ class AppSrc < ::Avm::Tools::Runner::AppSrc
10
+ require_sub __FILE__
11
+ end
12
+ end
13
+ end
14
+ end
@@ -45,7 +45,8 @@ module Avmtrf1
45
45
  end
46
46
 
47
47
  def value_by_entry(name, read_options)
48
- ::EacConfig::Node.context.current.entry("trf1.forponto.#{name}", read_options).value
48
+ ::EacConfig::Node.context.current.entry("trf1.forponto.#{name}", read_options)
49
+ .send(read_options[:noecho] ? :secret_value : :value)
49
50
  end
50
51
 
51
52
  def user_uncached
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/runner/git'
4
+ require 'avmtrf1/core_ext'
5
+ require 'avmtrf1/gitlab/commit'
6
+ require 'avmtrf1/gitlab/repository'
7
+
8
+ module Avmtrf1
9
+ module Tools
10
+ class Runner
11
+ class Git < ::Avm::Tools::Runner::Git
12
+ class Gitlab
13
+ class CommitLink
14
+ runner_with :help, :output do
15
+ desc 'Mostra o link de uma revisão no Gitlab do TRF1.'
16
+ bool_opt '-t', '--tree', 'URL com "tree" no lugar de "commit".'
17
+ pos_arg 'revisions', optional: true, repeat: true
18
+ end
19
+
20
+ def run
21
+ repository_banner
22
+ commits.each { |c| commit_banner(c) }
23
+ run_output
24
+ end
25
+
26
+ def separator
27
+ puts '-' * 40
28
+ end
29
+
30
+ def object_type
31
+ parsed.tree? ? 'tree' : 'commit'
32
+ end
33
+
34
+ private
35
+
36
+ def commits_uncached
37
+ parsed.revisions.if_present(['HEAD'])
38
+ .map { |source| ::Avmtrf1::Gitlab::Commit.new(repository, git, source) }
39
+ end
40
+
41
+ def commit_banner(commit)
42
+ separator
43
+ infov 'Source', commit.source
44
+ infov 'Commit ID', commit.full_id
45
+ infov 'Web URL', commit.web_url
46
+ end
47
+
48
+ def git
49
+ runner_context.call(:git)
50
+ end
51
+
52
+ def output_content
53
+ commits.map { |c| c.web_url(object_type) + "\n" }.join
54
+ end
55
+
56
+ def repository_banner
57
+ separator
58
+ infov 'Repository', repository.path
59
+ end
60
+
61
+ def repository_uncached
62
+ git.git.remotes.lazy
63
+ .map { |r| ::Avmtrf1::Gitlab::Repository.by_uri(r.url) }
64
+ .find(&:present?) || raise('Gitlab remote not found')
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/runner/git'
4
+ require 'avmtrf1/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ class Runner
9
+ class Git < ::Avm::Tools::Runner::Git
10
+ class Gitlab
11
+ require_sub __FILE__
12
+ runner_with :help, :subcommands do
13
+ desc 'Utilidades para Gitlab.'
14
+ subcommands
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -23,10 +23,8 @@ module Avmtrf1
23
23
  end
24
24
 
25
25
  def run
26
- ::EacConfig::Node.context.on(application.build_config) do
27
- ::Aranha::Selenium::DriverFactory::Base.default_headless = parsed.headless?
28
- super
29
- end
26
+ ::Aranha::Selenium::DriverFactory::Base.default_headless = parsed.headless?
27
+ super
30
28
  rescue ::Avmtrf1::Ruby::Gems::NotFoundError => e
31
29
  on_gem_not_found(e.dependency)
32
30
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avmtrf1
4
4
  module Tools
5
- VERSION = '0.34.0'
5
+ VERSION = '0.35.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avmtrf1-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.34.0
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-19 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-selenium
@@ -16,40 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.1'
19
+ version: '0.2'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.1.2
22
+ version: 0.2.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '0.1'
29
+ version: '0.2'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.1.2
32
+ version: 0.2.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: avm-tools
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.109'
39
+ version: '0.113'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 0.109.1
42
+ version: 0.113.6
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '0.109'
49
+ version: '0.113'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 0.109.1
52
+ version: 0.113.6
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: inifile
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -68,16 +68,22 @@ dependencies:
68
68
  name: nokogiri
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '1.13'
71
74
  - - ">="
72
75
  - !ruby/object:Gem::Version
73
- version: '0'
76
+ version: 1.13.1
74
77
  type: :runtime
75
78
  prerelease: false
76
79
  version_requirements: !ruby/object:Gem::Requirement
77
80
  requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.13'
78
84
  - - ">="
79
85
  - !ruby/object:Gem::Version
80
- version: '0'
86
+ version: 1.13.1
81
87
  - !ruby/object:Gem::Dependency
82
88
  name: recursive-open-struct
83
89
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +93,7 @@ dependencies:
87
93
  version: '1.1'
88
94
  - - ">="
89
95
  - !ruby/object:Gem::Version
90
- version: 1.1.1
96
+ version: 1.1.3
91
97
  type: :runtime
92
98
  prerelease: false
93
99
  version_requirements: !ruby/object:Gem::Requirement
@@ -97,7 +103,7 @@ dependencies:
97
103
  version: '1.1'
98
104
  - - ">="
99
105
  - !ruby/object:Gem::Version
100
- version: 1.1.1
106
+ version: 1.1.3
101
107
  - !ruby/object:Gem::Dependency
102
108
  name: roo
103
109
  requirement: !ruby/object:Gem::Requirement
@@ -124,14 +130,14 @@ dependencies:
124
130
  requirements:
125
131
  - - "~>"
126
132
  - !ruby/object:Gem::Version
127
- version: '0.4'
133
+ version: '0.5'
128
134
  type: :development
129
135
  prerelease: false
130
136
  version_requirements: !ruby/object:Gem::Requirement
131
137
  requirements:
132
138
  - - "~>"
133
139
  - !ruby/object:Gem::Version
134
- version: '0.4'
140
+ version: '0.5'
135
141
  description:
136
142
  email:
137
143
  executables:
@@ -187,6 +193,7 @@ files:
187
193
  - lib/avmtrf1/forponto/user/month.rb
188
194
  - lib/avmtrf1/git.rb
189
195
  - lib/avmtrf1/git/cached_repository.rb
196
+ - lib/avmtrf1/git/gitlab.rb
190
197
  - lib/avmtrf1/git/issue_on_repository.rb
191
198
  - lib/avmtrf1/git/push_large.rb
192
199
  - lib/avmtrf1/git/push_large/_utils.rb
@@ -201,6 +208,8 @@ files:
201
208
  - lib/avmtrf1/git/push_large/source_commit.rb
202
209
  - lib/avmtrf1/git/push_large/source_commit/push.rb
203
210
  - lib/avmtrf1/git/reference.rb
211
+ - lib/avmtrf1/gitlab/commit.rb
212
+ - lib/avmtrf1/gitlab/repository.rb
204
213
  - lib/avmtrf1/ini.rb
205
214
  - lib/avmtrf1/ini/profile.rb
206
215
  - lib/avmtrf1/inventario_sistemas.rb
@@ -282,6 +291,7 @@ files:
282
291
  - lib/avmtrf1/tools.rb
283
292
  - lib/avmtrf1/tools/application.rb
284
293
  - lib/avmtrf1/tools/runner.rb
294
+ - lib/avmtrf1/tools/runner/app_src.rb
285
295
  - lib/avmtrf1/tools/runner/check_point.rb
286
296
  - lib/avmtrf1/tools/runner/check_point/login.rb
287
297
  - lib/avmtrf1/tools/runner/esosti.rb
@@ -294,6 +304,8 @@ files:
294
304
  - lib/avmtrf1/tools/runner/forponto/resumos.rb
295
305
  - lib/avmtrf1/tools/runner/forponto/saldo.rb
296
306
  - lib/avmtrf1/tools/runner/git.rb
307
+ - lib/avmtrf1/tools/runner/git/gitlab.rb
308
+ - lib/avmtrf1/tools/runner/git/gitlab/commit_link.rb
297
309
  - lib/avmtrf1/tools/runner/git/issues_check.rb
298
310
  - lib/avmtrf1/tools/runner/git/push_large.rb
299
311
  - lib/avmtrf1/tools/runner/inventario_sistemas.rb