gergich 1.1.0 → 1.2.3
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 +4 -4
- data/LICENSE +2 -2
- data/README.md +1 -1
- data/bin/run_tests.sh +8 -38
- data/lib/gergich/capture/androidlint_capture.rb +2 -2
- data/lib/gergich/capture/rubocop_capture.rb +19 -0
- data/lib/gergich/capture/swiftlint_capture.rb +2 -2
- data/lib/gergich/capture/yamllint_capture.rb +25 -0
- data/lib/gergich/capture.rb +2 -2
- data/lib/gergich/cli/gergich.rb +3 -1
- data/lib/gergich.rb +6 -3
- data/spec/gergich/capture/androidlint_capture_spec.rb +4 -4
- data/spec/gergich/capture/rubocop_capture_spec.rb +9 -0
- data/spec/gergich/capture/swiftlint_capture_spec.rb +2 -2
- data/spec/gergich/capture/yamllint_capture_spec.rb +31 -0
- data/spec/gergich_spec.rb +17 -0
- metadata +34 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 209022ec9ca1bfed90a33f905f9d0e36f016b7f25485e66041e276ff393fec6e
|
4
|
+
data.tar.gz: f6477fb1a8f75192b6f516cfe1197db7800a3b221a703d71da7a1204db3a23bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6ffba5044485692318eb057407f9d6032eccd9118942233e34b3d727201784ca2111c56adb1e5ce306814916d90585b6341ff19eeb1df6c1cc0bf98d4b6b5df
|
7
|
+
data.tar.gz: f7b5f8e726eabc13f722da011df51d7c0fb137480130573819c928d1bca02057f91330d995cbda0a7ad8ad7661ee28a026a3df12f5d87911f2848f9cfd369113
|
data/LICENSE
CHANGED
@@ -13,8 +13,8 @@ included in all copies or substantial portions of the Software.
|
|
13
13
|
|
14
14
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
15
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
17
|
-
NONINFRINGEMENT. IN NO EVENT
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
18
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
19
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
20
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Gergich
|
2
2
|
|
3
3
|
[](https://rubygems.org/gems/gergich)
|
4
|
-
[](https://gemnasium.com/cc6fb44edee9fcf855cec82d3b6aed0f)
|
5
4
|
[](https://travis-ci.org/instructure/gergich)
|
6
5
|
|
7
6
|
Gergich is a command-line tool (and ruby lib) for easily posting comments
|
@@ -107,6 +106,7 @@ do `gergich comment` calls so you don't have to wire it up yourself.
|
|
107
106
|
* `i18nliner`
|
108
107
|
* `flake8`
|
109
108
|
* `stylelint`
|
109
|
+
* `yamllint`
|
110
110
|
* `shellcheck` - shellcheck json output
|
111
111
|
* `custom:<path>:<class_name>` - file path and ruby class_name of a custom
|
112
112
|
formatter.
|
data/bin/run_tests.sh
CHANGED
@@ -2,51 +2,21 @@
|
|
2
2
|
|
3
3
|
set -e
|
4
4
|
|
5
|
-
|
6
|
-
echo -e "\n[$@] STARTING $(date)"
|
7
|
-
last_status=0
|
8
|
-
"$@" || last_status=$?
|
9
|
-
if [[ $last_status == 0 ]]; then
|
10
|
-
echo -e "[$@] \033[32mOK\033[0m"
|
11
|
-
else
|
12
|
-
echo -e "[$@] \033[31mFAILED!\033[0m"
|
13
|
-
fi
|
14
|
-
echo -e "[$@] FINISHED $(date)\n"
|
5
|
+
bundle exec rubocop --fail-level autocorrect
|
15
6
|
|
16
|
-
|
17
|
-
}
|
7
|
+
ruby -v | egrep "^ruby 2\.4" && export COVERAGE=1
|
18
8
|
|
19
|
-
|
20
|
-
end_timestamp=$(date +%s)
|
21
|
-
duration=$((end_timestamp-start_timestamp))
|
22
|
-
|
23
|
-
if [[ $last_status != 0 ]]; then
|
24
|
-
echo -e "\033[31mBUILD FAILED\033[0m in $duration seconds\n"
|
25
|
-
else
|
26
|
-
echo "BUILD PASSED in $duration seconds"
|
27
|
-
fi
|
28
|
-
exit $last_status
|
29
|
-
}
|
30
|
-
|
31
|
-
start_timestamp=$(date +%s)
|
32
|
-
|
33
|
-
run_command bundle exec rubocop
|
34
|
-
|
35
|
-
export COVERAGE=1
|
36
|
-
|
37
|
-
run_command bundle exec rspec
|
9
|
+
bundle exec rspec
|
38
10
|
|
39
11
|
# these actually hit gerrit; only run them in CI land (you can do it
|
40
12
|
# locally if you set all the docker-compose env vars)
|
41
13
|
if [[ "$GERRIT_PATCHSET_REVISION" ]]; then
|
42
|
-
|
43
|
-
|
44
|
-
DRY_RUN=1
|
14
|
+
bundle exec bin/gergich citest
|
15
|
+
bundle exec bin/master_bouncer check
|
16
|
+
DRY_RUN=1 bundle exec bin/master_bouncer check_all
|
45
17
|
# ensure gergich works without .git directories
|
46
18
|
rm -rf .git
|
47
|
-
|
19
|
+
bundle exec bin/gergich status
|
48
20
|
fi
|
49
21
|
|
50
|
-
|
51
|
-
|
52
|
-
clean_up_and_exit
|
22
|
+
bundle exec bin/check_coverage
|
@@ -11,7 +11,7 @@ module Gergich
|
|
11
11
|
}.freeze
|
12
12
|
|
13
13
|
def run(output)
|
14
|
-
# rubocop:disable
|
14
|
+
# rubocop:disable Layout/LineLength
|
15
15
|
#
|
16
16
|
# Example:
|
17
17
|
# /path/to/some.xml:27: Warning: Consider adding android:drawableStart="@drawable/a_media" to better support right-to-left layouts [RtlHardcoded]
|
@@ -26,7 +26,7 @@ module Gergich
|
|
26
26
|
# <plurals name="number">
|
27
27
|
# ^
|
28
28
|
#
|
29
|
-
# rubocop:enable
|
29
|
+
# rubocop:enable Layout/LineLength
|
30
30
|
pattern = /
|
31
31
|
^([^:\n]+):(\d+)?:?\s(\w+):\s(.*?)\n
|
32
32
|
([^\n]+\n
|
@@ -16,10 +16,29 @@ module Gergich
|
|
16
16
|
# bin/gergich:47:8: C: Prefer double-quoted strings
|
17
17
|
# if ENV['DEBUG']
|
18
18
|
# ^^^^^^^
|
19
|
+
#
|
20
|
+
# 1 file inspected, 35 offenses detected, 27 offenses auto-correctable
|
21
|
+
#
|
22
|
+
# Example:
|
23
|
+
# 2 files inspected, 40 offenses detected, 31 offenses auto-correctable
|
24
|
+
#
|
25
|
+
# Example:
|
26
|
+
# 1 file inspected, no offenses detected
|
27
|
+
|
19
28
|
first_line_pattern = /^([^:\n]+):(\d+):\d+:\s(\w):\s/
|
20
29
|
|
21
30
|
parts = output.split(first_line_pattern)
|
31
|
+
|
32
|
+
unless parts.last.match?(/^\d+ files? inspect/)
|
33
|
+
raise "RuboCop failed to run properly:\n\n#{output}"
|
34
|
+
end
|
35
|
+
|
36
|
+
# strip off the summary line from the last error
|
37
|
+
parts[-1] = parts[-1].split("\n")[0..-2].join("\n")
|
38
|
+
|
39
|
+
# strip off the header
|
22
40
|
parts.shift
|
41
|
+
|
23
42
|
messages = []
|
24
43
|
|
25
44
|
until parts.empty?
|
@@ -12,13 +12,13 @@ module Gergich
|
|
12
12
|
}.freeze
|
13
13
|
|
14
14
|
def run(output)
|
15
|
-
# rubocop:disable
|
15
|
+
# rubocop:disable Layout/LineLength
|
16
16
|
#
|
17
17
|
# Example:
|
18
18
|
# /path/to/My.swift:13:22: warning: Colon Violation: Colons should be next to the identifier when specifying a type. (colon)
|
19
19
|
# /path/to/Fail.swift:80: warning: Line Length Violation: Line should be 100 characters or less: currently 108 characters (line_length)
|
20
20
|
#
|
21
|
-
# rubocop:enable
|
21
|
+
# rubocop:enable Layout/LineLength
|
22
22
|
pattern = /
|
23
23
|
^([^:\n]+):(\d+)(?::\d+)?:\s(\w+):\s(.*?)\n
|
24
24
|
/mx
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gergich
|
4
|
+
module Capture
|
5
|
+
class YamllintCapture < BaseCapture
|
6
|
+
SEVERITY_MAP = { "error" => "error", "warning" => "warn" }.freeze
|
7
|
+
|
8
|
+
def run(output)
|
9
|
+
# e.g. " 9:5 error string value redundantly (quoted-strings)"
|
10
|
+
error_pattern = %r{\s\s+(\d+):\d+\s+(\w+)\s+(.*?)\s+\([\w/-]+\)\n}
|
11
|
+
pattern = %r{ # Example:
|
12
|
+
^.\/([^\n]+)\n # ./api/config/lti/development/config.yml
|
13
|
+
((#{error_pattern})+) # 9:5 error string value redundantly (quoted-strings)
|
14
|
+
}mx
|
15
|
+
|
16
|
+
output.scan(pattern).map { |file, errors|
|
17
|
+
errors.scan(error_pattern).map { |line, severity, error|
|
18
|
+
severity = SEVERITY_MAP[severity]
|
19
|
+
{ path: file, message: "[yamllint] #{error}", position: line.to_i, severity: severity }
|
20
|
+
}
|
21
|
+
}.compact.flatten
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/gergich/capture.rb
CHANGED
@@ -12,7 +12,7 @@ module Gergich
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.normalize_captor_class_name(subclass)
|
15
|
-
name = subclass.name
|
15
|
+
name = subclass.name.dup
|
16
16
|
# borrowed from AS underscore, since we may not have it
|
17
17
|
name.gsub!(/.*::|Capture\z/, "")
|
18
18
|
name.gsub!(/([A-Z\d]+)([A-Z][a-z])/, "\\1_\\2")
|
@@ -109,4 +109,4 @@ module Gergich
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
112
|
-
Dir[File.dirname(__FILE__) + "/capture/*.rb"].each { |file| require file }
|
112
|
+
Dir[File.dirname(__FILE__) + "/capture/*.rb"].sort.each { |file| require file }
|
data/lib/gergich/cli/gergich.rb
CHANGED
@@ -14,10 +14,11 @@ CI_TEST_ARGS = {
|
|
14
14
|
],
|
15
15
|
"label" => ["Code-Review", 1],
|
16
16
|
"message" => ["this is a test"],
|
17
|
-
"capture" => ["rubocop", "echo
|
17
|
+
"capture" => ["rubocop", format("echo %<output>s", output: Shellwords.escape(<<~OUTPUT))]
|
18
18
|
bin/gergich:47:8: C: Prefer double-quoted strings
|
19
19
|
if ENV['DEBUG']
|
20
20
|
^^^^^^^
|
21
|
+
1 file inspected, 35 offenses detected, 27 offenses auto-correctable
|
21
22
|
OUTPUT
|
22
23
|
}.freeze
|
23
24
|
|
@@ -209,6 +210,7 @@ commands["capture"] = {
|
|
209
210
|
* i18nliner
|
210
211
|
* flake8
|
211
212
|
* stylelint
|
213
|
+
* yamllint
|
212
214
|
* custom:<path>:<class_name> - file path and ruby
|
213
215
|
class_name of a custom formatter.
|
214
216
|
|
data/lib/gergich.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "erb"
|
4
|
-
require "sqlite3"
|
5
4
|
require "json"
|
6
5
|
require "fileutils"
|
7
|
-
require "httparty"
|
8
6
|
require "base64"
|
9
7
|
|
10
8
|
GERGICH_REVIEW_LABEL = ENV.fetch("GERGICH_REVIEW_LABEL", "Code-Review")
|
@@ -292,6 +290,8 @@ module Gergich
|
|
292
290
|
private
|
293
291
|
|
294
292
|
def perform(method, url, options)
|
293
|
+
# delay requiring httparty until here, to make local command line runs as fast as possible
|
294
|
+
require "httparty"
|
295
295
|
options = prepare_options(options)
|
296
296
|
ret = HTTParty.send(method, url, options).body
|
297
297
|
return ret if options[:raw]
|
@@ -363,11 +363,14 @@ module Gergich
|
|
363
363
|
end
|
364
364
|
|
365
365
|
def db_file
|
366
|
-
@db_file ||= File.expand_path(
|
366
|
+
@db_file ||= File.expand_path(
|
367
|
+
"#{ENV.fetch('GERGICH_DB_PATH', '/tmp')}/#{GERGICH_USER}-#{commit.revision_id}.sqlite3"
|
368
|
+
)
|
367
369
|
end
|
368
370
|
|
369
371
|
def db
|
370
372
|
@db ||= begin
|
373
|
+
require "sqlite3"
|
371
374
|
db_exists = File.exist?(db_file)
|
372
375
|
db = SQLite3::Database.new(db_file)
|
373
376
|
db.results_as_hash = true
|
@@ -3,12 +3,12 @@
|
|
3
3
|
require_relative "../../support/capture_shared_examples"
|
4
4
|
|
5
5
|
RSpec.describe Gergich::Capture::AndroidlintCapture do
|
6
|
-
# rubocop:disable
|
6
|
+
# rubocop:disable Layout/LineLength
|
7
7
|
let(:rtl_hardcoded) { 'Consider adding android:drawableStart="@drawable/a_media" to better support right-to-left layouts [RtlHardcoded]' }
|
8
8
|
let(:rtl_enabled) { "The project references RTL attributes, but does not explicitly enable or disable RTL support with android:supportsRtl in the manifest [RtlEnabled]" }
|
9
9
|
let(:lint_error) { 'No .class files were found in project "0.0.2", so none of the classfile based checks could be run. Does the project need to be built first? [LintError]' }
|
10
10
|
let(:unused_quantity) { 'For language "fr" (French) the following quantities are not relevant: few, zero [UnusedQuantity]' }
|
11
|
-
# rubocop:enable
|
11
|
+
# rubocop:enable Layout/LineLength
|
12
12
|
let(:output) do
|
13
13
|
<<~OUTPUT
|
14
14
|
/path/to/some.xml:27: Warning: #{rtl_hardcoded}
|
@@ -31,9 +31,9 @@ RSpec.describe Gergich::Capture::AndroidlintCapture do
|
|
31
31
|
{
|
32
32
|
path: "/path/to/some.xml",
|
33
33
|
position: 27,
|
34
|
-
# rubocop:disable
|
34
|
+
# rubocop:disable Layout/LineLength
|
35
35
|
message: "[androidlint] #{rtl_hardcoded}\n\n android:drawableLeft=\"@drawable/ic_cv_media\"/>\n ~~~~~~~~~~~~~~~~~~~~",
|
36
|
-
# rubocop:enable
|
36
|
+
# rubocop:enable Layout/LineLength
|
37
37
|
severity: "warn"
|
38
38
|
},
|
39
39
|
{
|
@@ -19,6 +19,8 @@ RSpec.describe Gergich::Capture::RubocopCapture do
|
|
19
19
|
lib/gergich.rb:22:55: W: Line is too long. [55/54]
|
20
20
|
def initialize(ref = "HEAD", revision_number = nil)
|
21
21
|
^^
|
22
|
+
|
23
|
+
1 file inspected, 35 offenses detected, 27 offenses auto-correctable
|
22
24
|
OUTPUT
|
23
25
|
end
|
24
26
|
let(:comments) do
|
@@ -63,4 +65,11 @@ RSpec.describe Gergich::Capture::RubocopCapture do
|
|
63
65
|
end
|
64
66
|
|
65
67
|
it_behaves_like "a captor"
|
68
|
+
|
69
|
+
it "raises an error if it couldn't run" do
|
70
|
+
expect { subject.run(<<-OUTPUT) }.to raise_error(/RuboCop failed to run properly/)
|
71
|
+
Could not find i18n-1.8.9 in any of the sources
|
72
|
+
Run `bundle install` to install missing gems.
|
73
|
+
OUTPUT
|
74
|
+
end
|
66
75
|
end
|
@@ -3,11 +3,11 @@
|
|
3
3
|
require_relative "../../support/capture_shared_examples"
|
4
4
|
|
5
5
|
RSpec.describe Gergich::Capture::SwiftlintCapture do
|
6
|
-
# rubocop:disable
|
6
|
+
# rubocop:disable Layout/LineLength
|
7
7
|
let(:colon_violation) { "Colon Violation: Colons should be next to the identifier when specifying a type. (colon)" }
|
8
8
|
let(:line_length_violation) { "Line Length Violation: Line should be 100 characters or less: currently 129 characters (line_length)" }
|
9
9
|
let(:force_cast_violation) { "Force Cast Violation: Force casts should be avoided. (force_cast)" }
|
10
|
-
# rubocop:enable
|
10
|
+
# rubocop:enable Layout/LineLength
|
11
11
|
let(:output) do
|
12
12
|
<<~OUTPUT
|
13
13
|
/path/to/My.swift:13:22: warning: #{colon_violation}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../support/capture_shared_examples"
|
4
|
+
|
5
|
+
RSpec.describe Gergich::Capture::YamllintCapture do
|
6
|
+
let(:output) do
|
7
|
+
<<~OUTPUT
|
8
|
+
./api/config/lti/development/config.yml
|
9
|
+
2:8 error string value is redundantly quoted with double quotes (quoted-strings)
|
10
|
+
12:3 warning comment not indented like content (comments-indentation)
|
11
|
+
OUTPUT
|
12
|
+
end
|
13
|
+
let(:comments) do
|
14
|
+
[
|
15
|
+
{
|
16
|
+
path: "api/config/lti/development/config.yml",
|
17
|
+
position: 2,
|
18
|
+
message: "[yamllint] string value is redundantly quoted with double quotes",
|
19
|
+
severity: "error"
|
20
|
+
},
|
21
|
+
{
|
22
|
+
path: "api/config/lti/development/config.yml",
|
23
|
+
position: 12,
|
24
|
+
message: "[yamllint] comment not indented like content",
|
25
|
+
severity: "warn"
|
26
|
+
}
|
27
|
+
]
|
28
|
+
end
|
29
|
+
|
30
|
+
it_behaves_like "a captor"
|
31
|
+
end
|
data/spec/gergich_spec.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "httparty"
|
4
|
+
|
3
5
|
RSpec.describe Gergich::API do
|
4
6
|
context "bad change-id" do
|
5
7
|
let(:result) { double(:result, body: "Not Found: 1234") }
|
@@ -90,6 +92,21 @@ RSpec.describe Gergich::Draft do
|
|
90
92
|
draft.reset!
|
91
93
|
end
|
92
94
|
|
95
|
+
context "#GERGICH_DB_PATH" do
|
96
|
+
it "uses the custom path" do
|
97
|
+
original_db_path = ENV["GERGICH_DB_PATH"]
|
98
|
+
ENV["GERGICH_DB_PATH"] = "/custom"
|
99
|
+
|
100
|
+
expect(draft.db_file).to eq("/custom/gergich-test.sqlite3")
|
101
|
+
|
102
|
+
ENV["GERGICH_DB_PATH"] = original_db_path
|
103
|
+
end
|
104
|
+
|
105
|
+
it "uses the default path" do
|
106
|
+
expect(draft.db_file).to eq("/tmp/gergich-test.sqlite3")
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
93
110
|
describe "#info" do
|
94
111
|
subject { draft.info }
|
95
112
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gergich
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Jensen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -16,84 +16,98 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.17'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.17'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sqlite3
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '11.1'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '11.1'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '13.0'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '13.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rspec
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '3.
|
75
|
+
version: '3.9'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '3.
|
82
|
+
version: '3.9'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rubocop
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
89
|
+
version: 0.79.0
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
96
|
+
version: 0.79.0
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: simplecov
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
103
|
+
version: 0.17.1
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
110
|
+
version: 0.17.1
|
97
111
|
description: Gergich is a little command-line tool for wiring up linters to Gerrit
|
98
112
|
so you can get nice inline comments right on the review
|
99
113
|
email: jon@instructure.com
|
@@ -120,6 +134,7 @@ files:
|
|
120
134
|
- lib/gergich/capture/shellcheck_capture.rb
|
121
135
|
- lib/gergich/capture/stylelint_capture.rb
|
122
136
|
- lib/gergich/capture/swiftlint_capture.rb
|
137
|
+
- lib/gergich/capture/yamllint_capture.rb
|
123
138
|
- lib/gergich/cli.rb
|
124
139
|
- lib/gergich/cli/gergich.rb
|
125
140
|
- lib/gergich/cli/master_bouncer.rb
|
@@ -133,6 +148,7 @@ files:
|
|
133
148
|
- spec/gergich/capture/shellcheck_capture_spec.rb
|
134
149
|
- spec/gergich/capture/stylelint_capture_spec.rb
|
135
150
|
- spec/gergich/capture/swiftlint_capture_spec.rb
|
151
|
+
- spec/gergich/capture/yamllint_capture_spec.rb
|
136
152
|
- spec/gergich/capture_spec.rb
|
137
153
|
- spec/gergich_spec.rb
|
138
154
|
- spec/spec_helper.rb
|
@@ -141,7 +157,7 @@ homepage: https://github.com/instructure/gergich
|
|
141
157
|
licenses:
|
142
158
|
- MIT
|
143
159
|
metadata: {}
|
144
|
-
post_install_message:
|
160
|
+
post_install_message:
|
145
161
|
rdoc_options: []
|
146
162
|
require_paths:
|
147
163
|
- lib
|
@@ -156,9 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
172
|
- !ruby/object:Gem::Version
|
157
173
|
version: '0'
|
158
174
|
requirements: []
|
159
|
-
|
160
|
-
|
161
|
-
signing_key:
|
175
|
+
rubygems_version: 3.2.24
|
176
|
+
signing_key:
|
162
177
|
specification_version: 4
|
163
178
|
summary: Command-line tool for adding Gerrit comments
|
164
179
|
test_files: []
|