Skip to content

Releases: bazeltools/bzl-gen-build

Auto generated release for bzl-gen-build

28 Feb 05:49
a4c0989
Compare
Choose a tag to compare
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

14 Feb 15:33
13e2283
Compare
Choose a tag to compare
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

24 Sep 15:57
8169f35
Compare
Choose a tag to compare
v0.1-119

sort srcs in targets (#323)

Auto generated release for bzl-gen-build

24 Sep 02:17
cb840ca
Compare
Choose a tag to compare
v0.1-118

Don't unconditionally add a new line in build generation when we don'…

Auto generated release for bzl-gen-build

23 Sep 23:13
38c7f8a
Compare
Choose a tag to compare
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

23 Sep 20:21
bf13a91
Compare
Choose a tag to compare
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

26 Aug 19:58
421051a
Compare
Choose a tag to compare
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

24 Aug 01:54
78c660c
Compare
Choose a tag to compare
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

17 Jul 17:52
00f6433
Compare
Choose a tag to compare
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

09 Jul 14:51
f663130
Compare
Choose a tag to compare
v0.1-112

Update .cirrus.yml