You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ratis.apache.org by tison <wa...@gmail.com> on 2023/03/08 00:38:44 UTC

[DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Hi,

Different projects have different requirements for tool versions, including
the version of Maven.

Our BUILDING [1] file states Maven 3.3.9 or later is required, although a
system-wise Maven distro may be in a different version or even not exist.

To improve developer experience on the first building and stick to
reproducible builds, I suggest we use and distribute a Maven Wrapper for
our project [2][3].

The change set is like [4] plus optional CI switching to the mvnw script.

What do you think?

Best,
tison.

[1] https://github.com/apache/ratis/blob/master/BUILDING.md
[2] https://issues.apache.org/jira/browse/RATIS-1795
[3] https://maven.apache.org/wrapper/
[4]
https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by Tsz Wo Sze <sz...@gmail.com>.
Kaijie, thanks for pointing out the reproducible build guide!  It is
very helpful/

Mingliang, thanks a lot for sharing your experience on maven wrapper!
Your alias "m" trick is also interesting.  (I thought "m" is
for Mingliang.  No?  :)

tison, thank you for submitting the pull request! It is a good start.  Will
review it.

Tsz-Wo

On Wed, Mar 15, 2023 at 12:09 PM tison <wa...@gmail.com> wrote:

> To Mingliang,
>
> Yes. The first thing that brings me here is that I'm building Ratis on a
> laptop without pre-installed Maven. So the patch contains two parts:
>
> 1. Add a Maven wrapper and update the BUILDING doc.
> 2. Replace `mvn' with `mvnw' in automation.
>
> They can be reviewed separately.
>
> Best,
> tison.
>
>
> tison <wa...@gmail.com> 于2023年3月15日周三 12:07写道:
>
> > Thanks for your feedback! I draft a PR
> > https://github.com/apache/ratis/pull/854.
> >
> > Despite the wrapper script that takes about ~500 lines, the effective
> > change is less than 100 lines.
> >
> > Although, changes on shell scripts can be brittle. You're welcome to give
> > it a review and decide whether we'll make those changes.
> >
> > Best,
> > tison.
> >
> >
> > Mingliang Liu <li...@apache.org> 于2023年3月14日周二 02:31写道:
> >
> >> Flink has supported maven wrapper and my experience is very smooth. In
> my
> >> day job we use Gradle wrappers for all projects. The main benefit to me
> is
> >> a fully encapsulated build setup for the project. I don't have to
> >> check/install supported Maven/Gradle versions. It takes a few Maven
> >> commands to set up and the files to commit to the project git repository
> >> are small.
> >>
> >> For ease of use, I use an alias "m" which is defined as "test -f mvnw;
> and
> >> alias m=./mvnw; or alias m=mvn" in my Fish shell. So "m package" or "m
> >> clean" etc
> >>
> >>
> >> On Mon, Mar 13, 2023 at 2:26 AM Tsz Wo Sze <sz...@gmail.com> wrote:
> >>
> >> > How big would the change be?  If it is small, we should try it.
> >> >
> >> > Tsz-Wo
> >> >
> >> > On Thu, Mar 9, 2023 at 3:26 PM Kaijie Chen <ck...@apache.org> wrote:
> >> >
> >> > > > By reproducible builds, is it supposed to give the exact binary?
> If
> >> > not,
> >> > > > what do we expect?
> >> > >
> >> > > Yes. More on reproducible builds:
> >> > > https://maven.apache.org/guides/mini/guide-reproducible-builds.html
> >> > >
> >> > > Maven wrapper is a small step towards reproducible builds.
> >> > >
> >> > > Kaijie
> >> > >
> >> > > On 2023/03/09 01:33:47 Tsz Wo Sze wrote:
> >> > > > By reproducible builds, is it supposed to give the exact binary?
> If
> >> > not,
> >> > > > what do we expect?
> >> > > >
> >> > > > Tsz-Wo
> >> > > >
> >> > > > On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org>
> wrote:
> >> > > >
> >> > > > > +1 (non-binding), thanks tison for the proposal.
> >> > > > >
> >> > > > > Although I'm not used to Maven Wrapper (I prefer typing `mvn`
> than
> >> > > > > `./mvnw`),
> >> > > > > I like the idea of reproducible builds.
> >> > > > >
> >> > > > > After this change, `./mvnw package` is recommended (for CI and
> >> > > release),
> >> > > > > while `mvn package` should still work.
> >> > > > >
> >> > > > > Best,
> >> > > > > Kaijie
> >> > > > >
> >> > > > >  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
> >> > > > >  > Hi,
> >> > > > >  >
> >> > > > >  > Different projects have different requirements for tool
> >> versions,
> >> > > > > including
> >> > > > >  > the version of Maven.
> >> > > > >  >
> >> > > > >  > Our BUILDING [1] file states Maven 3.3.9 or later is
> required,
> >> > > although
> >> > > > > a
> >> > > > >  > system-wise Maven distro may be in a different version or
> even
> >> not
> >> > > > > exist.
> >> > > > >  >
> >> > > > >  > To improve developer experience on the first building and
> >> stick to
> >> > > > >  > reproducible builds, I suggest we use and distribute a Maven
> >> > > Wrapper for
> >> > > > >  > our project [2][3].
> >> > > > >  >
> >> > > > >  > The change set is like [4] plus optional CI switching to the
> >> mvnw
> >> > > > > script.
> >> > > > >  >
> >> > > > >  > What do you think?
> >> > > > >  >
> >> > > > >  > Best,
> >> > > > >  > tison.
> >> > > > >  >
> >> > > > >  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
> >> > > > >  > [2] https://issues.apache.org/jira/browse/RATIS-1795
> >> > > > >  > [3] https://maven.apache.org/wrapper/
> >> > > > >  > [4]
> >> > > > >  >
> >> > > > >
> >> > >
> >> >
> >>
> https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
> >> > > > >  >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
>

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by tison <wa...@gmail.com>.
To Mingliang,

