gergich 1.1.0 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/gergich.svg)](https://rubygems.org/gems/gergich)
|
4
|
-
[![Dependency Status](https://gemnasium.com/badges/a2946a7849cd94f5ec0f4c3173a968f4.svg)](https://gemnasium.com/cc6fb44edee9fcf855cec82d3b6aed0f)
|
5
4
|
[![Build Status](https://travis-ci.org/instructure/gergich.svg?branch=master)](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: []
|