apply plugin: 'java' apply plugin: 'org.hidetake.swagger.generator' dependencies { // Dependencies for open api compile externalDependency.reflections compile externalDependency.springBoot compile externalDependency.springCore compile externalDependency.springWeb compile externalDependency.springWebMVC compile externalDependency.springBeans compile externalDependency.springContext implementation externalDependency.antlr4Runtime implementation externalDependency.antlr4 compile externalDependency.javaxValidation compile externalDependency.servletApi compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2' compile externalDependency.jacksonDataBind compile externalDependency.slf4jApi // End of dependencies compile externalDependency.swaggerAnnotations swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.33' testCompile externalDependency.assertJ } tasks.register('generateOpenApiPojos', GenerateSwaggerCode) { it.setInputFile( file( "$projectDir/src/main/resources/schema-registry-open-api-v7.4.0.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" // Disable checkstyle for this module. checkstyleMain.source = "${projectDir}/src/main/java"