description = "Kotlin Symbol Processor" val kotlinBaseVersion: String by project val junitVersion: String by project val googleTruthVersion: String by project val signingKey: String? by project val signingPassword: String? by project 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")) } val sourcesJar = tasks.register("sourcesJar") { archiveClassifier.set("sources") from(project.sourceSets.main.map { it.allSource }) } val dokkaJavadocJar = tasks.register("dokkaJavadocJar") { archiveClassifier.set("javadoc") from(tasks.dokkaJavadoc.flatMap { it.outputDirectory }) } kotlin { compilerOptions { freeCompilerArgs.add("-Xjvm-default=all-compatibility") } } publishing { publications { create("default") { artifactId = "symbol-processing-common-deps" from(components["java"]) artifact(sourcesJar) artifact(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().publications) }