Yes. The first thing that brings me here is that I'm building Ratis on a
laptop without pre-installed Maven. So the patch contains two parts:

1. Add a Maven wrapper and update the BUILDING doc.
2. Replace `mvn' with `mvnw' in automation.

They can be reviewed separately.

Best,
tison.


tison <wa...@gmail.com> 于2023年3月15日周三 12:07写道:

> Thanks for your feedback! I draft a PR
> https://github.com/apache/ratis/pull/854.
>
> Despite the wrapper script that takes about ~500 lines, the effective
> change is less than 100 lines.
>
> Although, changes on shell scripts can be brittle. You're welcome to give
> it a review and decide whether we'll make those changes.
>
> Best,
> tison.
>
>
> Mingliang Liu <li...@apache.org> 于2023年3月14日周二 02:31写道:
>
>> Flink has supported maven wrapper and my experience is very smooth. In my
>> day job we use Gradle wrappers for all projects. The main benefit to me is
>> a fully encapsulated build setup for the project. I don't have to
>> check/install supported Maven/Gradle versions. It takes a few Maven
>> commands to set up and the files to commit to the project git repository
>> are small.
>>
>> For ease of use, I use an alias "m" which is defined as "test -f mvnw; and
>> alias m=./mvnw; or alias m=mvn" in my Fish shell. So "m package" or "m
>> clean" etc
>>
>>
>> On Mon, Mar 13, 2023 at 2:26 AM Tsz Wo Sze <sz...@gmail.com> wrote:
>>
>> > How big would the change be?  If it is small, we should try it.
>> >
>> > Tsz-Wo
>> >
>> > On Thu, Mar 9, 2023 at 3:26 PM Kaijie Chen <ck...@apache.org> wrote:
>> >
>> > > > By reproducible builds, is it supposed to give the exact binary?  If
>> > not,
>> > > > what do we expect?
>> > >
>> > > Yes. More on reproducible builds:
>> > > https://maven.apache.org/guides/mini/guide-reproducible-builds.html
>> > >
>> > > Maven wrapper is a small step towards reproducible builds.
>> > >
>> > > Kaijie
>> > >
>> > > On 2023/03/09 01:33:47 Tsz Wo Sze wrote:
>> > > > By reproducible builds, is it supposed to give the exact binary?  If
>> > not,
>> > > > what do we expect?
>> > > >
>> > > > Tsz-Wo
>> > > >
>> > > > On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org> wrote:
>> > > >
>> > > > > +1 (non-binding), thanks tison for the proposal.
>> > > > >
>> > > > > Although I'm not used to Maven Wrapper (I prefer typing `mvn` than
>> > > > > `./mvnw`),
>> > > > > I like the idea of reproducible builds.
>> > > > >
>> > > > > After this change, `./mvnw package` is recommended (for CI and
>> > > release),
>> > > > > while `mvn package` should still work.
>> > > > >
>> > > > > Best,
>> > > > > Kaijie
>> > > > >
>> > > > >  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
>> > > > >  > Hi,
>> > > > >  >
>> > > > >  > Different projects have different requirements for tool
>> versions,
>> > > > > including
>> > > > >  > the version of Maven.
>> > > > >  >
>> > > > >  > Our BUILDING [1] file states Maven 3.3.9 or later is required,
>> > > although
>> > > > > a
>> > > > >  > system-wise Maven distro may be in a different version or even
>> not
>> > > > > exist.
>> > > > >  >
>> > > > >  > To improve developer experience on the first building and
>> stick to
>> > > > >  > reproducible builds, I suggest we use and distribute a Maven
>> > > Wrapper for
>> > > > >  > our project [2][3].
>> > > > >  >
>> > > > >  > The change set is like [4] plus optional CI switching to the
>> mvnw
>> > > > > script.
>> > > > >  >
>> > > > >  > What do you think?
>> > > > >  >
>> > > > >  > Best,
>> > > > >  > tison.
>> > > > >  >
>> > > > >  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
>> > > > >  > [2] https://issues.apache.org/jira/browse/RATIS-1795
>> > > > >  > [3] https://maven.apache.org/wrapper/
>> > > > >  > [4]
>> > > > >  >
>> > > > >
>> > >
>> >
>> https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
>> > > > >  >
>> > > > >
>> > > >
>> > >
>> >
>>
>

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by tison <wa...@gmail.com>.
Thanks for your feedback! I draft a PR
https://github.com/apache/ratis/pull/854.

