danger-checkstyle_reports 0.0.1.pre.rc01
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 +7 -0
- data/.bundle/config +3 -0
- data/.gitignore +6 -0
- data/.rubocop.yml +170 -0
- data/.ruby-version +1 -0
- data/.travis.yml +12 -0
- data/Dangerfile.sample +3 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +136 -0
- data/Guardfile +21 -0
- data/LICENSE.txt +22 -0
- data/README.md +30 -0
- data/Rakefile +25 -0
- data/danger-checkstyle_reports.gemspec +50 -0
- data/lib/checkstyle_reports/entity/found_error.rb +43 -0
- data/lib/checkstyle_reports/entity/found_file.rb +54 -0
- data/lib/checkstyle_reports/gem_version.rb +5 -0
- data/lib/checkstyle_reports/lib/severity.rb +18 -0
- data/lib/checkstyle_reports/plugin.rb +132 -0
- data/lib/danger_checkstyle_reports.rb +3 -0
- data/lib/danger_plugin.rb +3 -0
- data/spec/checkstyle_reports_spec.rb +26 -0
- data/spec/entity/found_error_spec.rb +52 -0
- data/spec/entity/found_file_spec.rb +59 -0
- data/spec/lib/severity_spec.rb +40 -0
- data/spec/spec_helper.rb +71 -0
- metadata +214 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 751e1db74791e5488e74ba43fbbd4a4125e0a033
|
4
|
+
data.tar.gz: 8f8b9f24f81c02b16a65cf04d0d52674f7ac1970
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0dce91816516e76099b719e71f0523ef22184771f39da119812675ccdd74e6526969cf25d5456701f08f138bc018de06d8c2704cd4f9ac106948bf8d9f478a19
|
7
|
+
data.tar.gz: e6e89db45a1dc04bf055aff2b05e3b3b683ed1d926a84a28a319dd3d8053f610bd774f5e86a0db627bcb28742d1aaef07af678148a1b14309528abcd533e286a
|
data/.bundle/config
ADDED
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
# Defaults can be found here: https://github.com/bbatsov/rubocop/blob/master/config/default.yml
|
2
|
+
|
3
|
+
# If you don't like these settings, just delete this file :)
|
4
|
+
|
5
|
+
AllCops:
|
6
|
+
Exclude:
|
7
|
+
- 'vendor/**/*'
|
8
|
+
- 'spec/fixtures/**/*'
|
9
|
+
- 'tmp/**/*'
|
10
|
+
TargetRubyVersion: 2.3.7
|
11
|
+
|
12
|
+
Metrics/ModuleLength:
|
13
|
+
Exclude:
|
14
|
+
- 'spec/**/*'
|
15
|
+
Enabled: true
|
16
|
+
|
17
|
+
Style/StringLiterals:
|
18
|
+
EnforcedStyle: double_quotes
|
19
|
+
Enabled: true
|
20
|
+
|
21
|
+
# kind_of? is a good way to check a type
|
22
|
+
Style/ClassCheck:
|
23
|
+
EnforcedStyle: kind_of?
|
24
|
+
|
25
|
+
# It's better to be more explicit about the type
|
26
|
+
Style/BracesAroundHashParameters:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
# specs sometimes have useless assignments, which is fine
|
30
|
+
Lint/UselessAssignment:
|
31
|
+
Exclude:
|
32
|
+
- '**/spec/**/*'
|
33
|
+
|
34
|
+
# We could potentially enable the 2 below:
|
35
|
+
Layout/IndentHash:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
Layout/AlignHash:
|
39
|
+
Enabled: false
|
40
|
+
|
41
|
+
# HoundCI doesn't like this rule
|
42
|
+
Layout/DotPosition:
|
43
|
+
Enabled: false
|
44
|
+
|
45
|
+
# We allow !! as it's an easy way to convert ot boolean
|
46
|
+
Style/DoubleNegation:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
# Cop supports --auto-correct.
|
50
|
+
Lint/UnusedBlockArgument:
|
51
|
+
Enabled: false
|
52
|
+
|
53
|
+
# We want to allow class Fastlane::Class
|
54
|
+
Style/ClassAndModuleChildren:
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
Metrics/AbcSize:
|
58
|
+
Max: 60
|
59
|
+
|
60
|
+
# The %w might be confusing for new users
|
61
|
+
Style/WordArray:
|
62
|
+
MinSize: 19
|
63
|
+
|
64
|
+
# raise and fail are both okay
|
65
|
+
Style/SignalException:
|
66
|
+
Enabled: false
|
67
|
+
|
68
|
+
# Better too much 'return' than one missing
|
69
|
+
Style/RedundantReturn:
|
70
|
+
Enabled: false
|
71
|
+
|
72
|
+
# Having if in the same line might not always be good
|
73
|
+
Style/IfUnlessModifier:
|
74
|
+
Enabled: false
|
75
|
+
|
76
|
+
# and and or is okay
|
77
|
+
Style/AndOr:
|
78
|
+
Enabled: false
|
79
|
+
|
80
|
+
# Configuration parameters: CountComments.
|
81
|
+
Metrics/ClassLength:
|
82
|
+
Max: 350
|
83
|
+
|
84
|
+
Metrics/CyclomaticComplexity:
|
85
|
+
Max: 17
|
86
|
+
|
87
|
+
# Configuration parameters: AllowURI, URISchemes.
|
88
|
+
Metrics/LineLength:
|
89
|
+
Max: 370
|
90
|
+
|
91
|
+
# Configuration parameters: CountKeywordArgs.
|
92
|
+
Metrics/ParameterLists:
|
93
|
+
Max: 10
|
94
|
+
|
95
|
+
Metrics/PerceivedComplexity:
|
96
|
+
Max: 18
|
97
|
+
|
98
|
+
# Sometimes it's easier to read without guards
|
99
|
+
Style/GuardClause:
|
100
|
+
Enabled: false
|
101
|
+
|
102
|
+
# something = if something_else
|
103
|
+
# that's confusing
|
104
|
+
Style/ConditionalAssignment:
|
105
|
+
Enabled: false
|
106
|
+
|
107
|
+
# Better to have too much self than missing a self
|
108
|
+
Style/RedundantSelf:
|
109
|
+
Enabled: false
|
110
|
+
|
111
|
+
Metrics/MethodLength:
|
112
|
+
Max: 60
|
113
|
+
|
114
|
+
# We're not there yet
|
115
|
+
Style/Documentation:
|
116
|
+
Enabled: false
|
117
|
+
|
118
|
+
# Adds complexity
|
119
|
+
Style/IfInsideElse:
|
120
|
+
Enabled: false
|
121
|
+
|
122
|
+
# danger specific
|
123
|
+
|
124
|
+
Style/BlockComments:
|
125
|
+
Enabled: false
|
126
|
+
|
127
|
+
Layout/MultilineMethodCallIndentation:
|
128
|
+
EnforcedStyle: indented
|
129
|
+
|
130
|
+
# FIXME: 25
|
131
|
+
Metrics/BlockLength:
|
132
|
+
Max: 345
|
133
|
+
Exclude:
|
134
|
+
- "**/*_spec.rb"
|
135
|
+
|
136
|
+
Style/MixinGrouping:
|
137
|
+
Enabled: false
|
138
|
+
|
139
|
+
Style/FileName:
|
140
|
+
Enabled: false
|
141
|
+
|
142
|
+
Layout/IndentHeredoc:
|
143
|
+
Enabled: false
|
144
|
+
|
145
|
+
Style/SpecialGlobalVars:
|
146
|
+
Enabled: false
|
147
|
+
|
148
|
+
PercentLiteralDelimiters:
|
149
|
+
PreferredDelimiters:
|
150
|
+
"%": ()
|
151
|
+
"%i": ()
|
152
|
+
"%q": ()
|
153
|
+
"%Q": ()
|
154
|
+
"%r": "{}"
|
155
|
+
"%s": ()
|
156
|
+
"%w": ()
|
157
|
+
"%W": ()
|
158
|
+
"%x": ()
|
159
|
+
|
160
|
+
Security/YAMLLoad:
|
161
|
+
Enabled: false
|
162
|
+
|
163
|
+
Style/TrailingCommaInArguments:
|
164
|
+
Enabled: true
|
165
|
+
|
166
|
+
Style/TrailingCommaInArrayLiteral:
|
167
|
+
Enabled: false
|
168
|
+
|
169
|
+
Style/TrailingCommaInHashLiteral:
|
170
|
+
Enabled: false
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.7
|
data/.travis.yml
ADDED
data/Dangerfile.sample
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
danger-checkstyle_reports (0.0.1)
|
5
|
+
danger-plugin-api (~> 1.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
addressable (2.5.2)
|
11
|
+
public_suffix (>= 2.0.2, < 4.0)
|
12
|
+
ast (2.4.0)
|
13
|
+
claide (1.0.2)
|
14
|
+
claide-plugins (0.9.2)
|
15
|
+
cork
|
16
|
+
nap
|
17
|
+
open4 (~> 1.3)
|
18
|
+
coderay (1.1.2)
|
19
|
+
colored2 (3.1.2)
|
20
|
+
cork (0.3.0)
|
21
|
+
colored2 (~> 3.1)
|
22
|
+
danger (5.6.7)
|
23
|
+
claide (~> 1.0)
|
24
|
+
claide-plugins (>= 0.9.2)
|
25
|
+
colored2 (~> 3.1)
|
26
|
+
cork (~> 0.1)
|
27
|
+
faraday (~> 0.9)
|
28
|
+
faraday-http-cache (~> 1.0)
|
29
|
+
git (~> 1.5)
|
30
|
+
kramdown (~> 1.5)
|
31
|
+
no_proxy_fix
|
32
|
+
octokit (~> 4.7)
|
33
|
+
terminal-table (~> 1)
|
34
|
+
danger-plugin-api (1.0.0)
|
35
|
+
danger (> 2.0)
|
36
|
+
diff-lcs (1.3)
|
37
|
+
faraday (0.15.3)
|
38
|
+
multipart-post (>= 1.2, < 3)
|
39
|
+
faraday-http-cache (1.3.1)
|
40
|
+
faraday (~> 0.8)
|
41
|
+
ffi (1.9.25)
|
42
|
+
formatador (0.2.5)
|
43
|
+
git (1.5.0)
|
44
|
+
guard (2.14.2)
|
45
|
+
formatador (>= 0.2.4)
|
46
|
+
listen (>= 2.7, < 4.0)
|
47
|
+
lumberjack (>= 1.0.12, < 2.0)
|
48
|
+
nenv (~> 0.1)
|
49
|
+
notiffany (~> 0.0)
|
50
|
+
pry (>= 0.9.12)
|
51
|
+
shellany (~> 0.0)
|
52
|
+
thor (>= 0.18.1)
|
53
|
+
guard-compat (1.2.1)
|
54
|
+
guard-rspec (4.7.3)
|
55
|
+
guard (~> 2.1)
|
56
|
+
guard-compat (~> 1.1)
|
57
|
+
rspec (>= 2.99.0, < 4.0)
|
58
|
+
jaro_winkler (1.5.1)
|
59
|
+
kramdown (1.17.0)
|
60
|
+
listen (3.0.7)
|
61
|
+
rb-fsevent (>= 0.9.3)
|
62
|
+
rb-inotify (>= 0.9.7)
|
63
|
+
lumberjack (1.0.13)
|
64
|
+
method_source (0.9.0)
|
65
|
+
multipart-post (2.0.0)
|
66
|
+
nap (1.1.0)
|
67
|
+
nenv (0.3.0)
|
68
|
+
no_proxy_fix (0.1.2)
|
69
|
+
notiffany (0.1.1)
|
70
|
+
nenv (~> 0.1)
|
71
|
+
shellany (~> 0.0)
|
72
|
+
octokit (4.12.0)
|
73
|
+
sawyer (~> 0.8.0, >= 0.5.3)
|
74
|
+
open4 (1.3.4)
|
75
|
+
parallel (1.12.1)
|
76
|
+
parser (2.5.1.2)
|
77
|
+
ast (~> 2.4.0)
|
78
|
+
powerpack (0.1.2)
|
79
|
+
pry (0.11.3)
|
80
|
+
coderay (~> 1.1.0)
|
81
|
+
method_source (~> 0.9.0)
|
82
|
+
public_suffix (3.0.3)
|
83
|
+
rainbow (3.0.0)
|
84
|
+
rake (10.5.0)
|
85
|
+
rb-fsevent (0.10.3)
|
86
|
+
rb-inotify (0.9.10)
|
87
|
+
ffi (>= 0.5.0, < 2)
|
88
|
+
rspec (3.7.0)
|
89
|
+
rspec-core (~> 3.7.0)
|
90
|
+
rspec-expectations (~> 3.7.0)
|
91
|
+
rspec-mocks (~> 3.7.0)
|
92
|
+
rspec-core (3.7.1)
|
93
|
+
rspec-support (~> 3.7.0)
|
94
|
+
rspec-expectations (3.7.0)
|
95
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
96
|
+
rspec-support (~> 3.7.0)
|
97
|
+
rspec-mocks (3.7.0)
|
98
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
99
|
+
rspec-support (~> 3.7.0)
|
100
|
+
rspec-support (3.7.1)
|
101
|
+
rubocop (0.58.2)
|
102
|
+
jaro_winkler (~> 1.5.1)
|
103
|
+
parallel (~> 1.10)
|
104
|
+
parser (>= 2.5, != 2.5.1.1)
|
105
|
+
powerpack (~> 0.1)
|
106
|
+
rainbow (>= 2.2.2, < 4.0)
|
107
|
+
ruby-progressbar (~> 1.7)
|
108
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
109
|
+
ruby-progressbar (1.9.0)
|
110
|
+
sawyer (0.8.1)
|
111
|
+
addressable (>= 2.3.5, < 2.6)
|
112
|
+
faraday (~> 0.8, < 1.0)
|
113
|
+
shellany (0.0.1)
|
114
|
+
terminal-table (1.8.0)
|
115
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
116
|
+
thor (0.20.0)
|
117
|
+
unicode-display_width (1.4.0)
|
118
|
+
yard (0.9.15)
|
119
|
+
|
120
|
+
PLATFORMS
|
121
|
+
ruby
|
122
|
+
|
123
|
+
DEPENDENCIES
|
124
|
+
bundler (~> 1.3)
|
125
|
+
danger-checkstyle_reports!
|
126
|
+
guard (~> 2.14)
|
127
|
+
guard-rspec (~> 4.7)
|
128
|
+
listen (= 3.0.7)
|
129
|
+
pry
|
130
|
+
rake (~> 10.0)
|
131
|
+
rspec (~> 3.4)
|
132
|
+
rubocop
|
133
|
+
yard
|
134
|
+
|
135
|
+
BUNDLED WITH
|
136
|
+
1.16.1
|
data/Guardfile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# A guardfile for making Danger Plugins
|
4
|
+
# For more info see https://github.com/guard/guard#readme
|
5
|
+
|
6
|
+
# To run, use `bundle exec guard`.
|
7
|
+
|
8
|
+
guard :rspec, cmd: "bundle exec rspec" do
|
9
|
+
require "guard/rspec/dsl"
|
10
|
+
dsl = Guard::RSpec::Dsl.new(self)
|
11
|
+
|
12
|
+
# RSpec files
|
13
|
+
rspec = dsl.rspec
|
14
|
+
watch(rspec.spec_helper) { rspec.spec_dir }
|
15
|
+
watch(rspec.spec_support) { rspec.spec_dir }
|
16
|
+
watch(rspec.spec_files)
|
17
|
+
|
18
|
+
# Ruby files
|
19
|
+
ruby = dsl.ruby
|
20
|
+
dsl.watch_spec_files_for(ruby.lib_files)
|
21
|
+
end
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2018 Jumpei Matsuda <jmatsu.drm@gmail.com>
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
[](https://travis-ci.com/jmatsu/danger-checkstyle_reports) [](https://badge.fury.io/rb/danger-checkstyle_reports)
|
2
|
+
|
3
|
+
# danger-checkstyle_reports
|
4
|
+
|
5
|
+
This is a plugin of [Danger](https://github.com/danger/danger) for Android projects.
|
6
|
+
This reports checkstyle results.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
`gem install danger-checkstyle_reports`
|
11
|
+
|
12
|
+
## Usage
|
13
|
+
|
14
|
+
`checkstyle_reports` namespace is available under Dangerfile.
|
15
|
+
|
16
|
+
### Report errors
|
17
|
+
|
18
|
+
```
|
19
|
+
# If you'd like inlining comments
|
20
|
+
checkstyle_reports.inline_comment = true
|
21
|
+
checkstyle_reports.report(/path/to/xml)
|
22
|
+
```
|
23
|
+
|
24
|
+
## Development
|
25
|
+
|
26
|
+
1. Clone this repo
|
27
|
+
2. Run `bundle install` to setup dependencies.
|
28
|
+
3. Run `bundle exec rake spec` to run the tests.
|
29
|
+
4. Use `bundle exec guard` to automatically have tests run as you make changes.
|
30
|
+
5. Make your changes.
|
data/Rakefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
require "rubocop/rake_task"
|
6
|
+
|
7
|
+
RSpec::Core::RakeTask.new(:specs)
|
8
|
+
|
9
|
+
task default: :specs
|
10
|
+
|
11
|
+
task :spec do
|
12
|
+
Rake::Task["specs"].invoke
|
13
|
+
Rake::Task["rubocop"].invoke
|
14
|
+
Rake::Task["spec_docs"].invoke
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run RuboCop on the lib/specs directory"
|
18
|
+
RuboCop::RakeTask.new(:rubocop) do |task|
|
19
|
+
task.patterns = ["lib/**/*.rb", "spec/**/*.rb"]
|
20
|
+
end
|
21
|
+
|
22
|
+
desc "Ensure that the plugin passes `danger plugins lint`"
|
23
|
+
task :spec_docs do
|
24
|
+
sh "bundle exec danger plugins lint"
|
25
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require "checkstyle_reports/gem_version.rb"
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = "danger-checkstyle_reports"
|
9
|
+
spec.version = CheckstyleReports::VERSION
|
10
|
+
spec.authors = ["Jumpei Matsuda"]
|
11
|
+
spec.email = ["jmatsu.drm@gmail.com"]
|
12
|
+
spec.description = "To report checkstyle results via danger."
|
13
|
+
spec.summary = "This is a danger plugin to report checkstyle results."
|
14
|
+
spec.homepage = "https://github.com/jmatsu/danger-checkstyle_reports"
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
spec.files = `git ls-files | grep -v 'fixture/'`.split($/)
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_runtime_dependency "danger-plugin-api", "~> 1.0"
|
23
|
+
|
24
|
+
# General ruby development
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
|
28
|
+
# Testing support
|
29
|
+
spec.add_development_dependency "rspec", "~> 3.4"
|
30
|
+
|
31
|
+
# Linting code and docs
|
32
|
+
spec.add_development_dependency "rubocop"
|
33
|
+
spec.add_development_dependency "yard"
|
34
|
+
|
35
|
+
# Makes testing easy via `bundle exec guard`
|
36
|
+
spec.add_development_dependency "guard", "~> 2.14"
|
37
|
+
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
38
|
+
|
39
|
+
# If you want to work on older builds of ruby
|
40
|
+
spec.add_development_dependency "listen", "3.0.7"
|
41
|
+
|
42
|
+
# This gives you the chance to run a REPL inside your tests
|
43
|
+
# via:
|
44
|
+
#
|
45
|
+
# require 'pry'
|
46
|
+
# binding.pry
|
47
|
+
#
|
48
|
+
# This will stop test execution and let you inspect the results
|
49
|
+
spec.add_development_dependency "pry"
|
50
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckstyleReports::Entity
|
4
|
+
class FoundError
|
5
|
+
# A detected line number
|
6
|
+
#
|
7
|
+
# @return [Fixnum]
|
8
|
+
attr_reader :line_number
|
9
|
+
|
10
|
+
# A detected column
|
11
|
+
# Optionality depends on 'source'
|
12
|
+
#
|
13
|
+
# @return [Fixnum, nil]
|
14
|
+
attr_reader :column_number
|
15
|
+
|
16
|
+
# A severity of this error
|
17
|
+
#
|
18
|
+
# @return [String]
|
19
|
+
attr_reader :severity
|
20
|
+
|
21
|
+
# An error message
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
attr_reader :html_unescaped_message
|
25
|
+
|
26
|
+
# A name of a detector
|
27
|
+
#
|
28
|
+
# @return [String]
|
29
|
+
attr_reader :source # String
|
30
|
+
|
31
|
+
def initialize(node)
|
32
|
+
raise "Wrong node was passed. expected error but #{node.name}" if node.name != "error"
|
33
|
+
|
34
|
+
attributes = node.attributes
|
35
|
+
|
36
|
+
@line_number = attributes["line"].to_i
|
37
|
+
@column_number = attributes["column"]&.to_i
|
38
|
+
@severity = attributes["severity"]
|
39
|
+
@html_unescaped_message = attributes["message"] # unescape implicitly
|
40
|
+
@source = attributes["source"]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckstyleReports::Entity
|
4
|
+
class FoundFile
|
5
|
+
# A absolute path to this file
|
6
|
+
#
|
7
|
+
# @return [String]
|
8
|
+
attr_reader :path
|
9
|
+
|
10
|
+
# A relative path to this file
|
11
|
+
#
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :relative_path
|
14
|
+
|
15
|
+
# Errors which were detected in this file
|
16
|
+
#
|
17
|
+
# @return [Array<FoundError>]
|
18
|
+
attr_reader :errors
|
19
|
+
|
20
|
+
def initialize(node, prefix:)
|
21
|
+
raise "Wrong node was passed. expected file but #{node.name}" if node.name != "file"
|
22
|
+
|
23
|
+
if prefix.end_with?(file_separator)
|
24
|
+
@prefix = prefix
|
25
|
+
else
|
26
|
+
@prefix = prefix + file_separator
|
27
|
+
end
|
28
|
+
|
29
|
+
name = node.attributes["name"]
|
30
|
+
|
31
|
+
if Pathname.new(name).absolute?
|
32
|
+
raise "Bad prefix was found for #{name}. #{@prefix} was a prefix." unless name.start_with?(@prefix)
|
33
|
+
|
34
|
+
# Use delete_prefix when min support version becomes ruby 2.5
|
35
|
+
@relative_path = name[@prefix.length, name.length - @prefix.length]
|
36
|
+
else
|
37
|
+
@relative_path = name
|
38
|
+
end
|
39
|
+
|
40
|
+
@path = @prefix + @relative_path
|
41
|
+
|
42
|
+
@path = node.attributes["name"]
|
43
|
+
@errors = []
|
44
|
+
|
45
|
+
node.elements.each("error") { |n| @errors << FoundError.new(n) }
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def file_separator
|
51
|
+
File::ALT_SEPARATOR || File::SEPARATOR
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CheckstyleReports
|
4
|
+
class Severity
|
5
|
+
VALUES = %i(ignore info warning error).freeze
|
6
|
+
|
7
|
+
def initialize(base)
|
8
|
+
@base = base&.to_sym
|
9
|
+
end
|
10
|
+
|
11
|
+
def <=(other)
|
12
|
+
return if @base.nil?
|
13
|
+
return true if other.nil?
|
14
|
+
|
15
|
+
VALUES.index(@base) <= VALUES.index(other.to_sym)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pathname"
|
4
|
+
require "rexml/document"
|
5
|
+
|
6
|
+
require_relative "gem_version"
|
7
|
+
|
8
|
+
require_relative "lib/severity"
|
9
|
+
|
10
|
+
require_relative "entity/found_error"
|
11
|
+
require_relative "entity/found_file"
|
12
|
+
|
13
|
+
module Danger
|
14
|
+
# Comment checkstyle reports.
|
15
|
+
#
|
16
|
+
# You need to specify the project root. You don't need do it if it is same with git's top-level path.
|
17
|
+
#
|
18
|
+
# checkstyle_reports.root_path=/path/to/project
|
19
|
+
#
|
20
|
+
# @example Report errors whose files have been modified (By default)
|
21
|
+
#
|
22
|
+
# checkstyle_reports.report("app/build/checkstyle/checkstyle.xml"[, modified_files_only: true])
|
23
|
+
#
|
24
|
+
# @example Report all errors in app/build/checkstyle/checkstyle.xml
|
25
|
+
#
|
26
|
+
# checkstyle_reports.report("app/build/checkstyle/checkstyle.xml", modified_files_only: false)
|
27
|
+
#
|
28
|
+
# @see Jumpei Matsuda/danger-checkstyle_reports
|
29
|
+
# @tags android, checkstyle
|
30
|
+
#
|
31
|
+
class DangerCheckstyleReports < Plugin
|
32
|
+
REPORT_METHODS = %i(message warn fail).freeze
|
33
|
+
|
34
|
+
# *Optional*
|
35
|
+
# An absolute path to a root.
|
36
|
+
# To comment errors to VCS, this needs to know relative path of files from the root.
|
37
|
+
#
|
38
|
+
# @return [String] the root path of git repository by default.
|
39
|
+
attr_accessor :root_path
|
40
|
+
|
41
|
+
# *Optional*
|
42
|
+
# Create inline comment if true.
|
43
|
+
#
|
44
|
+
# @return [Boolean] true by default
|
45
|
+
attr_accessor :inline_comment
|
46
|
+
|
47
|
+
# *Optional*
|
48
|
+
# minimum severity to be reported (inclusive)
|
49
|
+
#
|
50
|
+
# @return [String, Symbol] error by default
|
51
|
+
attr_accessor :min_severity
|
52
|
+
|
53
|
+
# *Optional*
|
54
|
+
# Set report method
|
55
|
+
#
|
56
|
+
# @return [String, Symbol] error by default
|
57
|
+
attr_accessor :report_method
|
58
|
+
|
59
|
+
# The array of files which include at least one error
|
60
|
+
#
|
61
|
+
# @return [Array<String>] a collection of relative paths
|
62
|
+
attr_reader :reported_files
|
63
|
+
|
64
|
+
# Report errors based on the given xml file if needed
|
65
|
+
#
|
66
|
+
# @param [String] xml_file which contains checkstyle results to be reported
|
67
|
+
# @param [Boolean] modified_files_only which is a flag to filter out non-modified files
|
68
|
+
# @return [void] void
|
69
|
+
def report(xml_file, modified_files_only: true)
|
70
|
+
raise "File path must not be empty" if xml_file.empty?
|
71
|
+
raise "File not found" unless File.exist?(xml_file)
|
72
|
+
|
73
|
+
@min_severity = (min_severity || :error).to_sym
|
74
|
+
@report_method = (report_method || :fail).to_sym
|
75
|
+
|
76
|
+
raise "Unknown severity found" unless CheckstyleReports::Severity::VALUES.include?(min_severity)
|
77
|
+
raise "Unknown report method" unless REPORT_METHODS.include?(report_method)
|
78
|
+
|
79
|
+
files = parse_xml(xml_file, modified_files_only)
|
80
|
+
|
81
|
+
@reported_files = files.map(&:relative_path)
|
82
|
+
|
83
|
+
do_comment(files, modified_files_only) unless files.empty?
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
# Parse the given xml file and apply filters if needed
|
89
|
+
#
|
90
|
+
# @param [String] file_path which is a check-style xml file
|
91
|
+
# @param [Boolean] modified_files_only a flag to determine to apply modified files-only filter
|
92
|
+
# @return [Array<FoundFile>] filtered files
|
93
|
+
def parse_xml(file_path, modified_files_only)
|
94
|
+
prefix = root_path || `git rev-parse --show-toplevel`.chomp
|
95
|
+
|
96
|
+
files = []
|
97
|
+
|
98
|
+
REXML::Document.new(File.read(file_path)).root.elements.each("file") do |f|
|
99
|
+
files << CheckstyleReports::Entity::FoundFile.new(f, prefix: prefix)
|
100
|
+
end
|
101
|
+
|
102
|
+
if modified_files_only
|
103
|
+
files.select! { |f| git.modified_files.include?(f.relative_path) }
|
104
|
+
end
|
105
|
+
|
106
|
+
files.reject! { |f| f.errors.empty? }
|
107
|
+
files
|
108
|
+
end
|
109
|
+
|
110
|
+
# Comment errors based on the given xml file to VCS
|
111
|
+
#
|
112
|
+
# @param [Array<FoundFile>] files which contains checkstyle results to be reported
|
113
|
+
# @param [Boolean] modified_files_only inherit the doc
|
114
|
+
# @return [void] void
|
115
|
+
def do_comment(files, modified_files_only)
|
116
|
+
base_severity = CheckstyleReports::Severity.new(min_severity)
|
117
|
+
|
118
|
+
files.each do |f|
|
119
|
+
f.errors.each do |e|
|
120
|
+
# check severity
|
121
|
+
next unless base_severity <= e.severity
|
122
|
+
|
123
|
+
if inline_comment && (modified_files_only || git.modified_files.include?(f.relative_path))
|
124
|
+
self.public_send(report_method, e.html_unescaped_message, file: f.relative_path, line: e.line_number)
|
125
|
+
else
|
126
|
+
self.public_send(report_method, "#{f.relative_path} : #{e.html_unescaped_message} at #{e.line_number}")
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require File.expand_path("spec_helper", __dir__)
|
4
|
+
|
5
|
+
module Danger
|
6
|
+
describe Danger::DangerCheckstyleReports do
|
7
|
+
it "should be a plugin" do
|
8
|
+
expect(Danger::DangerCheckstyleReports.new(nil)).to be_a Danger::Plugin
|
9
|
+
end
|
10
|
+
|
11
|
+
#
|
12
|
+
# You should test your custom attributes and methods here
|
13
|
+
#
|
14
|
+
describe "with Dangerfile" do
|
15
|
+
before do
|
16
|
+
@dangerfile = testing_dangerfile
|
17
|
+
@my_plugin = @dangerfile.checkstyle_reports
|
18
|
+
|
19
|
+
# mock the PR data
|
20
|
+
# you can then use this, eg. github.pr_author, later in the spec
|
21
|
+
json = File.read(fixture_path + "github_pr.json")
|
22
|
+
allow(@my_plugin.github).to receive(:pr_json).and_return(json)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../spec_helper"
|
4
|
+
|
5
|
+
module CheckstyleReports::Entity
|
6
|
+
ERROR_NODE_SAMPLE_1 = <<NODE
|
7
|
+
<error
|
8
|
+
line="144"
|
9
|
+
column="108"
|
10
|
+
severity="error"
|
11
|
+
message="'+' should be on a new line."
|
12
|
+
source="com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck"
|
13
|
+
/>
|
14
|
+
NODE
|
15
|
+
|
16
|
+
ERROR_NODE_SAMPLE_2 = <<NODE
|
17
|
+
<error
|
18
|
+
line="296"
|
19
|
+
severity="error"
|
20
|
+
message="Line has trailing spaces."
|
21
|
+
source="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineCheck"
|
22
|
+
/>
|
23
|
+
NODE
|
24
|
+
|
25
|
+
describe CheckstyleReports::Entity::FoundError do
|
26
|
+
let(:error) { FoundError.new(REXML::Document.new(node).root) }
|
27
|
+
|
28
|
+
context "sample1" do
|
29
|
+
let(:node) { ERROR_NODE_SAMPLE_1 }
|
30
|
+
|
31
|
+
it "should read it successfully" do
|
32
|
+
expect(error.line_number).to eq(144)
|
33
|
+
expect(error.column_number).to eq(108)
|
34
|
+
expect(error.severity).to eq("error")
|
35
|
+
expect(error.html_unescaped_message).to eq("'+' should be on a new line.")
|
36
|
+
expect(error.source).to eq("com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context "sample2" do
|
41
|
+
let(:node) { ERROR_NODE_SAMPLE_2 }
|
42
|
+
|
43
|
+
it "should read it successfully" do
|
44
|
+
expect(error.line_number).to eq(296)
|
45
|
+
expect(error.column_number).to be_nil
|
46
|
+
expect(error.severity).to eq("error")
|
47
|
+
expect(error.html_unescaped_message).to eq("Line has trailing spaces.")
|
48
|
+
expect(error.source).to eq("com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineCheck")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../spec_helper"
|
4
|
+
|
5
|
+
module CheckstyleReports::Entity
|
6
|
+
FILE_NODE_SAMPLE_1 = <<NODE
|
7
|
+
<file
|
8
|
+
name="/Users/jmatsu/Workspace/sample/src/main/java/io/github/jmatsu/Sample.java" >
|
9
|
+
#{ERROR_NODE_SAMPLE_1}
|
10
|
+
</file>
|
11
|
+
NODE
|
12
|
+
|
13
|
+
FILE_NODE_SAMPLE_2 = <<NODE
|
14
|
+
<file
|
15
|
+
name="/Users/jmatsu/Workspace/sample/src/test/java/io/github/jmatsu/Sample2.java" >
|
16
|
+
#{ERROR_NODE_SAMPLE_1}
|
17
|
+
#{ERROR_NODE_SAMPLE_2}
|
18
|
+
</file>
|
19
|
+
NODE
|
20
|
+
|
21
|
+
FILE_NODE_SAMPLE_EMPTY = <<NODE
|
22
|
+
<file
|
23
|
+
name="/Users/jmatsu/Workspace/sample/src/main/java/io/github/jmatsu/Sample.java" />
|
24
|
+
NODE
|
25
|
+
|
26
|
+
describe CheckstyleReports::Entity::FoundFile do
|
27
|
+
let(:file) { FoundFile.new(REXML::Document.new(node).root, prefix: "/Users/jmatsu/Workspace/sample") }
|
28
|
+
|
29
|
+
context "sample1" do
|
30
|
+
let(:node) { FILE_NODE_SAMPLE_1 }
|
31
|
+
|
32
|
+
it "should read it successfully" do
|
33
|
+
expect(file.path).to eq("/Users/jmatsu/Workspace/sample/src/main/java/io/github/jmatsu/Sample.java")
|
34
|
+
expect(file.errors.size).to eq(1)
|
35
|
+
expect(file.relative_path).to eq("src/main/java/io/github/jmatsu/Sample.java")
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "sample2" do
|
40
|
+
let(:node) { FILE_NODE_SAMPLE_2 }
|
41
|
+
|
42
|
+
it "should read it successfully" do
|
43
|
+
expect(file.path).to eq("/Users/jmatsu/Workspace/sample/src/test/java/io/github/jmatsu/Sample2.java")
|
44
|
+
expect(file.errors.size).to eq(2)
|
45
|
+
expect(file.relative_path).to eq("src/test/java/io/github/jmatsu/Sample2.java")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "sample empty" do
|
50
|
+
let(:node) { FILE_NODE_SAMPLE_EMPTY }
|
51
|
+
|
52
|
+
it "should read it successfully" do
|
53
|
+
expect(file.path).to eq("/Users/jmatsu/Workspace/sample/src/main/java/io/github/jmatsu/Sample.java")
|
54
|
+
expect(file.errors.size).to eq(0)
|
55
|
+
expect(file.relative_path).to eq("src/main/java/io/github/jmatsu/Sample.java")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../spec_helper"
|
4
|
+
|
5
|
+
module CheckstyleReports
|
6
|
+
describe CheckstyleReports::Severity do
|
7
|
+
let(:data) do
|
8
|
+
[
|
9
|
+
[:ignore, :ignore, true],
|
10
|
+
[:ignore, :info, true],
|
11
|
+
[:ignore, :warning, true],
|
12
|
+
[:ignore, :error, true],
|
13
|
+
[:info, :ignore, false],
|
14
|
+
[:info, :info, true],
|
15
|
+
[:info, :warning, true],
|
16
|
+
[:info, :error, true],
|
17
|
+
[:warning, :ignore, false],
|
18
|
+
[:warning, :info, false],
|
19
|
+
[:warning, :warning, true],
|
20
|
+
[:warning, :error, true],
|
21
|
+
[:error, :ignore, false],
|
22
|
+
[:error, :info, false],
|
23
|
+
[:error, :warning, false],
|
24
|
+
[:error, :error, true],
|
25
|
+
]
|
26
|
+
end
|
27
|
+
|
28
|
+
context "<=" do
|
29
|
+
it do
|
30
|
+
data.each do |d|
|
31
|
+
base, other, expected = d
|
32
|
+
|
33
|
+
severity = CheckstyleReports::Severity.new(base)
|
34
|
+
|
35
|
+
expect(severity <= other).to eq(expected)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pathname"
|
4
|
+
ROOT = Pathname.new(File.expand_path("..", __dir__))
|
5
|
+
$:.unshift((ROOT + "lib").to_s)
|
6
|
+
$:.unshift((ROOT + "spec").to_s)
|
7
|
+
|
8
|
+
def fixture_path
|
9
|
+
"#{(ROOT + 'fixture')}/"
|
10
|
+
end
|
11
|
+
|
12
|
+
require "bundler/setup"
|
13
|
+
require "pry"
|
14
|
+
|
15
|
+
require "rspec"
|
16
|
+
require "danger"
|
17
|
+
|
18
|
+
if `git remote -v` == ""
|
19
|
+
puts "You cannot run tests without setting a local git remote on this repo"
|
20
|
+
puts "It's a weird side-effect of Danger's internals."
|
21
|
+
exit(0)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Use coloured output, it's the best.
|
25
|
+
RSpec.configure do |config|
|
26
|
+
config.filter_gems_from_backtrace "bundler"
|
27
|
+
config.color = true
|
28
|
+
config.tty = true
|
29
|
+
end
|
30
|
+
|
31
|
+
require "danger_plugin"
|
32
|
+
|
33
|
+
# These functions are a subset of https://github.com/danger/danger/blob/master/spec/spec_helper.rb
|
34
|
+
# If you are expanding these files, see if it's already been done ^.
|
35
|
+
|
36
|
+
# A silent version of the user interface,
|
37
|
+
# it comes with an extra function `.string` which will
|
38
|
+
# strip all ANSI colours from the string.
|
39
|
+
|
40
|
+
# rubocop:disable Lint/NestedMethodDefinition
|
41
|
+
def testing_ui
|
42
|
+
@output = StringIO.new
|
43
|
+
def @output.winsize
|
44
|
+
[20, 9999]
|
45
|
+
end
|
46
|
+
|
47
|
+
cork = Cork::Board.new(out: @output)
|
48
|
+
def cork.string
|
49
|
+
out.string.gsub(/\e\[([;\d]+)?m/, "")
|
50
|
+
end
|
51
|
+
cork
|
52
|
+
end
|
53
|
+
# rubocop:enable Lint/NestedMethodDefinition
|
54
|
+
|
55
|
+
# Example environment (ENV) that would come from
|
56
|
+
# running a PR on TravisCI
|
57
|
+
def testing_env
|
58
|
+
{
|
59
|
+
"HAS_JOSH_K_SEAL_OF_APPROVAL" => "true",
|
60
|
+
"TRAVIS_PULL_REQUEST" => "800",
|
61
|
+
"TRAVIS_REPO_SLUG" => "artsy/eigen",
|
62
|
+
"TRAVIS_COMMIT_RANGE" => "759adcbd0d8f...13c4dc8bb61d",
|
63
|
+
"DANGER_GITHUB_API_TOKEN" => "123sbdq54erfsd3422gdfio"
|
64
|
+
}
|
65
|
+
end
|
66
|
+
|
67
|
+
# A stubbed out Dangerfile for use in tests
|
68
|
+
def testing_dangerfile
|
69
|
+
env = Danger::EnvironmentManager.new(testing_env)
|
70
|
+
Danger::Dangerfile.new(env, testing_ui)
|
71
|
+
end
|
metadata
ADDED
@@ -0,0 +1,214 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: danger-checkstyle_reports
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.pre.rc01
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jumpei Matsuda
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-10-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: danger-plugin-api
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: yard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.14'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2.14'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard-rspec
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '4.7'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '4.7'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: listen
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 3.0.7
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 3.0.7
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: pry
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: To report checkstyle results via danger.
|
154
|
+
email:
|
155
|
+
- jmatsu.drm@gmail.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files: []
|
159
|
+
files:
|
160
|
+
- ".bundle/config"
|
161
|
+
- ".gitignore"
|
162
|
+
- ".rubocop.yml"
|
163
|
+
- ".ruby-version"
|
164
|
+
- ".travis.yml"
|
165
|
+
- Dangerfile.sample
|
166
|
+
- Gemfile
|
167
|
+
- Gemfile.lock
|
168
|
+
- Guardfile
|
169
|
+
- LICENSE.txt
|
170
|
+
- README.md
|
171
|
+
- Rakefile
|
172
|
+
- danger-checkstyle_reports.gemspec
|
173
|
+
- lib/checkstyle_reports/entity/found_error.rb
|
174
|
+
- lib/checkstyle_reports/entity/found_file.rb
|
175
|
+
- lib/checkstyle_reports/gem_version.rb
|
176
|
+
- lib/checkstyle_reports/lib/severity.rb
|
177
|
+
- lib/checkstyle_reports/plugin.rb
|
178
|
+
- lib/danger_checkstyle_reports.rb
|
179
|
+
- lib/danger_plugin.rb
|
180
|
+
- spec/checkstyle_reports_spec.rb
|
181
|
+
- spec/entity/found_error_spec.rb
|
182
|
+
- spec/entity/found_file_spec.rb
|
183
|
+
- spec/lib/severity_spec.rb
|
184
|
+
- spec/spec_helper.rb
|
185
|
+
homepage: https://github.com/jmatsu/danger-checkstyle_reports
|
186
|
+
licenses:
|
187
|
+
- MIT
|
188
|
+
metadata: {}
|
189
|
+
post_install_message:
|
190
|
+
rdoc_options: []
|
191
|
+
require_paths:
|
192
|
+
- lib
|
193
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - ">="
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- - ">"
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: 1.3.1
|
203
|
+
requirements: []
|
204
|
+
rubyforge_project:
|
205
|
+
rubygems_version: 2.5.2.3
|
206
|
+
signing_key:
|
207
|
+
specification_version: 4
|
208
|
+
summary: This is a danger plugin to report checkstyle results.
|
209
|
+
test_files:
|
210
|
+
- spec/checkstyle_reports_spec.rb
|
211
|
+
- spec/entity/found_error_spec.rb
|
212
|
+
- spec/entity/found_file_spec.rb
|
213
|
+
- spec/lib/severity_spec.rb
|
214
|
+
- spec/spec_helper.rb
|