Skip to content

Host flag-presets #106

@alexeagle

Description

@alexeagle

Based on discussion today from the Rules Authors SIG meeting, I proposed to break out an obscure feature that's hidden in a dot-folder of this repo: https://github.com/bazel-contrib/bazel-lib/tree/main/.aspect/bazelrc

The goal is to have a place for the Bazel team and community to curate some recommended bazelrc files, that we call "presets".
Some could be mechanical in nature, e.g. "flags that will be flipped in the next Bazel major release".
Some are convenient groupings for common use cases, like the java.bazelrc and javascript.bazelrc files we have now.
Others might be quite opinionated, with comments about why we suggest the flag but also contraindications when you might not want it.

We think the current location has been too obscure, as these are not "rules", "macros/functions" like other things in the bazel-lib module.

From the criteria:

  • Will use Apache-2.0.
  • Must have wide applicability in the community: yes everyone struggles with the volume of Bazel flags
  • Must have a clear point of contact who answers questions from the SIG: recommend @alexeagle @fmeum and @meteorcloudy
  • Must be “production quality”: in this case there won't be any rules, just RC files with lots of comments. However I'll commit to a good readme explaining how users are recommended to adopt the presets.
  • Must reply to issues/PRs in 2-3 weeks (exact service level agreement TBD): yes we'll try to do this
  • Must have more than one person who is committed to review/approve PRs: recommend @alexeagle @meteorcloudy @fmeum at a minimum. Would be good to have @ulfjack or someone he nominates as well.
  • Will tag semver releases. We'll have to think about what a "breaking change" means for an RC file though.
  • Must work with LTS Bazel version: yes we'll have some bazel6.bazelrc, bazel7.bazelrc. etc
  • We will publish a module to the Bazel Central Registry to make them convenient to vendor into your repository (using a diff_test pattern)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions