2
0
Fork 0
mirror of https://github.com/bazel-contrib/bazel-lib synced 2024-11-27 17:43:27 +00:00
bazel-lib/lib/bazelrc_presets.bzl
Alex Eagle 0f5e1dcafd
chore(deps): upgrade stardoc (#894)
* chore(deps): upgrade stardoc

This uses the Bazel 7 'starlark_doc_extract' rule which our docsite expects for slurping data.

* chore: stardoc setup in WORKSPACE too

* chore: skip stardoc on bazel 6 in cases where the legacy extractor produces different docstrings
2024-08-08 12:56:11 -07:00

46 lines
1.2 KiB
Python

"""'Presets' for bazelrc
See https://docs.aspect.build/guides/bazelrc
"""
load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
ALL_PRESETS = [
"bazel6",
"bazel7",
"ci",
"convenience",
"correctness",
"debug",
"javascript",
"performance",
]
def write_aspect_bazelrc_presets(
name,
presets = ALL_PRESETS,
**kwargs):
"""Keeps your vendored copy of Aspect recommended `.bazelrc` presets up-to-date.
This macro uses a [write_source_files](https://docs.aspect.build/rules/aspect_bazel_lib/docs/write_source_files)
rule under the hood to keep your presets up-to-date.
By default all presets are vendored but this list can be customized using
the `presets` attribute.
Args:
name: a unique name for this target
presets: a list of preset names to keep up-to-date
**kwargs: Additional arguments to pass to `write_source_files`
"""
files = {}
for p in presets:
files["{}.bazelrc".format(p)] = "@aspect_bazel_lib//.aspect/bazelrc:{}.bazelrc".format(p)
write_source_files(
name = name,
files = files,
**kwargs
)