airlift / airbase

Base POM for Airlift
Apache License 2.0
48 stars 87 forks source link

Require maven 3.9.8 to use airbase #414

Closed wendigo closed 2 months ago

wendigo commented 4 months ago

3.9.8 is version used by mvnd 1.0.0 so let's make it a minimum required version which also means that we will support mvnd 1.0.0+ out of the box.

wendigo commented 3 months ago

That's my thinking. I've invested a lot of time into getting our maven infrastructure modern, simple, performant, and reproducible. Maven 3.9.8 along with the mvnd 1.0.0 (built on top of the 3.9.8) marks the culmination of this effort. I'd like to enforce the usage of these versions across our projects to have consistent behavior and also to claim that mvnd is supported and recommended for local development.

wendigo commented 3 months ago

@electrum @dain @martint please chime in

wendigo commented 3 months ago

The same discussion happens in the Quarkus community: https://groups.google.com/g/quarkus-dev/c/XU8i2tCEVPA

findepi commented 3 months ago

The same discussion happens in the Quarkus community: https://groups.google.com/g/quarkus-dev/c/XU8i2tCEVPA

thanks for the link, this is really interesting!

I love how this thread starts with a clearly defined rationale: "We are not usually being too aggressive for our Maven requirements but... in this case we have a very good reason: Apache Maven 3.9.5- doesn't support Maven plugins compiled with Java 17."

wendigo commented 3 months ago

@findepi I wasn't aware of that problem and I think that we only use plugins compiled with JDK8 (which is required for Maven 3.x)

slachiewicz commented 3 months ago

While updating Maven Wrapper to use the latest version of Maven is a good thing - requirement for all developers to use the latest version may be too aggressive. Saying that You require Maven 3.9.x should be good enough.

In theory the Maven community supports Maven 3.6.3+ and we migrate all our base plugins to that version.

mosabua commented 3 months ago

@slachiewicz sure... but if we want to require 3.9.8 for airbase and any projects inheriting it would make our support for all those projects easier .. less testing and verification work. And also with wrapper config and such its completely transparent and easy to use whatever Maven version. Our move to require 3.9.8 is also explicitly to help the Maven project with testing and moving towards 4.0.0. We want to ensure that the latest and greatest Maven version is the best .. and dont really care about old stuff.

electrum commented 3 months ago

I support requiring the latest version. We can pretend that we support 3.6.3 but in reality we only test against the latest. Unless someone has a specific objection to upgrading (vs theoretical problems) then I’m good with this.

mosabua commented 2 months ago

Let's ship this @electrum and @wendigo !