diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0e6c845..56dc2a0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ bcv = "org.jetbrains.kotlinx:binary-compatibility-validator:0.16.3" bouncycastle-pg = "org.bouncycastle:bcpg-jdk18on:1.78.1" bouncycastle-prov = "org.bouncycastle:bcprov-jdk18on:1.78.1" clikt = "com.github.ajalt.clikt:clikt:3.5.0" -tapmoc = "com.gradleup.tapmoc:tapmoc-gradle-plugin:0.2.0" +tapmoc = "com.gradleup.tapmoc:tapmoc-gradle-plugin:0.3.2" tapmoc-at-build-time = "com.gradleup.tapmoc:tapmoc-gradle-plugin:0.2.1-SNAPSHOT-dda1362c1d0f8389f50b362a08967793e320cf29" coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0" dokka = "org.jetbrains.dokka:dokka-gradle-plugin:2.1.0-Beta" diff --git a/librarian-gradle-plugin/api/librarian-gradle-plugin.api b/librarian-gradle-plugin/api/librarian-gradle-plugin.api index af77b1c..6398882 100644 --- a/librarian-gradle-plugin/api/librarian-gradle-plugin.api +++ b/librarian-gradle-plugin/api/librarian-gradle-plugin.api @@ -78,7 +78,7 @@ public final class com/gradleup/librarian/gradle/MavenKt { public final class com/gradleup/librarian/gradle/ModuleKt { public static final fun librarianModule (Lorg/gradle/api/Project;)V - public static final fun librarianModule (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/gradleup/librarian/gradle/Bcv;Ljava/lang/String;Lcom/gradleup/librarian/gradle/Publishing;Lcom/gradleup/librarian/gradle/Signing;)V + public static final fun librarianModule (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;ZLcom/gradleup/librarian/gradle/Bcv;Ljava/lang/String;Lcom/gradleup/librarian/gradle/Publishing;Lcom/gradleup/librarian/gradle/Signing;)V } public abstract class com/gradleup/librarian/gradle/Plugin : org/gradle/api/Plugin { diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt index 25be131..b1f1a0d 100644 --- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt +++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt @@ -3,11 +3,10 @@ package com.gradleup.librarian.gradle import com.gradleup.librarian.core.tooling.init.modulePropertiesFilename import com.gradleup.librarian.core.tooling.init.rootPropertiesFilename import com.gradleup.librarian.gradle.internal.findEnvironmentVariable -import tapmoc.configureJavaCompatibility -import tapmoc.configureKotlinCompatibility import org.gradle.api.Project +import tapmoc.TapmocExtension import java.time.Duration -import java.util.Properties +import java.util.* internal fun Properties.javaCompatibility(): Int { return getRequiredProperty("java.compatibility").toInt() @@ -21,6 +20,10 @@ internal fun Properties.versionPackageName(): String? { return getProperty("version.packageName") } +internal fun Properties.checkDependencies(): Boolean { + return getProperty("checkDependenciesCompatibility")?.toBoolean() ?: true +} + internal fun Properties.publish(): Boolean? { return getProperty("publish")?.toBoolean() } @@ -91,6 +94,7 @@ fun Project.librarianModule() { version = updateVersionAccordingToEnvironment(rootProperties.getRequiredProperty("pom.version")), jvmTarget = rootProperties.javaCompatibility(), kotlinTarget = rootProperties.kotlinCompatibility(), + checkDependencies = rootProperties.checkDependencies(), bcv = bcv, versionPackageName = moduleProperties.versionPackageName(), publishing = Publishing( @@ -120,6 +124,7 @@ fun Project.librarianModule( version: String, jvmTarget: Int?, kotlinTarget: String?, + checkDependencies: Boolean, bcv: Bcv?, versionPackageName: String?, publishing: Publishing?, @@ -131,8 +136,18 @@ fun Project.librarianModule( this.group = group this.version = version - jvmTarget?.let(::configureJavaCompatibility) - kotlinTarget?.let(::configureKotlinCompatibility) + pluginManager.apply("com.gradleup.tapmoc") + project.extensions.getByType(TapmocExtension::class.java).apply { + if (jvmTarget != null) { + java(jvmTarget) + } + if (kotlinTarget != null) { + kotlin(kotlinTarget) + } + if (checkDependencies) { + checkDependencies() + } + } if (versionPackageName != null) { configureGeneratedVersion(versionPackageName, version) diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt index 6993d3e..260d1cd 100644 --- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt +++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt @@ -39,7 +39,17 @@ fun Project.librarianRoot( gcs: Gcs?, kdoc: Kdoc, ) { - librarianModule(group, version, null, null, null, null, publishing, signing) + librarianModule( + group = group, + version = version, + jvmTarget = null, + kotlinTarget = null, + checkDependencies = false, + bcv = null, + versionPackageName = null, + publishing = publishing, + signing = signing + ) pluginManager.apply("com.gradleup.nmcp.aggregation") pluginManager.apply("com.gradleup.nmcp")