Despite the wrapper script that takes about ~500 lines, the effective
change is less than 100 lines.

Although, changes on shell scripts can be brittle. You're welcome to give
it a review and decide whether we'll make those changes.

Best,
tison.


Mingliang Liu <li...@apache.org> 于2023年3月14日周二 02:31写道:

> Flink has supported maven wrapper and my experience is very smooth. In my
> day job we use Gradle wrappers for all projects. The main benefit to me is
> a fully encapsulated build setup for the project. I don't have to
> check/install supported Maven/Gradle versions. It takes a few Maven
> commands to set up and the files to commit to the project git repository
> are small.
>
> For ease of use, I use an alias "m" which is defined as "test -f mvnw; and
> alias m=./mvnw; or alias m=mvn" in my Fish shell. So "m package" or "m
> clean" etc
>
>
> On Mon, Mar 13, 2023 at 2:26 AM Tsz Wo Sze <sz...@gmail.com> wrote:
>
> > How big would the change be?  If it is small, we should try it.
> >
> > Tsz-Wo
> >
> > On Thu, Mar 9, 2023 at 3:26 PM Kaijie Chen <ck...@apache.org> wrote:
> >
> > > > By reproducible builds, is it supposed to give the exact binary?  If
> > not,
> > > > what do we expect?
> > >
> > > Yes. More on reproducible builds:
> > > https://maven.apache.org/guides/mini/guide-reproducible-builds.html
> > >
> > > Maven wrapper is a small step towards reproducible builds.
> > >
> > > Kaijie
> > >
> > > On 2023/03/09 01:33:47 Tsz Wo Sze wrote:
> > > > By reproducible builds, is it supposed to give the exact binary?  If
> > not,
> > > > what do we expect?
> > > >
> > > > Tsz-Wo
> > > >
> > > > On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org> wrote:
> > > >
> > > > > +1 (non-binding), thanks tison for the proposal.
> > > > >
> > > > > Although I'm not used to Maven Wrapper (I prefer typing `mvn` than
> > > > > `./mvnw`),
> > > > > I like the idea of reproducible builds.
> > > > >
> > > > > After this change, `./mvnw package` is recommended (for CI and
> > > release),
> > > > > while `mvn package` should still work.
> > > > >
> > > > > Best,
> > > > > Kaijie
> > > > >
> > > > >  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
> > > > >  > Hi,
> > > > >  >
> > > > >  > Different projects have different requirements for tool
> versions,
> > > > > including
> > > > >  > the version of Maven.
> > > > >  >
> > > > >  > Our BUILDING [1] file states Maven 3.3.9 or later is required,
> > > although
> > > > > a
> > > > >  > system-wise Maven distro may be in a different version or even
> not
> > > > > exist.
> > > > >  >
> > > > >  > To improve developer experience on the first building and stick
> to
> > > > >  > reproducible builds, I suggest we use and distribute a Maven
> > > Wrapper for
> > > > >  > our project [2][3].
> > > > >  >
> > > > >  > The change set is like [4] plus optional CI switching to the
> mvnw
> > > > > script.
> > > > >  >
> > > > >  > What do you think?
> > > > >  >
> > > > >  > Best,
> > > > >  > tison.
> > > > >  >
> > > > >  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
> > > > >  > [2] https://issues.apache.org/jira/browse/RATIS-1795
> > > > >  > [3] https://maven.apache.org/wrapper/
> > > > >  > [4]
> > > > >  >
> > > > >
> > >
> >
> https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
> > > > >  >
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by Mingliang Liu <li...@apache.org>.
Flink has supported maven wrapper and my experience is very smooth. In my
day job we use Gradle wrappers for all projects. The main benefit to me is
a fully encapsulated build setup for the project. I don't have to
check/install supported Maven/Gradle versions. It takes a few Maven
commands to set up and the files to commit to the project git repository
are small.

