aboutsummaryrefslogtreecommitdiff
path: root/dev
diff options
context:
space:
mode:
authorDmitry Erastov <derastov@gmail.com>2015-12-04 12:03:45 -0800
committerJosh Rosen <joshrosen@databricks.com>2015-12-04 12:03:45 -0800
commitd0d82227785dcd6c49a986431c476c7838a9541c (patch)
tree2700b82eeb7d72228aeff2b2ad865b6c1461517a /dev
parent95296d9b1ad1d9e9396d7dfd0015ef27ce1cf341 (diff)
downloadspark-d0d82227785dcd6c49a986431c476c7838a9541c.tar.gz
spark-d0d82227785dcd6c49a986431c476c7838a9541c.tar.bz2
spark-d0d82227785dcd6c49a986431c476c7838a9541c.zip
[SPARK-6990][BUILD] Add Java linting script; fix minor warnings
This replaces https://github.com/apache/spark/pull/9696 Invoke Checkstyle and print any errors to the console, failing the step. Use Google's style rules modified according to https://cwiki.apache.org/confluence/display/SPARK/Spark+Code+Style+Guide Some important checks are disabled (see TODOs in `checkstyle.xml`) due to multiple violations being present in the codebase. Suggest fixing those TODOs in a separate PR(s). More on Checkstyle can be found on the [official website](http://checkstyle.sourceforge.net/). Sample output (from [build 46345](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/46345/consoleFull)) (duplicated because I run the build twice with different profiles): > Checkstyle checks failed at following occurrences: [ERROR] src/main/java/org/apache/spark/sql/execution/datasources/parquet/UnsafeRowParquetRecordReader.java:[217,7] (coding) MissingSwitchDefault: switch without "default" clause. > [ERROR] src/main/java/org/apache/spark/sql/execution/datasources/parquet/SpecificParquetRecordReaderBase.java:[198,10] (modifier) ModifierOrder: 'protected' modifier out of order with the JLS suggestions. > [ERROR] src/main/java/org/apache/spark/sql/execution/datasources/parquet/UnsafeRowParquetRecordReader.java:[217,7] (coding) MissingSwitchDefault: switch without "default" clause. > [ERROR] src/main/java/org/apache/spark/sql/execution/datasources/parquet/SpecificParquetRecordReaderBase.java:[198,10] (modifier) ModifierOrder: 'protected' modifier out of order with the JLS suggestions. > [error] running /home/jenkins/workspace/SparkPullRequestBuilder2/dev/lint-java ; received return code 1 Also fix some of the minor violations that didn't require sweeping changes. Apologies for the previous botched PRs - I finally figured out the issue. cr: JoshRosen, pwendell > I state that the contribution is my original work, and I license the work to the project under the project's open source license. Author: Dmitry Erastov <derastov@gmail.com> Closes #9867 from dskrvk/master.
Diffstat (limited to 'dev')
-rwxr-xr-xdev/lint-java30
-rwxr-xr-xdev/run-tests-jenkins.py1
-rwxr-xr-xdev/run-tests.py7
-rw-r--r--dev/sparktestsupport/__init__.py1
4 files changed, 39 insertions, 0 deletions
diff --git a/dev/lint-java b/dev/lint-java
new file mode 100755
index 0000000000..fe8ab83d56
--- /dev/null
+++ b/dev/lint-java
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+#
+
+SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
+SPARK_ROOT_DIR="$(dirname $SCRIPT_DIR)"
+
+ERRORS=$($SCRIPT_DIR/../build/mvn -Pkinesis-asl -Pyarn -Phive -Phive-thriftserver checkstyle:check | grep ERROR)
+
+if test ! -z "$ERRORS"; then
+ echo -e "Checkstyle checks failed at following occurrences:\n$ERRORS"
+ exit 1
+else
+ echo -e "Checkstyle checks passed."
+fi
diff --git a/dev/run-tests-jenkins.py b/dev/run-tests-jenkins.py
index 4f390ef1ea..7aecea25b2 100755
--- a/dev/run-tests-jenkins.py
+++ b/dev/run-tests-jenkins.py
@@ -119,6 +119,7 @@ def run_tests(tests_timeout):
ERROR_CODES["BLOCK_GENERAL"]: 'some tests',
ERROR_CODES["BLOCK_RAT"]: 'RAT tests',
ERROR_CODES["BLOCK_SCALA_STYLE"]: 'Scala style tests',
+ ERROR_CODES["BLOCK_JAVA_STYLE"]: 'Java style tests',
ERROR_CODES["BLOCK_PYTHON_STYLE"]: 'Python style tests',
ERROR_CODES["BLOCK_R_STYLE"]: 'R style tests',
ERROR_CODES["BLOCK_DOCUMENTATION"]: 'to generate documentation',
diff --git a/dev/run-tests.py b/dev/run-tests.py
index 9e1abb0697..e7e10f1d8c 100755
--- a/dev/run-tests.py
+++ b/dev/run-tests.py
@@ -198,6 +198,11 @@ def run_scala_style_checks():
run_cmd([os.path.join(SPARK_HOME, "dev", "lint-scala")])
+def run_java_style_checks():
+ set_title_and_block("Running Java style checks", "BLOCK_JAVA_STYLE")
+ run_cmd([os.path.join(SPARK_HOME, "dev", "lint-java")])
+
+
def run_python_style_checks():
set_title_and_block("Running Python style checks", "BLOCK_PYTHON_STYLE")
run_cmd([os.path.join(SPARK_HOME, "dev", "lint-python")])
@@ -522,6 +527,8 @@ def main():
# style checks
if not changed_files or any(f.endswith(".scala") for f in changed_files):
run_scala_style_checks()
+ if not changed_files or any(f.endswith(".java") for f in changed_files):
+ run_java_style_checks()
if not changed_files or any(f.endswith(".py") for f in changed_files):
run_python_style_checks()
if not changed_files or any(f.endswith(".R") for f in changed_files):
diff --git a/dev/sparktestsupport/__init__.py b/dev/sparktestsupport/__init__.py
index 8ab6d9e37c..0e8032d133 100644
--- a/dev/sparktestsupport/__init__.py
+++ b/dev/sparktestsupport/__init__.py
@@ -31,5 +31,6 @@ ERROR_CODES = {
"BLOCK_SPARK_UNIT_TESTS": 18,
"BLOCK_PYSPARK_UNIT_TESTS": 19,
"BLOCK_SPARKR_UNIT_TESTS": 20,
+ "BLOCK_JAVA_STYLE": 21,
"BLOCK_TIMEOUT": 124
}