Hi folks,
For my personal use case, I have bootstrapped building libgit and git
using Bazel, an open-sourced build tool by Google (1). Currently, the
code is squashed into a giant commit (2) in my repo at
github.com/sluongng/git in the branch sluongng/next-bazel. The commit
is based on the 'next' branch from upstream.
Similar to Meson, Bazel requires fine-grained BUILD files to be
sprinkled throughout the repo. So it's fairly invasive to try to get
this merged.
I also won't have the capacity to maintain this setup for every new
upstream topic that comes up. Though I am willing to spend the effort
to maintain it for major releases.
I want to send this as an interest check to see if there are folks who
are willing to co-maintain this with me in-tree style inside git.git.
Otherwise, I plan to send this to the Bazel Central Registry (3), the
public package registry for the Bazel ecosystem, in overlay mode. The
overlay shall be applied on top of the checkout copy before Bazel
starts the build.
Although the patch is currently unpolished and only supports Linux, it
can already run most of the unit and integration tests under t/ dir to
verify libgit and git. MacOS and Windows support can be added as we
mature the setup over time.
(1): https://github.com/bazelbuild/bazel
(2): https://github.com/sluongng/git/commit/04c5a9ec4c3634469b2b7eafd8ba21e09ec3b326
(3): https://github.com/bazelbuild/bazel-central-registry