plugins { id 'java' id 'idea' id 'org.openapi.generator' } repositories { mavenCentral() } dependencies { implementation 'org.openapitools:openapi-generator:6.6.0' implementation 'org.springframework.boot:spring-boot-starter-webflux:2.7.3' 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" ] generateApiTests = false generateApiDocumentation = false generateModelTests = false generateModelDocumentation = false invokerPackage = "org.onap.portal.prefs.openapi" apiPackage = "org.onap.portal.prefs.openapi.api" modelPackage = "org.onap.portal.prefs.openapi.model" } compileJava { dependsOn tasks.openApiGenerate } sourceSets { main { java { srcDirs += file("$buildDir/openapi/src/main/java") } } }