> I took a massive productivity hit when In-JVM dtests landed the codebase

These introduced new capabilities that were well understood as outcomes at the 
time. Here we are proposing replacing something that works fine, with something 
that works equivalently.

The build file is not only consumed as a user, but also edited by everyone on 
the project. Most are familiar with it, can navigate it and edit it. This will 
be lost in any migration.

Sure, like any migration it can be justified by its benefits. I just haven’t 
see anything specific besides that ant is “old” and people are “surprised” we 
use it. So what? It works. Sometimes things might be painful for some folk to 
do, but that will be true in any new build system, no?



From: Paulo Motta <pauloricard...@gmail.com>
Date: Thursday, 3 February 2022 at 11:53
To: Cassandra DEV <dev@cassandra.apache.org>
Subject: Re: Build tool
> I am productive today with ant. I will almost certainly take a productivity 
> hit sometime during and after the migration to maven, as will others.

I took a massive productivity hit when In-JVM dtests landed the codebase, but 
this was not a consideration when that framework was added because it was 
perceived as a net gain for the project in the long term. In that case the 
productivity hit was definitely worth it, and I think in this case it will be.
I personally don't think the productivity hit of adopting a new build tool will 
be very noticeable (nothing that you can't catch up in a couple of weeks), but 
in order to not block this effort on this feeling perhaps we can make reducing 
the productivity hit an explicit goal of this undertaking (ie. enumerate 
potential productivity hits and/or make the UX look as close as possible to the 
current).

It could be helpful to come up with a concrete list of benefits and downsides 
of adopting a new build tool, to allow the community to decide whether the 
change is worth pursuing.

Em qui., 3 de fev. de 2022 às 07:28, 
bened...@apache.org<mailto:bened...@apache.org> 
<bened...@apache.org<mailto:bened...@apache.org>> escreveu:
> Aleksei has proven that he was able to deliver work of quality and to push 
> things forward. He is willing to try to tackle that work.

I am not questioning his ability to deliver, I am questioning the value of 
burdening the project with this migration?

I am productive today with ant. I will almost certainly take a productivity hit 
sometime during and after the migration to maven, as will others.

From: Benjamin Lerer <ble...@apache.org<mailto:ble...@apache.org>>
Date: Thursday, 3 February 2022 at 10:13
To: dev@cassandra.apache.org<mailto:dev@cassandra.apache.org> 
<dev@cassandra.apache.org<mailto:dev@cassandra.apache.org>>
Subject: Re: Build tool
I don’t have a super strong desire to stay with ant, I just have a desire not 
to unduly burden the project with unnecessary churn. Tooling changes can be 
quite painful.

Aleksei has proven that he was able to deliver work of quality and to push 
things forward. He is willing to try to tackle that work. I am in favor of 
giving him the chance to do it.
I fully agree that it is not a simple task but I am also convinced that other 
people might be interested in joining the effort.

With regards to contributions, this is often brought up but the reality is the 
project has always struggled to bring in new ongoing contributors, in large 
part due to the barrier to entry of such a complex project (which has only 
grown as our expectations on patch quality have gone up). I struggle to believe 
that ANT is more than a rounding error on our efficacy here, since we have 
always struggled.

I think we found some way around the barrier to entry :-). I will trigger 
another discussion about that.

Le jeu. 3 févr. 2022 à 10:17, bened...@apache.org<mailto:bened...@apache.org> 
<bened...@apache.org<mailto:bened...@apache.org>> a écrit :
I don’t have a super strong desire to stay with ant, I just have a desire not 
to unduly burden the project with unnecessary churn. Tooling changes can be 
quite painful.

With regards to contributions, this is often brought up but the reality is the 
project has always struggled to bring in new ongoing contributors, in large 
part due to the barrier to entry of such a complex project (which has only 
grown as our expectations on patch quality have gone up). I struggle to believe 
that ANT is more than a rounding error on our efficacy here, since we have 
always struggled.

If we’re struggling to actually use ant how we want that’s another matter, but 
it’s easy to forget how much just works for us with ant, and forget the things 
we will have pain with adopting a new build system. I have had more frustration 
with Gradle in a few months than I have with ant in a decade. I’m sure Maven is 
better, but I doubt it will be without issue.


From: Benjamin Lerer <b.le...@gmail.com<mailto:b.le...@gmail.com>>
Date: Thursday, 3 February 2022 at 09:03
To: dev@cassandra.apache.org<mailto:dev@cassandra.apache.org> 
<dev@cassandra.apache.org<mailto:dev@cassandra.apache.org>>
Subject: Re: Build tool
I think that there are 2 main issues (Aleksei can correct me):
* ANT is pretty old and a lot of newcomers are unfamiliar with it and surprised 
by it. By consequence, it might slow down the on-boarding of newcomers which we 
want to make as smooth as possible.
* Aleksei has been working on migrating our test to JUnit 5 and faced multiple 
issues with ANT. He provided five new features to the ANT project to fix the 
problems he encountered and some got rejected.

