> On Jun 16, 2021, at 8:29 AM, Matt Sicker <boa...@gmail.com> wrote:
>
> I should note some possible benefits we could get from Bazel in theory:
>
> * Ability to offload builds/tests/etc. to remote build clusters. If
> you've ever used things like distcc for compiling things across
> multiple machines (handy for compiling C or C++ binaries for example),
> it sounds similar.
I don’t get this. When I build locally I only have one machine. With CI we
run the build on as many environments as we want.
> * Ability to combine multiple languages together. If we wanted to,
> we'd be able to combine the log4net, log4cxx, and any other future
> subprojects into a single one. This would really only be useful if we
> had a unified configuration format or similar.
OK, but I would never envision doing this.
> * More granular builds (should be able to recompile only parts that changed)
Maven is supposed to do this. I’ve often wondered why it never works.
>
> There are some disadvantages, though:
>
> * No good IDE support yet AFAIK.
> * Build files are somewhat tedious compared to Maven's convention over
> configuration style.
> * Can be over complicated for a project that only uses a single
> programming language or compiler (possibly useful when you need
> multiple versions of Java, but we already have the Maven toolchains
> feature for that).
> * Has a bit of a bootstrapping problem: Bazel seems like it works best
> when everyone around you is also using it. Being able to reuse
> configurations and such is handy. This applies to pretty much any
> build system.
>
> As for the Maven modularity (below), this might be something that can
> be addressed during the plugin system updates (potentially making
> log4j-plugins purely the annotation processor).
The above isn’t really possible. The annotation processor build, the annotation
processor runtime, and the plugin system during execution pretty much share
everything in Log4j-plugins. I believe when it was split from core the smallest
set of stuff that had to be together was broken out.
Ralph