Blog

openapi-generator の custom generator を gradle plugin から使う

https://github.com/OpenAPITools/openapi-generator/issues/6190

openapi-generator は ServiceLoader で generator を探すので、CLASSPATH に custom generator を突っ込むことができれば良いです。

CLASSPATH にカスタムジェネレータを突っ込むには buildSrc を使えば良いので、例えば以下のように階層構造を作れば良いですね。

.
├── build.gradle.kts
├── buildSrc
│   └── src
│       └── main
│           ├── java
│           │   └── my
│           │       └── own
│           │           └── Generator.java
│           └── resources
│               └── META-INF
│                   └── services
│                       └── org.openapitools.codegen.CodegenConfig
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle.kts

buildSrc/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig の中に my.own.Generator の名前を書けば読み取られます。