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