Format HTML and XML files (#944)

Generated by wpilibsuite/styleguide#52.
This commit is contained in:
Tyler Veness
2018-05-15 23:58:20 -07:00
committed by Peter Johnson
parent adb6098353
commit d8c8643b52
7 changed files with 633 additions and 503 deletions

View File

@@ -1,8 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE module PUBLIC <!DOCTYPE
"-//Puppy Crawl//DTD Check Configuration 1.3//EN" module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!-- <!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html. that can be found at https://google.github.io/styleguide/javaguide.html.
@@ -14,214 +13,273 @@
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov. Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
--> -->
<module name="Checker">
<module name = "Checker"> <property name="charset"
<property name="charset" value="UTF-8"/> value="UTF-8" />
<property name="severity"
<property name="severity" value="error"/> value="error" />
<module name="SuppressionFilter">
<module name="SuppressionFilter"> <property name="file"
<property name="file" value="styleguide/suppressions.xml" /> value="styleguide/suppressions.xml" />
</module>
<property name="fileExtensions"
value="java, properties, xml" />
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine"
value="true" />
</module>
<module name="NewlineAtEndOfFile">
<property name="lineSeparator"
value="lf" />
</module>
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
<module name="SuppressWarningsHolder" />
<module name="OuterTypeFilename" />
<module name="IllegalTokenText">
<property name="tokens"
value="STRING_LITERAL, CHAR_LITERAL" />
<property name="format"
value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)" />
<property name="message"
value="Avoid using corresponding octal or Unicode escape." />
</module> </module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="fileExtensions" value="java, properties, xml"/> <property name="allowEscapesForControlCharacters"
<!-- Checks for whitespace --> value="true" />
<!-- See http://checkstyle.sf.net/config_whitespace.html --> <property name="allowByTailComment"
<module name="FileTabCharacter"> value="true" />
<property name="eachLine" value="true"/> <property name="allowNonPrintableEscapes"
value="true" />
</module> </module>
<module name="NewlineAtEndOfFile"> <module name="LineLength">
<property name="lineSeparator" value="lf"/> <property name="max"
value="100" />
<property name="ignorePattern"
value="^package.*|^import.*|a href|href|http://|https://|ftp://" />
</module> </module>
<module name="AvoidStarImport" />
<module name="SuppressWarningsFilter" /> <module name="RedundantImport" />
<module name="UnusedImports" />
<module name="TreeWalker"> <module name="OneTopLevelClass" />
<module name="SuppressWarningsHolder" /> <module name="NoLineWrap" />
<module name="OuterTypeFilename"/> <module name="EmptyBlock">
<module name="IllegalTokenText"> <property name="option"
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/> value="TEXT" />
<property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/> <property name="tokens"
<property name="message" value="Avoid using corresponding octal or Unicode escape."/> value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
</module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowEscapesForControlCharacters" value="true"/>
<property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/>
</module>
<module name="LineLength">
<property name="max" value="100"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="AvoidStarImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="OneTopLevelClass"/>
<module name="NoLineWrap"/>
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<module name="NeedBraces"/>
<module name="LeftCurly">
<property name="maxLineLength" value="100"/>
</module>
<module name="RightCurly"/>
<module name="RightCurly">
<property name="option" value="alone"/>
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="WhitespaceAfter"/>
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="ArrayTypeStyle"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="SimplifyBooleanExpression"/>
<module name="SimplifyBooleanReturn"/>
<module name="StringLiteralEquality"/>
<module name="UnnecessaryParentheses"/>
<module name="UpperEll"/>
<module name="ModifierOrder"/>
<module name="RedundantModifier"/>
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
</module>
<module name="SeparatorWrap">
<property name="tokens" value="DOT"/>
<property name="option" value="nl"/>
</module>
<module name="SeparatorWrap">
<property name="tokens" value="COMMA"/>
<property name="option" value="EOL"/>
</module>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="TypeName">
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MemberName">
<property name="format" value="^m_[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ParameterName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CatchParameterName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LocalVariableName">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<property name="allowOneCharVarInForLoop" value="true"/>
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name="Indentation">
<property name="basicOffset" value="2"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="2"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="2"/>
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal" value="false"/>
<property name="allowedAbbreviationLength" value="3"/>
</module>
<module name="OverloadMethodsDeclarationOrder"/>
<module name="VariableDeclarationUsageDistance"/>
<module name="MethodParamPad"/>
<module name="TypecastParenPad"/>
<module name="OperatorWrap">
<property name="option" value="NL"/>
<property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
</module>
<module name="AnnotationLocation">
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
</module>
<module name="AnnotationLocation">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="allowSamelineMultipleAnnotations" value="true"/>
</module>
<module name="NonEmptyAtclauseDescription"/>
<module name="JavadocTagContinuationIndentation"/>
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
<module name="JavadocParagraph"/>
<module name="AtclauseOrder">
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
</module>
<module name="JavadocMethod">
<property name="scope" value="public"/>
<property name="allowMissingParamTags" value="true"/>
<property name="allowMissingThrowsTags" value="true"/>
<property name="allowMissingReturnTag" value="true"/>
<property name="minLineCount" value="2"/>
<property name="allowedAnnotations"
value="Override, Test, Before, After, BeforeClass, AfterClass, Parameters"/>
<property name="allowUndeclaredRTE" value="true"/>
<property name="allowThrowsTagsForSubclasses" value="true"/>
<property name="suppressLoadErrors" value="true"/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags" value="false"/>
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/>
</module>
<module name="CommentsIndentation"/>
</module> </module>
<module name="NeedBraces" />
<module name="LeftCurly">
<property name="maxLineLength"
value="100" />
</module>
<module name="RightCurly" />
<module name="RightCurly">
<property name="option"
value="alone" />
<property name="tokens"
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT" />
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors"
value="true" />
<property name="allowEmptyMethods"
value="true" />
<property name="allowEmptyTypes"
value="true" />
<property name="allowEmptyLoops"
value="true" />
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)" />
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace." />
</module>
<module name="WhitespaceAfter" />
<module name="OneStatementPerLine" />
<module name="MultipleVariableDeclarations" />
<module name="ArrayTypeStyle" />
<module name="MissingSwitchDefault" />
<module name="FallThrough" />
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
<module name="UnnecessaryParentheses" />
<module name="UpperEll" />
<module name="ModifierOrder" />
<module name="RedundantModifier" />
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields"
value="true" />
</module>
<module name="SeparatorWrap">
<property name="tokens"
value="DOT" />
<property name="option"
value="nl" />
</module>
<module name="SeparatorWrap">
<property name="tokens"
value="COMMA" />
<property name="option"
value="EOL" />
</module>
<module name="PackageName">
<property name="format"
value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="TypeName">
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="MemberName">
<property name="format"
value="^m_[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="ParameterName">
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="CatchParameterName">
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="LocalVariableName">
<property name="tokens"
value="VARIABLE_DEF" />
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<property name="allowOneCharVarInForLoop"
value="true" />
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="ClassTypeParameterName">
<property name="format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="MethodTypeParameterName">
<property name="format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="InterfaceTypeParameterName">
<property name="format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="NoFinalizer" />
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace." />
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace." />
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace." />
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace." />
</module>
<module name="Indentation">
<property name="basicOffset"
value="2" />
<property name="braceAdjustment"
value="0" />
<property name="caseIndent"
value="2" />
<property name="throwsIndent"
value="4" />
<property name="lineWrappingIndentation"
value="4" />
<property name="arrayInitIndent"
value="2" />
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal"
value="false" />
<property name="allowedAbbreviationLength"
value="3" />
</module>
<module name="OverloadMethodsDeclarationOrder" />
<module name="VariableDeclarationUsageDistance" />
<module name="MethodParamPad" />
<module name="TypecastParenPad" />
<module name="OperatorWrap">
<property name="option"
value="NL" />
<property name="tokens"
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR " />
</module>
<module name="AnnotationLocation">
<property name="tokens"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
</module>
<module name="AnnotationLocation">
<property name="tokens"
value="VARIABLE_DEF" />
<property name="allowSamelineMultipleAnnotations"
value="true" />
</module>
<module name="NonEmptyAtclauseDescription" />
<module name="JavadocTagContinuationIndentation" />
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
</module>
<module name="JavadocParagraph" />
<module name="AtclauseOrder">
<property name="tagOrder"
value="@param, @return, @throws, @deprecated" />
<property name="target"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
</module>
<module name="JavadocMethod">
<property name="scope"
value="public" />
<property name="allowMissingParamTags"
value="true" />
<property name="allowMissingThrowsTags"
value="true" />
<property name="allowMissingReturnTag"
value="true" />
<property name="minLineCount"
value="2" />
<property name="allowedAnnotations"
value="Override, Test, Before, After, BeforeClass, AfterClass, Parameters" />
<property name="allowUndeclaredRTE"
value="true" />
<property name="allowThrowsTagsForSubclasses"
value="true" />
<property name="suppressLoadErrors"
value="true" />
</module>
<module name="MethodName">
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags"
value="false" />
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName"
value="expected" />
</module>
<module name="CommentsIndentation" />
</module>
</module> </module>

