2023-05-15 22:31:21 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
# Code formatter.
|
|
|
|
|
set -eufo pipefail
|
|
|
|
|
|
|
|
|
|
section() {
|
|
|
|
|
echo "- $*" >&2
|
|
|
|
|
}
|
|
|
|
|
|
2024-01-10 12:00:37 +00:00
|
|
|
WORKSPACE_ROOT="$(bazel info workspace 2>/dev/null)"
|
|
|
|
|
|
2023-05-15 22:31:21 +01:00
|
|
|
GOOGLE_JAVA_FORMAT="$(bazel run --run_under=echo //scripts:google-java-format)"
|
|
|
|
|
|
2023-06-19 16:21:57 +01:00
|
|
|
section "Buildifier"
|
|
|
|
|
echo " buildifier" >&2
|
|
|
|
|
bazel run //:buildifier
|
|
|
|
|
|
2023-05-15 22:31:21 +01:00
|
|
|
section "Java"
|
|
|
|
|
echo " google-java-format" >&2
|
|
|
|
|
find "$PWD/java" -type f -name '*.java' | xargs "$GOOGLE_JAVA_FORMAT" --replace
|
2023-09-11 13:02:40 +01:00
|
|
|
|
2024-01-10 12:00:37 +00:00
|
|
|
section "Javascript"
|
|
|
|
|
echo " javascript/node/selenium-webdriver - prettier" >&2
|
|
|
|
|
NODE_WEBDRIVER="${WORKSPACE_ROOT}/javascript/node/selenium-webdriver"
|
|
|
|
|
bazel run //javascript:prettier -- "${NODE_WEBDRIVER}" --write "${NODE_WEBDRIVER}/.prettierrc"
|
|
|
|
|
|
2024-03-15 16:43:18 -07:00
|
|
|
section "Ruby"
|
|
|
|
|
echo " rubocop" >&2
|
|
|
|
|
bazel run //rb:lint
|
|
|
|
|
|
2023-09-11 13:02:40 +01:00
|
|
|
section "Rust"
|
2023-09-12 10:29:49 +01:00
|
|
|
echo " rustfmt" >&2
|
|
|
|
|
bazel run @rules_rust//:rustfmt
|
2024-01-29 10:00:22 -05:00
|
|
|
|
2024-10-18 15:45:26 +05:30
|
|
|
# TODO: use bazel target when rules_python supports formatting
|
|
|
|
|
section "Python"
|
|
|
|
|
echo " python - isort, black, flake8, docformatter" >&2
|
|
|
|
|
pip install tox
|
|
|
|
|
export TOXENV=linting
|
|
|
|
|
tox -c py/tox.ini
|
|
|
|
|
|
2024-01-29 10:00:22 -05:00
|
|
|
section "Copyright"
|
|
|
|
|
bazel run //scripts:update_copyright
|