plugins { id 'org.hidetake.swagger.generator' id 'java-library' } apply from: '../../gradle/coverage/java-coverage.gradle' dependencies { // Dependencies for open api implementation externalDependency.reflections implementation externalDependency.springCore implementation externalDependency.springWeb implementation externalDependency.springWebMVC implementation externalDependency.springBeans implementation externalDependency.springContext implementation externalDependency.antlr4Runtime implementation externalDependency.antlr4 implementation externalDependency.servletApi implementation externalDependency.jakartaValidation implementation externalDependency.jakartaAnnotationApi implementation platform(externalDependency.jacksonBom) implementation externalDependency.jacksonDataBind implementation externalDependency.slf4jApi // End of dependencies implementation externalDependency.swaggerAnnotations swaggerCodegen externalDependency.swaggerCli testImplementation externalDependency.assertJ } tasks.register('generateOpenApiPojos', GenerateSwaggerCode) { it.setInputFile( file( "$projectDir/src/main/resources/schema-registry-open-api-v7.9.1.yaml" ) ) it.setOutputDir(file("$projectDir/generated")) it.setLanguage("spring") it.setComponents([models: true, apis: true, apiTests: false]) it.setTemplateDir(file("$projectDir/src/main/resources/JavaSpring")) it.setAdditionalProperties([ "group-id" : "io.datahubproject", "dateLibrary" : "java8", "java11" : "true", "modelPropertyNaming" : "original", "modelPackage" : "io.datahubproject.schema-registry.openapi.generated"] as Map) } sourceSets.main.java.srcDirs "${generateOpenApiPojos.outputDir}/src/main/java" sourceSets.main.resources.srcDir "${generateOpenApiPojos.outputDir}/src/main/resources"