View File

@@ -1,8 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE module PUBLIC <!DOCTYPE
"-//Puppy Crawl//DTD Check Configuration 1.3//EN" module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!-- <!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html. that can be found at https://google.github.io/styleguide/javaguide.html.
@@ -14,217 +13,278 @@
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov. Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
--> -->
<module name="Checker">
<module name = "Checker"> <property name="charset"
<property name="charset" value="UTF-8"/> value="UTF-8" />
<property name="severity"
<property name="severity" value="error"/> value="error" />
<module name="SuppressionFilter">
<module name="SuppressionFilter"> <property name="file"
<property name="file" value="styleguide/suppressions.xml" /> value="styleguide/suppressions.xml" />
</module>
<property name="fileExtensions"
value="java, properties, xml" />
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine"
value="true" />
</module>
<module name="NewlineAtEndOfFile">
<property name="lineSeparator"
value="lf" />
</module>
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
<module name="SuppressWarningsHolder" />
<module name="OuterTypeFilename" />
<module name="IllegalTokenText">
<property name="tokens"
value="STRING_LITERAL, CHAR_LITERAL" />
<property name="format"
value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)" />
<property name="message"
value="Avoid using corresponding octal or Unicode escape." />
</module> </module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="fileExtensions" value="java, properties, xml"/> <property name="allowEscapesForControlCharacters"
<!-- Checks for whitespace --> value="true" />
<!-- See http://checkstyle.sf.net/config_whitespace.html --> <property name="allowByTailComment"
<module name="FileTabCharacter"> value="true" />
<property name="eachLine" value="true"/> <property name="allowNonPrintableEscapes"
value="true" />
</module> </module>
<module name="NewlineAtEndOfFile"> <module name="LineLength">
<property name="lineSeparator" value="lf"/> <property name="max"
value="100" />
<property name="ignorePattern"
value="^package.*|^import.*|a href|href|http://|https://|ftp://" />
</module> </module>
<module name="AvoidStarImport" />
<module name="SuppressWarningsFilter" /> <module name="RedundantImport" />
<module name="UnusedImports" />
<module name="TreeWalker"> <module name="OneTopLevelClass" />
<module name="SuppressWarningsHolder" /> <module name="NoLineWrap" />
<module name="OuterTypeFilename"/> <module name="EmptyBlock">
<module name="IllegalTokenText"> <property name="option"
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/> value="TEXT" />
<property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/> <property name="tokens"
<property name="message" value="Avoid using corresponding octal or Unicode escape."/> value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
</module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowEscapesForControlCharacters" value="true"/>
<property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/>
</module>
<module name="LineLength">
<property name="max" value="100"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="AvoidStarImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="OneTopLevelClass"/>
<module name="NoLineWrap"/>
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<module name="NeedBraces"/>
<module name="LeftCurly">
<property name="maxLineLength" value="100"/>
</module>
<module name="RightCurly"/>
<module name="RightCurly">
<property name="option" value="alone"/>
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="WhitespaceAfter"/>
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="ArrayTypeStyle"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="SimplifyBooleanExpression"/>
<module name="SimplifyBooleanReturn"/>
<module name="StringLiteralEquality"/>
<module name="UnnecessaryParentheses"/>
<module name="UpperEll"/>
<module name="ModifierOrder"/>
<module name="RedundantModifier"/>
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
</module>
<module name="SeparatorWrap">
<property name="tokens" value="DOT"/>
<property name="option" value="nl"/>
</module>
<module name="SeparatorWrap">
<property name="tokens" value="COMMA"/>
<property name="option" value="EOL"/>
</module>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="TypeName">
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MemberName">
<property name="format" value="^m_[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ParameterName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CatchParameterName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LocalVariableName">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<property name="allowOneCharVarInForLoop" value="true"/>
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name="Indentation">
<property name="basicOffset" value="2"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="2"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="2"/>
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal" value="false"/>
<property name="allowedAbbreviationLength" value="3"/>
</module>
<module name="OverloadMethodsDeclarationOrder"/>
<module name="VariableDeclarationUsageDistance">
<property name="allowedDistance" value="8"/>
</module>
<module name="MethodParamPad"/>
<module name="TypecastParenPad"/>
<module name="OperatorWrap">
<property name="option" value="NL"/>
<property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
</module>
<module name="AnnotationLocation">
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
</module>
<module name="AnnotationLocation">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="allowSamelineMultipleAnnotations" value="true"/>
</module>
<module name="NonEmptyAtclauseDescription"/>
<module name="JavadocTagContinuationIndentation"/>
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
<module name="JavadocParagraph"/>
<module name="AtclauseOrder">
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
</module>
<module name="JavadocMethod">
<property name="scope" value="public"/>
<property name="allowMissingParamTags" value="true"/>
<property name="allowMissingThrowsTags" value="true"/>
<property name="allowMissingReturnTag" value="true"/>
<property name="minLineCount" value="2"/>
<property name="allowedAnnotations"
value="Override, Test, Before, After, BeforeClass, AfterClass, Parameters"/>
<property name="allowUndeclaredRTE" value="true"/>
<property name="allowThrowsTagsForSubclasses" value="true"/>
<property name="suppressLoadErrors" value="true"/>
<property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF"/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags" value="false"/>
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/>
</module>
<module name="CommentsIndentation"/>
</module> </module>
<module name="NeedBraces" />
<module name="LeftCurly">
<property name="maxLineLength"
value="100" />
</module>
<module name="RightCurly" />
<module name="RightCurly">
<property name="option"
value="alone" />
<property name="tokens"
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT" />
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors"
value="true" />
<property name="allowEmptyMethods"
value="true" />
<property name="allowEmptyTypes"
value="true" />
<property name="allowEmptyLoops"
value="true" />
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)" />
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace." />
</module>
<module name="WhitespaceAfter" />
<module name="OneStatementPerLine" />
<module name="MultipleVariableDeclarations" />
<module name="ArrayTypeStyle" />
<module name="MissingSwitchDefault" />
<module name="FallThrough" />
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
<module name="UnnecessaryParentheses" />
<module name="UpperEll" />
<module name="ModifierOrder" />
<module name="RedundantModifier" />
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields"
value="true" />
</module>
<module name="SeparatorWrap">
<property name="tokens"
value="DOT" />
<property name="option"
value="nl" />
</module>
<module name="SeparatorWrap">
<property name="tokens"
value="COMMA" />
<property name="option"
value="EOL" />
</module>
<module name="PackageName">
<property name="format"
value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="TypeName">
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="MemberName">
<property name="format"
value="^m_[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="ParameterName">
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="CatchParameterName">
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="LocalVariableName">
<property name="tokens"
value="VARIABLE_DEF" />
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<property name="allowOneCharVarInForLoop"
value="true" />
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="ClassTypeParameterName">
<property name="format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="MethodTypeParameterName">
<property name="format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="InterfaceTypeParameterName">
<property name="format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="NoFinalizer" />
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace." />
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace." />
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace." />
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace." />
</module>
<module name="Indentation">
<property name="basicOffset"
value="2" />
<property name="braceAdjustment"
value="0" />
<property name="caseIndent"
value="2" />
<property name="throwsIndent"
value="4" />
<property name="lineWrappingIndentation"
value="4" />
<property name="arrayInitIndent"
value="2" />
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal"
value="false" />
<property name="allowedAbbreviationLength"
value="3" />
</module>
<module name="OverloadMethodsDeclarationOrder" />
<module name="VariableDeclarationUsageDistance">
<property name="allowedDistance"
value="8" />
</module>
<module name="MethodParamPad" />
<module name="TypecastParenPad" />
<module name="OperatorWrap">
<property name="option"
value="NL" />
<property name="tokens"
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR " />
</module>
<module name="AnnotationLocation">
<property name="tokens"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
</module>
<module name="AnnotationLocation">
<property name="tokens"
value="VARIABLE_DEF" />
<property name="allowSamelineMultipleAnnotations"
value="true" />
</module>
<module name="NonEmptyAtclauseDescription" />
<module name="JavadocTagContinuationIndentation" />
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
</module>
<module name="JavadocParagraph" />
<module name="AtclauseOrder">
<property name="tagOrder"
value="@param, @return, @throws, @deprecated" />
<property name="target"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
</module>
<module name="JavadocMethod">
<property name="scope"
value="public" />
<property name="allowMissingParamTags"
value="true" />
<property name="allowMissingThrowsTags"
value="true" />
<property name="allowMissingReturnTag"
value="true" />
<property name="minLineCount"
value="2" />
<property name="allowedAnnotations"
value="Override, Test, Before, After, BeforeClass, AfterClass, Parameters" />
<property name="allowUndeclaredRTE"
value="true" />
<property name="allowThrowsTagsForSubclasses"
value="true" />
<property name="suppressLoadErrors"
value="true" />
<property name="tokens"
value="METHOD_DEF, ANNOTATION_FIELD_DEF" />
</module>
<module name="MethodName">
<property name="format"
value="^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags"
value="false" />
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName"
value="expected" />
</module>
<module name="CommentsIndentation" />
</module>
</module> </module>

View File

@@ -3,59 +3,58 @@
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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"> xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<rule ref="rulesets/java/basic.xml" />
<rule ref="rulesets/java/braces.xml" />
<rule ref="rulesets/java/empty.xml" />
<rule ref="rulesets/java/empty.xml/EmptyCatchBlock">
<properties>
<property name="allowCommentedBlocks" value="true"/>
</properties>
</rule>
<rule ref="rulesets/java/imports.xml" />
<rule ref="rulesets/java/junit.xml">
<exclude name="JUnitTestContainsTooManyAsserts" />
</rule>
<rule ref="rulesets/java/strings.xml">
<exclude name="AvoidDuplicateLiterals" />
</rule>
<rule ref="rulesets/java/unnecessary.xml" />
<rule ref="rulesets/java/unusedcode.xml" />
<rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter">
<properties>
<property name="checkAll" value="true"/>
</properties>
</rule>
<!-- Custom Rules --> <rule ref="rulesets/java/basic.xml" />
<rule ref="rulesets/java/braces.xml" />
<rule name="UseRequireNonNull" <rule ref="rulesets/java/empty.xml" />
message="Use Objects.requireNonNull() instead of throwing a NullPointerException yourself." <rule ref="rulesets/java/empty.xml/EmptyCatchBlock">
language="java" <properties>
class="net.sourceforge.pmd.lang.rule.XPathRule"> <property name="allowCommentedBlocks"
<description> value="true" />
Use Objects.requireNonNull() instead of throwing a NullPointerException yourself. </properties>
</description> </rule>
<properties> <rule ref="rulesets/java/imports.xml" />
<property name="xpath"> <rule ref="rulesets/java/junit.xml">
<value> <exclude name="JUnitTestContainsTooManyAsserts" />
<![CDATA[ </rule>
<rule ref="rulesets/java/strings.xml">
<exclude name="AvoidDuplicateLiterals" />
</rule>
<rule ref="rulesets/java/unnecessary.xml" />
<rule ref="rulesets/java/unusedcode.xml" />
<rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter">
<properties>
<property name="checkAll"
value="true" />
</properties>
</rule>
<!-- Custom Rules -->
<rule name="UseRequireNonNull"
message="Use Objects.requireNonNull() instead of throwing a NullPointerException yourself."
language="java"
class="net.sourceforge.pmd.lang.rule.XPathRule">
<description>Use Objects.requireNonNull() instead of throwing a
NullPointerException yourself.</description>
<properties>
<property name="xpath">
<value>
<![CDATA[
//IfStatement[child::Expression//NullLiteral]/Statement//ThrowStatement/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ClassOrInterfaceType[@Image='NullPointerException'] //IfStatement[child::Expression//NullLiteral]/Statement//ThrowStatement/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ClassOrInterfaceType[@Image='NullPointerException']
]]> ]]>
</value> </value>
</property> </property>
</properties> </properties>
<priority>3</priority> <priority>3</priority>
<example> <example>
<![CDATA[ <![CDATA[
public class Example { public class Example {
public Example(Object example) { public Example(Object example) {
if (example == null) { if (example == null) {
throw new NullPointerException(); throw new NullPointerException();
} }
} }
} }
]]> ]]>
</example> </example>
</rule> </rule>
</ruleset> </ruleset>

