avmtrf1-tools 0.34.0 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
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