Skip to content

Commit 2e58b5b

Browse files
committed
add aspect rules lint
- add pylint - add ruff - add ty - add buildifier
1 parent 2a2f975 commit 2e58b5b

12 files changed

Lines changed: 3967 additions & 2886 deletions

File tree

.bazelrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
common --enable_bzlmod
2+
3+
build:lint --aspects=//tools/lint:linters.bzl%pylint,//tools/lint:linters.bzl%ty
4+
build:lint --output_groups=+rules_lint_human

BUILD

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
load("@rules_python//python:pip.bzl", "compile_pip_requirements")
22

3-
# This is additionally exposed for the test rule in trlc.bzl
3+
# trlc.py is exposed for the test rule in trlc.bzl;
4+
# pyproject.toml is needed by pylint/ty via rules_lint.
45
exports_files(
5-
["trlc.py"],
6+
[
7+
"trlc.py",
8+
"pyproject.toml",
9+
],
610
visibility = ["//visibility:public"],
711
)
812

@@ -30,9 +34,26 @@ alias(
3034
visibility = ["//visibility:public"],
3135
)
3236

33-
# Run bazel run //:requirements.update
37+
# Run: bazel run //:requirements.update
3438
compile_pip_requirements(
3539
name = "requirements",
3640
src = "requirements.txt",
3741
requirements_txt = "requirements.txt.bazel",
3842
)
43+
44+
# Run: bazel run //:requirements_dev.update
45+
compile_pip_requirements(
46+
name = "requirements_dev",
47+
src = "requirements_dev.txt",
48+
requirements_txt = "requirements_dev_lock.txt",
49+
)
50+
51+
alias(
52+
name = "format.check",
53+
actual = "//tools/format:format.check",
54+
)
55+
56+
alias(
57+
name = "format.fix",
58+
actual = "//tools/format:format",
59+
)

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ generated in the following situations:
2727

2828
### 2.0.4-dev
2929

30+
* [BAZEL] Add Rules Lint for Formatting and Linting
3031

32+
* [BAZEL] Update Bazel to 8.5.1
33+
34+
* [BAZEL] Update Rules Python to 1.1.0
3135

3236
### 2.0.3
3337

MODULE.bazel

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,19 @@ module(
66

77
bazel_dep(
88
name = "rules_python",
9-
version = "0.31.0",
9+
version = "1.1.0",
10+
)
11+
12+
bazel_dep(
13+
name = "buildifier_prebuilt",
14+
version = "8.2.1.1",
15+
dev_dependency = True,
16+
)
17+
18+
bazel_dep(
19+
name = "aspect_rules_lint",
20+
version = "2.2.0",
21+
dev_dependency = True,
1022
)
1123

1224
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
@@ -39,6 +51,21 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
3951

4052
use_repo(pip, "trlc_dependencies")
4153

54+
# Dev-only pip hub: tools required for linting, static analysis, etc.
55+
pip_dev = use_extension(
56+
"@rules_python//python/extensions:pip.bzl",
57+
"pip",
58+
dev_dependency = True,
59+
)
60+
61+
pip_dev.parse(
62+
hub_name = "trlc_dev_dependencies",
63+
python_version = "3.12",
64+
requirements_lock = "//:requirements_dev_lock.txt",
65+
)
66+
67+
use_repo(pip_dev, "trlc_dev_dependencies")
68+
4269
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
4370

4471
http_archive(

0 commit comments

Comments
 (0)