-
Notifications
You must be signed in to change notification settings - Fork 29.3k
[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') | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||
| 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 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What happens when a new version of pydocstyle is released? Would the same rules below still work so that this check could be
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||
| 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 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. could you just move this block above and get rid of
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not sure i understand
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So if I understand @BryanCutler's request correctly, instead of setting linte_status in the if check above and then That being said I think we could also drop the compile_status check since we would have already exited the script if it was non-zero at this point (I think). |
||
| 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 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We need a line break at the end of the file.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||
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