tasks.withType().configureEach { generatorName = "java" library = "webclient" inputSpec.set(layout.projectDirectory.file("src/main/resources/openapi.json").toString()) outputDir.set(layout.buildDirectory.dir("generated/sources/openapi").map { it.toString() }) generateApiTests = false generateModelTests = false configOptions.putAll(mutableMapOf("openApiNullable" to "false")) typeMappings.putAll(mutableMapOf("MetadataDetailValue" to "Object")) modelPackage = "com.myorg.cg.clients.groups" apiPackage = "com.myorg.cg.clients.groups" } configurations { val openApi: Configuration by creating this.mainSourceElements.configure { extendsFrom(openApi) } } sourceSets { val openApi: SourceSet by creating openApi.java { srcDirs(tasks.withType() .map { it.outputs } .flatMap { it.files.files.filter { it.isDirectory } } .map { it.toPath().resolve("src/main") } ) } }