Hello.

Le sam. 15 août 2020 à 19:22, Rob Tompkins <chtom...@gmail.com> a écrit :
>
> Hello all,
>
> I first want to thank John for bringing these points to light as I think we 
> can have quite a healthy discussion about the CI/CD philosophy employed by 
> the project (Apache Commons) generally. Furthermore, I hope to set precedent 
> with intent and direction with the following comments. Note, these are merely 
> ideas yet to be set in stone. I would propose that we draft the ideas using 
> this thread and potentially have a PMC level/committer/user level [POLL] (to 
> be handled on the dev@ list) on direction following debate and drafting. I 
> quite enjoy suggestions and ideas from all areas and take quite seriously the 
> suggestions of any user of the project. :-)
>
> Having worked with ./mvnw extensively during $work over the last 5 years, I’m 
> quite hesitant to use it in CI.

I didn't know about "mvnw" until today, and it still doesn't strike me
as necessary (but I could be convinced by more concrete examples).

Just trusting your experience, I'd be reluctant to change yet another
aspect of our handling of projects (unless it is part of a rationalization
effort).

> Note, we intentionally have NO continuous deployment as we GPG sign all of 
> our artifacts locally, and we intentionally do not publish snapshots as we 
> don’t want people actively consuming our inflight development work.

Not entirely correct: Some projects do publish snapshots. And they were
sometimes proposed as a way to check that some bug had been fixed.

> We use beta releases instead for this purpose.

Unless I'm mistaken, the purpose is different: a release (beta or
otherwise) comes with certain checks which snapshots do not have
(possibly making the latter unacceptable in some environments).

> Furthermore, all of our CI processes have explicit declarations for a various 
> array of different java versions (open to varying across maven versions 
> here). But do note that they are indeed all quite hard coded in our github 
> actions files, towards which we are migrating.

When was this decided?

> All that said, I do indeed see quite a good argument for including ./mvnw in 
> the project and that is to expedite developer productivity by helping to 
> install the latest version of Apache Maven, and I want to be clear here that 
> we only want to install the latest version of Apache Maven as we very much do 
> not want to be prescriptive with our java versioning. We, in fact, work quite 
> hard to maintain backwards compatibility to the oldest freely available 
> supported (long-term-support) version of java.

I'm a bit lost (wrt what you wrote above):  Is "mvnw" good or not?
IIUC (?), it allows specifying (bundle?) a specific version of maven.
How is it better than just note somewhere the known issues (and
fix them ASAP)?

>
> I also wonder, but am unsure of the potential here with either GitHub’s 
> actions or GitHubs dependabot, if we can automate upversioning maven to it’s 
> latest version in said .properties files.

Completely lost now.

Either people who want (for all the good reasons) to move to an
all-GitHub solution should lay out their plan, or we should vote,
component-wise, on the new sets of requirements, a.o. having
a GitHub account in order to be able to manage said component.

Regards,
Gilles

>
> Thoughts?
>
> Cheers,
> -Rob
>
> > On Aug 15, 2020, at 9:45 AM, John Patrick <nhoj.patr...@gmail.com> wrote:
> >
> > I've raised some pull requests to add the Takari maven wrapper.
> >
> > The Takari maven wrapper is EOL and will be replaced with the Maven
> > Wrapper when Maven v3.7.0 is released.
> >
> > I've added the Takari version as maven v3.7.0 is not yet out. I've
> > been using the Takari maven wrapper for about 4 years now and it has
> > reduced a lot of maintenance and setup tasks.
> >
> > - Maven Wrapper is Maven-As-Code
> > - CI/CD, your docker images or Jenkins slaves no longer need maven pre
> > installed, so less maintenance tasks
> > - Developers don't need to pre install maven
> > - Projects control what version of maven to use, maybe a legacy
> > project needs v3.3.1 and a newer project needs v3.6.3. A developer
> > doesn't need to keep changing their PATH, they just use ./mvnw.
> > - Want to check a new version of maven, just change the properties,
> > then it can undergo the standard pull request build checks to make
> > sure the project works with that version.
> >
> > The first PR I raised was for commons-code and can be found here
> > https://github.com/apache/commons-codec/pull/58
> >
> > I've also done similar or;
> > commons-collections
> > commons-configuration
> > commons-io
> > commons-lang
> > commons-parent
> > httpcomponent-client
> > httpcomponent-core
> > httpcomponent-parent
> >
> > John

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to