56 lines
1.1 KiB
Plaintext
56 lines
1.1 KiB
Plaintext
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<MavenPublication>("maven") {
|
|
from(components["kotlin"])
|
|
artifactId = tasks.jar.get().archiveBaseName.get()
|
|
}
|
|
}
|
|
} |