| #!/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)" |
| PEP8_REPORT_PATH="$SPARK_ROOT_DIR/dev/pep8-report.txt" |
| |
| cd $SPARK_ROOT_DIR |
| |
| # Get pep8 at runtime so that we don't rely on it being installed on the build server. |
| #+ See: https://github.com/apache/spark/pull/1744#issuecomment-50982162 |
| #+ TODOs: |
| #+ - Dynamically determine latest release version of pep8 and use that. |
| #+ - Download this from a more reliable source. (GitHub raw can be flaky, apparently. (?)) |
| PEP8_SCRIPT_PATH="$SPARK_ROOT_DIR/dev/pep8.py" |
| PEP8_SCRIPT_REMOTE_PATH="https://raw.githubusercontent.com/jcrocholl/pep8/1.5.7/pep8.py" |
| |
| curl --silent -o "$PEP8_SCRIPT_PATH" "$PEP8_SCRIPT_REMOTE_PATH" |
| curl_status=$? |
| |
| if [ $curl_status -ne 0 ]; then |
| echo "Failed to download pep8.py from \"$PEP8_SCRIPT_REMOTE_PATH\"." |
| exit $curl_status |
| fi |
| |
| |
| # There is no need to write this output to a file |
| #+ first, but we do so so that the check status can |
| #+ be output before the report, like with the |
| #+ scalastyle and RAT checks. |
| python $PEP8_SCRIPT_PATH ./python > "$PEP8_REPORT_PATH" |
| pep8_status=${PIPESTATUS[0]} #$? |
| |
| if [ $pep8_status -ne 0 ]; then |
| echo "PEP 8 checks failed." |
| cat "$PEP8_REPORT_PATH" |
| else |
| echo "PEP 8 checks passed." |
| fi |
| |
| rm -f "$PEP8_REPORT_PATH" |
| rm "$PEP8_SCRIPT_PATH" |
| |
| exit $pep8_status |