Skip to content

prelude is stricter at head #11940

@laurentlb

Description

@laurentlb

I'm filing this bug to assess the impact of the change.

From the draft release notes:

The prelude file (//tools/build_rules:prelude_bazel) is now processed as a Starlark module, rather than being sourced into the BUILD file textually.

My comment:

With 2a73a73, the prelude is handled in a saner way (cc @brandjon):

  • the prelude is evaluated once and then cached (instead of being append in each BUILD file)
  • you can no longer call macros/rules from the prelude (but no one was doing that, right?), just load them
  • error messages are better, with a proper stack trace

According to @kevingessner:

This is not "a breaking change in theory" for us; it is an actual breaking change that may require significant work to fix. This should not be included in a point release, but rolled out with an --incompatible flag flipped in a major version. What's the motivation for slipping this incompatibility into 3.5.0?

Metadata

Metadata

Assignees

Labels

P1I'll work on this now. (Assignee required)type: bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions