2
0
Fork 0
mirror of https://github.com/bazel-contrib/bazel-lib synced 2024-11-30 01:41:21 +00:00
bazel-lib/.aspect/bazelrc
Alex Eagle adca277409 fix: use test command for test flags
I don't think there's any reason we apply these two flags for `build`?
2023-04-13 07:45:07 -07:00
..
automatic_updates.md feat: add write_aspect_bazelrc_presets macro (#370) 2023-02-17 14:34:06 -08:00
bazel5.bazelrc feat: make bazel-lib the source-of-truth for Aspect recommended bazelrc settings (#369) 2023-02-16 16:59:21 -08:00
bazel6.bazelrc feat: make bazel-lib the source-of-truth for Aspect recommended bazelrc settings (#369) 2023-02-16 16:59:21 -08:00
BUILD.bazel feat: add write_aspect_bazelrc_presets macro (#370) 2023-02-17 14:34:06 -08:00
ci.bazelrc fix: use test command for test flags 2023-04-13 07:45:07 -07:00
convenience.bazelrc chore: set --heap_dump_on_oom preset to apply to all commands 2023-03-01 15:40:17 -08:00
correctness.bazelrc chore: remove unnecessary duplication in bazelrc presets 2023-03-01 14:47:54 -08:00
debug.bazelrc feat: make bazel-lib the source-of-truth for Aspect recommended bazelrc settings (#369) 2023-02-16 16:59:21 -08:00
intro.md feat: add write_aspect_bazelrc_presets macro (#370) 2023-02-17 14:34:06 -08:00
javascript.bazelrc feat: make bazel-lib the source-of-truth for Aspect recommended bazelrc settings (#369) 2023-02-16 16:59:21 -08:00
performance.bazelrc fix: remove merkle tree caching (#390) 2023-03-09 12:24:44 -08:00
README.md feat: add write_aspect_bazelrc_presets macro (#370) 2023-02-17 14:34:06 -08:00
usage.md feat: add write_aspect_bazelrc_presets macro (#370) 2023-02-17 14:34:06 -08:00

Aspect bazelrc presets

The .bazelrc files found here are the source-of-truth for our recommended Bazel presets.

They are mirrored on our docsite at https://docs.aspect.build/guides/bazelrc.

Using Aspect bazelrc presets in your project

The .bazelrc file can get large, fast. Some settings don't apply everywhere - some options are appropriate only on CI, and some vary depending on the version of Bazel you use or languages used.

Bazel rc files can contain import statements, which allow you to organize the content better.

To use these presets in your project, simply vendor the *.bazelrc files from https://github.com/aspect-build/bazel-lib/tree/main/.aspect/bazelrc into the .aspect/bazelrc folder in your repository and import them in your .bazelrc file.

For example,

# Import Aspect bazelrc presets
import %workspace%/.aspect/bazelrc/bazel6.bazelrc
import %workspace%/.aspect/bazelrc/convenience.bazelrc
import %workspace%/.aspect/bazelrc/correctness.bazelrc
import %workspace%/.aspect/bazelrc/debug.bazelrc
import %workspace%/.aspect/bazelrc/javascript.bazelrc
import %workspace%/.aspect/bazelrc/performance.bazelrc

### YOUR PROJECT SPECIFIC OPTIONS GO HERE ###

# Load any settings & overrides specific to the current user from `.aspect/bazelrc/user.bazelrc`.
# This file should appear in `.gitignore` so that settings are not shared with team members. This
# should be last statement in this config so the user configuration is able to overwrite flags from
# this file. See https://bazel.build/configure/best-practices#bazelrc-file.
try-import %workspace%/.aspect/bazelrc/user.bazelrc

Automatic updates

A convenient way to automatically keep your vendored copy up-to-date is to use the write_aspect_bazelrc_presets rule in .aspect/bazelrc/BUILD.bazel:

"Aspect bazelrc presets; see https://docs.aspect.build/guides/bazelrc"

load("@aspect_bazel_lib//lib:bazelrc_presets.bzl", "write_aspect_bazelrc_presets")

write_aspect_bazelrc_presets(name = "update_aspect_bazelrc_presets")

When @aspect_bazel_lib is upgraded in your WORKSPACE.bazel or your MODULE.bazel file, a diff_test stamped out by write_aspect_bazelrc_presets will fail if your vendored copy is out-of-date and print the Bazel command to run to update it. For example, bazel run //.aspect/bazelrc:update_aspect_bazelrc_presets.

See the bazelrc example in our bazel-examples repository for a working example.