каталог вывода плагина openapi-генератора gradle

#java #gradle #swagger #openapi #openapi-generator

Вопрос:

Я использую плагин openapi-generator Gradle для создания файлов моделей из схемы открытого API. С этими настройками в скрипте build.gradle все кажется в порядке:

 openApiGenerate {
globalProperties = [
        apis: "false",
        modelDocs: "false",
        models: "Pet"
]
generatorName = "java"
generateModelTests = false
inputSpec = "$rootDir/src/main/resources/schema/my_schema.json".toString()
outputDir = "$rootDir".toString()
modelPackage = "org.openapi.example.model"
configOptions = [
        dateLibrary: "java8",
        serializationLibrary: "jackson",
        library: "jersey1"
]
 

}

И результирующие классы генерируются в соответствующем пакете:

введите описание изображения здесь

Проблема в том, что они мне не нужны в моих исходных текстах, они нужны мне только на этапе компиляции. Я хочу, чтобы они создавались в каталоге сборки, чтобы отделить их от другой логики. Но когда я меняю вывод-dir на «$buildDir/сгенерированный».toString() это происходит:

введите описание изображения здесь

Есть ли способ избавиться от неправильных упаковок «src.main.java»?

Ответ №1:

Вы можете установить параметр «SourceFolder» в пустую строку.

 configOptions = [
   sourceFolder: ""
]
 

Это опция генератора, а не плагина gradle.

https://openapi-generator.tech/docs/generators/java