blob: 88f0418b39bb471db88f3ad35fbc06eda264eb4a [file] [log] [blame] [edit]
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
description = "Kotlin Symbol Processor"
val kotlinBaseVersion: String by project
val junitVersion: String by project
val googleTruthVersion: String by project
val agpBaseVersion: String by project
val signingKey: String? by project
val signingPassword: String? by project
tasks.withType<KotlinCompile> {
compilerOptions.freeCompilerArgs.add("-Xjvm-default=all-compatibility")
}
plugins {
kotlin("jvm")
`maven-publish`
signing
id("org.jetbrains.dokka")
id("com.google.devtools.ksp")
}
dependencies {
compileOnly(project(":api"))
testImplementation("junit:junit:$junitVersion")
ksp(project(":cmdline-parser-gen"))
}
tasks {
val sourcesJar by creating(Jar::class) {
archiveClassifier.set("sources")
from(project.sourceSets.main.get().allSource)
}
}
val dokkaJavadocJar by tasks.register<Jar>("dokkaJavadocJar") {
dependsOn(tasks.dokkaJavadoc)
from(tasks.dokkaJavadoc.flatMap { it.outputDirectory })
archiveClassifier.set("javadoc")
}
publishing {
publications {
create<MavenPublication>("default") {
artifactId = "symbol-processing-common-deps"
from(components["java"])
artifact(tasks["sourcesJar"])
artifact(tasks["dokkaJavadocJar"])
pom {
name.set("com.google.devtools.ksp:symbol-processing-common-deps")
description.set("Kotlin Symbol processing Gradle Utils")
}
}
}
}
signing {
isRequired = hasProperty("signingKey")
useInMemoryPgpKeys(signingKey, signingPassword)
sign(extensions.getByType<PublishingExtension>().publications)
}