plugins { id 'java' id 'idea' id 'org.openapi.generator' } repositories { mavenCentral() } dependencies { implementation 'org.openapitools:openapi-generator:7.0.0-beta' implementation 'org.springframework.boot:spring-boot-starter-webflux:3.1.2' implementation 'jakarta.validation:jakarta.validation-api:3.0.2' constraints { implementation('io.swagger.core.v3:swagger-annotations:2.2.5') { because 'there is a dependency conflict between swagger-parser versions 2 and 3 (https://github.com/OpenAPITools/openapi-generator/issues/14901)' } } } // https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator-gradle-plugin/README.adoc openApiGenerate { generatorName = "spring" library = "spring-boot" inputSpec = "$projectDir/src/main/resources/api/api.yml" outputDir = "$buildDir/openapi" configOptions = [ hideGenerationTimestamp: "true", openApiNullable: "false", skipDefaultInterface: "true", dateLibrary: "java8", interfaceOnly: "true", useTags: "true", useOptional: "true", reactive: "true", useSpringBoot3: "true" ] generateApiTests = false generateApiDocumentation = false generateModelTests = false generateModelDocumentation = false invokerPackage = "org.onap.portalng.preferences.openapi" apiPackage = "org.onap.portalng.preferences.openapi.api" modelPackage = "org.onap.portalng.preferences.openapi.model" } compileJava { dependsOn tasks.openApiGenerate } sourceSets { main { java { srcDirs += file("$buildDir/openapi/src/main/java") } } }