plugins { id 'java' id 'org.hidetake.swagger.generator' } apply from: '../../gradle/coverage/java-coverage.gradle' dependencies { implementation project(':metadata-auth:auth-api') implementation project(':metadata-service:auth-impl') implementation project(':metadata-service:factories') implementation project(':metadata-service:openapi-servlet') implementation project(':metadata-service:openapi-servlet:models') implementation project(':metadata-models') implementation externalDependency.springBoot implementation externalDependency.springCore implementation externalDependency.springDocUI implementation externalDependency.springWeb implementation externalDependency.springWebMVC implementation externalDependency.springBeans implementation externalDependency.springContext implementation externalDependency.servletApi implementation externalDependency.reflections implementation externalDependency.slf4jApi compileOnly externalDependency.lombok implementation externalDependency.antlr4Runtime implementation externalDependency.antlr4 annotationProcessor externalDependency.lombok testImplementation externalDependency.testng testImplementation externalDependency.mockito testImplementation externalDependency.springBootTest swaggerCodegen externalDependency.swaggerCli } sourceSets { main { java { srcDirs = ["$buildDir/openapi/generated/src/main/java", 'src/main/java'] } } } // https://github.com/int128/gradle-swagger-generator-plugin#task-type-generateswaggercode task openApiGenerate(type: GenerateSwaggerCode) { inputFile = file("$projectDir/src/main/resources/open-api.yaml") outputDir = file("$buildDir/openapi/generated") language = 'spring' components = ["apis"] templateDir = file("$projectDir/src/main/resources/JavaSpring") additionalProperties = [ 'group-id' : "io.datahubproject", 'dateLibrary' : "java8", 'java11' : "true", 'modelPropertyNaming': "original", 'modelPackage' : "io.datahubproject.openapi.generated", 'apiPackage' : "io.datahubproject.openapi.v2.generated.controller", 'delegatePattern' : "true" ] } tasks.getByName("compileJava").dependsOn(openApiGenerate)