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 >> > > > > > >> > > > > >> > > > >> > > >> > >> >
