61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
|
#!/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
|