diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index 8513db9..0000000 --- a/CHANGELOG +++ /dev/null @@ -1,226 +0,0 @@ -CHANGELOG -========= - -5.2.0 ------ - -* Disable JavadocMethod -* Disable Header -* Fix example for ReturnBooleanFromTernary check -* Disable SimpleAccessorNameNotation -* Fix typo in UselessSingleCatch -* Fix typo in UselessSuperCtorCall - -5.1.1 ------ - -* [bug] tile depends on DEV-SNAPSHOT ruleset (#137) -* Bump mockito-core from 2.22.0 to 2.23.0 (#129) -* Bump kemitix-parent from 5.1.1 to 5.2.0 (#130) -* [jenkins] Don't use verify profile with clean phase (#131) -* Bump classgraph from 4.2.8 to 4.2.12 (#132)(#133) -* Bump spring-boot.version from 2.0.5.RELEASE to 2.0.6.RELEASE (#136) - -5.1.0 ------ - -* [tile] Execute `checkstyle:checkstyle` during the `test` phase -* [jenkins] Replace Java 9 and 10 steps with a single Java 11 step -* [travis] Remove Travis CI support - -5.0.0 ------ - -* [BREAKING] [ruleset] Replace `RedundantModifier` with `InterfaceMemberImpliedModifier` -* [ruleset] Add rule `LambdaParameterName` -* Upgrade `checkstyle` to 8.12 -* Upgrade `sevntu` to 1.32.0 -* Switch to trunk-based development -* Upgrade `kemitix-parent` to 5.1.1 -* [tile] Upgrade `kemitix-maven-tiles` to 0.9.0 -* [tile] Bump tiles-maven-plugin from 2.11 to 2.12 -* [builder] Replaced Spring IO Platform dependency management with Spring Boot version -* [builder] Bump spring-boot to 2.0.4.RELEASE -* [builder] Upgrade `lombok` to 1.18.2 -* [builder] Bump mockito-core from 2.19.0 to 2.21.0 -* [builder] Upgrade `assertj` to 3.11.0 -* [builder] Upgrade `conditional` to 0.6.0 -* [builder] Upgrade `fast-classpath-scanner` to `classgraph` -* [builder] Upgrade `javax-annotation-api` to 1.3.2 -* Add badges to README - -4.1.1 ------ - -* Fix version of `ruleset` used in `tile` - -4.1.0 ------ - -* `EmptyLineSeparator`: disabled -* Upgrade `tiles-maven-plugin` to 2.11 -* Upgrade `checkstyle` to 8.10 -* Upgrade `sevntu-checkstyle` to 1.29.0 -* Upgrade `secntu-checkstyle` to 1.27.0 -* Upgrade `checkstyle` to 8.7 (properly now that it is supported by sevntu) - -4.0.1 ------ - -* Add sourceDirectories to avoid scanning generated sources -* Upgrade lombok to 1.16.20 -* Upgrade kemitix-maven-tiles to 0.3.0 - -4.0.0 ------ - -* Upgrade to `maven-checkstyle-plugin` 3.0.0 -* Change ruleset groupId/artifactId to `net.kemitix.checkstyle/ruleset` -* Add maven-tile `net.kemitix.checkstyle:tile` -* \[bug] update the ruleset files -* Restore Header and JavadocPackage checks -* Add missing reasons for disabling checks - -3.4.0 ------ - -* Disable Header check -* Remove requirement for `@author` in Type Javadoc -* Disable AvoidStarImport check -* Disable AvoidStaticImport check -* Disable JavadocPackage check -* Upgrade `checkstyle` to 8.7 -* Upgrade `sevntu-checkstyle` to 1.26.0 - -3.3.0 ------ - -* Upgrade spring boot to 1.5.4 -* Upgrade platform to Brussels-SR3 -* Upgrade checkstyle to 8.0 -* Upgrade immutables to 2.5.6 -* Upgrade mockito to 2.8.47 -* Upgrade sevntu to 1.24.1 -* Enable rule: EmptyPublicCtorInClass -* Enable rule: WhiteSpaceBeforeArrayInitializer -* Enable rule: FinalizeImplementation -* Enable rule: AvoidDefaultSerializableInInnerClass - - -3.2.0 ------ - -* Restructure module parent poms -* Upgrade kemitix-parent to 3.0.0 -* CheckMojo: provide name for parameter 'level' -* Normalise maven pom names -* circle.yml: added -* travis-ci: publish code coverate to codecov -* Add level 0 Disabled - -3.1.0 ------ - -* Upgrade checkstyle to 7.8 -* Upgrade sevntu to 1.24.0 -* Add Rule: MoveVariableInsideIf -* Add Rule: ForbidWildcardAsReturnType -* Modify Rule: ExplicitInitialization only applies to objects -* Add Wercker CI -* Add Shippable CI - -3.0.1 ------ - -* Add travis deploy to nexus - -3.0.0 ------ - -* BREAKING: Replace goals for plugin: use 'check' and configuration/level (see README.md) -* Rules are properly listed in README.md alphabetically -* Add unit tests for plugin - -2.3.0 ------ - -* Add org.immutables:value compatibility for level 5-complexity (disable ForbidWildcardAsReturn) -* Upgrade checkstyle to 7.6.1 - -2.2.0 ------ - -* Upgrade sevntu to 1.23.1 -* Upgrade checkstyle to 7.6 -* Detect sync conflicts - -2.1.3 ------ - -* Change required pom dependency -* Only apply checks to code in: src/main/java -* Replace parent pom with kemitix-parent:2.4.0 -* Remove dependency on kemitix-checkstyle-ruleset-maven-plugin for builder module - -2.1.2 ------ - -* Use the plugin version to find plugin's own pom - -2.1.1 ------ - -* Load plugin dependency versions from the plugin's own pom -* Cross-platform build - -2.1.0 ------ - -* Upgrade dependencies, including checkstyle to 7.5.1 - -2.0.3 ------ - -* plugin-sample: Add distributionManagement - -2.0.2 ------ - -* Add distributionManagement to parent - -2.0.1 ------ - -* ruleset: restore properties used in release profile - -2.0.0 ------- - -* Split ruleset into 5 levels -* Provide plugin to simplify use - -0.1.0 ------- - -* Initial Release - -1.0.0 ------- - -* LineLength: allow lines up to 120 characters -* AtclauseOrder: use order forced by IntelliJ -* JavadocMethod: now required on protected and package methods -* JavadocType: require @author tag in name (email) format -* JavaNCSS: restrict limits another 20% -* MethodLength: reduced to max 40 lines -* ModifiedControlVariable: don't apply to enhanced for loops -* NestedTryDepth: prevent any nesting of try blocks -* NoWhiteSpaceAfter: prevent dot separator (.) from being the last character on line -* NPathComplexity: reduce to 5 to match CyclomaticComplexity -* PackageName: restrict to lowercase letters and numbers -* ParameterNumber: don't apply to @Overridden methods -* EitherLogOrThrow: support java.util.logging.Logger -* TodoComment: only match against comments -* IllegalType: recognise more classes from Collections -* Remove checks: RedundantImport, ForbidThrowAnonymousExceptions, AvoidConditionInversionCheck and FinalLocalVariable -* Added checks: AvoidInlineConditionals, EqualsAvoidNull, FinalLocalVariable, Header, IllegalToken, InterfaceTypeParameterName, MethodTypeParameterName, NoFinalizer, NoLineWrap, PackageAnnotation, RequireThis, SuppressWarnings, Translation, UncommentedMain and UniqueProperties diff --git a/CHANGELOG.org b/CHANGELOG.org new file mode 100644 index 0000000..49021c1 --- /dev/null +++ b/CHANGELOG.org @@ -0,0 +1,205 @@ +* CHANGELOG + +** 5.3.0 - 2018-11-11 + +*** Removed + + * Disable AbstractClassName + +** 5.2.0 + + * Disable JavadocMethod + * Disable Header + * Fix example for ReturnBooleanFromTernary check + * Disable SimpleAccessorNameNotation + * Fix typo in UselessSingleCatch + * Fix typo in UselessSuperCtorCall + +** 5.1.1 + + * [bug] tile depends on DEV-SNAPSHOT ruleset (#137) + * Bump mockito-core from 2.22.0 to 2.23.0 (#129) + * Bump kemitix-parent from 5.1.1 to 5.2.0 (#130) + * [jenkins] Don't use verify profile with clean phase (#131) + * Bump classgraph from 4.2.8 to 4.2.12 (#132)(#133) + * Bump spring-boot.version from 2.0.5.RELEASE to 2.0.6.RELEASE (#136) + +** 5.1.0 + + * [tile] Execute `checkstyle:checkstyle` during the `test` phase + * [jenkins] Replace Java 9 and 10 steps with a single Java 11 step + * [travis] Remove Travis CI support + +** 5.0.0 + + * [BREAKING] [ruleset] Replace `RedundantModifier` with `InterfaceMemberImpliedModifier` + * [ruleset] Add rule `LambdaParameterName` + * Upgrade `checkstyle` to 8.12 + * Upgrade `sevntu` to 1.32.0 + * Switch to trunk-based development + * Upgrade `kemitix-parent` to 5.1.1 + * [tile] Upgrade `kemitix-maven-tiles` to 0.9.0 + * [tile] Bump tiles-maven-plugin from 2.11 to 2.12 + * [builder] Replaced Spring IO Platform dependency management with Spring Boot version + * [builder] Bump spring-boot to 2.0.4.RELEASE + * [builder] Upgrade `lombok` to 1.18.2 + * [builder] Bump mockito-core from 2.19.0 to 2.21.0 + * [builder] Upgrade `assertj` to 3.11.0 + * [builder] Upgrade `conditional` to 0.6.0 + * [builder] Upgrade `fast-classpath-scanner` to `classgraph` + * [builder] Upgrade `javax-annotation-api` to 1.3.2 + * Add badges to README + +** 4.1.1 + + * Fix version of `ruleset` used in `tile` + +** 4.1.0 + + * `EmptyLineSeparator`: disabled + * Upgrade `tiles-maven-plugin` to 2.11 + * Upgrade `checkstyle` to 8.10 + * Upgrade `sevntu-checkstyle` to 1.29.0 + * Upgrade `secntu-checkstyle` to 1.27.0 + * Upgrade `checkstyle` to 8.7 (properly now that it is supported by sevntu) + +** 4.0.1 + + * Add sourceDirectories to avoid scanning generated sources + * Upgrade lombok to 1.16.20 + * Upgrade kemitix-maven-tiles to 0.3.0 + +** 4.0.0 + + * Upgrade to `maven-checkstyle-plugin` 3.0.0 + * Change ruleset groupId/artifactId to `net.kemitix.checkstyle/ruleset` + * Add maven-tile `net.kemitix.checkstyle:tile` + * \[bug] update the ruleset files + * Restore Header and JavadocPackage checks + * Add missing reasons for disabling checks + +** 3.4.0 + + * Disable Header check + * Remove requirement for `@author` in Type Javadoc + * Disable AvoidStarImport check + * Disable AvoidStaticImport check + * Disable JavadocPackage check + * Upgrade `checkstyle` to 8.7 + * Upgrade `sevntu-checkstyle` to 1.26.0 + +** 3.3.0 + + * Upgrade spring boot to 1.5.4 + * Upgrade platform to Brussels-SR3 + * Upgrade checkstyle to 8.0 + * Upgrade immutables to 2.5.6 + * Upgrade mockito to 2.8.47 + * Upgrade sevntu to 1.24.1 + * Enable rule: EmptyPublicCtorInClass + * Enable rule: WhiteSpaceBeforeArrayInitializer + * Enable rule: FinalizeImplementation + * Enable rule: AvoidDefaultSerializableInInnerClass + +** 3.2.0 + + * Restructure module parent poms + * Upgrade kemitix-parent to 3.0.0 + * CheckMojo: provide name for parameter 'level' + * Normalise maven pom names + * circle.yml: added + * travis-ci: publish code coverate to codecov + * Add level 0 Disabled + +** 3.1.0 + + * Upgrade checkstyle to 7.8 + * Upgrade sevntu to 1.24.0 + * Add Rule: MoveVariableInsideIf + * Add Rule: ForbidWildcardAsReturnType + * Modify Rule: ExplicitInitialization only applies to objects + * Add Wercker CI + * Add Shippable CI + +** 3.0.1 + + * Add travis deploy to nexus + +** 3.0.0 + + * BREAKING: Replace goals for plugin: use 'check' and configuration/level (see README.md) + * Rules are properly listed in README.md alphabetically + * Add unit tests for plugin + +** 2.3.0 + + * Add org.immutables:value compatibility for level 5-complexity (disable ForbidWildcardAsReturn) + * Upgrade checkstyle to 7.6.1 + +** 2.2.0 + + * Upgrade sevntu to 1.23.1 + * Upgrade checkstyle to 7.6 + * Detect sync conflicts + +** 2.1.3 + + * Change required pom dependency + * Only apply checks to code in: src/main/java + * Replace parent pom with kemitix-parent:2.4.0 + * Remove dependency on kemitix-checkstyle-ruleset-maven-plugin for builder module + +** 2.1.2 + + * Use the plugin version to find plugin's own pom + +** 2.1.1 + + * Load plugin dependency versions from the plugin's own pom + * Cross-platform build + +** 2.1.0 + + * Upgrade dependencies, including checkstyle to 7.5.1 + +** 2.0.3 + + * plugin-sample: Add distributionManagement + +** 2.0.2 + + * Add distributionManagement to parent + +** 2.0.1 + + * ruleset: restore properties used in release profile + +** 2.0.0 + + * Split ruleset into 5 levels + * Provide plugin to simplify use + +** 1.0.0 + + * LineLength: allow lines up to 120 characters + * AtclauseOrder: use order forced by IntelliJ + * JavadocMethod: now required on protected and package methods + * JavadocType: require @author tag in name (email) format + * JavaNCSS: restrict limits another 20% + * MethodLength: reduced to max 40 lines + * ModifiedControlVariable: don't apply to enhanced for loops + * NestedTryDepth: prevent any nesting of try blocks + * NoWhiteSpaceAfter: prevent dot separator (.) from being the last character on line + * NPathComplexity: reduce to 5 to match CyclomaticComplexity + * PackageName: restrict to lowercase letters and numbers + * ParameterNumber: don't apply to @Overridden methods + * EitherLogOrThrow: support java.util.logging.Logger + * TodoComment: only match against comments + * IllegalType: recognise more classes from Collections + * Remove checks: RedundantImport, ForbidThrowAnonymousExceptions, AvoidConditionInversionCheck and FinalLocalVariable + * Added checks: AvoidInlineConditionals, EqualsAvoidNull, FinalLocalVariable, Header, IllegalToken, InterfaceTypeParameterName, MethodTypeParameterName, NoFinalizer, NoLineWrap, PackageAnnotation, RequireThis, SuppressWarnings, Translation, UncommentedMain and UniqueProperties + +** 0.1.0 + + * Initial Release + diff --git a/README.md b/README.md index 3aa141b..84d3ccf 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ In 2.x, the level was specified as the goal to invoke. In 3.x, there is only the Rule|Level|Source|Enabled|Suppressible ----|-----|------|-------|------------ [AbbreviationAsWordInName](#abbreviationaswordinname)|naming|checkstyle|Yes| -[AbstractClassName](#abstractclassname)|naming|checkstyle|Yes| +[AbstractClassName](#abstractclassname)|naming|checkstyle|| [AnnotationLocation](#annotationlocation)|layout|checkstyle|Yes| [AnnotationUseStyle](#annotationusestyle)|layout|checkstyle|Yes| [AnonInnerLength](#anoninnerlength)|complexity|checkstyle|Yes| @@ -311,19 +311,6 @@ Invalid: ```` class DAOManager {} ```` -#### [AbstractClassName](http://checkstyle.sourceforge.net/config_naming.html#AbstractClassName) - -The name of an `abstract` class must start with `Abstract`. Classes that start with `Abstract` must be `abstract`. - -Valid: -```` -abstract class AbstractCardHand implements CardHand {} -```` - -Invalid: -```` -abstract class BaseCardHand implements CardHand {} -```` #### [AnnotationLocation](http://checkstyle.sourceforge.net/config_annotation.html#AnnotationLocation) Annotations must be on a line by themselves unless annotating a method parameter or among class modifiers. @@ -2603,6 +2590,9 @@ These checks are not enabled. Notes are included for each explaining why. ### Checkstyle +#### [AbstractClassName](http://checkstyle.sourceforge.net/config_naming.html#AbstractClassName) + +Prevents some more meaningful abstract class names #### [ArrayTrailingComma](http://checkstyle.sourceforge.net/config_coding.html#ArrayTrailingComma) Couldn't get my IDE's (IntelliJ) code style to match. diff --git a/builder/src/main/resources/application.yml b/builder/src/main/resources/application.yml index 0de238c..773da5c 100644 --- a/builder/src/main/resources/application.yml +++ b/builder/src/main/resources/application.yml @@ -34,9 +34,10 @@ rules: name: AbstractClassName parent: TREEWALKER level: NAMING - enabled: true + enabled: false source: CHECKSTYLE uri: http://checkstyle.sourceforge.net/config_naming.html#AbstractClassName + reason: Prevents some more meaningful abstract class names - name: AnnotationLocation parent: TREEWALKER diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml index 04c8f8d..eed5a01 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml @@ -17,7 +17,6 @@ - diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml index d683062..0f6111a 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml @@ -20,7 +20,6 @@ - diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml index 038f23a..31de4f1 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml @@ -20,7 +20,6 @@ - diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml index cb8d6ba..87123f9 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml @@ -23,7 +23,6 @@ -