+1 from me on Gradle.

The advantages in having very fast (and correct) incremental builds
are very nice.

I wouldn't expect major problems in setting up for Apache releases
since several other ASF projects are already using it.

Based on feedback on this, I'd also like to later start a similar
Gradle proposal for Pulsar builds too.

Matteo

On Tue, Nov 10, 2020 at 3:08 AM Enrico Olivelli <eolive...@gmail.com> wrote:
>
> Il giorno mar 10 nov 2020 alle ore 11:09 Ivan Kelly <iv...@apache.org> ha
> scritto:
>
> > Hi folks,
> >
> > It's been about a year since Streamlio joined Splunk and since then
> > we've had a bit of forking with our BK branch.
> > It has gotten to a stage where it's starting to be a problem for us,
> > so we'd like to start to get things back in sync.
> >
> > There are a couple of big chunks of work to come back.
> > We've added a data integrity checker that replaces a lot of the
> > functionality of autorecovery and allows us to run without a journal.
> > We refactored the bookie to allow dependency injection.
> > We've rewritten the entry logger to use direct I/O (allowing 2GBps
> > writes per bookie).
> >
>
> Cool, eager to see those changes in ASF BK
>
>
> >
> > One other thing we've done is to change the build system to use gradle.
> > The major driver for this was that maven is just slow, even before you
> > start running tests.
> > "mvn clean package -DskipTests" takes 4m30 on my laptop. "./gradlew
> > clean jar" takes 40s.
> > Subsequent builds on gradle are much much faster, as it does
> > incremental building.
> > Incremental building exists in maven, but it doesn't work.
> > Gradle also handle multimodule projects better. If I make a change in
> > bookkeeper-common,
> > "./gradlew :bookkeeper-server:test" will pick up the change without
> > having to explicitly
> > "mvn install" the bookkeeper-common. In my opinion it's just a much
> > nicer build system
> > to work with. Even the poms it generates are better as they avoid
> > dependency pollution.
> >
>
> I am not a big fan of Gradle, but I don't want to start a battle. There are
> pros and cons.
> To me it is a matter of taste, both of the two worlds are pretty widespread.
> Personally I have experienced the move of some projects from Maven to
> Gradle with a little bit of pain,
> but as said I am not against a change.
>
> Usually changing the build system is problematic for:
> - existing contributors/committers
> - forked repositories
>
> If you have time and resources to drive the change and to help the
> community to understand how to work with Gradle I am happy to accept it.
> I will be also a good change to reduce some tech debt, when you rewrite the
> build system/configuration you can decide to chop useless stuff that you
> aren't dropping because it is better to not fix things that aren't broken
> So +1, a BP is a good starting point please
>
>
> > What are peoples opinions on moving BookKeeper to gradle (assuming
> > I/splunk do the legwork)?
> > If people are open to it, I'll submit a BP.
> >
> > Another thing that BK (and the whole ecosystem) is missing is
> > structured logging.
> > We also plan to add structured logging to BK in soon. This is a major
> > motivator for converging the branches,
> > as it touches a lot of places.
> >
>
> +1
>
>
> > Anyhow, any feedback appreciated.
> >
>
> I am happy that the community can start to work together again as a whole
>
> Enrico
>
>
> >
> > -Ivan
> >

Reply via email to