Skip to content

Project re-structure for Jakarta support which is not compatible with Java8 #2922

@yue9944882

Description

@yue9944882

We're going to do a critical project re-structure to obtain the new Jakarta annotation support by bumping openapi-generator from v4.3.1 to v6.6.0. The work will consist of the following steps:

  1. Re-generate the models/APIs based on v.4.3.1 on the existing client-java module (like we did in the past): Regenerate from k8s 1.28 using v4.3.1 generator #2923
  2. Rename the current client-java module to client-java-legacy, and this legacy module will be java8 compatible for those users sticking with java8. Rename client-java-api to *-legacy #2928, it will maintained in a separated branch named master-java8
    • Modify GH action to only build the legacy modules for JDK8
  3. Having a CR in the gen repo to support overriding useSingleRequestParameter configuration to solve the pain from maintaining long list of separate parameters: Allow customize USE_SINGLE_PARAMETER for Java generator gen#257
  4. Re-generate a new module named client-java using v6.6.0 generator and package name to be io.kubernetes.client.openapi.v2, the new module will obtain jatarta annotation support but only compatible to java11+ JDK versions
  5. Merge back manual changes in we previously made in JSON to both client-java and client-java-legacy module
  6. Support fluent builder for both the legacy and the new module
  7. Move the other extended module from legacy module to the new module so we can progressively deprecate the legacy one

@brendandburns what do you think about the plan above?

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions