-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
CXF-8671: Support Jakarta EE 10 #1201
Conversation
Current test failures:
I wonder if this could be because of my GMT+13 timezone. |
Apache CXF Code Generation Maven2 Plugins .......... FAILURE |
@amarkevich thank you, that particular problem was resolved in dd20aee. This PR still won't compile due to the |
The |
Current test failures that I'm struggling with... I believe all of these failures are related to xml schemas with out a target namespace. It seems that we're not finding the complex type when there's no namespace, but we find it fine when there is. Is anyone able to help understand this?
|
@karlvr apologies I do not have time right now to look at the issue, but I just glance through the changes and the first thing I run into is that dependencies part needs some work, for example |
91c837e
to
7ba7011
Compare
@reta thank you, I've upgraded a few more dependencies ... I still have the namespace issues, and the implementation for |
Another few wee code contributions... I implemented a basic I've taken a stab at the |
Thanks @karlvr , I think it would have unblocked you a bit on the compilation side, but is it now difficult to track what we need to implement, it would be helpful (to be fair) to get rid of the stubs if possible (we would have to implement the spec to be compliant). |
@reta yes, I agree. I was holding off on committing them for that reason. It is limited to the |
I was going through the spec and was sketching some very basic implementation (it is very likely some work is repeated and is in conflict now). Let's keep it like that but I would be curious to know if you are planning to implement this part of the specification in full so we won't be duplicating the effort. Thank you. |
bom/pom.xml
Outdated
@@ -20,7 +20,7 @@ | |||
<parent> | |||
<groupId>org.apache.cxf</groupId> | |||
<artifactId>cxf</artifactId> | |||
<version>4.0.1-SNAPSHOT</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@karlvr I've bumped the version to 4.1.0 to simplify branch switches, it expanded the changeset quite a bit, apologies for that
@reta I've been on a brief holiday! I don't believe I know enough about the ins-and-outs of CXF to contribute to this stage of the PR I think... your implementations look great, and I am really looking forward to seeing it all come together. This is the final piece of my puzzle, or the final so far. |
c563f99
to
b9e648e
Compare
@reta Hi, how are you getting on! Is there anything more I can do to help out? I received a PR on my original branch; it looks good to me but I think you'd be best to consider it as it's more of a behaviour change than the other EE10 conversions I've looked at. |
Thanks a lot @karlvr , I sadly haven't gotten the support to streamline Jakarta EE 10 development, but it is increasingly difficult to maintain such a large pull request open for long. I was thinking about creating a separate feature branch so we could work on the migration, merge changes incrementally and have CI running. [1] https://www.mail-archive.com/dev@cxf.apache.org/msg19805.html |
@reta I’m totally happy with whatever you need to do to make it easy. I’m happy to rebase on top of HEAD if that’s useful. I fear it’s pretty small. I’m unclear on what is required to continue… I’d be happy to help with a plan and perhaps to execute on it if that seems useful and fun. |
It didn’t respect the Jakarta EE 10 BOM for some reason, and it doesn’t (yet?) appear to be necessary
Thanks a lot @karlvr ! So what I've done:
There are few leftovers on my side (related to JAX-RS) but there is only one thing I wanted to change: the usage of Jakarta EE BOM simplifies a few things but really complicates dependency updates, especially with respect to security fixes. I think we should be better of continuing to manage individual component versions instead (it happens all the time that we need to update components, without need to wait for BOM release which usually takes much longer). |
…y patching and minor updates
@karlvr I think we are in good shape to merge it into integration branch (and continue work), any objections from your side? thank you! |
Thanks for what you have done here, very nice! And for the Servlet API 6.0 support of EE10, we need to upgrade to use Jetty 12 and Undertow 2.3.x, and I've been working on it. The working on Jetty12 upgrade took me a while as the Jetty12 API changed a lot. I think I've got most issues resolved for Servlet API 6.0 upgrade, and I just pushed my working branch here I rebased this branch against branch CXF-8671 you guys have worked on, and I am gonna polish servlet-6 branch a little bit and then send a PR against CXF-8671. Best Regards |
Thank you all ;-) - we are also excited to test with a SNAPSHOT ;-) |
* CXF-8671: Support Jakarta EE 10. Initial commit to prepare the Jakarta EE integration branch * CXF-8671: Support Jakarta EE 10 (#1201) * Update dependencies to Jakarta EE 10 * Remove unnecessary dependency on jakarta.xml.bind-api It didn’t respect the Jakarta EE 10 BOM for some reason, and it doesn’t (yet?) appear to be necessary * Servlet API 6.0.0 * Jakarta XML Binding 4.0 * Jakarta Context Dependency Injection 4.0 * Fix Maven dependencies * Jakarta RESTful Web Services 3.1 * Update Jakarta EE dependencies for codegen-plugins integration tests * Add missing jakarta.xml.bind-api dependencies for codegen-plugin maven-invoker-plugin * Correct RetryAfterHeaderProviderTest not accounting for host daylight time getRawOffset() returns the offset for standard time, which means these tests fail when the default timezone is observing daylight time. * Upgrade saaj-impl * Upgrade undertow * Upgrade istack * Placeholders for bootstrap API * EntityPart * Implement RuntimeDelegateImpl * Partially implement TLS/SSL in SE bootstrap (needs some work on CXF engines) * Fix cxf-tools-wadlto-jaxrs test cases * Update Spring Boot to 3.1.0, Spring LDAP to 3.1.0, Spring Security to 6.1.0 * docs: Fix BUILDING.txt fastinstall line * Fix compilation and checkstyle issues * Update Hibernate to 6.2.9.Final * Update Hibernate to 6.3.1.Final * Refactor EntityPartBuilderImpl & EntityPartImpl * Replace JakarteEE 10 BOM with indvidual component versions to simplify patching and minor updates * Fixed CDI and Security test cases * Update Weld to 5.1.2.Final * Switch JSON-P/JSON-B implementation and fix test cases --------- Co-authored-by: Andriy Redko <drreta@gmail.com> * Update Arquillian to 1.8.0.Final * Update Apache Camel to 4.1.0 * Move to Spring Boot 3.2.0 baseline (#1534) * Update Hibernate to 6.4.0.Final * Update Apache Camel to 4.2.0 * Update JAXB Runtime (Glassfish) to 4.0.0 * Update SAAJ impl to 3.0.3 * Bump com.sun.xml.ws:jaxws-rt from 3.0.2 to 4.0.2 (#1568) Bumps com.sun.xml.ws:jaxws-rt from 3.0.2 to 4.0.2. --- updated-dependencies: - dependency-name: com.sun.xml.ws:jaxws-rt dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump com.sun.istack:istack-commons-tools from 4.1.1 to 4.2.0 (#1576) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update Netty to 4.1.104.Final * Update Spring LDAP to 3.2.1 * Dependency updates * Bump org.eclipse.persistence:org.eclipse.persistence.moxy (#1583) Bumps [org.eclipse.persistence:org.eclipse.persistence.moxy](https://github.com/eclipse-ee4j/eclipselink) from 2.7.6 to 4.0.2. - [Release notes](https://github.com/eclipse-ee4j/eclipselink/releases) - [Commits](eclipse-ee4j/eclipselink@2.7.6...4.0.2) --- updated-dependencies: - dependency-name: org.eclipse.persistence:org.eclipse.persistence.moxy dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump cxf.zipkin-reporter.version from 2.17.0 to 2.17.1 (#1587) Bumps `cxf.zipkin-reporter.version` from 2.17.0 to 2.17.1. Updates `io.zipkin.reporter2:zipkin-reporter-brave` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/openzipkin/zipkin-reporter-java/releases) - [Changelog](https://github.com/openzipkin/zipkin-reporter-java/blob/master/RELEASE.md) - [Commits](openzipkin/zipkin-reporter-java@2.17.0...2.17.1) Updates `io.zipkin.reporter2:zipkin-sender-urlconnection` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/openzipkin/zipkin-reporter-java/releases) - [Changelog](https://github.com/openzipkin/zipkin-reporter-java/blob/master/RELEASE.md) - [Commits](openzipkin/zipkin-reporter-java@2.17.0...2.17.1) --- updated-dependencies: - dependency-name: io.zipkin.reporter2:zipkin-reporter-brave dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: io.zipkin.reporter2:zipkin-sender-urlconnection dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump cxf.brave.version from 5.16.0 to 5.17.0 (#1584) Bumps `cxf.brave.version` from 5.16.0 to 5.17.0. Updates `io.zipkin.brave:brave-context-slf4j` from 5.16.0 to 5.17.0 Updates `io.zipkin.brave:brave-instrumentation-httpclient` from 5.16.0 to 5.17.0 Updates `io.zipkin.brave:brave-instrumentation-httpasyncclient` from 5.16.0 to 5.17.0 Updates `io.zipkin.brave:brave-instrumentation-okhttp3` from 5.16.0 to 5.17.0 --- updated-dependencies: - dependency-name: io.zipkin.brave:brave-context-slf4j dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.zipkin.brave:brave-instrumentation-httpclient dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.zipkin.brave:brave-instrumentation-httpasyncclient dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.zipkin.brave:brave-instrumentation-okhttp3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.maven.plugins:maven-compiler-plugin (#1589) Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.11.0 to 3.12.0. - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](apache/maven-compiler-plugin@maven-compiler-plugin-3.11.0...maven-compiler-plugin-3.12.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update Apache Camel to 4.3.0 * Bump cxf.olingo.server.version from 4.10.0 to 5.0.0 (#1597) Bumps `cxf.olingo.server.version` from 4.10.0 to 5.0.0. Updates `org.apache.olingo:odata-commons-api` from 4.10.0 to 5.0.0 Updates `org.apache.olingo:odata-commons-core` from 4.10.0 to 5.0.0 Updates `org.apache.olingo:odata-server-api` from 4.10.0 to 5.0.0 Updates `org.apache.olingo:odata-server-core` from 4.10.0 to 5.0.0 --- updated-dependencies: - dependency-name: org.apache.olingo:odata-commons-api dependency-type: direct:production update-type: version-update:semver-major - dependency-name: org.apache.olingo:odata-commons-core dependency-type: direct:production update-type: version-update:semver-major - dependency-name: org.apache.olingo:odata-server-api dependency-type: direct:production update-type: version-update:semver-major - dependency-name: org.apache.olingo:odata-server-core dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update Spring Boot to 3.2.1 * Update Microprofile Config to 3.1 * Update Arquillian Weld Container to 3.0.2.Final * Update Hibernate to 6.4.2.Final * Update Spring Boot to 3.2.2 * Update to Jetty 12 (#1633) * Update to Jetty 12 * Fix parent version of IT projects (#1663) * Fix multiple compilation issues * Fix javadoc generation (post Jetty 12 update) * Update Hibernate to 6.4.3.Final * Update Hibernate to 6.4.4.Final * Update Micrometer to 1.12.3 and Micrometer Tracing to 1.2.3 * Update Spring LDAP to 3.2.2 * Update to Spring Boot 3.2.3 * Update UnboundID LDAP SDK for Java to 7.0.0 * Update Apache Camel to 4.4.1 * Update Apache Camel to 4.5.0 * Update Spring Cloud Eureka to 4.1.1 * Switched from wiremock-standalone to wiremock-jetty12 * Update JDK baseline to JDK-17 * Update Jetty to 12.0.8 * CXF-8993: Migrate from net.sf.cglib (cglib) to org.springframework.cglib (spring) (#1779) * Revamped io.opentelemetry.semconv:* dependencies since Micrometer Tracing brings conflicting ones * Adapt JAXWSServicesListingTest test cases to jetty 12.0.8+ changes * Adapt JAXRSServicesListingTest test cases to jetty 12.0.8+ changes * Update jakarta.json.bind-api to 3.0.1 * Bump org.jvnet.jaxb:jaxb-plugins from 3.0.1 to 4.0.6 (#1800) Bumps org.jvnet.jaxb:jaxb-plugins from 3.0.1 to 4.0.6. --- updated-dependencies: - dependency-name: org.jvnet.jaxb:jaxb-plugins dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andriy Redko <drreta@gmail.com> * Update Project Reactor to 3.6.5 * Update Micrometer to 1.12.5 * Update Micrometer Tracing to 1.2.5 * Minor pom.xml cleanups before merging to main --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Karl von Randow <karl@xk72.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Freeman(Yue) Fang <freeman.fang@gmail.com> Co-authored-by: Andreas Kuhtz <andreas.kuhtz@gmail.com>
Work in progress on supporting Jakarta EE 10.
I have chosen to use the Jakarta EE BOM to manage the versions of all of the Jakarta EE 10 API dependencies in one fell swoop, and to hopefully ensure that CXF is compatible with the specification.
Remaining
RuntimeDelegateImpl
andResponseImplTest
requires actually implementing the bootstrap APIsEntityPartImpl
andEntityPartBuilderImpl
need proper integration with registeredMessageBodyReader
andMessageBodyWriter
mvn package
succeeds (with the two above classes with stub implementations) themvn -Pfastinstall,everything
fails with some missing dependencies (WIP).mvn -Pfastinstall,everything
succeeds