View File

@@ -1,9 +1,10 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE
<!DOCTYPE suppressions PUBLIC suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN"
"-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions> <suppressions>
<suppress files=".*sim.*" checks="[a-zA-Z0-9]*"/> <suppress files=".*sim.*"
<suppress files="edu.wpi.first.wpilibj.util.WPILibVersion" checks="[a-zA-Z0-9]*"/> checks="[a-zA-Z0-9]*" />
<suppress files="edu.wpi.first.wpilibj.util.WPILibVersion"
checks="[a-zA-Z0-9]*" />
</suppressions> </suppressions>

3
tidy-html.conf Normal file
View File

@@ -0,0 +1,3 @@
indent: yes
indent-spaces: 2
wrap: 80

4
tidy-xml.conf Normal file
View File

@@ -0,0 +1,4 @@
indent: yes
indent-spaces: 2
indent-attributes: yes
literal-attributes: yes

View File

@@ -1,25 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<title>WPI Robotics library</title> <title>
<meta http-equiv="Content-Type" content="text/html; charset=MacRoman"> WPI Robotics library
</head> </title>
<body> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
The WPI Robotics library (WPILibJ) is a set of Java classes that interfaces to the hardware in the </head>
FRC control system and your robot. There are classes to handle sensors, motors, the driver <body>
station, and a number of other utility functions like timing and field management. The WPI Robotics library (WPILibJ) is a set of Java classes that interfaces
The library is designed to: to the hardware in the FRC control system and your robot. There are classes
<ul> to handle sensors, motors, the driver station, and a number of other
<li>Deal with all the low level interfacing to these components so you can concentrate on utility functions like timing and field management. The library is designed
solving this year's "robot problem". This is a philosophical decision to let you focus to:
on the higher-level design of your robot rather than deal with the details of the <ul>
processor and the operating system. <li>Deal with all the low level interfacing to these components so you
</li> can concentrate on solving this year's "robot problem". This is a
<li>Understand everything at all levels by making the full source code of the library philosophical decision to let you focus on the higher-level design of
available. You can study (and modify) the algorithms used by the gyro class for your robot rather than deal with the details of the processor and the
oversampling and integration of the input signal or just ask the class for the current operating system.
robot heading. You can work at any level. </li>
</li> <li>Understand everything at all levels by making the full source code of
</ul> the library available. You can study (and modify) the algorithms used by
</body> the gyro class for oversampling and integration of the input signal or
</html> just ask the class for the current robot heading. You can work at any
level.
</li>
</ul>
</body>
</html>