avm-tools 0.44.2 → 0.45.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/git/issue/complete/_test.rb +29 -0
- data/lib/avm/git/issue/complete/_validations.rb +2 -1
- data/lib/avm/instances/configuration.rb +12 -0
- data/lib/avm/instances/configuration/_rubocop.rb +24 -0
- data/lib/avm/instances/configuration/_tests.rb +13 -0
- data/lib/avm/ruby/rubocop/_configured.rb +4 -16
- data/lib/avm/tools/version.rb +1 -1
- metadata +27 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e0e6277dfb4d7fb9d026f49aa93d0bc395c1c4b526911a5229f062e95a33a60
|
4
|
+
data.tar.gz: 7c3628d294e04080fa3b9adef605bba3c4c75260bcaf398b1a46a8b1cca8a33d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 690afb20bf63115d36da0090cb070ff112fd187ba6dc428cb25fd6d31b0ab9588f90abcf09faf43d1a33f1aacc0bb5fb549ef63ba14ab7a4f2ff31a6bb32cbff
|
7
|
+
data.tar.gz: 28ae352ef538db3bb01a0dc8fbdc593ca61fd34ef24fdfe97e00db3ce3c27af6d953e3c9459fbb51b7dce2106c5d801b717c9d5e2adf0ee3a6ab4fb984a519e8
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/instances/configuration'
|
4
|
+
require 'avm/result'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module Issue
|
9
|
+
class Complete
|
10
|
+
def test_result
|
11
|
+
test_command = configuration.if_present(&:test_command)
|
12
|
+
return ::Avm::Result.success('unconfigured') unless test_command.present?
|
13
|
+
|
14
|
+
if test_command.execute[:exit_code].zero?
|
15
|
+
::Avm::Result.success('yes')
|
16
|
+
else
|
17
|
+
::Avm::Result.error('no')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def configuration_uncached
|
24
|
+
::Avm::Instances::Configuration.find_by_path(@git)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -1,11 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_ruby_utils/configs'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
4
5
|
require 'yaml'
|
5
6
|
|
6
7
|
module Avm
|
7
8
|
module Instances
|
8
9
|
class Configuration < ::EacRubyUtils::Configs
|
10
|
+
require_sub __FILE__
|
11
|
+
|
9
12
|
FILENAMES = %w[.avm.yml .avm.yaml].freeze
|
10
13
|
|
11
14
|
class << self
|
@@ -30,6 +33,15 @@ module Avm
|
|
30
33
|
def initialize(path)
|
31
34
|
super(nil, storage_path: path)
|
32
35
|
end
|
36
|
+
|
37
|
+
# Utility to read a configuration as a [EacRubyUtils::Envs::Command].
|
38
|
+
# @return [EacRubyUtils::Envs::Command]
|
39
|
+
def read_command(key)
|
40
|
+
read_entry(key).if_present do |v|
|
41
|
+
args = v.is_a?(::Enumerable) ? v.map(&:to_s) : ::Shellwords.split(v)
|
42
|
+
::EacRubyUtils::Envs.local.command(args).chdir(::File.dirname(storage_path))
|
43
|
+
end
|
44
|
+
end
|
33
45
|
end
|
34
46
|
end
|
35
47
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Instances
|
5
|
+
class Configuration < ::EacRubyUtils::Configs
|
6
|
+
RUBOCOP_COMMAND_KEY = 'ruby.rubocop.command'
|
7
|
+
RUBOCOP_GEMFILE_KEY = 'ruby.rubocop.gemfile'
|
8
|
+
|
9
|
+
def rubocop_command
|
10
|
+
read_command(RUBOCOP_COMMAND_KEY)
|
11
|
+
end
|
12
|
+
|
13
|
+
def rubocop_gemfile
|
14
|
+
gemfile_path = read_entry(RUBOCOP_GEMFILE_KEY)
|
15
|
+
return nil unless gemfile_path.present?
|
16
|
+
|
17
|
+
gemfile_path = gemfile_path.to_pathname.expand_path(storage_path.parent)
|
18
|
+
return gemfile_path if gemfile_path.file?
|
19
|
+
|
20
|
+
raise "Gemfile path \"#{gemfile_path}\" does not exist or is not a file"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -10,25 +10,13 @@ module Avm
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def configured_rubocop_command_by_command
|
13
|
-
|
14
|
-
return nil unless rubocop_command.present?
|
15
|
-
|
16
|
-
args = if rubocop_command.is_a?(::Enumerable)
|
17
|
-
rubocop_command.map(&:to_s)
|
18
|
-
else
|
19
|
-
::Shellwords.split(rubocop_command)
|
20
|
-
end
|
21
|
-
cmd(args).chdir(::File.dirname(configuration.storage_path))
|
13
|
+
configuration.if_present(&:rubocop_command)
|
22
14
|
end
|
23
15
|
|
24
16
|
def configured_rubocop_command_by_gemfile
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
gemfile_path = ::Pathname.new(gemfile_path).expand_path(configuration.storage_path.parent)
|
29
|
-
raise "Gemfile path \"#{gemfile_path}\" does not exist" unless gemfile_path.exist?
|
30
|
-
|
31
|
-
rubocop_command_by_gemfile_path(gemfile_path.parent)
|
17
|
+
configuration.if_present(&:rubocop_gemfile).if_present do |v|
|
18
|
+
rubocop_command_by_gemfile_path(v.parent)
|
19
|
+
end
|
32
20
|
end
|
33
21
|
|
34
22
|
private
|
data/lib/avm/tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.45.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-parsers
|
@@ -64,48 +64,62 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0.
|
67
|
+
version: '0.8'
|
68
|
+
type: :runtime
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0.8'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: eac_ruby_gem_support
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0.1'
|
68
82
|
- - ">="
|
69
83
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
84
|
+
version: 0.1.1
|
71
85
|
type: :runtime
|
72
86
|
prerelease: false
|
73
87
|
version_requirements: !ruby/object:Gem::Requirement
|
74
88
|
requirements:
|
75
89
|
- - "~>"
|
76
90
|
- !ruby/object:Gem::Version
|
77
|
-
version: '0.
|
91
|
+
version: '0.1'
|
78
92
|
- - ">="
|
79
93
|
- !ruby/object:Gem::Version
|
80
|
-
version: 0.
|
94
|
+
version: 0.1.1
|
81
95
|
- !ruby/object:Gem::Dependency
|
82
96
|
name: eac_ruby_gems_utils
|
83
97
|
requirement: !ruby/object:Gem::Requirement
|
84
98
|
requirements:
|
85
99
|
- - "~>"
|
86
100
|
- !ruby/object:Gem::Version
|
87
|
-
version: '0.
|
101
|
+
version: '0.4'
|
88
102
|
type: :runtime
|
89
103
|
prerelease: false
|
90
104
|
version_requirements: !ruby/object:Gem::Requirement
|
91
105
|
requirements:
|
92
106
|
- - "~>"
|
93
107
|
- !ruby/object:Gem::Version
|
94
|
-
version: '0.
|
108
|
+
version: '0.4'
|
95
109
|
- !ruby/object:Gem::Dependency
|
96
110
|
name: eac_ruby_utils
|
97
111
|
requirement: !ruby/object:Gem::Requirement
|
98
112
|
requirements:
|
99
113
|
- - "~>"
|
100
114
|
- !ruby/object:Gem::Version
|
101
|
-
version: '0.
|
115
|
+
version: '0.32'
|
102
116
|
type: :runtime
|
103
117
|
prerelease: false
|
104
118
|
version_requirements: !ruby/object:Gem::Requirement
|
105
119
|
requirements:
|
106
120
|
- - "~>"
|
107
121
|
- !ruby/object:Gem::Version
|
108
|
-
version: '0.
|
122
|
+
version: '0.32'
|
109
123
|
- !ruby/object:Gem::Dependency
|
110
124
|
name: filesize
|
111
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,54 +168,6 @@ dependencies:
|
|
154
168
|
- - ">="
|
155
169
|
- !ruby/object:Gem::Version
|
156
170
|
version: '0'
|
157
|
-
- !ruby/object:Gem::Dependency
|
158
|
-
name: rspec
|
159
|
-
requirement: !ruby/object:Gem::Requirement
|
160
|
-
requirements:
|
161
|
-
- - '='
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
version: '3.8'
|
164
|
-
type: :development
|
165
|
-
prerelease: false
|
166
|
-
version_requirements: !ruby/object:Gem::Requirement
|
167
|
-
requirements:
|
168
|
-
- - '='
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
version: '3.8'
|
171
|
-
- !ruby/object:Gem::Dependency
|
172
|
-
name: rubocop
|
173
|
-
requirement: !ruby/object:Gem::Requirement
|
174
|
-
requirements:
|
175
|
-
- - '='
|
176
|
-
- !ruby/object:Gem::Version
|
177
|
-
version: 0.80.1
|
178
|
-
type: :development
|
179
|
-
prerelease: false
|
180
|
-
version_requirements: !ruby/object:Gem::Requirement
|
181
|
-
requirements:
|
182
|
-
- - '='
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
version: 0.80.1
|
185
|
-
- !ruby/object:Gem::Dependency
|
186
|
-
name: rubocop-rspec
|
187
|
-
requirement: !ruby/object:Gem::Requirement
|
188
|
-
requirements:
|
189
|
-
- - "~>"
|
190
|
-
- !ruby/object:Gem::Version
|
191
|
-
version: '1.34'
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 1.34.1
|
195
|
-
type: :development
|
196
|
-
prerelease: false
|
197
|
-
version_requirements: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - "~>"
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: '1.34'
|
202
|
-
- - ">="
|
203
|
-
- !ruby/object:Gem::Version
|
204
|
-
version: 1.34.1
|
205
171
|
description:
|
206
172
|
email:
|
207
173
|
executables:
|
@@ -256,6 +222,7 @@ files:
|
|
256
222
|
- lib/avm/git/issue/complete/_local_tag.rb
|
257
223
|
- lib/avm/git/issue/complete/_push.rb
|
258
224
|
- lib/avm/git/issue/complete/_remote.rb
|
225
|
+
- lib/avm/git/issue/complete/_test.rb
|
259
226
|
- lib/avm/git/issue/complete/_tracker.rb
|
260
227
|
- lib/avm/git/issue/complete/_validations.rb
|
261
228
|
- lib/avm/git/issue/complete/_working_tree.rb
|
@@ -276,6 +243,8 @@ files:
|
|
276
243
|
- lib/avm/instances/base/auto_values/web.rb
|
277
244
|
- lib/avm/instances/base/dockerizable.rb
|
278
245
|
- lib/avm/instances/configuration.rb
|
246
|
+
- lib/avm/instances/configuration/_rubocop.rb
|
247
|
+
- lib/avm/instances/configuration/_tests.rb
|
279
248
|
- lib/avm/instances/entries.rb
|
280
249
|
- lib/avm/instances/entries/entry_reader.rb
|
281
250
|
- lib/avm/instances/entry_keys.rb
|