java-checkstyle 1.0.5 → 1.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad85bf5e1460d22ac17dd08317e6801b92fbcaae
4
- data.tar.gz: 6d4c62ae05eff0f2e5150f5e6e0e3efd19d91ef3
3
+ metadata.gz: 154702209a4a34056e341763612d8f2b579621fd
4
+ data.tar.gz: 7178106c9490089b1faef4a9671696c7d8aa5879
5
5
  SHA512:
6
- metadata.gz: a24b8da42d1504e3a8eafe2900abed91541e94294c711440fc82c61dd3bfb86e56e814c008d7771b27680625a44d7584d73617553bb0e9677c51cd822a7a51ec
7
- data.tar.gz: 32eb221333fc952a32a3a64f2f281c7b93315795f6120c854e2fd8c3d18a24647a45693e6dfea44cdd2ac263d361099a1f66b28bc7a2f31085d54f8f88ee1db3
6
+ metadata.gz: 5b1aef329a6b13a031f155e6b394ae106f92b231eceac65f8a590245ccbf97d61501ba0cd5e8b5a0444699139343c07f1e2d0340695a1e0d3ca292543a147b75
7
+ data.tar.gz: 807414b774d3914b0eb26dbc9eb94af927885b7c123cefd42daeb35a2f8458731ac46f9f99f00ec380b993dd19222cabae624a937d59b0b75e64d43c586daedd
@@ -1,4 +1,4 @@
1
- require 'pre-commit/checks/plugin'
1
+ require 'pre-commit/checks/shell'
2
2
  require_relative '../message/extractor'
3
3
  require_relative '../message/formatter'
4
4
  require_relative '../support/path'
@@ -10,8 +10,8 @@ module PreCommit
10
10
  #
11
11
  # It provides a java checkstyle validation using checkstyle.jar
12
12
  # for details see:
13
- # lib/pre-commit/support/checkstyle
14
- class Checkstyle < Plugin
13
+ # lib/pre_commit/support/checkstyle
14
+ class Checkstyle < Shell
15
15
  ##
16
16
  # Function called after pre-commit execution
17
17
  # this method receive the +staged_files+ from git
@@ -1,7 +1,7 @@
1
1
  module Support
2
2
  ##
3
3
  # Responsible for provide relative paths to support files
4
- # Files located under: /lib/plugin/pre-commit/support/checkstyle*
4
+ # Files located under: /lib/plugin/pre_commit/support/checkstyle*
5
5
  module Path
6
6
  ##
7
7
  # Return support path relative to a given +file+
@@ -13,6 +13,6 @@ module PreCommit
13
13
  #
14
14
  # Main file: checks/checkstyle.rb
15
15
  module Checkstyle
16
- VERSION = '1.0.5'.freeze
16
+ VERSION = '1.1.0'.freeze
17
17
  end
18
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: java-checkstyle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Allen Madsen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-05-14 00:00:00.000000000 Z
13
+ date: 2017-09-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: pre-commit
@@ -111,37 +111,15 @@ executables: []
111
111
  extensions: []
112
112
  extra_rdoc_files: []
113
113
  files:
114
- - ".codeclimate.yml"
115
- - ".gitignore"
116
- - ".rspec"
117
- - ".travis.yml"
118
- - DETAILED_TUTORIAL.md
119
- - Gemfile
120
- - LICENSE.txt
121
- - README.md
122
- - Rakefile
123
- - demo.png
124
- - java-checkstyle.gemspec
125
- - lib/plugins/pre-commit/checks/checkstyle.rb
126
- - lib/plugins/pre-commit/domain/bad_file.rb
127
- - lib/plugins/pre-commit/domain/checkstyle.rb
128
- - lib/plugins/pre-commit/message/extractor.rb
129
- - lib/plugins/pre-commit/message/formatter.rb
130
- - lib/plugins/pre-commit/support/path.rb
131
- - lib/pre-commit/checkstyle/version.rb
114
+ - lib/plugins/pre_commit/checks/checkstyle.rb
115
+ - lib/plugins/pre_commit/domain/bad_file.rb
116
+ - lib/plugins/pre_commit/domain/checkstyle.rb
117
+ - lib/plugins/pre_commit/message/extractor.rb
118
+ - lib/plugins/pre_commit/message/formatter.rb
119
+ - lib/plugins/pre_commit/support/path.rb
120
+ - lib/pre_commit/checkstyle/version.rb
132
121
  - lib/resources/checkstyle/checkstyle-6.11-all.jar
