diff --git a/build.gradle.kts b/build.gradle.kts index 7c04025a1..042d5e5a5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,9 +6,8 @@ import org.gradle.api.plugins.JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME import org.gradle.api.plugins.JavaPlugin.SOURCES_ELEMENTS_CONFIGURATION_NAME import org.gradle.plugin.compatibility.compatibility import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode -import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation +import tapmoc.Severity plugins { alias(libs.plugins.kotlin.jvm) @@ -18,6 +17,7 @@ plugins { alias(libs.plugins.pluginPublish) alias(libs.plugins.spotless) alias(libs.plugins.buildConfig) + alias(libs.plugins.tapmoc) } version = providers.gradleProperty("VERSION_NAME").get() @@ -31,18 +31,9 @@ dokka { dokkaPublications.html { outputDirectory = rootDir.resolve("docs/api") } kotlin { explicitApi() @OptIn(ExperimentalAbiValidation::class) abiValidation() - val jdkRelease = "17" compilerOptions { allWarningsAsErrors = true - // https://docs.gradle.org/current/userguide/compatibility.html#kotlin - apiVersion = KotlinVersion.KOTLIN_2_2 - languageVersion = apiVersion - jvmTarget = JvmTarget.fromTarget(jdkRelease) jvmDefault = JvmDefaultMode.NO_COMPATIBILITY - freeCompilerArgs.add("-Xjdk-release=$jdkRelease") - } - target.compilations.configureEach { - compileJavaTaskProvider { options.release = jdkRelease.toInt() } } } @@ -67,6 +58,14 @@ spotless { } } +tapmoc { + gradle("9.2.0") + java(17) + // https://docs.gradle.org/current/userguide/compatibility.html#kotlin + kotlin("2.2.0") + checkJavaClassFiles(Severity.ERROR) +} + val testPluginClasspath = configurations.register("testPluginClasspath") { isCanBeResolved = true @@ -105,14 +104,6 @@ publishing.publications.withType().configureEach { suppressPomMetadataWarningsFor(SOURCES_ELEMENTS_CONFIGURATION_NAME) } -configurations.named(API_ELEMENTS_CONFIGURATION_NAME) { - attributes.attribute( - // TODO: https://github.com/gradle/gradle/issues/24608 - GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE, - objects.named(libs.versions.minGradle.get()), - ) -} - val testGradleVersion: String = providers.gradleProperty("testGradleVersion").orNull.let { val value = if (it == null || it == "current") GradleVersion.current().version else it diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6e3e130d4..22d9058b4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,4 @@ [versions] -minGradle = "9.2.0" kotlin = "2.4.10" moshi = "1.15.2" pluginPublish = "2.1.1" @@ -41,3 +40,4 @@ mavenPublish = "com.vanniktech.maven.publish:0.37.0" pluginPublish = { id = "com.gradle.plugin-publish", version.ref = "pluginPublish" } spotless = "com.diffplug.spotless:8.8.0" buildConfig = "com.github.gmazzo.buildconfig:6.0.10" +tapmoc = "com.gradleup.tapmoc:0.4.0"