plugins { kotlin("jvm") version "2.0.21" id("org.openapi.generator") version "7.10.0" id("maven-publish") } group = "ru.vyatsu" version = "1.0.0" val generatedSourcesDir = "$buildDir/generated/openapi" repositories { mavenCentral() } dependencies { compileOnly("com.squareup.okhttp3:okhttp:4.12.0") compileOnly("com.squareup.moshi:moshi-kotlin:1.15.2") testImplementation(kotlin("test")) } tasks.test { useJUnitPlatform() } kotlin { jvmToolchain(17) } tasks.openApiGenerate { generatorName.set("kotlin") inputSpec.set("$rootDir/src/main/resources/openapi-contract.yaml") outputDir.set(generatedSourcesDir) packageName.set("ru.vyatsu") } sourceSets { getByName("main") { kotlin { srcDir("$generatedSourcesDir/src/main/kotlin") } } } tasks.compileKotlin { dependsOn(tasks.openApiGenerate) } publishing { publications { create("maven") { from(components["kotlin"]) artifactId = tasks.jar.get().archiveBaseName.get() } } }