highsource / jaxb2-basics

Useful plugins and tools for JAXB2.
BSD 2-Clause "Simplified" License
109 stars 54 forks source link

Migration to jakarta JAXB3 API and update some dependencies #165

Closed laurentschoelens closed 1 year ago

laurentschoelens commented 1 year ago

I've been looking for the highsource jaxb2-basics project for the jaxb3 / jakarta migration but didn't find it, so here is my pull request for this feature.

Tested successfully on my own project.

Build passes with -Pall profile. Feel free to look and merge.

laurentschoelens commented 1 year ago

I've by design decided to change the artifact / groupId and also package names to jaxb3 to avoid conflicts with the existing jaxb2 lib.

laurentschoelens commented 1 year ago

I'd also like to change the unofficial jaxb3 generator to use https://github.com/highsource/maven-jaxb2-plugin "official" highsource plugin with jaxb3 support (providing a pull request on this project too soon, if I can)

Daemorinumi commented 1 year ago

yes it could be usefull.

laurentschoelens commented 1 year ago

Made migration back to highsource jaxb-maven-plugin and updated some errors on build (cxf). Need jdk11 to build (due to cxf 4 baseline to jdk11) but compatible with jdk8

evantoli commented 1 year ago

Thanks @laurentschoelens for raising this PR – we use this plugin extensively and are switching to the Jakarta namespace and package names.

Hi @highsource – is there only plan to move forward with this PR? At the moment we are building our own forked version using @laurentschoelens code.

But of course, we'd like to move back to using this standard plugin – either jaxb2-basics or as this PR suggests jaxb3-basics – whichever will support the Jakarta namespaces and packages.

laurentschoelens commented 1 year ago

Thanks for your comment @evantoli

I'm not sure that @highsource still there (seen some comments that suggets so).

@mattrpav : I've seen that you take this project back as maintainer, could you give us some feedback about this PR and the other one made in maven-jaxb2-plugin https://github.com/highsource/maven-jaxb2-plugin/pull/255 that it relies on.

Stephan202 commented 1 year ago

I'm not sure that @highsource still there (seen some comments that suggets so).

Indeed, @highsource passed away; see #134. :cry:

laurentschoelens commented 1 year ago

I'm not sure that @highsource still there (seen some comments that suggets so).

Indeed, @highsource passed away; see #134. 😢

That was the kind of comments I've seen 😢

evantoli commented 1 year ago

Thanks @laurentschoelens and @Stephan202 for the update.

Also thanks @mattrpav for providing an update in #134 and including the message from his wife with the link to his memorial page with many beautiful remembrances.

Also, @mattrpav, if there is something we can do to help with the @laurentschoelens PR please let us know.

I am partway through reviewing the PR and aside from some new files (which may simply be renamed files) it seems that all other changes are related to renaming Jaxb2 to Jaxb3 – which I also think is a good idea.

mattrpav commented 1 year ago

@evantoli @laurentschoelens I'm checking in. I'm hoping to get into the jakarta support here shortly. I also need this in ActiveMQ for jakarta support over there as well.

laurentschoelens commented 1 year ago

Sorry to add more work on this PR but I've been working on https://github.com/highsource/jaxb2-basics/issues/160 to end the work (initial commit contains jaxb2-fluent-api and jaxb2-value-constructor plugin migration)

laurentschoelens commented 1 year ago

I've also reverted the deletion of distributionManagement section in parent pom :)

cachescrubber commented 1 year ago

Hi @laurentschoelens thanks for your effort. Do I understand you correctly, your MR also covers the other plugins (commons-lang, value-constructor, fluent-api, ...). Let me know If I can support you and @mattrpav to get this released.

laurentschoelens commented 1 year ago

Hi @laurentschoelens thanks for your effort. Do I understand you correctly, your MR also covers the other plugins (commons-lang, value-constructor, fluent-api, ...). Let me know If I can support you and @mattrpav to get this released.

Hi @cachescrubber you got it right, my PR covers your issue by adding all remaining jaxb commons plugins. Please let me know if you have any issues.

laurentschoelens commented 1 year ago

@mattrpav thanks for trying to merge my PR It's based on migrated maven-jaxb2-plugin with jakarta support to build

mattrpav commented 1 year ago

@laurentschoelens can you see about the build failure?

https://github.com/highsource/jaxb2-basics/actions/runs/4355967241/jobs/8079143601?pr=165

laurentschoelens commented 1 year ago

@laurentschoelens can you see about the build failure?

https://github.com/highsource/jaxb2-basics/actions/runs/4355967241/jobs/8079143601?pr=165

Yes, I've looked when notified. Build failures due to use of unbuild jaxb3-maven-plugin in the other repository

laurentschoelens commented 1 year ago

@laurentschoelens can you see about the build failure? https://github.com/highsource/jaxb2-basics/actions/runs/4355967241/jobs/8079143601?pr=165

Yes, I've looked when notified. Build failures due to use of unbuild jaxb3-maven-plugin in the other repository

See https://github.com/highsource/maven-jaxb2-plugin/pull/255

laurentschoelens commented 1 year ago

@mattrpav any news on this ?

laurentschoelens commented 1 year ago

Hello everyone I know that you wait for this PR but it wont get to jaxb basics Indeed, the project was migrated into jaxb-tools repository and upgrade is currently done for jaxb3 support on main branch. Upgrade of dependencies was done too there and taking back older plugins also done. You can also follow this migration guide to help users going through versions upgrade

laurentschoelens commented 1 year ago

Hello @Daemorinumi / @evantoli / @Stephan202 / @cachescrubber and everyone else looking for this PR.

V3 of jaxb-tools is released with first jakarta support of jaxb2-basics plugins

Feel free to look at the migration guide to get it work.

V4 will come shortly after, based on Jaxb v4 api / runtime.

Regards