diff --git a/docs/pages/pmd/rules/pom.md b/docs/pages/pmd/rules/pom.md index acd194c3ab..4ae9f25c0e 100644 --- a/docs/pages/pmd/rules/pom.md +++ b/docs/pages/pmd/rules/pom.md @@ -5,9 +5,9 @@ folder: pmd/rules --- List of rulesets and rules contained in each ruleset. -* [Basic POM](pmd_rules_pom_basic.html): The Basic POM Ruleset contains a collection of good practices regarding Maven's POM files. +* [Errorprone](pmd_rules_pom_errorprone.html): Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. -## Basic POM -* [InvalidDependencyTypes](pmd_rules_pom_basic.html#invaliddependencytypes): While Maven will not failed if you use an invalid type for a dependency in thedependency manageme... -* [ProjectVersionAsDependencyVersion](pmd_rules_pom_basic.html#projectversionasdependencyversion): Using that expression in dependency declarations seems like a shortcut, but it can go wrong.By fa... +## Errorprone +* [InvalidDependencyTypes](pmd_rules_pom_errorprone.html#invaliddependencytypes): If you use an invalid dependency type in the dependency management section, Maven doesn't fail. I... +* [ProjectVersionAsDependencyVersion](pmd_rules_pom_errorprone.html#projectversionasdependencyversion): Using that expression in dependency declarations seems like a shortcut, but it can go wrong.By fa... diff --git a/docs/pages/pmd/rules/pom/basic.md b/docs/pages/pmd/rules/pom/errorprone.md similarity index 61% rename from docs/pages/pmd/rules/pom/basic.md rename to docs/pages/pmd/rules/pom/errorprone.md index 5f09804002..ba2744f25b 100644 --- a/docs/pages/pmd/rules/pom/basic.md +++ b/docs/pages/pmd/rules/pom/errorprone.md @@ -1,11 +1,11 @@ --- -title: Basic POM -summary: The Basic POM Ruleset contains a collection of good practices regarding Maven's POM files. -permalink: pmd_rules_pom_basic.html +title: Errorprone +summary: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. +permalink: pmd_rules_pom_errorprone.html folder: pmd/rules/pom sidebaractiveurl: /pmd_rules_pom.html -editmepath: ../pmd-xml/src/main/resources/rulesets/pom/basic.xml -keywords: Basic POM, ProjectVersionAsDependencyVersion, InvalidDependencyTypes +editmepath: ../pmd-xml/src/main/resources/category/pom/errorprone.xml +keywords: Errorprone, InvalidDependencyTypes, ProjectVersionAsDependencyVersion --- ## InvalidDependencyTypes @@ -13,8 +13,10 @@ keywords: Basic POM, ProjectVersionAsDependencyVersion, InvalidDependencyTypes **Priority:** Medium (3) -While Maven will not failed if you use an invalid type for a dependency in the -dependency management section, it will not also uses the dependency. +If you use an invalid dependency type in the dependency management section, Maven doesn't fail. Instead, +the entry is just ignored, which might have the effect, that the wrong version of the dependency is used. + +The following types are considered valid: pom, jar, maven-plugin, ejb, war, ear, rar, par. ``` //dependencyManagement/dependency/type/text[not(contains('pom, jar, maven-plugin, ejb, war, ear, rar, par',@Image))] @@ -41,7 +43,7 @@ dependency management section, it will not also uses the dependency. **Use this rule by referencing it:** ``` xml - + ``` ## ProjectVersionAsDependencyVersion @@ -71,6 +73,6 @@ By far the most common problem is the use of 6.0.0-SNAPSHOT in a BOM or parent P **Use this rule by referencing it:** ``` xml - + ``` diff --git a/docs/pages/pmd/rules/xml.md b/docs/pages/pmd/rules/xml.md index 104b0bbf0c..23c754a1a0 100644 --- a/docs/pages/pmd/rules/xml.md +++ b/docs/pages/pmd/rules/xml.md @@ -5,8 +5,8 @@ folder: pmd/rules --- List of rulesets and rules contained in each ruleset. -* [Basic XML](pmd_rules_xml_basic.html): The Basic XML Ruleset contains a collection of good practices which everyone should follow. +* [Errorprone](pmd_rules_xml_errorprone.html): Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. -## Basic XML -* [MistypedCDATASection](pmd_rules_xml_basic.html#mistypedcdatasection): An XML CDATA section begins with a mar... +## Errorprone +* [MistypedCDATASection](pmd_rules_xml_errorprone.html#mistypedcdatasection): An XML CDATA section begins with a mar... diff --git a/docs/pages/pmd/rules/xml/basic.md b/docs/pages/pmd/rules/xml/errorprone.md similarity index 59% rename from docs/pages/pmd/rules/xml/basic.md rename to docs/pages/pmd/rules/xml/errorprone.md index 6728254c3c..ff8299a9bd 100644 --- a/docs/pages/pmd/rules/xml/basic.md +++ b/docs/pages/pmd/rules/xml/errorprone.md @@ -1,11 +1,11 @@ --- -title: Basic XML -summary: The Basic XML Ruleset contains a collection of good practices which everyone should follow. -permalink: pmd_rules_xml_basic.html +title: Errorprone +summary: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. +permalink: pmd_rules_xml_errorprone.html folder: pmd/rules/xml sidebaractiveurl: /pmd_rules_xml.html -editmepath: ../pmd-xml/src/main/resources/rulesets/xml/basic.xml -keywords: Basic XML, MistypedCDATASection +editmepath: ../pmd-xml/src/main/resources/category/xml/errorprone.xml +keywords: Errorprone, MistypedCDATASection --- ## MistypedCDATASection @@ -27,6 +27,6 @@ An extra [ looks like <!CDATA[[]]>, and an extra ] looks like <!CDATA[] **Use this rule by referencing it:** ``` xml - + ``` diff --git a/docs/pages/pmd/rules/xsl.md b/docs/pages/pmd/rules/xsl.md index ebd281d09b..93c270f79e 100644 --- a/docs/pages/pmd/rules/xsl.md +++ b/docs/pages/pmd/rules/xsl.md @@ -5,9 +5,12 @@ folder: pmd/rules --- List of rulesets and rules contained in each ruleset. -* [XPath in XSL](pmd_rules_xsl_xpath.html): This ruleset regroups a collection of good practices regarding XPath querying and functions inside an XSL. +* [Codestyle](pmd_rules_xsl_codestyle.html): Rules which enforce a specific coding style. +* [Performance](pmd_rules_xsl_performance.html): Rules that flag suboptimal code. -## XPath in XSL -* [AvoidAxisNavigation](pmd_rules_xsl_xpath.html#avoidaxisnavigation): Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cutthrough 100% ... -* [UseConcatOnce](pmd_rules_xsl_xpath.html#useconcatonce): The XPath concat() functions accepts as many arguments as required so you can have"concat($a,'b',... +## Codestyle +* [UseConcatOnce](pmd_rules_xsl_codestyle.html#useconcatonce): The XPath concat() functions accepts as many arguments as required so you can have"concat($a,'b',... + +## Performance +* [AvoidAxisNavigation](pmd_rules_xsl_performance.html#avoidaxisnavigation): Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cutthrough 100% ... diff --git a/docs/pages/pmd/rules/xsl/codestyle.md b/docs/pages/pmd/rules/xsl/codestyle.md new file mode 100644 index 0000000000..8b87d43ed2 --- /dev/null +++ b/docs/pages/pmd/rules/xsl/codestyle.md @@ -0,0 +1,34 @@ +--- +title: Codestyle +summary: Rules which enforce a specific coding style. +permalink: pmd_rules_xsl_codestyle.html +folder: pmd/rules/xsl +sidebaractiveurl: /pmd_rules_xsl.html +editmepath: ../pmd-xml/src/main/resources/category/xsl/codestyle.xml +keywords: Codestyle, UseConcatOnce +--- +## UseConcatOnce + +**Since:** PMD 5.0 + +**Priority:** Medium (3) + +The XPath concat() functions accepts as many arguments as required so you can have +"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)". + +``` +//node()[contains(substring-after(@select,'concat'),'concat')] +``` + +**Example(s):** + +``` xsl + + +``` + +**Use this rule by referencing it:** +``` xml + +``` + diff --git a/docs/pages/pmd/rules/xsl/xpath.md b/docs/pages/pmd/rules/xsl/performance.md similarity index 53% rename from docs/pages/pmd/rules/xsl/xpath.md rename to docs/pages/pmd/rules/xsl/performance.md index 8c340c0ae0..b90e4c1c75 100644 --- a/docs/pages/pmd/rules/xsl/xpath.md +++ b/docs/pages/pmd/rules/xsl/performance.md @@ -1,11 +1,11 @@ --- -title: XPath in XSL -summary: This ruleset regroups a collection of good practices regarding XPath querying and functions inside an XSL. -permalink: pmd_rules_xsl_xpath.html +title: Performance +summary: Rules that flag suboptimal code. +permalink: pmd_rules_xsl_performance.html folder: pmd/rules/xsl sidebaractiveurl: /pmd_rules_xsl.html -editmepath: ../pmd-xml/src/main/resources/rulesets/xsl/xpath.xml -keywords: XPath in XSL, UseConcatOnce, AvoidAxisNavigation +editmepath: ../pmd-xml/src/main/resources/category/xsl/performance.xml +keywords: Performance, AvoidAxisNavigation --- ## AvoidAxisNavigation @@ -49,31 +49,6 @@ cutting through 100% of the document. **Use this rule by referencing it:** ``` xml - -``` - -## UseConcatOnce - -**Since:** PMD 5.0 - -**Priority:** Medium (3) - -The XPath concat() functions accepts as many arguments as required so you can have -"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)". - -``` -//node()[contains(substring-after(@select,'concat'),'concat')] -``` - -**Example(s):** - -``` xsl - - -``` - -**Use this rule by referencing it:** -``` xml - + ``` diff --git a/pmd-xml/src/main/resources/category/pom/bestpractices.xml b/pmd-xml/src/main/resources/category/pom/bestpractices.xml new file mode 100644 index 0000000000..cf096ad280 --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/bestpractices.xml @@ -0,0 +1,11 @@ + + + + + +Rules which enforce generally accepted best practices. + + diff --git a/pmd-xml/src/main/resources/category/pom/codestyle.xml b/pmd-xml/src/main/resources/category/pom/codestyle.xml new file mode 100644 index 0000000000..d425f59ea7 --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/codestyle.xml @@ -0,0 +1,12 @@ + + + + + +Rules which enforce a specific coding style. + + + diff --git a/pmd-xml/src/main/resources/category/pom/design.xml b/pmd-xml/src/main/resources/category/pom/design.xml new file mode 100644 index 0000000000..99dbea45ef --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/design.xml @@ -0,0 +1,11 @@ + + + + + +Rules that help you discover design issues. + + diff --git a/pmd-xml/src/main/resources/category/pom/documentation.xml b/pmd-xml/src/main/resources/category/pom/documentation.xml new file mode 100644 index 0000000000..1e5fd3b0bf --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/documentation.xml @@ -0,0 +1,11 @@ + + + + + +Rules that are related to code documentation. + + diff --git a/pmd-xml/src/main/resources/category/pom/errorprone.xml b/pmd-xml/src/main/resources/category/pom/errorprone.xml new file mode 100644 index 0000000000..a5c9e1ddf2 --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/errorprone.xml @@ -0,0 +1,90 @@ + + + + + +Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. + + + + +If you use an invalid dependency type in the dependency management section, Maven doesn't fail. Instead, +the entry is just ignored, which might have the effect, that the wrong version of the dependency is used. + +The following types are considered valid: pom, jar, maven-plugin, ejb, war, ear, rar, par. + + 3 + + + + + + + + + + + + + ... + + ... + + org.jboss.arquillian + arquillian-bom + ${arquillian.version} + bom + import + + ... + + + ]]> + + + + + +Using that expression in dependency declarations seems like a shortcut, but it can go wrong. +By far the most common problem is the use of ${project.version} in a BOM or parent POM. + + 3 + + + + + + + + + + ... + + ... + ${project.dependency} + + +]]> + + + + diff --git a/pmd-xml/src/main/resources/category/pom/multithreading.xml b/pmd-xml/src/main/resources/category/pom/multithreading.xml new file mode 100644 index 0000000000..bdc0c7f1ea --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/multithreading.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag issues when dealing with multiple threads of execution. + + diff --git a/pmd-xml/src/main/resources/category/pom/performance.xml b/pmd-xml/src/main/resources/category/pom/performance.xml new file mode 100644 index 0000000000..82cc389d7f --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/performance.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag suboptimal code. + + diff --git a/pmd-xml/src/main/resources/category/pom/security.xml b/pmd-xml/src/main/resources/category/pom/security.xml new file mode 100644 index 0000000000..7b5b98a9b7 --- /dev/null +++ b/pmd-xml/src/main/resources/category/pom/security.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag potential security flaws. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/bestpractices.xml b/pmd-xml/src/main/resources/category/wsdl/bestpractices.xml new file mode 100644 index 0000000000..cf096ad280 --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/bestpractices.xml @@ -0,0 +1,11 @@ + + + + + +Rules which enforce generally accepted best practices. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/codestyle.xml b/pmd-xml/src/main/resources/category/wsdl/codestyle.xml new file mode 100644 index 0000000000..a79f8b8f44 --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/codestyle.xml @@ -0,0 +1,11 @@ + + + + + +Rules which enforce a specific coding style. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/design.xml b/pmd-xml/src/main/resources/category/wsdl/design.xml new file mode 100644 index 0000000000..99dbea45ef --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/design.xml @@ -0,0 +1,11 @@ + + + + + +Rules that help you discover design issues. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/documentation.xml b/pmd-xml/src/main/resources/category/wsdl/documentation.xml new file mode 100644 index 0000000000..1e5fd3b0bf --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/documentation.xml @@ -0,0 +1,11 @@ + + + + + +Rules that are related to code documentation. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/errorprone.xml b/pmd-xml/src/main/resources/category/wsdl/errorprone.xml new file mode 100644 index 0000000000..df38a2adcd --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/errorprone.xml @@ -0,0 +1,11 @@ + + + + + +Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/multithreading.xml b/pmd-xml/src/main/resources/category/wsdl/multithreading.xml new file mode 100644 index 0000000000..bdc0c7f1ea --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/multithreading.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag issues when dealing with multiple threads of execution. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/performance.xml b/pmd-xml/src/main/resources/category/wsdl/performance.xml new file mode 100644 index 0000000000..82cc389d7f --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/performance.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag suboptimal code. + + diff --git a/pmd-xml/src/main/resources/category/wsdl/security.xml b/pmd-xml/src/main/resources/category/wsdl/security.xml new file mode 100644 index 0000000000..7b5b98a9b7 --- /dev/null +++ b/pmd-xml/src/main/resources/category/wsdl/security.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag potential security flaws. + + diff --git a/pmd-xml/src/main/resources/category/xml/bestpractices.xml b/pmd-xml/src/main/resources/category/xml/bestpractices.xml new file mode 100644 index 0000000000..cf096ad280 --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/bestpractices.xml @@ -0,0 +1,11 @@ + + + + + +Rules which enforce generally accepted best practices. + + diff --git a/pmd-xml/src/main/resources/category/xml/codestyle.xml b/pmd-xml/src/main/resources/category/xml/codestyle.xml new file mode 100644 index 0000000000..a79f8b8f44 --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/codestyle.xml @@ -0,0 +1,11 @@ + + + + + +Rules which enforce a specific coding style. + + diff --git a/pmd-xml/src/main/resources/category/xml/design.xml b/pmd-xml/src/main/resources/category/xml/design.xml new file mode 100644 index 0000000000..99dbea45ef --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/design.xml @@ -0,0 +1,11 @@ + + + + + +Rules that help you discover design issues. + + diff --git a/pmd-xml/src/main/resources/category/xml/documentation.xml b/pmd-xml/src/main/resources/category/xml/documentation.xml new file mode 100644 index 0000000000..1e5fd3b0bf --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/documentation.xml @@ -0,0 +1,11 @@ + + + + + +Rules that are related to code documentation. + + diff --git a/pmd-xml/src/main/resources/category/xml/errorprone.xml b/pmd-xml/src/main/resources/category/xml/errorprone.xml new file mode 100644 index 0000000000..b03d03ae7c --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/errorprone.xml @@ -0,0 +1,38 @@ + + + + + +Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. + + + + +An XML CDATA section begins with a <!CDATA[ marker, which has only one [, and ends with a ]]> marker, which has only two ]. + + 3 + + + + + + + + + + + + + diff --git a/pmd-xml/src/main/resources/category/xml/multithreading.xml b/pmd-xml/src/main/resources/category/xml/multithreading.xml new file mode 100644 index 0000000000..bdc0c7f1ea --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/multithreading.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag issues when dealing with multiple threads of execution. + + diff --git a/pmd-xml/src/main/resources/category/xml/performance.xml b/pmd-xml/src/main/resources/category/xml/performance.xml new file mode 100644 index 0000000000..82cc389d7f --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/performance.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag suboptimal code. + + diff --git a/pmd-xml/src/main/resources/category/xml/security.xml b/pmd-xml/src/main/resources/category/xml/security.xml new file mode 100644 index 0000000000..7b5b98a9b7 --- /dev/null +++ b/pmd-xml/src/main/resources/category/xml/security.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag potential security flaws. + + diff --git a/pmd-xml/src/main/resources/category/xsl/bestpractices.xml b/pmd-xml/src/main/resources/category/xsl/bestpractices.xml new file mode 100644 index 0000000000..cf096ad280 --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/bestpractices.xml @@ -0,0 +1,11 @@ + + + + + +Rules which enforce generally accepted best practices. + + diff --git a/pmd-xml/src/main/resources/category/xsl/codestyle.xml b/pmd-xml/src/main/resources/category/xsl/codestyle.xml new file mode 100644 index 0000000000..ede8b0b91f --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/codestyle.xml @@ -0,0 +1,43 @@ + + + + + +Rules which enforce a specific coding style. + + + + +The XPath concat() functions accepts as many arguments as required so you can have +"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)". + + 3 + + + + + + + + + + + +]]> + + + + diff --git a/pmd-xml/src/main/resources/category/xsl/design.xml b/pmd-xml/src/main/resources/category/xsl/design.xml new file mode 100644 index 0000000000..99dbea45ef --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/design.xml @@ -0,0 +1,11 @@ + + + + + +Rules that help you discover design issues. + + diff --git a/pmd-xml/src/main/resources/category/xsl/documentation.xml b/pmd-xml/src/main/resources/category/xsl/documentation.xml new file mode 100644 index 0000000000..1e5fd3b0bf --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/documentation.xml @@ -0,0 +1,11 @@ + + + + + +Rules that are related to code documentation. + + diff --git a/pmd-xml/src/main/resources/category/xsl/errorprone.xml b/pmd-xml/src/main/resources/category/xsl/errorprone.xml new file mode 100644 index 0000000000..df38a2adcd --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/errorprone.xml @@ -0,0 +1,11 @@ + + + + + +Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. + + diff --git a/pmd-xml/src/main/resources/category/xsl/multithreading.xml b/pmd-xml/src/main/resources/category/xsl/multithreading.xml new file mode 100644 index 0000000000..bdc0c7f1ea --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/multithreading.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag issues when dealing with multiple threads of execution. + + diff --git a/pmd-xml/src/main/resources/category/xsl/performance.xml b/pmd-xml/src/main/resources/category/xsl/performance.xml new file mode 100644 index 0000000000..c5cf0a04d1 --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/performance.xml @@ -0,0 +1,58 @@ + + + + + +Rules that flag suboptimal code. + + + + +Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cut +through 100% of the document in the worst case. Also, try to avoid using 'descendant' +or 'descendant-self' axes, as if you're at the top of the Document, it necessarily means +cutting through 100% of the document. + + 3 + + + + + + + + + + + +]]> + + + + diff --git a/pmd-xml/src/main/resources/category/xsl/security.xml b/pmd-xml/src/main/resources/category/xsl/security.xml new file mode 100644 index 0000000000..7b5b98a9b7 --- /dev/null +++ b/pmd-xml/src/main/resources/category/xsl/security.xml @@ -0,0 +1,11 @@ + + + + + +Rules that flag potential security flaws. + + diff --git a/pmd-xml/src/main/resources/rulesets/pom/basic.xml b/pmd-xml/src/main/resources/rulesets/pom/basic.xml index 2a56620ebd..921f405166 100644 --- a/pmd-xml/src/main/resources/rulesets/pom/basic.xml +++ b/pmd-xml/src/main/resources/rulesets/pom/basic.xml @@ -8,79 +8,7 @@ The Basic POM Ruleset contains a collection of good practices regarding Maven's POM files. - - -Using that expression in dependency declarations seems like a shortcut, but it can go wrong. -By far the most common problem is the use of ${project.version} in a BOM or parent POM. - - 3 - - - - - - - - - - ... - - ... - ${project.dependency} - - -]]> - - - - - -While Maven will not failed if you use an invalid type for a dependency in the -dependency management section, it will not also uses the dependency. - - 3 - - - - - - - - - - - - ... - - ... - - org.jboss.arquillian - arquillian-bom - ${arquillian.version} - bom - import - - ... - - - ]]> - - + + diff --git a/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties b/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties index c5f6f4b8a2..f0e9445d7a 100644 --- a/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties +++ b/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties @@ -2,4 +2,17 @@ # BSD-style license; for more info see http://pmd.sourceforge.net/license.html # -rulesets.filenames=rulesets/pom/basic.xml +rulesets.filenames=\ + category/pom/errorprone.xml + +# +# categories without rules +# +# category/pom/bestpractices.xml +# category/pom/codestyle.xml +# category/pom/design.xml +# category/pom/documentation.xml +# category/pom/multithreading.xml +# category/pom/performance.xml +# category/pom/security.xml + diff --git a/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties b/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties index c7514b5edc..28b33d4e5e 100644 --- a/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties +++ b/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties @@ -3,3 +3,16 @@ # rulesets.filenames= + +# +# categories without rules +# +# category/wsdl/bestpractices.xml +# category/wsdl/codestyle.xml +# category/wsdl/design.xml +# category/wsdl/documentation.xml +# category/wsdl/errorprone.xml +# category/wsdl/multithreading.xml +# category/wsdl/performance.xml +# category/wsdl/security.xml + diff --git a/pmd-xml/src/main/resources/rulesets/xml/basic.xml b/pmd-xml/src/main/resources/rulesets/xml/basic.xml index f847520c7c..fafaada9cf 100644 --- a/pmd-xml/src/main/resources/rulesets/xml/basic.xml +++ b/pmd-xml/src/main/resources/rulesets/xml/basic.xml @@ -8,30 +8,6 @@ The Basic XML Ruleset contains a collection of good practices which everyone should follow. - - -An XML CDATA section begins with a <!CDATA[ marker, which has only one [, and ends with a ]]> marker, which has only two ]. - - 3 - - - - - - - - - - - + diff --git a/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties b/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties index a19ec1e61e..5fbda38080 100644 --- a/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties +++ b/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties @@ -2,4 +2,17 @@ # BSD-style license; for more info see http://pmd.sourceforge.net/license.html # -rulesets.filenames=rulesets/xml/basic.xml +rulesets.filenames=\ + category/xml/errorprone.xml + +# +# categories without rules +# +# category/xml/bestpractices.xml +# category/xml/codestyle.xml +# category/xml/design.xml +# category/xml/documentation.xml +# category/xml/multithreading.xml +# category/xml/performance.xml +# category/xml/security.xml + diff --git a/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties b/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties index 89e311fb03..a6c028c251 100644 --- a/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties +++ b/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties @@ -2,4 +2,17 @@ # BSD-style license; for more info see http://pmd.sourceforge.net/license.html # -rulesets.filenames=rulesets/xsl/xpath.xml +rulesets.filenames=\ + category/xsl/codestyle.xml,\ + category/xsl/performance.xml + +# +# categories without rules +# +# category/xsl/bestpractices.xml +# category/xsl/design.xml +# category/xsl/documentation.xml +# category/xsl/errorprone.xml +# category/xsl/multithreading.xml +# category/xsl/security.xml + diff --git a/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml b/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml index c075ceb4e2..c7418e106a 100644 --- a/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml +++ b/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml @@ -8,81 +8,7 @@ This ruleset regroups a collection of good practices regarding XPath querying and functions inside an XSL. - - -The XPath concat() functions accepts as many arguments as required so you can have -"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)". - - 3 - - - - - - - - - - - -]]> - - - - - -Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cut -through 100% of the document in the worst case. Also, try to avoid using 'descendant' -or 'descendant-self' axes, as if you're at the top of the Document, it necessarily means -cutting through 100% of the document. - - 3 - - - - - - - - - - - -]]> - - + + diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/basic/BasicRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/errorprone/ErrorProneRulesTest.java similarity index 62% rename from pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/basic/BasicRulesTest.java rename to pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/errorprone/ErrorProneRulesTest.java index c917dbbff8..148345b54c 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/basic/BasicRulesTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/errorprone/ErrorProneRulesTest.java @@ -2,17 +2,17 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.pom.rule.basic; +package net.sourceforge.pmd.lang.pom.rule.errorprone; import net.sourceforge.pmd.testframework.SimpleAggregatorTst; -public class BasicRulesTest extends SimpleAggregatorTst { +public class ErrorProneRulesTest extends SimpleAggregatorTst { - private static final String RULESET = "pom-basic"; + private static final String RULESET = "category/pom/errorprone.xml"; @Override public void setUp() { - addRule(RULESET, "ProjectVersionAsDependencyVersion"); addRule(RULESET, "InvalidDependencyTypes"); + addRule(RULESET, "ProjectVersionAsDependencyVersion"); } } diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/basic/BasicRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/errorprone/ErrorProneRulesTest.java similarity index 57% rename from pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/basic/BasicRulesTest.java rename to pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/errorprone/ErrorProneRulesTest.java index 315b31cfef..332e370b2d 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/basic/BasicRulesTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/errorprone/ErrorProneRulesTest.java @@ -2,13 +2,13 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.xml.rule.basic; +package net.sourceforge.pmd.lang.xml.rule.errorprone; import net.sourceforge.pmd.testframework.SimpleAggregatorTst; -public class BasicRulesTest extends SimpleAggregatorTst { +public class ErrorProneRulesTest extends SimpleAggregatorTst { - private static final String RULESET = "xml-basic"; + private static final String RULESET = "category/xml/errorprone.xml"; @Override public void setUp() { diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/codestyle/CodeStyleRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/codestyle/CodeStyleRulesTest.java new file mode 100644 index 0000000000..43ec81151f --- /dev/null +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/codestyle/CodeStyleRulesTest.java @@ -0,0 +1,17 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + +package net.sourceforge.pmd.lang.xsl.rule.codestyle; + +import net.sourceforge.pmd.testframework.SimpleAggregatorTst; + +public class CodeStyleRulesTest extends SimpleAggregatorTst { + + private static final String RULESET = "category/xsl/codestyle.xml"; + + @Override + public void setUp() { + addRule(RULESET, "UseConcatOnce"); + } +} diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/xpath/XPathRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/performance/PerformanceRulesTest.java similarity index 55% rename from pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/xpath/XPathRulesTest.java rename to pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/performance/PerformanceRulesTest.java index c4fc0caffc..fc10ee21b8 100644 --- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/xpath/XPathRulesTest.java +++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/performance/PerformanceRulesTest.java @@ -2,17 +2,16 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.xsl.rule.xpath; +package net.sourceforge.pmd.lang.xsl.rule.performance; import net.sourceforge.pmd.testframework.SimpleAggregatorTst; -public class XPathRulesTest extends SimpleAggregatorTst { +public class PerformanceRulesTest extends SimpleAggregatorTst { - private static final String RULESET = "xsl-xpath"; + private static final String RULESET = "category/xsl/performance.xml"; @Override public void setUp() { - addRule(RULESET, "UseConcatOnce"); addRule(RULESET, "AvoidAxisNavigation"); } } diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/InvalidDependencyTypes.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/InvalidDependencyTypes.xml similarity index 100% rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/InvalidDependencyTypes.xml rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/InvalidDependencyTypes.xml diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/ProjectVersionAsDependencyVersion.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/ProjectVersionAsDependencyVersion.xml similarity index 100% rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/ProjectVersionAsDependencyVersion.xml rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/ProjectVersionAsDependencyVersion.xml diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/basic/xml/MistypedCDATASection.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml similarity index 100% rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/basic/xml/MistypedCDATASection.xml rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/UseConcatOnce.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/codestyle/xml/UseConcatOnce.xml similarity index 100% rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/UseConcatOnce.xml rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/codestyle/xml/UseConcatOnce.xml diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/AvoidAxisNavigation.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/performance/xml/AvoidAxisNavigation.xml similarity index 100% rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/AvoidAxisNavigation.xml rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/performance/xml/AvoidAxisNavigation.xml