xref: /aosp_15_r20/external/ksp/api/build.gradle.kts (revision af87fb4bb8e3042070d2a054e912924f599b22b7)
1 import com.google.devtools.ksp.configureMetalava
2 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3 
4 description = "Kotlin Symbol Processing API"
5 
6 val signingKey: String? by project
7 val signingPassword: String? by project
8 val kotlinBaseVersion: String by project
9 
<lambda>null10 tasks.withType<KotlinCompile> {
11     compilerOptions.freeCompilerArgs.add("-Xjvm-default=all-compatibility")
12 }
13 
<lambda>null14 plugins {
15     kotlin("jvm")
16     `maven-publish`
17     signing
18     id("org.jetbrains.dokka") version ("1.7.20")
19 }
20 
<lambda>null21 dependencies {
22     api(kotlin("stdlib", kotlinBaseVersion))
23 }
<lambda>null24 tasks {
25     val sourcesJar by creating(Jar::class) {
26         archiveClassifier.set("sources")
27         from(sourceSets.main.get().allSource)
28     }
29 }
30 
<lambda>null31 val dokkaJavadocJar by tasks.register<Jar>("dokkaJavadocJar") {
32     dependsOn(tasks.dokkaJavadoc)
33     from(tasks.dokkaJavadoc.flatMap { it.outputDirectory })
34     archiveClassifier.set("javadoc")
35 }
36 
<lambda>null37 publishing {
38     publications {
39         create<MavenPublication>("default") {
40             artifactId = "symbol-processing-api"
41             from(components["java"])
42             artifact(tasks["sourcesJar"])
43             artifact(tasks["dokkaJavadocJar"])
44             pom {
45                 name.set("com.google.devtools.ksp:symbol-processing-api")
46                 description.set("Symbol processing for Kotlin")
47             }
48         }
49     }
50 }
51 
<lambda>null52 signing {
53     isRequired = hasProperty("signingKey")
54     useInMemoryPgpKeys(signingKey, signingPassword)
55     sign(extensions.getByType<PublishingExtension>().publications)
56 }
57 
58 configureMetalava()
59