/*
 * Plugin that provides API-first development using OpenAPI-generator to
 * generate Spring-MVC endpoint stubs at compile time from an OpenAPI definition file
 */
apply plugin: 'org.openapi.generator'

openApiGenerate {
    generatorName = "spring"
    inputSpec = "$rootDir/src/main/resources/swagger/api.yml".toString()
    outputDir = "$buildDir/openapi".toString()
    apiPackage = "org.hostsharing.hsadminng.web.api"
    modelPackage = "org.hostsharing.hsadminng.web.api.model"
    apiFilesConstrainedTo = [""]
    modelFilesConstrainedTo = [""]
    supportingFilesConstrainedTo = ["ApiUtil.java"]
    configOptions = [delegatePattern: "true"]
    validateSpec = true
}

sourceSets {
    main {
        java {
            srcDir file("${project.buildDir.path}/openapi/src/main/java")
        }
    }
}

compileJava.dependsOn("openApiGenerate")