| <!-- |
| ~ 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. |
| --> |
| <!-- |
| |
| If you wish to turn off checking for a section of code, you can put a comment in the source |
| before and after the section, with the following syntax: |
| |
| // scalastyle:off |
| ... // stuff that breaks the styles |
| // scalastyle:on |
| |
| You can also disable only one rule, by specifying its rule id, as specified in: |
| http://www.scalastyle.org/rules-0.8.0.html |
| |
| // scalastyle:off no.finalize |
| override def finalize(): Unit = ... |
| // scalastyle:on no.finalize |
| |
| This file is divided into 3 sections: |
| (1) rules that we enforce. |
| (2) rules that we would like to enforce, but haven't cleaned up the codebase to turn on yet |
| (or we need to make the scalastyle rule more configurable). |
| (3) rules that we don't want to enforce. |
| --> |
| |
| <scalastyle> |
| <name>Scalastyle standard configuration</name> |
| |
| <check level="error" class="org.scalastyle.file.FileTabChecker" enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.file.HeaderMatchesChecker" enabled="true"> |
| <parameters> |
| <parameter name="header"><![CDATA[/* |
| * 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. |
| */]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.file.FileLineLengthChecker" enabled="true"> |
| <parameters> |
| <parameter name="maxLineLength"><![CDATA[100]]></parameter> |
| <parameter name="tabSize"><![CDATA[2]]></parameter> |
| <parameter name="ignoreImports">true</parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true"> |
| <parameters> |
| <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true"> |
| <parameters> |
| <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true"> |
| <parameters> |
| <parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true"> |
| <parameters> |
| <parameter name="maxParameters"><![CDATA[10]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.CovariantEqualsChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.StructuralTypeChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.IfBraceChecker" enabled="true"> |
| <parameters> |
| <parameter name="singleLineAllowed"><![CDATA[true]]></parameter> |
| <parameter name="doubleLineAllowed"><![CDATA[true]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.NonASCIICharacterChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.SpaceAfterCommentStartChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.scalariform.EnsureSingleSpaceBeforeTokenChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="tokens">ARROW, EQUALS, ELSE, TRY, CATCH, FINALLY, LARROW, RARROW</parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.EnsureSingleSpaceAfterTokenChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="tokens">ARROW, EQUALS, COMMA, COLON, IF, ELSE, DO, WHILE, FOR, MATCH, TRY, |
| CATCH, FINALLY, LARROW, RARROW |
| </parameter> |
| </parameters> |
| </check> |
| |
| <!-- ??? usually shouldn't be checked into the code base. --> |
| <check level="error" class="org.scalastyle.scalariform.NotImplementedErrorUsage" |
| enabled="true"></check> |
| |
| <check customId="println" level="error" class="org.scalastyle.scalariform.TokenChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="regex">^println$</parameter> |
| </parameters> |
| <customMessage><![CDATA[Are you sure you want to println? If yes, wrap the code block with |
| // scalastyle:off println |
| println(...) |
| // scalastyle:on println]]></customMessage> |
| </check> |
| |
| <check customId="runtimeaddshutdownhook" level="error" class="org.scalastyle.file.RegexChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="regex">Runtime\.getRuntime\.addShutdownHook</parameter> |
| </parameters> |
| <customMessage><![CDATA[ |
| Are you sure that you want to use Runtime.getRuntime.addShutdownHook? In most cases, you should use |
| ShutdownHookManager.addShutdownHook instead. |
| If you must use Runtime.getRuntime.addShutdownHook, wrap the code block with |
| // scalastyle:off runtimeaddshutdownhook |
| Runtime.getRuntime.addShutdownHook(...) |
| // scalastyle:on runtimeaddshutdownhook |
| ]]></customMessage> |
| </check> |
| |
| <check customId="mutablesynchronizedbuffer" level="error" class="org.scalastyle.file.RegexChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="regex">mutable\.SynchronizedBuffer</parameter> |
| </parameters> |
| <customMessage><![CDATA[ |
| Are you sure that you want to use mutable.SynchronizedBuffer? In most cases, you should use |
| java.util.concurrent.ConcurrentLinkedQueue instead. |
| If you must use mutable.SynchronizedBuffer, wrap the code block with |
| // scalastyle:off mutablesynchronizedbuffer |
| mutable.SynchronizedBuffer[...] |
| // scalastyle:on mutablesynchronizedbuffer |
| ]]></customMessage> |
| </check> |
| |
| <check customId="javaconversions" level="error" class="org.scalastyle.scalariform.TokenChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="regex">JavaConversions</parameter> |
| </parameters> |
| <customMessage>Instead of importing implicits in scala.collection.JavaConversions._, import |
| scala.collection.JavaConverters._ and use .asScala / .asJava methods |
| </customMessage> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.DisallowSpaceBeforeTokenChecker" |
| enabled="true"> |
| <parameters> |
| <parameter name="tokens">COMMA</parameter> |
| </parameters> |
| </check> |
| |
| <!-- Should add single Space between ')' and '{' --> |
| <check customId="SingleSpaceBetweenRParenAndLCurlyBrace" level="error" |
| class="org.scalastyle.file.RegexChecker" enabled="true"> |
| <parameters> |
| <parameter name="regex">\)\{</parameter> |
| </parameters> |
| <customMessage><![CDATA[ |
| Single Space between ')' and `{`. |
| ]]></customMessage> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="false"> |
| <parameters> |
| <parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*$]]></parameter> |
| </parameters> |
| </check> |
| |
| <check level="error" class="org.scalastyle.scalariform.EqualsHashCodeChecker" |
| enabled="true"></check> |
| |
| <check level="error" class="org.scalastyle.file.IndentationChecker" enabled="true"> |
| <parameters> |
| <parameter name="tabSize">2</parameter> |
| <parameter name="methodParamIndentSize">4</parameter> |
| </parameters> |
| </check> |
| |
| <!-- Don't allow return --> |
| <check level="error" class="org.scalastyle.scalariform.ReturnChecker" enabled="true"></check> |
| |
| </scalastyle> |