plugins { id 'org.onap.portal.history.java-application-conventions' id 'org.openapi.generator' } ext { openapiVersion = '6.6.0' } dependencies { implementation "org.openapitools:openapi-generator:$openapiVersion" 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)' } implementation('javax.validation:validation-api:2.0.1.Final') { because 'because min max validation wouldnt work with older version of dependency' } } } // 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.history.openapi" apiPackage = "org.onap.portal.history.openapi.api" modelPackage = "org.onap.portal.history.openapi.model" } compileJava { dependsOn tasks.openApiGenerate } sourceSets { main { java { srcDirs += file("$buildDir/openapi/src/main/java") } } }