For ease of use, I use an alias "m" which is defined as "test -f mvnw; and
alias m=./mvnw; or alias m=mvn" in my Fish shell. So "m package" or "m
clean" etc


On Mon, Mar 13, 2023 at 2:26 AM Tsz Wo Sze <sz...@gmail.com> wrote:

> How big would the change be?  If it is small, we should try it.
>
> Tsz-Wo
>
> On Thu, Mar 9, 2023 at 3:26 PM Kaijie Chen <ck...@apache.org> wrote:
>
> > > By reproducible builds, is it supposed to give the exact binary?  If
> not,
> > > what do we expect?
> >
> > Yes. More on reproducible builds:
> > https://maven.apache.org/guides/mini/guide-reproducible-builds.html
> >
> > Maven wrapper is a small step towards reproducible builds.
> >
> > Kaijie
> >
> > On 2023/03/09 01:33:47 Tsz Wo Sze wrote:
> > > By reproducible builds, is it supposed to give the exact binary?  If
> not,
> > > what do we expect?
> > >
> > > Tsz-Wo
> > >
> > > On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org> wrote:
> > >
> > > > +1 (non-binding), thanks tison for the proposal.
> > > >
> > > > Although I'm not used to Maven Wrapper (I prefer typing `mvn` than
> > > > `./mvnw`),
> > > > I like the idea of reproducible builds.
> > > >
> > > > After this change, `./mvnw package` is recommended (for CI and
> > release),
> > > > while `mvn package` should still work.
> > > >
> > > > Best,
> > > > Kaijie
> > > >
> > > >  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
> > > >  > Hi,
> > > >  >
> > > >  > Different projects have different requirements for tool versions,
> > > > including
> > > >  > the version of Maven.
> > > >  >
> > > >  > Our BUILDING [1] file states Maven 3.3.9 or later is required,
> > although
> > > > a
> > > >  > system-wise Maven distro may be in a different version or even not
> > > > exist.
> > > >  >
> > > >  > To improve developer experience on the first building and stick to
> > > >  > reproducible builds, I suggest we use and distribute a Maven
> > Wrapper for
> > > >  > our project [2][3].
> > > >  >
> > > >  > The change set is like [4] plus optional CI switching to the mvnw
> > > > script.
> > > >  >
> > > >  > What do you think?
> > > >  >
> > > >  > Best,
> > > >  > tison.
> > > >  >
> > > >  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
> > > >  > [2] https://issues.apache.org/jira/browse/RATIS-1795
> > > >  > [3] https://maven.apache.org/wrapper/
> > > >  > [4]
> > > >  >
> > > >
> >
> https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
> > > >  >
> > > >
> > >
> >
>

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by Tsz Wo Sze <sz...@gmail.com>.
How big would the change be?  If it is small, we should try it.

Tsz-Wo

On Thu, Mar 9, 2023 at 3:26 PM Kaijie Chen <ck...@apache.org> wrote:

> > By reproducible builds, is it supposed to give the exact binary?  If not,
> > what do we expect?
>
> Yes. More on reproducible builds:
> https://maven.apache.org/guides/mini/guide-reproducible-builds.html
>
> Maven wrapper is a small step towards reproducible builds.
>
> Kaijie
>
> On 2023/03/09 01:33:47 Tsz Wo Sze wrote:
> > By reproducible builds, is it supposed to give the exact binary?  If not,
> > what do we expect?
> >
> > Tsz-Wo
> >
> > On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org> wrote:
> >
> > > +1 (non-binding), thanks tison for the proposal.
> > >
> > > Although I'm not used to Maven Wrapper (I prefer typing `mvn` than
> > > `./mvnw`),
> > > I like the idea of reproducible builds.
> > >
> > > After this change, `./mvnw package` is recommended (for CI and
> release),
> > > while `mvn package` should still work.
> > >
> > > Best,
> > > Kaijie
> > >
> > >  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
> > >  > Hi,
> > >  >
> > >  > Different projects have different requirements for tool versions,
> > > including
> > >  > the version of Maven.
> > >  >
> > >  > Our BUILDING [1] file states Maven 3.3.9 or later is required,
> although
> > > a
> > >  > system-wise Maven distro may be in a different version or even not
> > > exist.
> > >  >
> > >  > To improve developer experience on the first building and stick to
> > >  > reproducible builds, I suggest we use and distribute a Maven
> Wrapper for
> > >  > our project [2][3].
> > >  >
> > >  > The change set is like [4] plus optional CI switching to the mvnw
> > > script.
> > >  >
> > >  > What do you think?
> > >  >
> > >  > Best,
> > >  > tison.
> > >  >
> > >  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
> > >  > [2] https://issues.apache.org/jira/browse/RATIS-1795
> > >  > [3] https://maven.apache.org/wrapper/
> > >  > [4]
> > >  >
> > >
> https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
> > >  >
> > >
> >
>

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by Kaijie Chen <ck...@apache.org>.
> By reproducible builds, is it supposed to give the exact binary?  If not,
> what do we expect?

Yes. More on reproducible builds:
https://maven.apache.org/guides/mini/guide-reproducible-builds.html

Maven wrapper is a small step towards reproducible builds.

Kaijie

