2016-06-06 15 views
0

Beim Erstellen des SonarQube-Qualitätsprofils habe ich eine Checkstyle-Datei bereitgestellt. Nachdem Qualitätsprofil erstellt wurde, überprüfe ich, welcher Checkstyle (Permalinks) und welcher von mir erstellt wurde. Ich bin neu in diesem Bereich, könntest du etwas Licht darauf werfen?Warum verwendet checkstyle SonarQube Quality Profile anders als checkstyle?

Original-Check I zur Verfügung gestellt:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> 

<module name="Checker"> 
    <property name="severity" value="warning"/> 
    <module name="TreeWalker"> 
     <module name="FileContentsHolder"/> 
     <module name="CyclomaticComplexity"> 
      <property name="severity" value="warning"/> 
      <property name="max" value="25"/> 
     </module> 
     <module name="InterfaceIsType"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="HiddenFieldCheck"> 
      <property name="severity" value="warning"/> 
      <property name="tokens" value="VARIABLE_DEF"/> 
      <property name="ignoreConstructorParameter" value="true"/> 
      <property name="ignoreSetter" value="true"/> 
      <property name="ignoreAbstractMethods" value="true"/> 
     </module> 
     <module name="TypecastParenPadCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="StringLiteralEquality"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="LocalVariableNameCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="NoWhitespaceBeforeCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="RedundantImport"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="AnonInnerLength"> 
      <property name="severity" value="warning"/> 
      <property name="max" value="50"/> 
     </module> 
     <module name="StaticVariableNameCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ParameterName"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ParenPadCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="FinalClass"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="MethodTypeParameterName"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="WhitespaceAfterCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="UpperEll"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="LocalFinalVariableName"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="JavadocVariableCheck"> 
      <property name="severity" value="ignore"/> 
      <property name="scope" value="public"/> 
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="info"/> 
     </module> 
     <module name="TypeNameCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="MemberNameCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="NeedBracesCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="VisibilityModifier"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="FinalParametersCheck"> 
      <property name="severity" value="ignore"/> 
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="warning"/> 
     </module> 
     <module name="PackageName"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ParameterAssignment"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="RedundantThrows"> 
      <property name="severity" value="ignore"/> 
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="info"/> 
     </module> 
     <module name="IllegalImport"> 
      <property name="severity" value="error"/> 
     </module> 
     <module name="AvoidNestedBlocks"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="TodoCommentCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="DesignForExtension"> 
      <property name="severity" value="ignore"/> 
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="warning"/> 
     </module> 
     <module name="SimplifyBooleanReturn"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="HideUtilityClassConstructor"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="SimplifyBooleanExpression"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ClassTypeParameterName"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="JavadocStyleCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="BooleanExpressionComplexityCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="InnerAssignmentCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="MagicNumberCheck"> 
      <property name="severity" value="ignore"/> 
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="warning"/> 
     </module> 
     <module name="JavadocTypeCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="IllegalInstantiation"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="IllegalThrows"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="RedundantModifierCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="LeftCurlyCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="TrailingComment"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="MethodName"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="LineLength"> 
      <property name="severity" value="warning"/> 
      <property name="max" value="160"/> 
     </module> 
     <module name="AvoidStarImport"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="DefaultComesLast"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="OperatorWrapCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="EmptyBlock"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="MethodLengthCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="EqualsHashCode"> 
      <property name="severity" value="error"/> 
     </module> 
     <module name="MissingSwitchDefault"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="MethodParamPadCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="GenericWhitespace"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="EmptyStatement"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="RightCurlyCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="ConstantNameCheck"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ArrayTypeStyle"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="UnusedImports"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="WhitespaceAroundCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="ModifierOrder"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="JavadocMethodCheck"> 
      <property name="severity" value="warning"/> 
      <property name="suppressLoadErrors" value="true"/> 
     </module> 
     <module name="NoWhitespaceAfterCheck"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="FallThrough"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="MultipleVariableDeclarations"> 
      <property name="severity" value="warning"/> 
     </module> 
    </module> 
    <module name="SuppressionCommentFilter"/> 
    <module name="NewlineAtEndOfFile"> 
     <property name="severity" value="info"/> 
    </module> 
    <module name="FileTabCharacter"> 
     <property name="severity" value="info"/> 
    </module> 
    <module name="FileLength"> 
     <property name="severity" value="warning"/> 
    </module> 
    <module name="JavadocPackage"> 
     <property name="severity" value="ignore"/> 
     <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="info"/> 
    </module> 
    <module name="RegexpSinglelineCheck"> 
     <property name="severity" value="ignore"/> 
     <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 
    </module> 
    <module name="SuppressionFilter"> 
     <property name="file" value="${samedir}\suppressions.xml"/> 
    </module> 
</module> 

check die Sonarqube Qualitätsprofil verwendet (Permalinks):