133
122
  - lib/resources/checkstyle/google_checks.xml
134
- - readmedemo.png
135
- - spec/fixtures/bad.java
136
- - spec/fixtures/bad2.java
137
- - spec/fixtures/good.java
138
- - spec/fixtures/output_one_bad_file.log
139
- - spec/fixtures/output_two_bad_files.log
140
- - spec/fixtures/sun_checks.xml
141
- - spec/plugins/pre_commit/checks/checkstyle_spec.rb
142
- - spec/plugins/pre_commit/message/extractor_spec.rb
143
- - spec/plugins/pre_commit/message/formatter_spec.rb
144
- - spec/spec_helper.rb
145
123
  homepage: https://github.com/CristianOliveira/java-checkstyle
146
124
  licenses:
147
125
  - MIT
@@ -162,18 +140,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
140
  version: '0'
163
141
  requirements: []
164
142
  rubyforge_project:
165
- rubygems_version: 2.4.5
143
+ rubygems_version: 2.2.2
166
144
  signing_key:
167
145
  specification_version: 4
168
146
  summary: Checkstyle linter plugin for pre-commit
169
- test_files:
170
- - spec/fixtures/bad.java
171
- - spec/fixtures/bad2.java
172
- - spec/fixtures/good.java
173
- - spec/fixtures/output_one_bad_file.log
174
- - spec/fixtures/output_two_bad_files.log
175
- - spec/fixtures/sun_checks.xml
176
- - spec/plugins/pre_commit/checks/checkstyle_spec.rb
177
- - spec/plugins/pre_commit/message/extractor_spec.rb
178
- - spec/plugins/pre_commit/message/formatter_spec.rb
179
- - spec/spec_helper.rb
147
+ test_files: []
@@ -1,2 +0,0 @@
1
- languages:
2
- Ruby: true
data/.gitignore DELETED
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
@@ -1,9 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.0
4
- - 2.3.0
5
- - jruby-9.1.0.0
6
-
7
- script:
8
- - rake
9
- - bundle exec rubocop lib/*
@@ -1,102 +0,0 @@
1
- ### Java - Pre-Commit Checkstyle
2
-
3
- ## Detailed Installation Guide
4
-
5
- This is a detailed version to install this useful hook.
6
-
7
- # Let`s do it!
8
-
9
- First install and setup the check in pre-commit:
10
- ### Pre-Commit Checkstyle
11
- Install the gem
12
-
13
- $ gem install pre-commit
14
-
15
- ### Install the Java-checkstyle gem
16
-
17
- Add this line to your application's Gemfile:
18
-
19
- gem 'java-checkstyle'
20
-
21
- And then execute:
22
-
23
- $ bundle
24
-
25
- Or install it yourself as:
26
-
27
- $ gem install java-checkstyle
28
-
29
- Now your pre-commit hook has been installed.
30
-
31
- ## Using in your project
32
-
33
- Create your project folder and start a git repository
34
-
35
- ```bash
36
- mkdir awesome_project
37
- cd awesome_project
38
- git init
39
- ```
40
- **Install the hook for this repository**
41
-
42
- Use the pre-commit command to generate a stub pre-commit hook
43
- ```bash
44
- # Inside of your project with git
45
- pre-commit install
46
- ```
47
- This creates a .git/hooks/pre-commit script which will check your git config and run checks that are enabled.
48
-
49
- **Enable the java checkstyle checks**
50
-
51
- ``` bash
52
- pre-commit enable git checks checkstyle
53
- ```
54
-
55
- OR
56
-
57
- ``` bash
58
- pre-commit enable yaml checks checkstyle
59
- ```
60
-
61
- Then the pre commmit has been configured! For this your repository.
62
-
63
- ## Let`s test it!
64
- Create a new java code with some style errors see: [Google checkstyle guide](http://google.github.io/styleguide/javaguide.html)
65
-
66
- ```java
67
- class HelloWorld
68
- {
69
- public static void main(String[] args)
70
- {
71
- System.out.println("Hello World!");
72
- }
73
- }
74
- ```
75
- Then add it and try commit
76
- ``` bash
77
- git add .
78
- git commit -m "Time's up, let's do this! Leeeeeeeeeeeeeroy Jjjjjjenkinsss!!"
79
- ```
80
-
81
- Still don`t know our hero Leroy Jenkis? Oh man! see [here](https://www.youtube.com/watch?v=LkCNJRfSZBU)
82
-
83
- ![My awesome change has been catch. Oh boy!](https://raw.githubusercontent.com/CristianOliveiraDaRosa/java-checkstyle/master/demo.png)
84
-
85
- ---
86
- ## Installing with RVM
87
-
88
- If you are using rvm you need to install pre-commit into the ```default``` gemset, because it does not use the ```current``` environment
89
-
90
- $ rvm default do gem install pre-commit
91
-
92
- Alternatively you can configure pre-commit to use the ```current``` rvm gemset
93
-
94
- $ git config pre-commit.ruby "rvm `rvm current` do ruby"
95
-
96
- More details about this part see on:
97
- [pre-commit](https://github.com/jish/pre-commit)
98
-
99
- ## Authors:
100
- - Allen Madsen (Original Version 0.0.1)
101
- - Alex Rocha
102
- - Cristian Oliveira
data/Gemfile DELETED
@@ -1,12 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in pre-commit-checkstyle.gemspec
4
- gemspec
5
- gem 'crack'
6
-
7
- group :test do
8
- gem "simplecov"
9
- gem "codeclimate-test-reporter", require: nil
10
- gem 'rubocop', require: false
11
- # gem 'byebug' not add as default it is not compatible with ruby 2 >= version
12
- end
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 Allen Madsen
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 DELETED
@@ -1,93 +0,0 @@
1
- ## Java - Pre-Commit Checkstyle
2
- [![Gem Version](https://badge.fury.io/rb/java-checkstyle.svg)](https://badge.fury.io/rb/java-checkstyle)
3
- [![Build Status](https://travis-ci.org/cristianoliveira/java-checkstyle.svg)](https://travis-ci.org/CristianOliveiraDaRosa/java-checkstyle)
4
- [![Code Climate](https://codeclimate.com/github/cristianoliveira/java-checkstyle/badges/gpa.svg)](https://codeclimate.com/github/cristianoliveira/java-checkstyle)
5
- [![Test Coverage](https://codeclimate.com/github/cristianoliveira/java-checkstyle/badges/coverage.svg)](https://codeclimate.com/github/cristianoliveira/java-checkstyle/coverage)
6
-
7
- Useful git pre-commit hook for linting Java code.
8
-
9
- It uses as default [The Google Style Guide](https://google.github.io/styleguide/javaguide.html)
10
- and the famous [Checkstyle](http://checkstyle.sourceforge.net/) linter as a plugin for [pre-commit](https://github.com/jish/pre-commit).
11
-
12
- ## Demo
13
-
14
- ![My awesome change has been catch. Oh boy!](https://raw.githubusercontent.com/cristianoliveira/java-checkstyle/master/readmedemo.png)
15
- [Don't you know who is Leeroy Jenkins?](https://www.youtube.com/watch?v=mLyOj_QD4a4)
16
-
17
- ## Installation
18
-
19
- First install the gems.
20
- #### Pre-Commit Checkstyle
21
-
22
- gem install pre-commit
23
-
24
- #### Java Checkstyle Plugin
25
-
26
- gem install java-checkstyle
27
-
28
- ##### (optional) If you use RVM
29
- Take a look here [Install with RVM](https://github.com/jish/pre-commit#rvm)
30
-
31
- ### Configuring
32
- Use the pre-commit command to generate a stub pre-commit hook.
33
- Inside folder of your git repo:
34
-
35
- ```bash
36
- pre-commit install
37
- ```
38
-
39
- It will create a .git/hooks/pre-commit script which will check your git config and run checks that are enabled.
40
-
41
- #### Enabling checks
42
-
43
- ``` bash
44
- pre-commit enable git checks checkstyle
45
- ```
46
-
47
- ### Result
48
- Every time you try to commit some java code with style errors it will validate
49
- for you ensuring that your code will be always awesome.
50
-
51
- ---
52
- #### Detailed version to install.
53
- Still don't work? Try the detailed version [here](https://github.com/cristianoliveira/java-checkstyle/blob/master/DETAILED_TUTORIAL.md)
54
-
55
- ---
56
-
57
- ## Checkstyle Guide
58
-
59
- It uses as default [The Google Style Guide](https://google.github.io/styleguide/javaguide.html).
60
-
61
- ## Tests
62
- Running tests with rspec
63
-
64
- Make sure you have been executed:
65
- ```bash
66
- bundle install
67
- ```
68
- Then run:
69
-
70
- ```bash
71
- rspec
72
- ```
73
-
74
- ## Contributing
75
-
76
- 1. Fork it
77
- 2. Create your feature branch (`git checkout -b my-new-feature`)
78
- 3. Commit your changes (`git commit -am 'Add some feature'`)
79
- 4. Push to the branch (`git push origin my-new-feature`)
80
- 5. Create new Pull Request
81
-
82
- #### Codeclimate
83
- Before push, make sure you have been executed rubocop
84
- ``` bash
85
- rubocop lib/*
86
- ```
87
-
88
- *Pull request should have Unit Tests*
89
-
90
- ## Authors:
91
- - Allen Madsen (Original Version 0.0.1)
92
- - Alex Rocha
93
- - Cristian Oliveira
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
data/demo.png DELETED
Binary file
@@ -1,28 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require './lib/pre-commit/checkstyle/version.rb'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "java-checkstyle"
8
- spec.version = PreCommit::Checkstyle::VERSION
9
- spec.authors = ["Allen Madsen", "Cristian Oliveira", "Alex Rocha"]
10
- spec.email = ["blatyo@gmail.com", "contato@cristianoliveira.com.br", "alex.rochas@yahoo.com.br"]
11
- spec.summary = %q{Checkstyle linter plugin for pre-commit}
12
- spec.description = %q{Checkstyle linter plugin for pre-commit. Useful for linting Java code.}
13
- spec.homepage = "https://github.com/CristianOliveira/java-checkstyle"
14
- spec.license = "MIT"
15
-
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
20
-
21
- spec.add_dependency('pre-commit', '~> 0.26')
22
- spec.add_dependency('crack', '~> 0.4.2')
23
-
24
- spec.add_development_dependency("bundler", "~> 1.5")
25
- spec.add_development_dependency("rake", '~> 10.4', '>= 10.4.2')
26
- spec.add_development_dependency('rspec', '~> 3.3.0')
27
- spec.add_development_dependency('rubocop', '~> 0.34.2')
28
- end
Binary file
@@ -1,5 +0,0 @@
1
- class hello {
2
- public static void main(String[] args) {
3
- System.out.println("Hello World!");
4
- }
5
- }
@@ -1,6 +0,0 @@
1
- class HelloWorld
2
- {
3
- public static void main(String[] args) {
4
- System.out.println("Hello World!");
5
- }
6
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Typical hello world example.
3
- * It has a good style.
4
- */
5
- final class Good {
6
- /**
7
- * Prevent class from being instantiated.
8
- *
9
- * @throws AssertionError if some smart guy try.
10
- */
11
- public Good() {
12
- throw new AssertionError("Instantiating utility class...");
13
- }
14
-
15
- /**
16
- * Prints Hello World!
17
- *
18
- * @param args Command line arguments.
19
- */
20
- public static void main(final String[] args) {
21
- System.out.println("Hello World!");
22
- }
23
- }
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <checkstyle version="6.11">
3
- <file name="/Users/cristianoliveira/work/java-checkstyle/spec/fixtures/bad.java">
4
- <error line="1" severity="error" message="some error message" source="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"/>
5
- <error line="11" column= "1 " severity= "warning" message="some error message" source="com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheck"/>
6
- </file>
7
- </checkstyle>
8
- Checkstyle ends with 4 errors.
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <checkstyle version="6.11">
3
- <file name="/Users/cristianoliveira/work/java-checkstyle/spec/fixtures/bad.java">
4
- <error line="1" severity="error" message="some error message" source="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"/>
5
- <error line="11" column= "1 " severity= "warning" message="some error message" source="com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheck"/>
6
- </file>
7
- <file name="/Users/cristianoliveira/work/java-checkstyle/spec/fixtures/bad2.java">
8
- <error line="2 " column= "3 " severity= "error" message="some error message" source= "com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck "/>
9
- <error line="2 " column= "27 " severity= "error" message="some error message" source= "com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck "/>
10
- </file>
11
- </checkstyle>
12
- Checkstyle ends with 4 errors.
@@ -1,177 +0,0 @@
1
- <?xml version="1.0"?>
2
- <!DOCTYPE module PUBLIC
3
- "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4
- "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
-
6
- <!--
7
-
8
- Checkstyle configuration that checks the sun coding conventions from:
9
-
10
- - the Java Language Specification at
11
- http://java.sun.com/docs/books/jls/second_edition/html/index.html
12
-
13
- - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
14
-
15
- - the Javadoc guidelines at
16
- http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
17
-
18
- - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
19
-
20
- - some best practices
21
-
22
- Checkstyle is very configurable. Be sure to read the documentation at
23
- http://checkstyle.sf.net (or in your downloaded distribution).
24
-
25
- Most Checks are configurable, be sure to consult the documentation.
26
-
27
- To completely disable a check, just comment it out or delete it from the file.
28
-
29
- Finally, it is worth reading the documentation.
30
-
31
- -->
32
-
33
- <module name="Checker">
34
- <!--
35
- If you set the basedir property below, then all reported file
36
- names will be relative to the specified directory. See
37
- http://checkstyle.sourceforge.net/5.x/config.html#Checker
38
-
39
- <property name="basedir" value="${basedir}"/>
40
- -->
41
-
42
- <!-- Checks that a package-info.java file exists for each package. -->
43
- <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage -->
44
- <!-- <module name="JavadocPackage"/> -->
45
-
46
- <!-- Checks whether files end with a new line. -->
47
- <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
48
- <module name="NewlineAtEndOfFile"/>
49
-
50
- <!-- Checks that property files contain the same keys. -->
51
- <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
52
- <module name="Translation"/>
53
-
54
- <!-- Checks for Size Violations. -->
55
- <!-- See http://checkstyle.sf.net/config_sizes.html -->
56
- <module name="FileLength"/>
57
-
58
- <!-- Checks for whitespace -->
59
- <!-- See http://checkstyle.sf.net/config_whitespace.html -->
60
- <module name="FileTabCharacter"/>
61
-
62
- <!-- Miscellaneous other checks. -->
63
- <!-- See http://checkstyle.sf.net/config_misc.html -->
64
- <module name="RegexpSingleline">
65
- <property name="format" value="\s+$"/>
66
- <property name="minimum" value="0"/>
67
- <property name="maximum" value="0"/>
68
- <property name="message" value="Line has trailing spaces."/>
69
- </module>
70
-
71
- <!-- Checks for Headers -->
72
- <!-- See http://checkstyle.sf.net/config_header.html -->
73
- <!-- <module name="Header"> -->
74
- <!-- <property name="headerFile" value="${checkstyle.header.file}"/> -->
75
- <!-- <property name="fileExtensions" value="java"/> -->
76
- <!-- </module> -->
77
-
78
- <module name="TreeWalker">
79
-
80
- <!-- Checks for Javadoc comments. -->
81
- <!-- See http://checkstyle.sf.net/config_javadoc.html -->
82
- <module name="JavadocMethod"/>
83
- <module name="JavadocType"/>
84
- <module name="JavadocVariable"/>
85
- <module name="JavadocStyle"/>
86
-
87
-
88
- <!-- Checks for Naming Conventions. -->
89
- <!-- See http://checkstyle.sf.net/config_naming.html -->
90
- <module name="ConstantName"/>
91
- <module name="LocalFinalVariableName"/>
92
- <module name="LocalVariableName"/>
93
- <module name="MemberName"/>
94
- <module name="MethodName"/>
95
- <module name="PackageName"/>
96
- <module name="ParameterName"/>
97
- <module name="StaticVariableName"/>
98
- <module name="TypeName"/>
99
-
100
-
101
- <!-- Checks for imports -->
102
- <!-- See http://checkstyle.sf.net/config_import.html -->
103
- <module name="AvoidStarImport"/>
104
- <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
105
- <module name="RedundantImport"/>
106
- <module name="UnusedImports"/>
107
-
108
-
109
- <!-- Checks for Size Violations. -->
110
- <!-- See http://checkstyle.sf.net/config_sizes.html -->
111
- <module name="LineLength"/>
112
- <module name="MethodLength"/>
113
- <module name="ParameterNumber"/>
114
-
115
-
116
- <!-- Checks for whitespace -->
117
- <!-- See http://checkstyle.sf.net/config_whitespace.html -->
118
- <module name="EmptyForIteratorPad"/>
119
- <module name="GenericWhitespace"/>
120
- <module name="MethodParamPad"/>
121
- <module name="NoWhitespaceAfter"/>
122
- <module name="NoWhitespaceBefore"/>
123
- <module name="OperatorWrap"/>
124
- <module name="ParenPad"/>
125
- <module name="TypecastParenPad"/>
126
- <module name="WhitespaceAfter"/>
127
- <module name="WhitespaceAround"/>
128
-
129
-
130
- <!-- Modifier Checks -->
131
- <!-- See http://checkstyle.sf.net/config_modifiers.html -->
132
- <module name="ModifierOrder"/>
133
- <module name="RedundantModifier"/>
134
-
135
-
136
- <!-- Checks for blocks. You know, those {}'s -->
137
- <!-- See http://checkstyle.sf.net/config_blocks.html -->
138
- <module name="AvoidNestedBlocks"/>
139
- <module name="EmptyBlock"/>
140
- <module name="LeftCurly"/>
141
- <module name="NeedBraces"/>
142
- <module name="RightCurly"/>
143
-
144
-
145
- <!-- Checks for common coding problems -->
146
- <!-- See http://checkstyle.sf.net/config_coding.html -->
147
- <module name="AvoidInlineConditionals"/>
148
- <module name="EmptyStatement"/>
149
- <module name="EqualsHashCode"/>
150
- <module name="HiddenField"/>
151
- <module name="IllegalInstantiation"/>
152
- <module name="InnerAssignment"/>
153
- <module name="MagicNumber"/>
154
- <module name="MissingSwitchDefault"/>
155
- <!--<module name="RedundantThrows"/>-->
156
- <module name="SimplifyBooleanExpression"/>
157
- <module name="SimplifyBooleanReturn"/>
158
-
159
- <!-- Checks for class design -->
160
- <!-- See http://checkstyle.sf.net/config_design.html -->
161
- <module name="DesignForExtension"/>
162
- <module name="FinalClass"/>
163
- <module name="HideUtilityClassConstructor"/>
164
- <module name="InterfaceIsType"/>
165
- <module name="VisibilityModifier"/>
166
-
167
-
168
- <!-- Miscellaneous other checks. -->
169
- <!-- See http://checkstyle.sf.net/config_misc.html -->
170
- <module name="ArrayTypeStyle"/>
171
- <module name="FinalParameters"/>
172
- <module name="TodoComment"/>
173
- <module name="UpperEll"/>
174
-
175
- </module>
176
-
177
- </module>
@@ -1,49 +0,0 @@
1
- require 'spec_helper'
2
- require 'plugins/pre-commit/checks/checkstyle'
3
-
4
- describe PreCommit::Checks::Checkstyle do
5
- let(:config) {double(PreCommit::Configuration, get: '')}
6
- let(:check) {PreCommit::Checks::Checkstyle.new(nil, config, [])}
7
-
8
- it "succeds if nothing changed" do
9
- expect(check.call([])).to be_nil
10
- end
11
-
12
- it "succeeds for good code" do
13
- files = [fixture_file('Good.java')]
14
- expect(check.call(files)).to be_nil
15
- end
16
-
17
- it "should fail for bad formatted code" do
18
- file = fixture_file("bad.java")
19
-
20
- result = check.call([file])
21
-
22
- expect(result).to include "File errors: #{file}"
23
- expect(result).to include "line: 1: error:"
24
- expect(result).to include "line: 1:7 error:"
25
- end
26
-
27
- it "should accept multiple fails" do
28
- # given
29
- file = fixture_file("bad.java")
30
- file2 = fixture_file("bad2.java")
31
-
32
- # when
33
- result = check.call([file, file2])
34
-
35
- # then
36
- expect(result).to include "File errors: #{file}"
37
- expect(result).to include "File errors: #{file2}"
38
- end
39
-
40
- it "should accept custom checkstyle" do
41
- # given
42
- ENV["CHECKSTYLE_CONFIG"] = "sun_checks.xml"
43
- files = [fixture_file('bad.java')]
44
- # when
45
- result = check.call(files)
46
- # then
47
- expect(result).to_not be_nil
48
- end
49
- end
@@ -1,103 +0,0 @@
1
- require 'spec_helper'
2
- require 'plugins/pre-commit/message/extractor'
3
- require 'plugins/pre-commit/domain/checkstyle'
4
- require 'plugins/pre-commit/domain/bad_file'
5
-
6
- ##
7
- # Tests for PreCommit::Message::Extractor
8
- describe PreCommit::Message::Extractor do
9
- let(:extractor) { PreCommit::Message::Extractor.new }
10
-
11
- context "When nil output" do
12
- it "should be good" do
13
- expect( extractor.extract(nil) ).to be_good
14
- end
15
- end
16
-
17
- context "When empty output" do
18
- it "should be good" do
19
- expect( extractor.extract('') ).to be_good
20
- end
21
- end
22
-
23
- context "When has one bad file" do
24
- # given
25
- let(:output) { IO.read(fixture_file("output_one_bad_file.log")) }
26
-
27
- # when
28
- before { @checkstyle = extractor.extract(output) }
29
-
30
- # then
31
- it "should not be good" do
32
- expect( @checkstyle ).to_not be_good
33
- end
34
-
35
- it "should contain one single file" do
36
- expect( @checkstyle.bad_files ).to be_a Array
37
- end
38
-
39
- it "should contain its errors" do
40
- expect( @checkstyle.bad_files[0].errors.size ).to be 2
41
- end
42
-
43
- it "should extract error details" do
44
- expect( @checkstyle.bad_files[0].errors ).to eq(
45
- [
46
- {
47
- "line"=>"1",
48
- "severity"=>"error",
49
- "message"=>"some error message",
50
- "source"=>"com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"
51
- },
52
- {
53
- "line" => "11",
54
- "column" => "1 ",
55
- "severity" => "warning",
56
- "message" => "some error message",
57
- "source" => "com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheck"
58
- }
59
- ]
60
- )
61
- end
62
- end
63
-
64
- context "When has multiple bad files" do
65
- # given
66
- let(:output) { IO.read(fixture_file("output_two_bad_files.log")) }
67
-
68
- # when
69
- before { @checkstyle = extractor.extract output }
70
-
71
- # then
72
- it "should not be good" do
73
- expect( @checkstyle ).to_not be_good
74
- end
75
-
76
- it "should extract multiple files" do
77
- expect( @checkstyle.bad_files ).to be_a Array
78
- end
79
-
80
- it "should extract their errors" do
81
- expect( @checkstyle.bad_files[0].errors.size ).to be 2
82
- expect( @checkstyle.bad_files[1].errors.size ).to be 2
83
- end
84
-
85
- it "should extract error details" do
86
- expect( @checkstyle.bad_files[0].errors ).to eq ([
87
- {
88
- "line"=>"1",
89
- "severity"=>"error",
90
- "message"=>"some error message",
91
- "source"=>"com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"
92
- },
93
- {
94
- "line" => "11",
95
- "column" => "1 ",
96
- "severity" => "warning",
97
- "message" => "some error message",
98
- "source" => "com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheck"
99
- }
100
- ])
101
- end
102
- end
103
- end
@@ -1,62 +0,0 @@
1
- require 'spec_helper'
2
- require 'plugins/pre-commit/message/formatter'
3
- require 'plugins/pre-commit/domain/checkstyle'
4
- require 'plugins/pre-commit/domain/bad_file'
5
-
6
- ##
7
- # Tests for PreCommit::Message::Formatter
8
- describe PreCommit::Message::Formatter do
9
- let(:formatter) { PreCommit::Message::Formatter.new }
10
-
11
- let(:file_error) {
12
- Domain::BadFile.new('/some/path/file_name.java',
13
- [{
14
- "line"=>"1",
15
- "severity"=>"error",
16
- "message"=>"some error message",
17
- "source"=>"com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"
18
- }])
19
- }
20
-
21
- let(:file_error_2) {
22
- Domain::BadFile.new('/some/path/file_name2.java',
23
- [{
24
- "line"=>"11",
25
- "column"=>"40",
26
- "severity"=>"error",
27
- "message"=>"some error message",
28
- "source"=>"com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"
29
- }])
30
- }
31
-
32
- context "When has empty input" do
33
- it {expect{ formatter.format(nil) }.to raise_error(ArgumentError)}
34
- end
35
-
36
- context "When has no errors" do
37
- let(:good) { Domain::Checkstyle.good }
38
- it { expect(formatter.format(good)).to be_nil }
39
- end
40
-
41
- context "When has one file" do
42
- let(:errors) { Domain::Checkstyle.new( [ file_error ] ) }
43
-
44
- before { @formatted_output = formatter.format(errors)}
45
-
46
- it{ expect( @formatted_output ).to include "File errors: /some/path/file_name.java"}
47
- it{ expect( @formatted_output ).to include " line: 1: error: some error message"}
48
- end
49
-
50
- context "When has more than one file" do
51
- let(:errors) do
52
- Domain::Checkstyle.new( [ file_error, file_error_2 ] )
53
- end
54
-
55
- before { @formatted_output = formatter.format(errors) }
56
-
57
- it{ expect( @formatted_output ).to include "File errors: /some/path/file_name.java"}
58
- it{ expect( @formatted_output ).to include " line: 1: error: some error message"}
59
- it{ expect( @formatted_output ).to include "File errors: /some/path/file_name2.java"}
60
- it{ expect( @formatted_output ).to include " line: 11:40 error: some error message"}
61
- end
62
- end
@@ -1,22 +0,0 @@
1
- require "simplecov"
2
- SimpleCov.start
3
-
4
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
5
-
6
- require 'pre-commit'
7
-
8
- RSpec.configure do |config|
9
- config.treat_symbols_as_metadata_keys_with_true_values = true
10
- config.run_all_when_everything_filtered = true
11
- config.filter_run :focus
12
-
13
- # Run specs in random order to surface order dependencies. If you find an
14
- # order dependency and want to debug it, you can fix the order by providing
15
- # the seed, which is printed after each run.
16
- # --seed 1234
17
- config.order = 'random'
18
- end
19
-
20
- def fixture_file(file)
21
- File.expand_path("../fixtures/#{file}", __FILE__)
22
- end