I totally agree with your feeling that the current solution works for now and 
that staying with it is also a valid choice. I do like ANT. The question for me 
is really if ANT makes sense for the future of Cassandra. From the feedback I 
got, I start to doubt that it is the case.

Le jeu. 3 févr. 2022 à 09:32, bened...@apache.org<mailto:bened...@apache.org> 
<bened...@apache.org<mailto:bened...@apache.org>> a écrit :
I’m going to be a killjoy and once again query what value changing build system 
brings, that outweighs the disruption to current long-term contributors that 
can easily get things done today?

At the very least there should be a ranked choice vote that includes today’s 
build system.

From: Maulin Vasavada 
<maulin.vasav...@gmail.com<mailto:maulin.vasav...@gmail.com>>
Date: Thursday, 3 February 2022 at 05:52
To: dev@cassandra.apache.org<mailto:dev@cassandra.apache.org> 
<dev@cassandra.apache.org<mailto:dev@cassandra.apache.org>>
Subject: Re: Build tool
Hi Aleksei

I was thinking about the same - build tool. I have used both - Maven and 
Gradle. In my experience, while Gradle has a rich DSL and the corresponding 
power, with constant changes in Gradle across versions it is difficult to focus 
on the actual product (like Cassandra in this case) development. With Maven the 
learning is once and it doesn't change that much and one can focus on the 
actual product better.

Of course, this is IMHO. +1 for using Maven. I would like to participate in the 
migration of the build tool if it needs more hands.

Thanks
Maulin

On Wed, Feb 2, 2022 at 2:35 PM Aleksei Zotov 
<azotc...@apache.org<mailto:azotc...@apache.org>> wrote:
Hi All,

Some time ago I created https://issues.apache.org/jira/browse/CASSANDRA-17015 
to migrate from ant to maven/gradle. Originally I was going to implement both, 
compare and pick the best in terms of project needs. However, now I feel it 
would be a significant overhead to try out both. Therefore, I'd like to make a 
collective decision on the build tool before starting any actual work.

I saw on Slack 
(https://app.slack.com/client/T4S1WH2J3/CK23JSY2K/thread/CK23JSY2K-1643748908.929809)
 that many people prefer maven. I'm leaning towards maven as well.

I guess we need to have a formal poll on the build tool since it is a 
significant part of the project. Please, suggest what the best way to proceed 
is. Should I just raise a vote for maven and just see if someone -1 in favor of 
gradle?

PS:
Please, bear in mind that Robert has already made some progress on gradle 
migration. I do not know how much is done there and whether he is willing to 
get it completed.

On 2020/06/02 13:39:34 Robert Stupp wrote:
> Yea - it's already in a pretty good state.
>
> Some work-in-progress-state is already available in either
> https://github.com/snazy/cassandra/tree/tryout-gradle (or
> https://github.com/snazy/cassandra/tree/tryout-gradle-dist-test with an
> additional commit).
>
> I already use it on my machine for a bunch of things and it already
> "feels bad" to go back to a branch without Gradle.
>
> I'll start a separate dev-ML thread with some more information in the
> next days, because getting C* 4.0-beta released is a higher priority atm.
>
> On 6/1/20 2:41 AM, Joshua McKenzie wrote:
> > Build tools are like religions, that's why. Or maybe cults. Or all
> > Stockholm Syndrome creators? :)
> >
> > Robert Stupp has been noodling around with a gradle based build env for C*
> > that'll live alongside ant. Not sure what the status is on that atm through.
> >
> > On Sun, May 31, 2020 at 3:16 PM Abhishek Singh 
> > <abh23...@gmail.com<mailto:abh23...@gmail.com>> wrote:
> >
> >> Hi All,
> >>                Hope you are doing well and are safe.
> >>   I just wanted to know why is the build still on ant and is there any plan
> >> to migrate to a modern build tool?
> >>
> >> Regards,
> >> Abhishek Singh
> >>
> --
> Robert Stupp
> @snazy
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: 
> dev-unsubscr...@cassandra.apache.org<mailto:dev-unsubscr...@cassandra.apache.org>
> For additional commands, e-mail: 
> dev-h...@cassandra.apache.org<mailto:dev-h...@cassandra.apache.org>
>
>

Reply via email to