@@ -23,7 +23,34 @@ build --sandbox_default_allow_network=false
2323# registered in the WORKSPACE.
2424common --repo_env=BAZEL_DO_NOT_DETECT_PYTHON_TOOLCHAIN=1
2525
26- # # Enable rustfmt for all targets in the workspace
26+ ###############################################################################
27+ ## Configuration Flags
28+ ###############################################################################
29+
30+ # Enable black for all targets in the workspace
31+ build --aspects=@rules_venv//python/black:defs.bzl%py_black_aspect
32+ build:black --output_groups=+py_black_checks
33+ build:no_black --output_groups=-py_black_checks
34+
35+ # Enable isort for all targets in the workspace
36+ build --aspects=@rules_venv//python/isort:defs.bzl%py_isort_aspect
37+ build --@rules_venv//python/isort:config=//:.isort.cfg
38+ build:isort --output_groups=+py_isort_checks
39+ build:no_isort --output_groups=-py_isort_checks
40+
41+ # Enable mypy for all targets in the workspace
42+ build --aspects=@rules_venv//python/mypy:defs.bzl%py_mypy_aspect
43+ build --@rules_venv//python/mypy:config=//:.mypy.ini
44+ build:mypy --output_groups=+py_mypy_checks
45+ build:no_mypy --output_groups=-py_mypy_checks
46+
47+ # Enable pylint for all targets in the workspace
48+ build --aspects=@rules_venv//python/pylint:defs.bzl%py_pylint_aspect
49+ build --@rules_venv//python/pylint:config=//:.pylintrc.toml
50+ build:pylint --output_groups=+py_pylint_checks
51+ build:no_pylint --output_groups=-py_pylint_checks
52+
53+ # Enable rustfmt for all targets in the workspace
2754build --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
2855build:rustfmt --output_groups=+rustfmt_checks
2956build:no_rustfmt --output_groups=-rustfmt_checks
@@ -44,8 +71,16 @@ build:unpretty --config=nightly
4471# Convenience configs for enabling linting and formatting
4572build:strict --config=rustfmt
4673build:strict --config=clippy
74+ build:strict --config=black
75+ build:strict --config=isort
76+ build:strict --config=pylint
77+ build:strict --config=mypy
4778build:no_strict --config=no_rustfmt
4879build:no_strict --config=no_clippy
80+ build:no_strict --config=no_black
81+ build:no_strict --config=no_isort
82+ build:no_strict --config=no_pylint
83+ build:no_strict --config=no_mypy
4984
5085# When running test enable all linters and formatters
5186test --config=strict
0 commit comments