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