From 57ca8cf6a01d62c9fc84e31aca7c13516815dcd7 Mon Sep 17 00:00:00 2001 From: Nils Christian Ehmke <nie@informatik.uni-kiel.de> Date: Thu, 2 Aug 2012 14:00:12 +0200 Subject: [PATCH] Modified the pmd ruleset --- Kieker.WebGUI/.pmd | 789 ++++++++++++++++++ .../config/quality-config/pmdrules.xml | 2 + 2 files changed, 791 insertions(+) create mode 100644 Kieker.WebGUI/.pmd diff --git a/Kieker.WebGUI/.pmd b/Kieker.WebGUI/.pmd new file mode 100644 index 00000000..5bed86c3 --- /dev/null +++ b/Kieker.WebGUI/.pmd @@ -0,0 +1,789 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pmd> + <useProjectRuleSet>false</useProjectRuleSet> + <ruleSetFile>.ruleset</ruleSetFile> + <rules> + <rule> + <name>AvoidDecimalLiteralsInBigDecimalConstructor</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidMultipleUnaryOperators</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidThreadGroup</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingHardCodedIP</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingOctalValues</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>BigIntegerInstantiation</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>BooleanInstantiation</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>BrokenNullCheck</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>CheckResultSet</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ClassCastExceptionWithToArray</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>CollapsibleIfStatements</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>DoubleCheckedLocking</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyCatchBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyFinallyBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyIfStmt</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyInitializer</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyStatementNotInLoop</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyStaticInitializer</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptySwitchStatements</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptySynchronizedBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyTryBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyWhileStmt</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ForLoopShouldBeWhileLoop</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>JumbledIncrementer</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>MisplacedNullCheck</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>OverrideBothEqualsAndHashcode</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ReturnFromFinallyBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnconditionalIfStatement</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryConversionTemporary</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryReturn</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnusedNullCheckInEquals</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UselessOperationOnImmutable</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UselessOverridingMethod</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ForLoopsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>IfElseStmtsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>IfStmtsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>WhileLoopsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>CloneThrowsCloneNotSupportedException</name> + <ruleset>Clone Implementation Rules</ruleset> + </rule> + <rule> + <name>ProperCloneImplementation</name> + <ruleset>Clone Implementation Rules</ruleset> + </rule> + <rule> + <name>AssignmentInOperand</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AtLeastOneConstructor</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidAccessibilityAlteration</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingNativeCode</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingShortType</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>BooleanInversion</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>DefaultPackage</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>DoNotCallGarbageCollectionExplicitly</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>DontImportSun</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>NullAssignment</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>SuspiciousOctalEscape</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryParentheses</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AbstractClassWithoutAbstractMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AbstractClassWithoutAnyMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AccessorClassGeneration</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AssignmentToNonFinalStatic</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidConstantsInterface</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidDeeplyNestedIfStmts</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidInstanceofChecksInCatchClause</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidProtectedFieldInFinalClass</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidReassigningParameters</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidSynchronizedAtMethodLevel</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>BadComparison</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>CloseResource</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>CompareObjectsWithEquals</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ConstructorCallsOverridableMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>DefaultLabelNotLastInSwitchStmt</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>EmptyMethodInAbstractClassShouldBeAbstract</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>EqualsNull</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>FinalFieldCouldBeStatic</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>IdempotentOperations</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ImmutableField</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>InstantiationToGetClass</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>MissingBreakInSwitch</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>MissingStaticMethodInNonInstantiatableClass</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>NonCaseLabelInSwitchStatement</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>NonStaticInitializer</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>NonThreadSafeSingleton</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>OptimizableToArrayCall</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>PositionLiteralsFirstInComparisons</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>PreserveStackTrace</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ReturnEmptyArrayRatherThanNull</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimpleDateFormatNeedsLocale</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimplifyBooleanExpressions</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimplifyBooleanReturns</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimplifyConditional</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SingularField</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SwitchDensity</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SwitchStmtsShouldHaveDefault</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>TooFewBranchesForASwitchStatement</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UncommentedEmptyConstructor</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UncommentedEmptyMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryLocalBeforeReturn</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UnsynchronizedStaticDateFormatter</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseCollectionIsEmpty</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseLocaleWithCaseConversions</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseNotifyAllInsteadOfNotify</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseSingleton</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidCallingFinalize</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>EmptyFinalizer</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeDoesNotCallSuperFinalize</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeOnlyCallsSuperFinalize</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeOverloaded</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeShouldBeProtected</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>DontImportJavaLang</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>DuplicateImports</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>ImportFromSamePackage</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>TooManyStaticImports</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>DoNotCallSystemExit</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>DoNotUseThreads</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>LocalHomeNamingConvention</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>LocalInterfaceSessionNamingConvention</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>MDBAndSessionBeanNamingConvention</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>RemoteInterfaceNamingConvention</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>RemoteSessionInterfaceNamingConvention</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>StaticEJBFieldShouldBeFinal</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>UseProperClassLoader</name> + <ruleset>J2EE Rules</ruleset> + </rule> + <rule> + <name>ProperLogger</name> + <ruleset>Jakarta Commons Logging Rules</ruleset> + </rule> + <rule> + <name>UseCorrectExceptionLogging</name> + <ruleset>Jakarta Commons Logging Rules</ruleset> + </rule> + <rule> + <name>JUnitAssertionsShouldIncludeMessage</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>JUnitSpelling</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>JUnitStaticSuite</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>JUnitTestsShouldIncludeAssert</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>SimplifyBooleanAssertion</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>TestClassWithoutTestCases</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryBooleanAssertion</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UseAssertEqualsInsteadOfAssertTrue</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UseAssertNullInsteadOfAssertTrue</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UseAssertSameInsteadOfAssertTrue</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>AvoidAssertAsIdentifier</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>AvoidEnumAsIdentifier</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ByteInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>IntegerInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4SuitesShouldUseSuiteAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4TestShouldUseAfterAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4TestShouldUseBeforeAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4TestShouldUseTestAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnitUseExpected</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>LongInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ReplaceEnumerationWithIterator</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ReplaceHashtableWithMap</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ReplaceVectorWithList</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ShortInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>AbstractNaming</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AvoidDollarSigns</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AvoidFieldNameMatchingMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AvoidFieldNameMatchingTypeName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>BooleanGetMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>ClassNamingConventions</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>MethodNamingConventions</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>MethodWithSameNameAsEnclosingClass</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>MisleadingVariableName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>NoPackage</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>ShortMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>SuspiciousConstantFieldName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>SuspiciousEqualsMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>SuspiciousHashcodeMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>VariableNamingConventions</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AddEmptyString</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>AvoidArrayLoops</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>LocalVariableCouldBeFinal</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>MethodArgumentCouldBeFinal</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>SimplifyStartsWith</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryWrapperObjectCreation</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UseArrayListInsteadOfVector</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UseArraysAsList</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UseStringBufferForStringAppends</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>AvoidCatchingThrowable</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidRethrowingException</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidThrowingNewInstanceOfSameException</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidThrowingRawExceptionTypes</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>DoNotExtendJavaLangError</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>DoNotThrowExceptionInFinally</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>ExceptionAsFlowControl</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AppendCharacterWithChar</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>AvoidStringBufferField</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>ConsecutiveLiteralAppends</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>InefficientEmptyStringCheck</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>InefficientStringBuffering</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>InsufficientStringBufferDeclaration</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>StringBufferInstantiationWithChar</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>StringInstantiation</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>StringToString</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryCaseChange</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UseEqualsToCompareStrings</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UseIndexOfChar</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UselessStringValueOf</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UseStringBufferLength</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>CloneMethodMustImplementCloneable</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>LooseCoupling</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>UnusedImports</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>UnusedFormalParameter</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>UnusedLocalVariable</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>UnusedPrivateField</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>UnusedPrivateMethod</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + </rules> + <includeDerivedFiles>false</includeDerivedFiles> + <violationsAsErrors>true</violationsAsErrors> +</pmd> diff --git a/Kieker.WebGUI/config/quality-config/pmdrules.xml b/Kieker.WebGUI/config/quality-config/pmdrules.xml index 7051bd82..ce632a01 100644 --- a/Kieker.WebGUI/config/quality-config/pmdrules.xml +++ b/Kieker.WebGUI/config/quality-config/pmdrules.xml @@ -39,6 +39,8 @@ <rule ref="rulesets/finalizers.xml"/> <rule ref="rulesets/imports.xml"/> + + <rule ref="rulesets/j2ee.xml"/> <rule ref="rulesets/junit.xml"/> -- GitLab