[REQ] [Java] Replace Java EE 8 dependencies by Jakarta EE 8
Created by: RomainPruvostMHH
Upgrade to the new Jakarta EE 8 dependencies in template files and in maven dependencies of openapi-generator modules.
First, Maven/Gradle/Scala template files in modules/openapi-generator/src/main/resources references some javax.* dependencies.
Are concerned :
- javax.annotation:javax.annotation-api
- javax.validation:validation-api
- javax.ws.rs:javax.ws.rs-api
- javax.json.bind:javax.json.bind-api
- javax.json:javax.json-api
- javax.xml.bind:jaxb-api
- javax.el:el-api
- javax.servlet:servlet-api
- javax.activation:activation
Secondly, there is a javax dependency in modules/openapi-generator-online/pom.xml file.
These are "old" dependencies since Eclipse Foundation is in charge of the new Jakarta EE Specification. Eclipse created a release of all of javax.* artifacts and just changed the name of the artifacts by jakarta.* (without changing the package inside the source code). So we can first migrate to new jakarta artifacts without breaking changes. here is the list of old and new names : https://wiki.eclipse.org/Jakarta_EE_Maven_Coordinates
Describe the solution you'd like
Replace old javax namespaces by jakarta namespace in pom.mustache, build.gradle.mustache and sbt.mustache :
- javax.annotation:javax.annotation-api => jakarta.annotation:jakarta.annotation-api:1.3.5
- javax.validation:validation-api => jakarta.validation:jakarta.validation-api:2.0.2
- javax.ws.rs:javax.ws.rs-api => jakarta.ws.rs:jakarta.ws.rs-api:2.1.6
- javax.json.bind:javax.json.bind-api => jakarta.json.bind:jakarta.json.bind-api:1.0.2
- javax.json:javax.json-api => jakarta.json:jakarta.json-api:1.1.6
- javax.xml.bind:jaxb-api => jakarta.xml.bind:jakarta.xml.bind-api:2.3.3
- javax.el:el-api => jakarta.el:jakarta.el-api:3.0.3
- javax.servlet:servlet-api => jakarta.servlet:jakarta.servlet-api:4.0.4
- javax.activation:activation => jakarta.activation:jakarta.activation-api:1.2.2
And do the same update for javax.validation:validation-api in modules/openapi-generator-online/pom.xml file.
Additional context
The next step will be to handle the artifacts of Jakarta EE 9 which replace the javax namespace by jakarta. But I purpose to do it in a next ticket.