Repository navigation
Open
Labels
Description
we have a few plugins and components with a Maven 4 specific branch (either for Java Module support or anticipation of future Maven 4 API migration), while our current strategy is to maintain default for Maven 3, and switch to Maven 4 as default in the future, once users migration to Maven 4.0 has good progress
This is visible in the source tree:
...
|-- plugins
| |-- core
(default Maven 3)
| |-- core-4
| | |-- maven-clean-plugin
| | |-- maven-compiler-plugin
| | |-- maven-deploy-plugin
| | |-- maven-install-plugin
| | `-- maven-resources-plugin
| |-- packaging
(default Maven 3)
| |-- packaging-4
| | |-- maven-jar-plugin
| | `-- maven-source-plugin
| |-- tools
(default Maven 3)
| `-- tools-4
| `-- plugin-tools
...
|-- shared
(default Maven 3)
|-- shared-4
| |-- archiver
| `-- filtering
...
From a Git perspective, though, this has been done by:
- updating
masterdefault branch to Maven 4 - creating a
XXX-3.xbranch for the Maven 3 branch
after discussion, the Git pattern is not consistent with our current approach (default for Maven 3, and Maven 4 specific when necessary)
for clarity, we need to switch the Git branches to match our intent:
- rename
masterbranch with Maven 4 specific code toXXX-4.x - rename
XXX-3.xbranch tomaster
on the few Git repositories:
- 5 core plugins
- default = 4️⃣: maven-clean-plugin / maven-clean-plugin-3.x / maven-clean-plugin-4.x
- default = 4️⃣: maven-compiler-plugin / maven-compiler-plugin-3.x / maven-compiler-plugin-4.x
- default = 4️⃣: maven-deploy-plugin / maven-deploy-plugin-3.x / maven-deploy-plugin-4.x
- default = 4️⃣: maven-install-plugin / maven-install-plugin-3.x / maven-install-plugin-4.x
- default = 4️⃣: maven-resources-plugin / maven-resources-plugin-3.x / maven-resources-plugin-4.x
- 2 packaging plugins
- default = 4️⃣: maven-jar-plugin / maven-jar-plugin-3.x / maven-jar-plugin-4.x
- default = 4️⃣: maven-source-plugin / maven-source-plugin-3.x / maven-source-plugin-4.x
1 tool plugindefault = 3️⃣: plugin-tools / maven-plugin-tools-3.x / maven-plugin-tools-4.x
- 2 shared components
- default = 4️⃣: maven-archiver / maven-archiver-3.x / maven-archiver-4.x
- default = 4️⃣: maven-filtering / maven-filtering-3.x / maven-filtering-4.x
Activity
hboutemy commentedon Sep 20, 2026
after deep dive into plugin-tools,
masterbranch that currently builds4.0.0-beta4-SNAPSHOT, is not a Maven 4 plugin: it remains a good old Maven 3 plugin, that perfectly works with Maven 3 and produces Maven 3 pluginsit just has new features to be able to create a Maven 4 plugin descriptor, with its new fields additions (like
afters) and using Maven 4 API annotation instead of plugin-tools ones=> let's simply drop
maven-plugin-tools-3.xbranch, keep currentmasterand just update it to build3.17.0-SNAPSHOTslawekjaranowski commentedon Sep 26, 2026
what will be default branch in Maven core project? as we have
slawekjaranowski commentedon Sep 26, 2026
I'm not sure what benefit we will have after such change, we will have the same branches to maintain
desruisseaux commentedon Sep 26, 2026
I agree with @slawekjaranowski. I'm not convinced that this renaming dance will not bring more confusion than what it aims to solve. The message that I would rather like to promote is that the master branches are the one where we would like peoples to put their effort, and the 3.x branches are in maintenance mode.
slawekjaranowski commentedon Sep 28, 2026
Next question what impact will be on current fork repo?
slachiewicz commentedon Oct 6, 2026
slachiewicz commentedon Oct 6, 2026
For me option would be to rename some branches to drop project name prefix and keep only 3.x as name.
Always we can set default branch to 3.x line without rename.
ascheman commentedon Oct 7, 2026
Perhaps it was not a good idea to spread feedback to too many places?
I just see this comment here while the whole procedure is already on its way.
If you generally object to the swap, would you mind to raise that in the dev@ mailing list (or perhaps find consensus within PMC first)?
slawekjaranowski commentedon Oct 7, 2026
I'm also miss discussion on dev@ list .....
ascheman commentedon Oct 7, 2026
@slawekjaranowski there is one — I sent a
[NOTICE]to dev@ on 6 Oct that explicitly asks for objections: https://lists.apache.org/thread/zg052t20fww3ghzhc9mqyh969c1661z5Let's consolidate the discussion there (as I suggested above), so the decision is made in one place. The pilot PR here is only to ground the mechanics — nothing is executed yet, and we won't proceed without consensus.
Switch default-branch metadata to Maven 3 (maven-sources#57)
Switch default-branch metadata to Maven 3 (maven-sources#57)
Switch default-branch metadata to Maven 3 (maven-sources#57)
Switch default-branch metadata to Maven 3 (maven-sources#57)
2 remaining items
Switch default-branch metadata to Maven 3 (maven-sources#57)
Switch default-branch metadata to Maven 3 (maven-sources#57)
Switch default-branch metadata to Maven 3 (maven-sources#57)
update branches for Maven 3 vs 4 after #57
Follow the maven-sources#57 branch rename
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line
Keep Dependabot off Maven 4 deps on the 3.x line