-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-23367][Build] Include python document style checking #20556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 13 commits
e3677c9
106fd8e
0be142d
6c6ee12
b123c60
c73c32a
7dbf732
5e9d718
63d99b3
a7fc787
3a2d453
85ca69d
ee14cf7
11ad2c1
5f6b409
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,10 +21,15 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" | |
| SPARK_ROOT_DIR="$(dirname "$SCRIPT_DIR")" | ||
| # Exclude auto-generated configuration file. | ||
| PATHS_TO_CHECK="$( cd "$SPARK_ROOT_DIR" && find . -name "*.py" )" | ||
| DOC_PATHS_TO_CHECK="$( cd "$SPARK_ROOT_DIR" && find . -name "*.py" | grep -vF 'functions.py')" | ||
| PYCODESTYLE_REPORT_PATH="$SPARK_ROOT_DIR/dev/pycodestyle-report.txt" | ||
| PYDOCSTYLE_REPORT_PATH="$SPARK_ROOT_DIR/dev/pydocstyle-report.txt" | ||
| PYLINT_REPORT_PATH="$SPARK_ROOT_DIR/dev/pylint-report.txt" | ||
| PYLINT_INSTALL_INFO="$SPARK_ROOT_DIR/dev/pylint-info.txt" | ||
| PYDOCSTYLEBUILD="pydocstyle" | ||
| PYDOCSTYLEVERSION=$(python -c 'import pkg_resources; print pkg_resources.get_distribution("pydocstyle").version') | ||
|
||
| SPHINXBUILD=${SPHINXBUILD:=sphinx-build} | ||
|
|
||
| SPHINX_REPORT_PATH="$SPARK_ROOT_DIR/dev/sphinx-report.txt" | ||
|
|
||
| cd "$SPARK_ROOT_DIR" | ||
|
|
@@ -82,6 +87,34 @@ else | |
| rm "$PYCODESTYLE_REPORT_PATH" | ||
| fi | ||
|
|
||
| # Check python document style, skip check if pydocstyle is not installed. | ||
| if hash "$PYDOCSTYLEBUILD" 2> /dev/null; then | ||
| if [ $PYDOCSTYLEVERSION == "2.1.1" ]; then | ||
|
||
| pydocstyle --config=dev/tox.ini $DOC_PATHS_TO_CHECK >> "$PYDOCSTYLE_REPORT_PATH" | ||
| pydocstyle_status="${PIPESTATUS[0]}" | ||
|
|
||
| if [ "$compile_status" -eq 0 -a "$pydocstyle_status" -eq 0 ]; then | ||
| lint_status=0 | ||
| else | ||
| lint_status=1 | ||
| fi | ||
|
|
||
| if [ "$lint_status" -ne 0 ]; then | ||
|
||
| echo "pydocstyle checks failed." | ||
| cat "$PYDOCSTYLE_REPORT_PATH" | ||
| rm "$PYDOCSTYLE_REPORT_PATH" | ||
| exit "$lint_status" | ||
| else | ||
| echo "pydocstyle checks passed." | ||
| rm "$PYDOCSTYLE_REPORT_PATH" | ||
| fi | ||
| else | ||
| echo "The pydocstyle version needs to be latest 2.1.1" | ||
| fi | ||
| else | ||
| echo >&2 "The pydocstyle command was not found. Skipping pydoc checks for now" | ||
| fi | ||
|
|
||
| # Check that the documentation builds acceptably, skip check if sphinx is not installed. | ||
| if hash "$SPHINXBUILD" 2> /dev/null; then | ||
| cd python/docs | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,3 +17,5 @@ | |
| ignore=E402,E731,E241,W503,E226,E722,E741,E305 | ||
| max-line-length=100 | ||
| exclude=cloudpickle.py,heapq3.py,shared.py,python/docs/conf.py,work/*/*.py,python/.eggs/* | ||
| [pydocstyle] | ||
| ignore=D100,D101,D102,D103,D104,D105,D106,D107,D200,D201,D202,D203,D204,D205,D206,D207,D208,D209,D210,D211,D212,D213,D214,D215,D300,D301,D302,D400,D401,D402,D403,D404,D405,D406,D407,D408,D409,D410,D411,D412,D413,D414 | ||
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: add an extra space between
'functions.py'and).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done