#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.