On Mon, Jun 6, 2022 at 9:30 AM Andrew Pilloud <apill...@google.com> wrote:

> I added Bazel support for building and releasing Java to the ZetaSQL
> repository (based on existing Google internal Blaze configs). From the Java
> side, migrating the build and test is the easy part. Bazel is lacking tools
> to build, test, and ship maven release artifacts for Java. This is
> supported by a gradle plugin today. The scripts that handle this for
> ZetaSQL aren't public as they are brittle shell scripts that break with
> every release. I don't think that approach would scale to Beam.
>

Would java_export work for building the release artifacts?
https://github.com/bazelbuild/rules_jvm_external#publishing-to-external-repositories


>
> I would be hesitant to accept changes adding BUILD files without deciding
> we want to cut over to Bazel. Maintaining two build systems is difficult
> and a bazel config that isn't run in precommits would quickly break.
>

I have a branch that adds a `go_beam_library` rule that runs the `vet` code
generator. I can check this into a new `rules_beam` repository if the
official repo would prefer to remain bazel-free.

The top of the branch is here:
https://github.com/gonzojive/beam/tree/bazel/sdks

Definition of the `go_beam_library` macro:
https://github.com/apache/beam/compare/master...gonzojive:bazel#diff-40e40e35de6636e5d30538fe02c1312cdd477758ff09ad2d9174f0f2856f458aR11


>
> Andrew
>
> On Mon, Jun 6, 2022 at 9:06 AM Robert Bradshaw <rober...@google.com>
> wrote:
>
>> I think it would be useful to see how far bazel has gotten, and it
>> certainly would work better for other languages than java (and
>> cross-language), but I would be careful not to underestimate how large
>> of an undertaking this might be (both technically, and convincing
>> everyone it's a good idea to switch again).
>>
>> Regardless, it would be good to see how much our build system could be
>> streamlined and simplified. Moving stuff out of the build system is
>> probably step one on a project like this.
>>
>> On Mon, Jun 6, 2022 at 12:54 AM Reuven Lax <re...@google.com> wrote:
>> >
>> > It might be a difficult project!  We looked into Bazel some years ago,
>> and it didn't quite work out for Beam's needs (though Bazel has presumably
>> advanced in the interim). Creating Gradle build rules for Beam (migrating
>> away from Maven) was an unexpectedly large project - it took multiple
>> engineers a year to complete, and the build has only gotten larger since
>> then.
>> >
>> > Reuven
>> >
>> > On Sun, Jun 5, 2022 at 6:26 PM Red Daly <redd...@gmail.com> wrote:
>> >>
>> >> Hi Beam authors,
>> >>
>> >> Would the project accept github pull requests that add Bazel building
>> functionality? I have been struggling trying to understand how to do some
>> basic things[1] in gradle and might want to just try a build system with
>> which I'm familiar. I expect it might also make it easier to write
>> cross-language and integration tests, though you're probably already
>> achieving that somehow.
>> >>
>> >> Thanks,
>> >> Red
>> >>
>> >> [1] I was trying to build make changes to both the Beam Flink runner
>> and Flink itself but couldn't figure out how to do that.
>>
>

Reply via email to