kubernetes-client icon indicating copy to clipboard operation
kubernetes-client copied to clipboard

CRD-Generator v2: Gradle Plugin

Open baloo42 opened this issue 10 months ago • 2 comments

Is your enhancement related to a problem? Please describe

Because the CRD-Generator annotation processor is now deprecated, we need a replacement. (see https://github.com/fabric8io/kubernetes-client/discussions/5942)

Describe the solution you'd like

A CRD-Generator gradle plugin could search for a top level annotation (or interface) and generate the CRDs using the CRD-Generator api.

Describe alternatives you've considered

No response

Additional context

  • Jandex could be used to find and index the relevant annotations/classes.
  • The following options should be supported:
    • Enable / disable parallel generation
    • CRD versions (v1, v1beta1)
      (TBD: There are thoughts to drop v1beta1 which makes this option irrelevant)
    • outputPath
    • header in output files
    • Allow to add additional labels
    • Allow to add additional annotations
    • Enable debug output

The also planned CRD-Generator maven plugin (#5944) should support the same options.

baloo42 avatar Apr 24 '24 09:04 baloo42

As suggested by @manusa we can just start with a clone of https://github.com/fabric8io/kubernetes-client/tree/main/java-generator/gradle-plugin

shawkins avatar Apr 25 '24 11:04 shawkins

This issue has been automatically marked as stale because it has not had any activity since 90 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions!

stale[bot] avatar Jul 26 '24 01:07 stale[bot]