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 <[email protected]> 于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 <[email protected]> 于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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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
>> > > > >  >
>> > > > >
>> > > >
>> > >
>> >
>>
>

Reply via email to