On 2023/03/09 01:33:47 Tsz Wo Sze wrote:
> By reproducible builds, is it supposed to give the exact binary?  If not,
> what do we expect?
> 
> Tsz-Wo
> 
> On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org> wrote:
> 
> > +1 (non-binding), thanks tison for the proposal.
> >
> > Although I'm not used to Maven Wrapper (I prefer typing `mvn` than
> > `./mvnw`),
> > I like the idea of reproducible builds.
> >
> > After this change, `./mvnw package` is recommended (for CI and release),
> > while `mvn package` should still work.
> >
> > Best,
> > Kaijie
> >
> >  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
> >  > Hi,
> >  >
> >  > Different projects have different requirements for tool versions,
> > including
> >  > the version of Maven.
> >  >
> >  > Our BUILDING [1] file states Maven 3.3.9 or later is required, although
> > a
> >  > system-wise Maven distro may be in a different version or even not
> > exist.
> >  >
> >  > To improve developer experience on the first building and stick to
> >  > reproducible builds, I suggest we use and distribute a Maven Wrapper for
> >  > our project [2][3].
> >  >
> >  > The change set is like [4] plus optional CI switching to the mvnw
> > script.
> >  >
> >  > What do you think?
> >  >
> >  > Best,
> >  > tison.
> >  >
> >  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
> >  > [2] https://issues.apache.org/jira/browse/RATIS-1795
> >  > [3] https://maven.apache.org/wrapper/
> >  > [4]
> >  >
> > https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
> >  >
> >
> 

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by Tsz Wo Sze <sz...@gmail.com>.
By reproducible builds, is it supposed to give the exact binary?  If not,
what do we expect?

Tsz-Wo

On Tue, Mar 7, 2023 at 10:13 PM Kaijie Chen <ck...@apache.org> wrote:

> +1 (non-binding), thanks tison for the proposal.
>
> Although I'm not used to Maven Wrapper (I prefer typing `mvn` than
> `./mvnw`),
> I like the idea of reproducible builds.
>
> After this change, `./mvnw package` is recommended (for CI and release),
> while `mvn package` should still work.
>
> Best,
> Kaijie
>
>  ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote ---
>  > Hi,
>  >
>  > Different projects have different requirements for tool versions,
> including
>  > the version of Maven.
>  >
>  > Our BUILDING [1] file states Maven 3.3.9 or later is required, although
> a
>  > system-wise Maven distro may be in a different version or even not
> exist.
>  >
>  > To improve developer experience on the first building and stick to
>  > reproducible builds, I suggest we use and distribute a Maven Wrapper for
>  > our project [2][3].
>  >
>  > The change set is like [4] plus optional CI switching to the mvnw
> script.
>  >
>  > What do you think?
>  >
>  > Best,
>  > tison.
>  >
>  > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
>  > [2] https://issues.apache.org/jira/browse/RATIS-1795
>  > [3] https://maven.apache.org/wrapper/
>  > [4]
>  >
> https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
>  >
>

Re: [DISCUSS] Use and distribute a Maven Wrapper (RATIS-1795)

Posted by Kaijie Chen <ck...@apache.org>.
+1 (non-binding), thanks tison for the proposal.

Although I'm not used to Maven Wrapper (I prefer typing `mvn` than `./mvnw`),
I like the idea of reproducible builds.

After this change, `./mvnw package` is recommended (for CI and release),
while `mvn package` should still work.

Best,
Kaijie 

 ---- On Wed, 08 Mar 2023 08:38:44 +0800  tison  wrote --- 
 > Hi,
 > 
 > Different projects have different requirements for tool versions, including
 > the version of Maven.
 > 
 > Our BUILDING [1] file states Maven 3.3.9 or later is required, although a
 > system-wise Maven distro may be in a different version or even not exist.
 > 
 > To improve developer experience on the first building and stick to
 > reproducible builds, I suggest we use and distribute a Maven Wrapper for
 > our project [2][3].
 > 
 > The change set is like [4] plus optional CI switching to the mvnw script.
 > 
 > What do you think?
 > 
 > Best,
 > tison.
 > 
 > [1] https://github.com/apache/ratis/blob/master/BUILDING.md
 > [2] https://issues.apache.org/jira/browse/RATIS-1795
 > [3] https://maven.apache.org/wrapper/
 > [4]
 > https://github.com/apache/curator/pull/444/commits/e179a5aa317f39348816270dfcb4da7365567ee4
 >