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