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>null10tasks.withType<KotlinCompile> { 11 compilerOptions.freeCompilerArgs.add("-Xjvm-default=all-compatibility") 12 } 13 <lambda>null14plugins { 15 kotlin("jvm") 16 `maven-publish` 17 signing 18 id("org.jetbrains.dokka") version ("1.7.20") 19 } 20 <lambda>null21dependencies { 22 api(kotlin("stdlib", kotlinBaseVersion)) 23 } <lambda>null24tasks { 25 val sourcesJar by creating(Jar::class) { 26 archiveClassifier.set("sources") 27 from(sourceSets.main.get().allSource) 28 } 29 } 30 <lambda>null31val dokkaJavadocJar by tasks.register<Jar>("dokkaJavadocJar") { 32 dependsOn(tasks.dokkaJavadoc) 33 from(tasks.dokkaJavadoc.flatMap { it.outputDirectory }) 34 archiveClassifier.set("javadoc") 35 } 36 <lambda>null37publishing { 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>null52signing { 53 isRequired = hasProperty("signingKey") 54 useInMemoryPgpKeys(signingKey, signingPassword) 55 sign(extensions.getByType<PublishingExtension>().publications) 56 } 57 58 configureMetalava() 59