2014-02-10 01:17:52 -05:00
|
|
|
<!--
|
|
|
|
~ 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.
|
|
|
|
-->
|
2015-05-31 21:04:57 -04:00
|
|
|
<!--
|
|
|
|
|
|
|
|
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.7.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.
|
|
|
|
-->
|
2014-02-09 13:09:19 -05:00
|
|
|
|
|
|
|
<scalastyle>
|
2015-05-31 21:04:57 -04:00
|
|
|
<name>Scalastyle standard configuration</name>
|
|
|
|
|
|
|
|
<!-- ================================================================================ -->
|
|
|
|
<!-- rules we enforce -->
|
|
|
|
<!-- ================================================================================ -->
|
|
|
|
|
|
|
|
<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[/*
|
2014-02-09 13:09:19 -05:00
|
|
|
* 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>
|
2015-05-31 21:04:57 -04:00
|
|
|
</parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="true"></check>
|
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"></check>
|
2015-05-31 17:23:42 -04:00
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>
|
|
|
|
|
2015-05-31 21:04:57 -04:00
|
|
|
<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">
|
2017-09-27 08:33:41 -04:00
|
|
|
<parameters><parameter name="regex"><![CDATA[(config|[A-Z][A-Za-z]*)]]></parameter></parameters>
|
2015-05-31 21:04:57 -04:00
|
|
|
</check>
|
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
[SPARK-20657][CORE] Speed up rendering of the stages page.
There are two main changes to speed up rendering of the tasks list
when rendering the stage page.
The first one makes the code only load the tasks being shown in the
current page of the tasks table, and information related to only
those tasks. One side-effect of this change is that the graph that
shows task-related events now only shows events for the tasks in
the current page, instead of the previously hardcoded limit of "events
for the first 1000 tasks". That ends up helping with readability,
though.
To make sorting efficient when using a disk store, the task wrapper
was extended to include many new indices, one for each of the sortable
columns in the UI, and metrics for which quantiles are calculated.
The second changes the way metric quantiles are calculated for stages.
Instead of using the "Distribution" class to process data for all task
metrics, which requires scanning all tasks of a stage, the code now
uses the KVStore "skip()" functionality to only read tasks that contain
interesting information for the quantiles that are desired.
This is still not cheap; because there are many metrics that the UI
and API track, the code needs to scan the index for each metric to
gather the information. Savings come mainly from skipping deserialization
when using the disk store, but the in-memory code also seems to be
faster than before (most probably because of other changes in this
patch).
To make subsequent calls faster, some quantiles are cached in the
status store. This makes UIs much faster after the first time a stage
has been loaded.
With the above changes, a lot of code in the UI layer could be simplified.
Author: Marcelo Vanzin <vanzin@cloudera.com>
Closes #20013 from vanzin/SPARK-20657.
2018-01-11 06:41:48 -05:00
|
|
|
<check customId="argcount" level="error" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true">
|
2015-05-31 21:04:57 -04:00
|
|
|
<parameters><parameter name="maxParameters"><![CDATA[10]]></parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
2015-05-31 02:36:32 -04:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check>
|
2015-05-31 21:04:57 -04:00
|
|
|
|
2015-05-31 03:05:55 -04:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"></check>
|
2015-05-31 04:37:56 -04:00
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.StructuralTypeChecker" enabled="true"></check>
|
|
|
|
|
2015-05-31 21:04:57 -04:00
|
|
|
<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.file.NewLineAtEofChecker" enabled="true"></check>
|
|
|
|
|
2016-04-06 13:57:46 -04:00
|
|
|
<check customId="nonascii" level="error" class="org.scalastyle.scalariform.NonASCIICharacterChecker" enabled="true"></check>
|
2015-05-31 21:04:57 -04:00
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.SpaceAfterCommentStartChecker" enabled="true"></check>
|
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.EnsureSingleSpaceBeforeTokenChecker" enabled="true">
|
2015-05-29 02:00:02 -04:00
|
|
|
<parameters>
|
[SPARK-7940] Enforce whitespace checking for DO, TRY, CATCH, FINALLY, MATCH, LARROW, RARROW in style checker.
…
Author: Reynold Xin <rxin@databricks.com>
Closes #6491 from rxin/more-whitespace and squashes the following commits:
f6e63dc [Reynold Xin] [SPARK-7940] Enforce whitespace checking for DO, TRY, CATCH, FINALLY, MATCH, LARROW, RARROW in style checker.
2015-05-29 16:38:37 -04:00
|
|
|
<parameter name="tokens">ARROW, EQUALS, ELSE, TRY, CATCH, FINALLY, LARROW, RARROW</parameter>
|
2015-05-29 02:00:02 -04:00
|
|
|
</parameters>
|
2015-05-31 21:04:57 -04:00
|
|
|
</check>
|
|
|
|
|
2015-05-29 02:00:02 -04:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.EnsureSingleSpaceAfterTokenChecker" enabled="true">
|
|
|
|
<parameters>
|
[SPARK-7940] Enforce whitespace checking for DO, TRY, CATCH, FINALLY, MATCH, LARROW, RARROW in style checker.
…
Author: Reynold Xin <rxin@databricks.com>
Closes #6491 from rxin/more-whitespace and squashes the following commits:
f6e63dc [Reynold Xin] [SPARK-7940] Enforce whitespace checking for DO, TRY, CATCH, FINALLY, MATCH, LARROW, RARROW in style checker.
2015-05-29 16:38:37 -04:00
|
|
|
<parameter name="tokens">ARROW, EQUALS, COMMA, COLON, IF, ELSE, DO, WHILE, FOR, MATCH, TRY, CATCH, FINALLY, LARROW, RARROW</parameter>
|
2015-05-29 02:00:02 -04:00
|
|
|
</parameters>
|
|
|
|
</check>
|
2015-05-31 21:04:57 -04:00
|
|
|
|
|
|
|
<!-- ??? usually shouldn't be checked into the code base. -->
|
2015-05-29 02:00:02 -04:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.NotImplementedErrorUsage" enabled="true"></check>
|
2015-05-31 21:04:57 -04:00
|
|
|
|
2015-05-30 02:08:47 -04:00
|
|
|
<!-- As of SPARK-7558, all tests in Spark should extend o.a.s.SparkFunSuite instead of FunSuite directly -->
|
2015-05-31 21:04:57 -04:00
|
|
|
<check customId="funsuite" level="error" class="org.scalastyle.scalariform.TokenChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">^FunSuite[A-Za-z]*$</parameter></parameters>
|
|
|
|
<customMessage>Tests must extend org.apache.spark.SparkFunSuite instead.</customMessage>
|
|
|
|
</check>
|
|
|
|
|
2015-07-10 06:34:01 -04:00
|
|
|
<!-- As of SPARK-7977 all printlns need to be wrapped in '// scalastyle:off/on println' -->
|
|
|
|
<check customId="println" level="error" class="org.scalastyle.scalariform.TokenChecker" enabled="true">
|
2015-05-31 21:04:57 -04:00
|
|
|
<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>
|
|
|
|
|
2018-07-26 19:50:59 -04:00
|
|
|
<check customId="hadoopconfiguration" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">spark(.sqlContext)?.sparkContext.hadoopConfiguration</parameter></parameters>
|
|
|
|
<customMessage><![CDATA[
|
|
|
|
Are you sure that you want to use sparkContext.hadoopConfiguration? In most cases, you should use
|
|
|
|
spark.sessionState.newHadoopConf() instead, so that the hadoop configurations specified in Spark session
|
|
|
|
configuration will come into effect.
|
|
|
|
If you must use sparkContext.hadoopConfiguration, wrap the code block with
|
|
|
|
// scalastyle:off hadoopconfiguration
|
|
|
|
spark.sparkContext.hadoopConfiguration...
|
|
|
|
// scalastyle:on hadoopconfiguration
|
|
|
|
]]></customMessage>
|
|
|
|
</check>
|
|
|
|
|
2015-11-10 19:52:26 -05:00
|
|
|
<check customId="visiblefortesting" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">@VisibleForTesting</parameter></parameters>
|
|
|
|
<customMessage><![CDATA[
|
[SPARK-3873][BUILD] Add style checker to enforce import ordering.
The checker tries to follow as closely as possible the guidelines of
the code style document, and makes some decisions where the guide is
not clear. In particular:
- wildcard imports come first when there are other imports in the
same package
- multi-import blocks come before single imports
- lower-case names inside multi-import blocks come before others
In some projects, such as graphx, there seems to be a convention to
separate o.a.s imports from the project's own; to simplify the
checker, I chose not to allow that, which is a strict interpretation
of the code style guide, even though I think it makes sense.
Since the checks are based on syntax only, some edge cases may
generate spurious warnings; for example, when class names start
with a lower case letter (and are thus treated as a package name
by the checker).
The checker is currently only generating warnings, and since there
are many of those, the build output does get a little noisy. The
idea is to fix the code (and the checker, as needed) little by little
instead of having a huge change that touches everywhere.
Author: Marcelo Vanzin <vanzin@cloudera.com>
Closes #6502 from vanzin/SPARK-3873.
2015-12-08 16:13:56 -05:00
|
|
|
@VisibleForTesting causes classpath issues. Please note this in the java doc instead (SPARK-11615).
|
2015-11-10 19:52:26 -05:00
|
|
|
]]></customMessage>
|
|
|
|
</check>
|
|
|
|
|
2015-12-16 22:02:12 -05:00
|
|
|
<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>
|
|
|
|
|
2016-02-10 05:58:41 -05:00
|
|
|
<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>
|
|
|
|
|
2015-07-14 19:08:17 -04:00
|
|
|
<check customId="classforname" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">Class\.forName</parameter></parameters>
|
|
|
|
<customMessage><![CDATA[
|
|
|
|
Are you sure that you want to use Class.forName? In most cases, you should use Utils.classForName instead.
|
|
|
|
If you must use Class.forName, wrap the code block with
|
|
|
|
// scalastyle:off classforname
|
|
|
|
Class.forName(...)
|
|
|
|
// scalastyle:on classforname
|
|
|
|
]]></customMessage>
|
|
|
|
</check>
|
|
|
|
|
2016-04-19 13:38:10 -04:00
|
|
|
<check customId="awaitresult" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">Await\.result</parameter></parameters>
|
|
|
|
<customMessage><![CDATA[
|
|
|
|
Are you sure that you want to use Await.result? In most cases, you should use ThreadUtils.awaitResult instead.
|
|
|
|
If you must use Await.result, wrap the code block with
|
|
|
|
// scalastyle:off awaitresult
|
|
|
|
Await.result(...)
|
|
|
|
// scalastyle:on awaitresult
|
|
|
|
]]></customMessage>
|
|
|
|
</check>
|
|
|
|
|
2017-05-17 20:21:46 -04:00
|
|
|
<check customId="awaitready" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">Await\.ready</parameter></parameters>
|
|
|
|
<customMessage><![CDATA[
|
|
|
|
Are you sure that you want to use Await.ready? In most cases, you should use ThreadUtils.awaitReady instead.
|
|
|
|
If you must use Await.ready, wrap the code block with
|
|
|
|
// scalastyle:off awaitready
|
|
|
|
Await.ready(...)
|
|
|
|
// scalastyle:on awaitready
|
|
|
|
]]></customMessage>
|
|
|
|
</check>
|
|
|
|
|
2018-09-30 02:31:04 -04:00
|
|
|
<check customId="caselocale" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">(\.toUpperCase|\.toLowerCase)(?!(\(|\(Locale.ROOT\)))</parameter></parameters>
|
|
|
|
<customMessage><![CDATA[
|
|
|
|
Are you sure that you want to use toUpperCase or toLowerCase without the root locale? In most cases, you
|
|
|
|
should use toUpperCase(Locale.ROOT) or toLowerCase(Locale.ROOT) instead.
|
|
|
|
If you must use toUpperCase or toLowerCase without the root locale, wrap the code block with
|
|
|
|
// scalastyle:off caselocale
|
|
|
|
.toUpperCase
|
|
|
|
.toLowerCase
|
|
|
|
// scalastyle:on caselocale
|
|
|
|
]]></customMessage>
|
|
|
|
</check>
|
|
|
|
|
2015-08-25 07:33:13 -04:00
|
|
|
<!-- As of SPARK-9613 JavaConversions should be replaced with JavaConverters -->
|
|
|
|
<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>
|
|
|
|
|
2016-06-24 05:35:54 -04:00
|
|
|
<check customId="commonslang2" level="error" class="org.scalastyle.scalariform.TokenChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">org\.apache\.commons\.lang\.</parameter></parameters>
|
|
|
|
<customMessage>Use Commons Lang 3 classes (package org.apache.commons.lang3.*) instead
|
|
|
|
of Commons Lang 2 (package org.apache.commons.lang.*)</customMessage>
|
|
|
|
</check>
|
|
|
|
|
2016-11-04 22:32:26 -04:00
|
|
|
<check customId="extractopt" level="error" class="org.scalastyle.scalariform.TokenChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">extractOpt</parameter></parameters>
|
2018-03-07 16:42:06 -05:00
|
|
|
<customMessage>Use jsonOption(x).map(.extract[T]) instead of .extractOpt[T], as the latter
|
2016-11-04 22:32:26 -04:00
|
|
|
is slower. </customMessage>
|
|
|
|
</check>
|
|
|
|
|
2016-01-10 23:04:50 -05:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.ImportOrderChecker" enabled="true">
|
|
|
|
<parameters>
|
|
|
|
<parameter name="groups">java,scala,3rdParty,spark</parameter>
|
|
|
|
<parameter name="group.java">javax?\..*</parameter>
|
|
|
|
<parameter name="group.scala">scala\..*</parameter>
|
|
|
|
<parameter name="group.3rdParty">(?!org\.apache\.spark\.).*</parameter>
|
|
|
|
<parameter name="group.spark">org\.apache\.spark\..*</parameter>
|
|
|
|
</parameters>
|
|
|
|
</check>
|
|
|
|
|
2016-01-13 03:51:24 -05:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.DisallowSpaceBeforeTokenChecker" enabled="true">
|
|
|
|
<parameters>
|
|
|
|
<parameter name="tokens">COMMA</parameter>
|
|
|
|
</parameters>
|
|
|
|
</check>
|
|
|
|
|
2016-03-10 18:57:22 -05:00
|
|
|
<!-- SPARK-3854: 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>
|
|
|
|
|
2016-04-06 19:02:55 -04:00
|
|
|
<check customId="NoScalaDoc" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">(?m)^(\s*)/[*][*].*$(\r|)\n^\1 [*]</parameter></parameters>
|
|
|
|
<customMessage>Use Javadoc style indentation for multiline comments</customMessage>
|
|
|
|
</check>
|
|
|
|
|
2016-04-12 03:43:28 -04:00
|
|
|
<check customId="OmitBracesInCase" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
|
|
|
|
<parameters><parameter name="regex">case[^\n>]*=>\s*\{</parameter></parameters>
|
|
|
|
<customMessage>Omit braces in case clauses.</customMessage>
|
|
|
|
</check>
|
|
|
|
|
2016-08-04 16:43:05 -04:00
|
|
|
<!-- SPARK-16877: Avoid Java annotations -->
|
2017-09-05 06:40:05 -04:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.OverrideJavaChecker" enabled="true"></check>
|
2016-08-04 16:43:05 -04:00
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.DeprecatedJavaChecker" enabled="true"></check>
|
|
|
|
|
2015-07-10 06:34:01 -04:00
|
|
|
<!-- ================================================================================ -->
|
|
|
|
<!-- rules we'd like to enforce, but haven't cleaned up the codebase yet -->
|
|
|
|
<!-- ================================================================================ -->
|
|
|
|
|
2015-05-31 21:04:57 -04:00
|
|
|
<!-- We cannot turn the following two on, because it'd fail a lot of string interpolation use cases. -->
|
|
|
|
<!-- Ideally the following two rules should be configurable to rule out string interpolation. -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="false"></check>
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="false"></check>
|
|
|
|
|
|
|
|
<!-- This breaks symbolic method names so we don't turn it on. -->
|
|
|
|
<!-- Maybe we should update it to allow basic symbolic names, and then we are good to go. -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="false">
|
|
|
|
<parameters>
|
|
|
|
<parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*$]]></parameter>
|
|
|
|
</parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<!-- Should turn this on, but we have a few places that need to be fixed first -->
|
2016-04-22 07:24:12 -04:00
|
|
|
<check level="error" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="true"></check>
|
2015-05-31 21:04:57 -04:00
|
|
|
|
|
|
|
<!-- ================================================================================ -->
|
|
|
|
<!-- rules we don't want -->
|
|
|
|
<!-- ================================================================================ -->
|
|
|
|
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="false">
|
|
|
|
<parameters><parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter></parameters>
|
2015-05-30 01:57:46 -04:00
|
|
|
</check>
|
2015-05-31 21:04:57 -04:00
|
|
|
|
|
|
|
<!-- We want the opposite of this: NewLineAtEofChecker -->
|
|
|
|
<check level="error" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
|
|
|
|
|
|
|
|
<!-- This one complains about all kinds of random things. Disable. -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="false"></check>
|
|
|
|
|
|
|
|
<!-- We use return quite a bit for control flows and guards -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.ReturnChecker" enabled="false"></check>
|
|
|
|
|
|
|
|
<!-- We use null a lot in low level code and to interface with 3rd party code -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.NullChecker" enabled="false"></check>
|
|
|
|
|
|
|
|
<!-- Doesn't seem super big deal here ... -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.NoCloneChecker" enabled="false"></check>
|
|
|
|
|
|
|
|
<!-- Doesn't seem super big deal here ... -->
|
|
|
|
<check level="error" class="org.scalastyle.file.FileLengthChecker" enabled="false">
|
|
|
|
<parameters><parameter name="maxFileLength">800></parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<!-- Doesn't seem super big deal here ... -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="false">
|
|
|
|
<parameters><parameter name="maxTypes">30</parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<!-- Doesn't seem super big deal here ... -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="false">
|
|
|
|
<parameters><parameter name="maximum">10</parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<!-- Doesn't seem super big deal here ... -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="false">
|
|
|
|
<parameters><parameter name="maxLength">50</parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<!-- Not exactly feasible to enforce this right now. -->
|
|
|
|
<!-- It is also infrequent that somebody introduces a new class with a lot of methods. -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="false">
|
|
|
|
<parameters><parameter name="maxMethods"><![CDATA[30]]></parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
|
|
|
<!-- Doesn't seem super big deal here, and we have a lot of magic numbers ... -->
|
|
|
|
<check level="error" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="false">
|
|
|
|
<parameters><parameter name="ignore">-1,0,1,2,3</parameter></parameters>
|
|
|
|
</check>
|
|
|
|
|
2014-02-09 13:09:19 -05:00
|
|
|
</scalastyle>
|