blob: fd4bc9da32398132430985e03d7c4d255b226166 [file] [log] [blame] [edit]
import com.google.devtools.ksp.configureMetalava
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
description = "Kotlin Symbol Processing API"
val signingKey: String? by project
val signingPassword: String? by project
val kotlinBaseVersion: String by project
tasks.withType<KotlinCompile> {
compilerOptions.freeCompilerArgs.add("-Xjvm-default=all-compatibility")
}
plugins {
kotlin("jvm")
`maven-publish`
signing
id("org.jetbrains.dokka")
}
val sourceJar = tasks.register<Jar>("sourcesJar") {
archiveClassifier.set("sources")
from(sourceSets.main.map { it.allSource })
}
val dokkaJavadocJar = tasks.register<Jar>("dokkaJavadocJar") {
archiveClassifier.set("javadoc")
from(tasks.dokkaJavadoc.flatMap { it.outputDirectory })
}
publishing {
publications {
create<MavenPublication>("default") {
artifactId = "symbol-processing-api"
from(components["java"])
artifact(sourceJar)
artifact(dokkaJavadocJar)
pom {
name.set("com.google.devtools.ksp:symbol-processing-api")
description.set("Symbol processing for Kotlin")
}
}
}
}
signing {
isRequired = hasProperty("signingKey")
useInMemoryPgpKeys(signingKey, signingPassword)
sign(extensions.getByType<PublishingExtension>().publications)
}
configureMetalava()