From 384899944b25cb0abf5e71f9cc2610fecad4e8f5 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Thu, 16 Jan 2020 16:00:58 -0800 Subject: [PATCH] [SPARK-30534][INFRA] Use mvn in `dev/scalastyle` ### What changes were proposed in this pull request? This PR aims to use `mvn` instead of `sbt` in `dev/scalastyle` to recover GitHub Action. ### Why are the changes needed? As of now, Apache Spark sbt build is broken by the Maven Central repository policy. https://stackoverflow.com/questions/59764749/requests-to-http-repo1-maven-org-maven2-return-a-501-https-required-status-an > Effective January 15, 2020, The Central Maven Repository no longer supports insecure > communication over plain HTTP and requires that all requests to the repository are > encrypted over HTTPS. We can reproduce this locally by the following. ``` $ rm -rf ~/.m2/repository/org/apache/apache/18/ $ build/sbt clean ``` And, in GitHub Action, `lint-scala` is the only one which is using `sbt`. ### Does this PR introduce any user-facing change? No. ### How was this patch tested? First of all, GitHub Action should be recovered. Also, manually, do the following. **Without Scalastyle violation** ``` $ dev/scalastyle OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=384m; support was removed in 8.0 Using `mvn` from path: /usr/local/bin/mvn Scalastyle checks passed. ``` **With Scalastyle violation** ``` $ dev/scalastyle OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=384m; support was removed in 8.0 Using `mvn` from path: /usr/local/bin/mvn Scalastyle checks failed at following occurrences: error file=/Users/dongjoon/PRS/SPARK-HTTP-501/core/src/main/scala/org/apache/spark/SparkConf.scala message=There should be no empty line separating imports in the same group. line=22 column=0 error file=/Users/dongjoon/PRS/SPARK-HTTP-501/core/src/test/scala/org/apache/spark/resource/ResourceProfileSuite.scala message=There should be no empty line separating imports in the same group. line=22 column=0 ``` Closes #27242 from dongjoon-hyun/SPARK-30534. Authored-by: Dongjoon Hyun Signed-off-by: Dongjoon Hyun --- dev/scalastyle | 14 +++----------- pom.xml | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/dev/scalastyle b/dev/scalastyle index 212ef900eb9b4..b555ce08b789e 100755 --- a/dev/scalastyle +++ b/dev/scalastyle @@ -17,18 +17,10 @@ # limitations under the License. # -SPARK_PROFILES=${1:-"-Pmesos -Pkubernetes -Pyarn -Pspark-ganglia-lgpl -Pkinesis-asl -Phive-thriftserver -Phive"} +SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" -# NOTE: echo "q" is needed because SBT prompts the user for input on encountering a build file -# with failure (either resolution or compilation); the "q" makes SBT quit. -ERRORS=$(echo -e "q\n" \ - | build/sbt \ - ${SPARK_PROFILES} \ - -Pdocker-integration-tests \ - -Pkubernetes-integration-tests \ - scalastyle test:scalastyle \ - | awk '{if($1~/error/)print}' \ -) +SPARK_PROFILES=${1:-"-Pmesos -Pkubernetes -Pyarn -Pspark-ganglia-lgpl -Pkinesis-asl -Phive-thriftserver -Phive -Pdocker-integration-tests -Pkubernetes-integration-tests"} +ERRORS=$($SCRIPT_DIR/../build/mvn $SPARK_PROFILES scalastyle:check | grep "^error file") if test ! -z "$ERRORS"; then echo -e "Scalastyle checks failed at following occurrences:\n$ERRORS" diff --git a/pom.xml b/pom.xml index e72fcd90a38d8..58c05357ef417 100644 --- a/pom.xml +++ b/pom.xml @@ -2760,7 +2760,7 @@ false true - false + true false ${basedir}/src/main/scala ${basedir}/src/test/scala