Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MNGSITE-550] What's new in Maven 4? #598

Merged
merged 37 commits into from
Feb 26, 2025

Conversation

Bukama
Copy link
Contributor

@Bukama Bukama commented Dec 17, 2024

This PR adds an article about the major changes in Maven 4.

@Bukama
Copy link
Contributor Author

Bukama commented Dec 17, 2024

Info:

  • I put the article quite on high in the menu to make it more visible. When Maven 4 grew up a bit it can be (re-)moved.
  • I manually edited the site.xml to not apply full code style changes as it's not correctly formatted as of now (see #MNGSITE-539 Formatting the affected files #595)

@Bukama Bukama mentioned this pull request Dec 20, 2024
@Bukama
Copy link
Contributor Author

Bukama commented Dec 20, 2024

Thanks for the feedback and the editing @gnodet!

@Bukama
Copy link
Contributor Author

Bukama commented Dec 21, 2024

Hope everything is fine now :)

@elharo elharo changed the title MNGSITE-550 What's new in Maven 4? [MNGSITE-550] What's new in Maven 4? Dec 23, 2024
The updated API provides hints as preparation for Maven 4.
You can enable them by passing the following argument to your build: `-Dmaven.plugin.validation=verbose`.
You should also only rely on the official Maven BOMs when developing plugins.
If a plugin still relies on long-deprecated and now removed Plexus dependency resolution, it will no longer work
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this is true. If it is, elaboration is needed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this is true. If it is, elaboration is needed.

@cstamas @gnodet Can you give us some insight please?

@Bukama
Copy link
Contributor Author

Bukama commented Dec 23, 2024

Thank you for your feedback @elharo! Integrated all of your text suggestions and left the two questions/doubts for further responses/discussion - I'm open to everything.

@Bukama
Copy link
Contributor Author

Bukama commented Dec 23, 2024

Consider the audience of this document. This simply is not relevant to someone who simply wants to use Maven to build their code. It's only relevant to the people developing Maven and that's not who this is written for.

I slightly disagree on that: The audience of this document are all Maven users - those who only want to run their build, but also those who want to know more about the changes, are responsible for build management in their teams, etc (I think someone called them "power users"). If we only considers those who "blindly" use Maven, we don't need the article at all. They are those who still run Maven 3.3.9 and mvn clean install because that's what they've read in a tutorial or what was told them years ago.

I'm not sure we can expect people reading this document to already know the difference between build and consumers. This should probably be carefully explained right up front.

What do you think about

Throughout the years, one important rule has been maintaining the highest backward compatibility possible, especially with its [POM-schema with Model version 4.0.0][2].
This is very important, because POM files with this schema version are not only used for the build of the own project.
Projects, using 3rd party libraries, also rely on the POM files of those, as it contains information needed to successfully run their own builds.
Those projects are called "(a dependency) consuming projects".

Also, "consumers" is a strange term here. I might consider dependents instead, but either way it does need to be defined.

Used the term "consumers" due the terms the committers introduced when developing this feature.

@slachiewicz slachiewicz added the enhancement New feature or request label Dec 23, 2024
@Bukama Bukama requested a review from elharo December 27, 2024 19:25
@Bukama
Copy link
Contributor Author

Bukama commented Dec 27, 2024

@elharo Thanks for your feedback again. I don't know why I have not seen it 4 days ago :O Think I went through all of them, except the subproject renaming. Might have another look at it tomorrow (I'm too tired for that now).

@Bukama Bukama requested a review from elharo December 28, 2024 08:21
@slachiewicz
Copy link
Member

do You have plan to publish it now or when 4 is released?

@Bukama
Copy link
Contributor Author

Bukama commented Jan 5, 2025

do You have plan to publish it now or when 4 is released?

I would like to release it now, as a) @cstamas said we get asked what changes more often and b) several of us (e.g. Maarten, Karl Heinz, Robert, me) give talks about that quite a long time, but it's always too less time on conferences or many JUG to cover all.

@Bukama Bukama force-pushed the ngsite550_whatsnewmaven4 branch from 74b0df5 to 99ea2cc Compare January 7, 2025 18:45
@Bukama Bukama force-pushed the ngsite550_whatsnewmaven4 branch from 00a2337 to 942cda4 Compare February 26, 2025 16:21
@Bukama
Copy link
Contributor Author

Bukama commented Feb 26, 2025

This huge PR has been stale some time. From time to time someone has comments about minor parts of the article, others have already approved it.
As we can easily update the page when things change (added a note about that), I will merge this PR so the information are visible for the community.

@Bukama Bukama merged commit ffb3972 into apache:master Feb 26, 2025
1 check passed
@Bukama Bukama deleted the ngsite550_whatsnewmaven4 branch February 26, 2025 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.