Add configuration for the newer eclipse-pmd plugin that is used in Oxygen (and available in eclipse marketplace)
diff --git a/buildtools/src/main/resources/cxf-eclipse-pmd-generated b/buildtools/src/main/resources/cxf-eclipse-pmd-generated
deleted file mode 100644
index 813f4e3..0000000
--- a/buildtools/src/main/resources/cxf-eclipse-pmd-generated
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<pmd>
- <useProjectRuleSet>true</useProjectRuleSet>
- <includeDerivedFiles>false</includeDerivedFiles>
- <violationsAsErrors>true</violationsAsErrors>
- <fullBuildEnabled>true</fullBuildEnabled>
- <ruleSetFile>.ruleset</ruleSetFile>
- <includePatterns>
- <includePattern>*.java</includePattern>
- </includePatterns>
-</pmd>
\ No newline at end of file
diff --git a/buildtools/src/main/resources/cxf-eclipse-pmd-new b/buildtools/src/main/resources/cxf-eclipse-pmd-new
new file mode 100644
index 0000000..a5f849c
--- /dev/null
+++ b/buildtools/src/main/resources/cxf-eclipse-pmd-new
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<eclipse-pmd xmlns="http://acanda.ch/eclipse-pmd/0.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://acanda.ch/eclipse-pmd/0.8 http://acanda.ch/eclipse-pmd/eclipse-pmd-0.8.xsd">
+ <analysis enabled="true" />
+ <rulesets>
+ <ruleset name="CXF PMD RuleSet" ref=".ruleset" refcontext="project" />
+ </rulesets>
+</eclipse-pmd>
diff --git a/buildtools/src/main/resources/cxf-pmd-ruleset-generated.xml b/buildtools/src/main/resources/cxf-pmd-ruleset-generated.xml
deleted file mode 100644
index c09e857..0000000
--- a/buildtools/src/main/resources/cxf-pmd-ruleset-generated.xml
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<!--
- Modified version of the cxf ruleset to turn off warnings that are common
- in generated code. Some code generators (like SDO) output some code
- that generate some PMD warnings. We run PMD as part of the maven
- build prior to generating code, so it's not a problem there. But in
- Eclipse, we need a PMD ruleset that turns off those warnings as the
- PMD eclipse plugin doesn't have a way to not run on certain files
- -->
-
-<ruleset name="pmd-cxf-eclipse-generated" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
- <description>CXF PMD Plugin preferences rule set</description>
-
- <exclude-pattern>.*target.*</exclude-pattern>
- <exclude-pattern>.*.xml</exclude-pattern>
- <exclude-pattern>.*.xsl</exclude-pattern>
- <exclude-pattern>.*.wsdl</exclude-pattern>
- <exclude-pattern>.*.xsd</exclude-pattern>
- <exclude-pattern>.*.html</exclude-pattern>
- <exclude-pattern>.*.class</exclude-pattern>
- <exclude-pattern>.*.txt</exclude-pattern>
- <exclude-pattern>.*NOTICE</exclude-pattern>
-
- <rule ref="rulesets/java/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/java/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/java/basic.xml/DoubleCheckedLocking"/>
- <!--<rule ref="rulesets/java/empty.xml/EmptyCatchBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyFinallyBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/java/empty.xml/EmptyStatementNotInLoop"/>
- <!--<rule ref="rulesets/java/empty.xml/EmptyStaticInitializer"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptySwitchStatements"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptySynchronizedBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyTryBlock"/>-->
- <!--<rule ref="rulesets/java/empty.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/java/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/java/basic.xml/JumbledIncrementer"/>
- <!--<rule ref="rulesets/java/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/java/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/java/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/java/unnecessary.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/java/unnecessary.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/java/unnecessary.xml/UnnecessaryReturn"/>
- <!--<rule ref="rulesets/java/unnecessary.xml/UselessOverridingMethod"/>-->
-
- <!--<rule ref="rulesets/java/braces.xml/ForLoopsMustUseBraces"/>-->
- <!--<rule ref="rulesets/java/braces.xml/IfElseStmtsMustUseBraces"/>-->
- <!--<rule ref="rulesets/java/braces.xml/IfStmtsMustUseBraces"/>-->
- <!--<rule ref="rulesets/java/braces.xml/WhileLoopsMustUseBraces"/>-->
-
- <!--<rule ref="rulesets/java/clone.xml/CloneMethodMustImplementCloneable"/>-->
- <!--<rule ref="rulesets/java/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
- <!--<rule ref="rulesets/java/clone.xml/ProperCloneImplementation"/>-->
-
- <!--<rule ref="rulesets/java/codesize.xml/CyclomaticComplexity"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessiveClassLength"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessiveMethodLength"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessiveParameterList"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/ExcessivePublicCount"/>-->
- <!--<rule ref="rulesets/java/codesize.xml/TooManyFields"/>-->
-
- <!--<rule ref="rulesets/java/controversial.xml/AssignmentInOperand"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/AtLeastOneConstructor"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/CallSuperInConstructor"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/DontImportSun"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/NullAssignment"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/OnlyOneReturn"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/SingularField"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/SuspiciousOctalEscape"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/UnnecessaryConstructor"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/UnnecessaryParentheses"/>-->
- <!--<rule ref="rulesets/java/controversial.xml/UnusedModifier"/>-->
-
- <!--<rule ref="rulesets/java/coupling.xml/CouplingBetweenObjects"/>-->
- <!--<rule ref="rulesets/java/coupling.xml/ExcessiveImports"/>-->
- <!--<rule ref="rulesets/java/coupling.xml/LooseCoupling"/>-->
-
- <!--<rule ref="rulesets/java/design.xml/AbstractClassWithoutAbstractMethod"/>-->
- <!--<rule ref="rulesets/java/design.xml/AccessorClassGeneration"/>-->
- <!--<rule ref="rulesets/java/design.xml/AssignmentToNonFinalStatic"/>-->
- <!--<rule ref="rulesets/java/design.xml/AvoidDeeplyNestedIfStmts"/>-->
- <!--<rule ref="rulesets/java/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
- <rule ref="rulesets/java/design.xml/AvoidProtectedFieldInFinalClass"/>
- <!--<rule ref="rulesets/java/design.xml/AvoidReassigningParameters"/>-->
- <!--<rule ref="rulesets/java/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
- <!--<rule ref="rulesets/java/design.xml/BadComparison"/>-->
- <!--<rule ref="rulesets/java/design.xml/CloseConnection"/>-->
- <!--<rule ref="rulesets/java/design.xml/CompareObjectsWithEquals"/>-->
- <!--<rule ref="rulesets/java/design.xml/ConfusingTernary"/>-->
- <rule ref="rulesets/java/design.xml/ConstructorCallsOverridableMethod"/>
- <!--<rule ref="rulesets/java/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
- <!--<rule ref="rulesets/java/design.xml/FinalFieldCouldBeStatic"/>-->
- <rule ref="rulesets/java/design.xml/IdempotentOperations"/>
- <!--<rule ref="rulesets/java/design.xml/ImmutableField"/>-->
- <!--<rule ref="rulesets/java/design.xml/InstantiationToGetClass"/>-->
- <!--<rule ref="rulesets/java/design.xml/MissingBreakInSwitch"/>-->
- <!--<rule ref="rulesets/java/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
- <!--<rule ref="rulesets/java/design.xml/NonCaseLabelInSwitchStatement"/>-->
- <!--<rule ref="rulesets/java/design.xml/NonStaticInitializer"/>-->
- <rule ref="rulesets/java/design.xml/OptimizableToArrayCall"/>
- <rule ref="rulesets/java/design.xml/PositionLiteralsFirstInComparisons"/>
- <rule ref="rulesets/java/design.xml/SimplifyBooleanExpressions"/>
- <rule ref="rulesets/java/design.xml/SimplifyBooleanReturns"/>
- <rule ref="rulesets/java/design.xml/SimplifyConditional"/>
- <!--<rule ref="rulesets/java/design.xml/SwitchDensity"/>-->
- <!--<rule ref="rulesets/java/design.xml/SwitchStmtsShouldHaveDefault"/>-->
- <!--rule ref="rulesets/java/design.xml/UnnecessaryLocalBeforeReturn"/-->
- <!--<rule ref="rulesets/java/design.xml/UseLocaleWithCaseConversions"/>-->
- <!--<rule ref="rulesets/java/design.xml/UseNotifyAllInsteadOfNotify"/>-->
- <!--<rule ref="rulesets/java/design.xml/UseUtilityClass"/>-->
-
- <!--<rule ref="rulesets/java/finalizers.xml/EmptyFinalizer"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeOverloaded"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/FinalizeShouldBeProtected"/>-->
- <!--<rule ref="rulesets/java/finalizers.xml/AvoidCallingFinalize"/>-->
-
- <!--<rule ref="rulesets/java/imports.xml/DuplicateImports"/>-->
- <!--<rule ref="rulesets/java/imports.xml/DontImportJavaLang"/>-->
- <!--<rule ref="rulesets/java/imports.xml/UnusedImports"/>-->
- <!--<rule ref="rulesets/java/imports.xml/ImportFromSamePackage"/>-->
-
- <!--<rule ref="rulesets/java/javabeans.xml/BeanMembersShouldSerialize"/>-->
- <!--<rule ref="rulesets/java/javabeans.xml/MissingSerialVersionUID"/>-->
-
- <!--<rule ref="rulesets/java/junit.xml/JUnitStaticSuite"/>-->
- <!--<rule ref="rulesets/java/junit.xml/JUnitSpelling"/>-->
- <!--<rule ref="rulesets/java/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
- <!--<rule ref="rulesets/java/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
- <!--<rule ref="rulesets/java/junit.xml/TestClassWithoutTestCases"/>-->
- <!--<rule ref="rulesets/java/junit.xml/UnnecessaryBooleanAssertion"/>-->
- <!--<rule ref="rulesets/java/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
- <!--<rule ref="rulesets/java/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/java/logging-java.xml/AvoidPrintStackTrace"/>-->
- <rule ref="rulesets/java/logging-java.xml/LoggerIsNotStaticFinal"/>
- <!--<rule ref="rulesets/java/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/java/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/java/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/java/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/java/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/java/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/java/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/java/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/java/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/java/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/java/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/java/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/java/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/java/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/java/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/java/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/java/optimizations.xml/UseStringBuilderForStringAppends"/>-->
-
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/java/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/java/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/java/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/java/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/java/strings.xml/AvoidConcatenatingNonLiteralsInStringBuilder"/>-->
- <!--<rule ref="rulesets/java/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/java/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/java/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <!--rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable"/-->
- <!--rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField"/-->
- <!--rule ref="rulesets/java/unusedcode.xml/UnusedPrivateMethod"/-->
- <!--<rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter"/>-->
-
- <rule name="DontUseLoggerGetLogger"
- message="Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead"
- class="net.sourceforge.pmd.lang.rule.XPathRule"
- language="java">
- <priority>2</priority>
- <description>Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead</description>
- <properties>
- <property name="xpath">
- <value>
-<![CDATA[
-//PrimaryPrefix/Name[ends-with(@Image, 'Logger.getLogger') and //PackageDeclaration/Name[starts-with(@Image, 'org.apache.cxf')] and not(//ExtendsList/ClassOrInterfaceType[contains(@Image, 'Service')])]
-]]>
- </value>
- </property>
- </properties>
- </rule>
-
-</ruleset>