| 1 | #!/usr/bin/env bash
|
| 2 | #
|
| 3 | # Run tools to maintain the coding style.
|
| 4 | #
|
| 5 | # Usage:
|
| 6 | # devtools/repo.sh <function name>
|
| 7 |
|
| 8 | find-prune() {
|
| 9 | ### Filter out big dirs for speed
|
| 10 |
|
| 11 | find . \
|
| 12 | '(' -type d -a -name '_*' \
|
| 13 | -o -name testdata \
|
| 14 | -o -name Python-2.7.13 \
|
| 15 | ')' -a -prune \
|
| 16 | "$@"
|
| 17 | }
|
| 18 |
|
| 19 | find-src-files() {
|
| 20 | ### Find real source files
|
| 21 |
|
| 22 | # TODO: Add .R and .js
|
| 23 |
|
| 24 | find-prune \
|
| 25 | -o -type f -a \
|
| 26 | '(' -name '*.py' \
|
| 27 | -o -name '*.sh' \
|
| 28 | -o -name '*.asdl' \
|
| 29 | -o -name '*.[ch]' \
|
| 30 | -o -name '*.cc' \
|
| 31 | ')' -a -print
|
| 32 | }
|
| 33 |
|
| 34 | # Similar to test/unit.sh
|
| 35 | py-files() {
|
| 36 | find-prune -o -name '*.py' -a -printf '%P\n' | sort
|
| 37 | }
|
| 38 |
|
| 39 | py-manifest() {
|
| 40 | py-files | while read path; do
|
| 41 | read -r first_line < $path
|
| 42 | #echo $first_line
|
| 43 | if [[ $first_line == *python3* ]]; then
|
| 44 | kind=py3
|
| 45 | #py_path_more=: # no-op
|
| 46 | else
|
| 47 | kind=py2
|
| 48 | #py_path_more=:vendor/ # for vendor/typing.py
|
| 49 | fi
|
| 50 |
|
| 51 | echo "$kind $path"
|
| 52 | done
|
| 53 | }
|
| 54 |
|
| 55 | "$@"
|