Releases: bazeltools/bzl-gen-build
Releases · bazeltools/bzl-gen-build
Auto generated release for bzl-gen-build
Make collapsing (kitchen sink target creation) opt-in (#384) **Problem** People regularly create circular import at the package level partly because our tooling doesn't tell them that it's working around this bad behavior. **Solution** This introduces a configuration called kitchen_sink_prefixes, which opts in to collapsing for specific package prefixes, which hopefully acts as a ratchet that we can prevent further bad behaviors. **Note** Example error message: Error: Circular dependency found in the package src/main/java/com/example/cycle. src/main/java/com/example, src/main/java/com/example/cycle Resolve the cycle, or allow the cycle this by adding kitchen_sink_prefixes in the module config JSON. --------- Co-authored-by: Jeff Klukas <[email protected]>
Auto generated release for bzl-gen-build
Assume "com" imports are never relative. (#376) * Assume "com" imports are never relative. Previously, ever import that occurs after a wildcard import was tested to see if it was a relative import, such as: import com.acme._ import ip.tools.Device // imports com.acme.ip.tools.Device This causes problems when there are multiple wildcard imports folowed by a lot of imports, since you generate a combinatorial explosion of potential entities: import alpha._ import beta._ import gamma._ import com.acme.ip.tools.Device // potential entities from this one import: // - com.acme.ip.tools.Device // - alpha.com.acme.ip.tools.Device // - beta.com.acme.ip.tools.Device // - gamma.com.acme.ip.tools.Device // - alpha.beta.com.acme.ip.tools.Device // - alpha.gamma.com.acme.ip.tools.Device // - beta.gamma.com.acme.ip.tools.Device // - alpha.beta.gamma.com.acme.ip.tools.Device It is very rare to see "com" appear anywhere other than as the TLD, and it is even more rare to see an import that starts with com where it is not used as a TLD. So as a heuristic, this PR introduces a change where specially for imports starting with "com" we will not consider any previous wildcard imports. We still support explicit imports such as: import com.acme.net.com.Device * Fix unit tests. * Formatting. * Instead of hardcoding "com" use BZL_GEN_SPECIAL_TLDS. Using an environment variable makes it easy to thread this configuration through nested programs (build scripts, bzl-gen program, driver program) without having to modify how generic driver programs are configured or executed. * Fix spelling error. * Document name requirements. * Remove mutable special TLDs. Instead, we pass any special TLDs to the entity extractor when we construct it. * Formatting again. --------- Co-authored-by: Erik Osheim <[email protected]>
Auto generated release for bzl-gen-build
v0.1-119 sort srcs in targets (#323)
Auto generated release for bzl-gen-build
v0.1-118 Don't unconditionally add a new line in build generation when we don'…
Auto generated release for bzl-gen-build
Sort labels like buildifier does (#321) * Sort labels like buildifier does * remove unused code * remove added space, which seems actually not there --------- Co-authored-by: Oscar Boykin <[email protected]>
Auto generated release for bzl-gen-build
Sort kwargs like buildifier (#319) * Sort kwargs like buildifier * fix order * use a hashmap --------- Co-authored-by: Oscar Boykin <[email protected]>
Auto generated release for bzl-gen-build
Format one-param function call (#308) **Problem/Solution** One-param function call should be one line per buildifier.
Auto generated release for bzl-gen-build
Pretty-print BUILD file a la buildifier (#304) **Problem** Currently we have to run buildifier to pretty print the BUILD file, which takes human-observable time. **Solution** This pretty-prints it in buildifier style so we don't have to wait.
Auto generated release for bzl-gen-build
Update tree-sitter to 0.22.6 (#287) This switches the tree-sitter-protobuf implementation to rewinfrey/tree-sitter-proto.
Auto generated release for bzl-gen-build
v0.1-112 Update .cirrus.yml