-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathMODULE.bazel
More file actions
109 lines (91 loc) · 3.71 KB
/
MODULE.bazel
File metadata and controls
109 lines (91 loc) · 3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
# Versioning is handled by GitHub Releases.
# Here we always keep "0.0.0" to indicate that.
module(
name = "score_docs_as_code",
version = "0.0.0",
)
###############################################################################
#
# Python version
#
###############################################################################
bazel_dep(name = "rules_python", version = "1.8.3")
PYTHON_VERSION = "3.12"
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
configure_coverage_tool = True,
is_default = True,
python_version = PYTHON_VERSION,
)
###############################################################################
#
# docs dependencies (Sphinx)
#
###############################################################################
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
envsubst = ["PIP_INDEX_URL"],
extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],
hub_name = "docs_as_code_hub_env",
python_version = PYTHON_VERSION,
requirements_lock = "//src:requirements.txt",
)
use_repo(pip, "docs_as_code_hub_env")
# Additional Python rules provided by aspect, e.g. an improved version of
bazel_dep(name = "aspect_rules_py", version = "1.4.0")
bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2")
###############################################################################
#
# Generic linting and formatting rules
#
###############################################################################
bazel_dep(name = "aspect_rules_lint", version = "1.5.3")
# PlantUML for docs
bazel_dep(name = "rules_java", version = "8.15.1")
http_jar = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar")
http_jar(
name = "plantuml",
sha256 = "6f38f70455d08438979451c2257cd5d58647c6460094bb829bc2a12878d47331",
url = "https://github.com/plantuml/plantuml/releases/download/v1.2025.0/plantuml-1.2025.0.jar",
)
# Bazel LSP
http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
http_file(
name = "starpls_prebuilt",
sha256 = "45692ecb9d94a19a15b1e7b240acdff5702f78cd22188dac41e1879cb8bdcdcf",
urls = ["https://github.com/withered-magic/starpls/releases/download/v0.1.21/starpls-linux-amd64"],
)
# Provides, pytest & venv
# bazel_dep(name = "score_python_basics", version = "0.3.4")
# local_path_override(
# module_name = "score_python_basics",
# path="../tooling"
# )
# Checker rule for CopyRight checks/fixes
# docs dependency
# Note: requirements were last aligned with 1.2.0,
# the switch to 1.3.1 is purely to drop the dependency on docs-as-code 1.x.
bazel_dep(name = "score_process", version = "1.4.3")
# Add Linter
bazel_dep(name = "rules_multitool", version = "1.9.0")
bazel_dep(name = "score_tooling", version = "1.1.2")
multitool_root = use_extension("@rules_multitool//multitool:extension.bzl", "multitool")
use_repo(multitool_root, "actionlint_hub", "multitool", "ruff_hub", "shellcheck_hub", "yamlfmt_hub")
register_toolchains(
"@ruff_hub//toolchains:all",
"@actionlint_hub//toolchains:all",
"@shellcheck_hub//toolchains:all",
"@yamlfmt_hub//toolchains:all",
)