-
Notifications
You must be signed in to change notification settings - Fork 100
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
Maven jaxb3 plugin #255
Maven jaxb3 plugin #255
Conversation
…for artifacts, add support for jaxb3 and jaxb4
great feature, need it |
@mattrpav could you tell me when this PR will be merged, or do you want to do some refactoring on it before ? |
Hi, any news when this PR will be merged? |
@mattrpav Up? |
Any news about this? Also waiting for it @laurentschoelens |
@laurentschoelens would you please break up the PR into separate PRs by commit? I'm thinking start with this modernization change of upping JDK and dropping older jaxb: This will help the review go faster for the full jakarta conversion. Thanks! |
Hi @mattrpav |
@laurentschoelens I'm going to release 0.15.3 w/ the 2.0, 2.1, 2.2 and JDK 8 new minimum. Thanks for breaking this up, it made the review much cleaner. The dropping of 2.0, 2.1 & 2.2 had over 100+ files to review. Next, let's tackle the re-package to org.jvnet.jaxb. It may take a few days to get Sonatype OSS to allow me to publish to a new groupId. We can get that going while reviewing Jakarta changes. Thoughts on this roadmap?
|
Thanks for this first step and merge |
Based on your first reply I would do : 0.15.3 - remove legacy, update to JDK 8 |
My current thinking (while being open to being convinced otherwise) is that JAXB has stabilized where it doesn't make sense to generate plugins with the version in the name in the artifactId. I think having the jaxb-maven-plugin and jaxb-tool version align closer to the jaxb version makes more sense and for a better developer experience (DX). Also, the plugin is super stable, so we need to be out of the 0.x.y major version naming convention. This all seems odd and confusing: jaxb23-maven-plugin v4.0.0 -- using jaxb 2.3.7, user needs jaxb-annotations-plugin 0.1.1 I'd like to get to a point where jaxb-basics, jaxb-maven-plugin and the jaxb-plugin-plugins-plugins are all under a single repo so we'd have version alignment with jaxb-annotations-plugin, jaxb-basics, jaxb-maven-plugin and the jakarta jaxb version (ie. 4.0.0). |
Ok for having only one version of plugin in this répond. Maybe it'll be interessant at some point of having maintenance branches for older plugins for security / bug fixes. You didn't answered about skipping jakarta.jaxb 3 which still supports jdk8, whereas jakarta.jaxb 4 supports jdk11+. I'm in favor of having a 3.x version for jakarta migration based on jakarta.jaxb 3 with jdk8 support |
@laurentschoelens ok, sounds good. Revised roadmap:
|
I'll provide the 2.99.0 PR soon |
@mattrpav will you create a new repo for this or use this one ? Maybe the v2 should contain this change before breaking from javax to jakarta namespace. |
This would lead for project structure to something like :
|
Let me see if I can get a new repo created, or have this repo migrated to a new name (maven-jaxb2-plugin -> jaxb-tools or similar). I'd like to try to keep the followers and forks for historical. |
No problem, that won't prevent me for creating the next PR of naming change |
Guess if you have access to Settings, you can rename the repository like this : ![]() I've tried on mine and works like a charm. Even have a redirect from older URL to newer : https://github.com/laurentschoelens/maven-jaxb2-plugin -> https://github.com/laurentschoelens/jaxb-tools |
Found a way to merge two repos but I guess you will lose forks / follow / stars since it's github functionnalities. |
@mattrpav do you wait for my next PR for 2.x branch (javax.jaxb 2.3 maintenance mode with new naming) ? If so, tell me if you want me to also provide a PR of merging different repo into this one ? |
I think we'll end up renaming this repo, and then put a pointer from jaxb-basics. This one has more followers, stars, etc. I'll start the release for 0.15.3, then move main to 2.x branch, cut a release, create a branch and then start main as 3.x (ready for your 3.x PR). Please can create your PRs ASAP, so we can start reviewing. We can rebase them once the releases get going. |
@mattrpav : #263 created for renaming part. I'll try to provide more simple PR to jaxb_basics since some work had been done to integrate missing older external plugins before being merged here into jaxb-tools. |
See https://github.com/laurentschoelens/jaxb-tools/tree/merging for work on merging repos |
Hello @laurentschoelens, any ETA for this? Currently blocked with our spring boot upgrade due to this :( |
Hi @razum90 - v2.0.2 was just released which takes the first step towards v3 and then v4 (jakarta support). Please test the v2.0.2 Maven plugin with your project (pre-Spring 6) and confirm everything works as expected. Well be starting on v3 shortly. Thanks |
Hey @mattrpav and thanks for you reply. I have tested with the following, and it seems to be working for us. <plugin>
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb-maven-plugin</artifactId>
<version>2.0.2</version>
</plugin> Waiting for the next version 👍 |
@razum90 and @wojciechzych and all other watching this PR : After this, jaxb3 support should come very soon and jaxb4 shortly after as the main job will be done by jaxb3 jakarta conversion. |
Hello everyone We can say that v3 plugin should be available by the end of the month. A migration guide is present to help navigate through major versions |
Closing this per v3 complete and released 🎉 |
Pull request to handle the v3 (v4) migration process that is still not available.
I've droppped support of plugin 2.0 / 2.1 / 2.2
Change the groupId / artifactId and package to the new naming convention as suggested by the v3 roadmap
I've added new artifact / maven-plugin for jaxb3 and jaxb4 support (jaxb3 still available for java8, jaxb4 only for java11 and upper).
Tested build against jdk11
Build success with profile -Pall activated