<!-- Generated by Sonar --> 
<module name="Checker"> 
    <module name="SuppressionCommentFilter"/> 
    <module name="SuppressWarningsFilter"/> 
    <module name="FileTabCharacter"> 
     <property name="severity" value="info"/> 
    </module> 
    <module name="JavadocPackage"> 
     <property name="severity" value="info"/> 
    </module> 
    <module name="FileLength"> 
     <property name="severity" value="warning"/> 
    </module> 
    <module name="NewlineAtEndOfFile"> 
     <property name="severity" value="info"/> 
     <property name="lineSeparator" value="system"/> 
    </module> 
    <module name="TreeWalker"> 
     <module name="FileContentsHolder"/> 
     <module name="SuppressWarningsHolder"/> 
     <module name="AnonInnerLength"> 
      <property name="severity" value="warning"/> 
      <property name="max" value="50"/> 
     </module> 
     <module name="ArrayTypeStyle"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="AvoidNestedBlocks"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="AvoidStarImport"> 
      <property name="severity" value="warning"/> 
      <property name="allowStaticMemberImports" value="false"/> 
      <property name="allowClassImports" value="false"/> 
     </module> 
     <module name="ClassTypeParameterName"> 
      <property name="severity" value="warning"/> 
      <property name="format" value="^[A-Z]$"/> 
     </module> 
     <module name="CyclomaticComplexity"> 
      <property name="severity" value="warning"/> 
      <property name="max" value="25"/> 
      <property name="switchBlockAsSingleDecisionPoint" value="false"/> 
      <property name="tokens" value="LITERAL_WHILE,LITERAL_DO,LITERAL_FOR,LITERAL_IF,LITERAL_SWITCH,LITERAL_CASE,LITERAL_CATCH,QUESTION,LAND,LOR"/> 
     </module> 
     <module name="DefaultComesLast"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="DesignForExtension"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="EmptyBlock"> 
      <property name="severity" value="info"/> 
      <property name="option" value="stmt"/> 
      <property name="tokens" value="LITERAL_WHILE,LITERAL_TRY,LITERAL_FINALLY,LITERAL_DO,LITERAL_IF,LITERAL_ELSE,LITERAL_FOR,INSTANCE_INIT,STATIC_INIT,LITERAL_SWITCH,LITERAL_SYNCHRONIZED"/> 
     </module> 
     <module name="EmptyStatement"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="EqualsHashCode"> 
      <property name="severity" value="error"/> 
     </module> 
     <module name="FallThrough"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="FinalClass"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="GenericWhitespace"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="HideUtilityClassConstructor"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="IllegalImport"> 
      <property name="severity" value="error"/> 
     </module> 
     <module name="IllegalInstantiation"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="IllegalThrows"> 
      <property name="severity" value="warning"/> 
      <property name="ignoreOverriddenMethods" value="true"/> 
     </module> 
     <module name="InterfaceIsType"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="LineLength"> 
      <property name="severity" value="warning"/> 
      <property name="max" value="160"/> 
     </module> 
     <module name="LocalFinalVariableName"> 
      <property name="severity" value="warning"/> 
      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> 
     </module> 
     <module name="MethodName"> 
      <property name="severity" value="warning"/> 
      <property name="allowClassName" value="false"/> 
      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> 
     </module> 
     <module name="MethodTypeParameterName"> 
      <property name="severity" value="warning"/> 
      <property name="format" value="^[A-Z]$"/> 
     </module> 
     <module name="MissingSwitchDefault"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ModifierOrder"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="MultipleVariableDeclarations"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="PackageName"> 
      <property name="severity" value="warning"/> 
      <property name="format" value="^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"/> 
     </module> 
     <module name="ParameterAssignment"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="ParameterName"> 
      <property name="severity" value="warning"/> 
      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> 
      <property name="ignoreOverridden" value="false"/> 
     </module> 
     <module name="RedundantImport"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="SimplifyBooleanExpression"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="SimplifyBooleanReturn"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="StringLiteralEquality"> 
      <property name="severity" value="warning"/> 
     </module> 
     <module name="TrailingComment"> 
      <property name="severity" value="info"/> 
      <property name="format" value="^[\s\}\);]*$"/> 
     </module> 
     <module name="UnusedImports"> 
      <property name="severity" value="warning"/> 
      <property name="processJavadoc" value="true"/> 
     </module> 
     <module name="UpperEll"> 
      <property name="severity" value="info"/> 
     </module> 
     <module name="VisibilityModifier"> 
      <property name="severity" value="warning"/> 
      <property name="allowPublicImmutableFields" value="true"/> 
      <property name="packageAllowed" value="false"/> 
      <property name="publicMemberPattern" value="^serialVersionUID$"/> 
      <property name="protectedAllowed" value="false"/> 
      <property name="ignoreAnnotationCanonicalNames" value="org.junit.Rule,com.google.common.annotations.VisibleForTesting"/> 
     </module> 
    </module> 
</module> 

Antwort

0

Einige Regeln mit Java Plugin Regeln ersetzt werden, andere abgebildet werden/noch nicht implementiert. Sie sollten den Kartenlink überprüfen:

Ein Großteil der Checkstyle-Regeln wurde im Sonar-Java-Plugin eingeführt. Kopierte Regeln werden im Checkstyle-Plugin nur als "Veraltet" markiert, da das Sonar-Plugin eine ähnliche Regel hat, aber eine Zusammenfassung von map/replaced rules (a lot of mistakes) ist verfügbar.

Quelle https://github.com/checkstyle/sonar-checkstyle

Verwandte Themen