From 2f110b2a6c9a8baeb95342e4d0ba25feb27efd0b Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 16:50:10 +0100 Subject: [PATCH 01/20] Bump version -> `2.0.0-SNAPSHOT.064` --- version.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.gradle.kts b/version.gradle.kts index ba245b1ed5..b4c9f76078 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -30,7 +30,7 @@ * This version is also used by integration test projects. * E.g. see `tests/consumer/build.gradle.kts`. */ -private val compilerVersion = "2.0.0-SNAPSHOT.063" +private val compilerVersion = "2.0.0-SNAPSHOT.064" extra.set("compilerVersion", compilerVersion) /** From d144098bad6aadd9fd31fdfe3e969333d9bf3028 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 16:50:27 +0100 Subject: [PATCH 02/20] Bump CoreJvm -> `2.0.0-SNAPSHOT.511` --- buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt index ffdbfda3c4..06e0129d41 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt @@ -39,7 +39,7 @@ typealias CoreJava = CoreJvm @Suppress("ConstPropertyName", "unused") object CoreJvm { const val group = Spine.group - const val version = "2.0.0-SNAPSHOT.510" + const val version = "2.0.0-SNAPSHOT.511" const val coreArtifact = "spine-core" const val clientArtifact = "spine-client" From f2aa955761831a7024c07cb006a83186f233fe40 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 16:52:05 +0100 Subject: [PATCH 03/20] Bump CoreJvm -> `2.0.0-SNAPSHOT.521` --- buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt index 06e0129d41..7f4a4ce1fc 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt @@ -39,7 +39,7 @@ typealias CoreJava = CoreJvm @Suppress("ConstPropertyName", "unused") object CoreJvm { const val group = Spine.group - const val version = "2.0.0-SNAPSHOT.511" + const val version = "2.0.0-SNAPSHOT.521" const val coreArtifact = "spine-core" const val clientArtifact = "spine-client" From 850c8a8518e3da6990ffaded860c7a00eb3e602d Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 16:54:57 +0100 Subject: [PATCH 04/20] Address Gradle deprecations --- backend/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 8cd26b2729..5ea4e03e3d 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -82,7 +82,7 @@ tasks.test { // (a coarse hang ceiling, not a performance budget). Intentionally NOT wired // into `check`/`build`; the `Engine performance smoke test` workflow runs it on // pull requests. -val performanceTest by tasks.registering(Test::class) { +tasks.register("performanceTest") { description = "Runs the engine performance smoke signal (timed `Pipeline` run, hang ceiling)." group = "verification" testClassesDirs = sourceSets.test.get().output.classesDirs From f6f55bef93311bb1c2af6184bba3647456e74593 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 17:11:57 +0100 Subject: [PATCH 05/20] Address removal of the `logName` method --- api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt b/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt index 999747339d..c9b8d6e816 100644 --- a/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt +++ b/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt @@ -173,7 +173,4 @@ internal class DefaultViewRepository( override fun entityModelClass(): ProjectionClass, *>> = ProjectionClass.asProjectionClass(cls) - - override fun logName(): String = - "${ViewRepository::class.simpleName}.default()" } From 38eb513c09d5b6d266d91764741948e2d358c79f Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 17:12:33 +0100 Subject: [PATCH 06/20] Force JetBrains Annotations in integration tests --- tests/compiler-extension/build.gradle.kts | 3 +-- tests/consumer/build.gradle.kts | 7 +++++++ tests/in-place-consumer/build.gradle.kts | 7 +++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/compiler-extension/build.gradle.kts b/tests/compiler-extension/build.gradle.kts index eb8aa8c928..edf2c4bc3a 100644 --- a/tests/compiler-extension/build.gradle.kts +++ b/tests/compiler-extension/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import io.spine.dependency.lib.AutoService import io.spine.dependency.local.ToolBase buildscript { @@ -32,7 +31,7 @@ buildscript { configurations.all { resolutionStrategy { force( - io.spine.dependency.local.Logging.grpcContext, + io.spine.dependency.lib.JetBrainsAnnotations.lib, ) } } diff --git a/tests/consumer/build.gradle.kts b/tests/consumer/build.gradle.kts index ed71de9c01..423a6fc185 100644 --- a/tests/consumer/build.gradle.kts +++ b/tests/consumer/build.gradle.kts @@ -39,6 +39,13 @@ buildscript { dependencies { classpath(spineCompiler.pluginLib(compilerVersion)) } + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } apply(plugin = "io.spine.compiler") diff --git a/tests/in-place-consumer/build.gradle.kts b/tests/in-place-consumer/build.gradle.kts index 904932280d..6c56f70d31 100644 --- a/tests/in-place-consumer/build.gradle.kts +++ b/tests/in-place-consumer/build.gradle.kts @@ -28,6 +28,13 @@ import com.google.protobuf.gradle.protobuf buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } apply(from = "$rootDir/../version.gradle.kts") val compilerVersion: String by extra dependencies { From 6c4ac96de478d7fb607ca57df1eb55fea8184607 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 17:19:40 +0100 Subject: [PATCH 07/20] Address Gradle `by extra` deprecations in test build scripts Replace the deprecated `val compilerVersion: String by extra` property delegate with the explicit `extra["compilerVersion"] as String` form recommended by the Gradle 9.6 upgrading guide. Covers all four `tests/` composite-build scripts (`tests`, `compiler-extension`, `consumer`, `in-place-consumer`), matching the form already used in `gradle-plugin/build.gradle.kts`. Copyright headers on the touched files were refreshed to 2026 by the repository's copyright automation. Co-Authored-By: Claude Opus 4.8 --- tests/build.gradle.kts | 2 +- tests/compiler-extension/build.gradle.kts | 6 +++--- tests/consumer/build.gradle.kts | 4 ++-- tests/in-place-consumer/build.gradle.kts | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/build.gradle.kts b/tests/build.gradle.kts index 772ea92c04..db5072b681 100644 --- a/tests/build.gradle.kts +++ b/tests/build.gradle.kts @@ -79,7 +79,7 @@ subprojects { } apply() - val compilerVersion: String by extra + val compilerVersion = extra["compilerVersion"] as String group = "io.spine.compiler.tests" version = compilerVersion diff --git a/tests/compiler-extension/build.gradle.kts b/tests/compiler-extension/build.gradle.kts index edf2c4bc3a..274ff25b6d 100644 --- a/tests/compiler-extension/build.gradle.kts +++ b/tests/compiler-extension/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2025, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ buildscript { } apply(from = "$rootDir/../version.gradle.kts") - val compilerVersion: String by extra + val compilerVersion = extra["compilerVersion"] as String dependencies { classpath(spineCompiler.pluginLib(compilerVersion)) classpath(coreJvmCompiler.pluginLib) @@ -64,7 +64,7 @@ configurations.all { } } -val compilerVersion: String by extra +val compilerVersion = extra["compilerVersion"] as String dependencies { compileOnly("io.spine.tools:compiler-backend:$compilerVersion") diff --git a/tests/consumer/build.gradle.kts b/tests/consumer/build.gradle.kts index 423a6fc185..fb47006de5 100644 --- a/tests/consumer/build.gradle.kts +++ b/tests/consumer/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2025, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,7 +35,7 @@ import io.spine.tools.gradle.root.rootExtension buildscript { standardSpineSdkRepositories() apply(from = "$rootDir/../version.gradle.kts") - val compilerVersion: String by extra + val compilerVersion = extra["compilerVersion"] as String dependencies { classpath(spineCompiler.pluginLib(compilerVersion)) } diff --git a/tests/in-place-consumer/build.gradle.kts b/tests/in-place-consumer/build.gradle.kts index 6c56f70d31..859d52c0e2 100644 --- a/tests/in-place-consumer/build.gradle.kts +++ b/tests/in-place-consumer/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2025, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ buildscript { } } apply(from = "$rootDir/../version.gradle.kts") - val compilerVersion: String by extra + val compilerVersion = extra["compilerVersion"] as String dependencies { classpath(spineCompiler.pluginLib(compilerVersion)) } From 424db14d3e85ad3b5fa575e2fa1664e6268e36b7 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:11:39 +0100 Subject: [PATCH 08/20] Force JetBrains Annotations in integration tests --- .../resources/android-library/build.gradle.kts | 12 +++++++----- .../resources/cached-build-test/build.gradle.kts | 8 +++++++- .../resources/copy-grpc/build.gradle.kts | 8 ++++++++ .../resources/coverage-agent-test/build.gradle.kts | 7 +++++++ .../resources/empty-test/build.gradle.kts | 8 +++++++- .../resources/java-kotlin-test/build.gradle.kts | 8 +++++++- .../java-library-kotlin-jvm/build.gradle.kts | 8 +++++++- .../resources/kotlin-test/build.gradle.kts | 8 +++++++- .../resources/ksp-test/build.gradle.kts | 8 +++++++- .../resources/launch-test/build.gradle.kts | 8 +++++++- .../resources/test-source-set/build.gradle.kts | 7 +++++++ .../resources/with-functional-test/build.gradle.kts | 8 +++++++- 12 files changed, 85 insertions(+), 13 deletions(-) diff --git a/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts index 172da444eb..adb2f00c73 100644 --- a/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts @@ -24,16 +24,18 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf -import io.spine.dependency.lib.Grpc import io.spine.dependency.local.Base -import io.spine.dependency.local.CoreJava -import io.spine.dependency.local.Reflect -import io.spine.dependency.local.TestLib import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts index e8e76dee1f..994844ada9 100644 --- a/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts @@ -24,12 +24,18 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts index 4d07700c86..c6ee559820 100644 --- a/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts @@ -28,9 +28,17 @@ import com.google.protobuf.gradle.protobuf import com.google.protobuf.gradle.id import io.spine.gradle.repo.standardToSpineSdk import io.spine.dependency.lib.Protobuf +import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts index 0fd7104663..231854801c 100644 --- a/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts @@ -31,6 +31,13 @@ import org.gradle.process.CommandLineArgumentProvider buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts index dce446f4ef..a71a1ecd50 100644 --- a/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts @@ -24,11 +24,17 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts index e8e76dee1f..994844ada9 100644 --- a/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts @@ -24,12 +24,18 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts index c1c77f36ae..ed6d50ed51 100644 --- a/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts @@ -24,12 +24,18 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts index 12accee299..39500999c2 100644 --- a/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts @@ -24,12 +24,18 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts index c20b9053a1..1543fd8cbe 100644 --- a/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts @@ -24,12 +24,18 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts index dce446f4ef..a71a1ecd50 100644 --- a/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts @@ -24,11 +24,17 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts index 268c92ce6d..176a88a5b8 100644 --- a/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts @@ -31,6 +31,13 @@ import org.gradle.api.tasks.SourceSetContainer buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts index a39db67cba..0e29df1cfc 100644 --- a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts @@ -24,13 +24,19 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk import org.gradle.api.plugins.jvm.JvmTestSuite buildscript { standardSpineSdkRepositories() + configurations.all { + resolutionStrategy { + force( + io.spine.dependency.lib.JetBrainsAnnotations.lib, + ) + } + } } group = "io.spine.tools.test" From d760c0edc601fe250419d2a65b2c1341e8d414dc Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:11:46 +0100 Subject: [PATCH 09/20] Update dependency reports --- docs/dependencies/dependencies.md | 44 +++++++++++++++---------------- docs/dependencies/pom.xml | 10 +++---- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/docs/dependencies/dependencies.md b/docs/dependencies/dependencies.md index 9f7c16bd45..40c2ee8b7d 100644 --- a/docs/dependencies/dependencies.md +++ b/docs/dependencies/dependencies.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -1102,14 +1102,14 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.064` ## Runtime ## Compile, tests, and tooling @@ -1478,14 +1478,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -2591,14 +2591,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -3863,14 +3863,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -4890,14 +4890,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -5961,14 +5961,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -7091,14 +7091,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -8192,14 +8192,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. @@ -9035,14 +9035,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -10144,14 +10144,14 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.063` +# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.064` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.22.1. @@ -11360,6 +11360,6 @@ This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Jul 23 18:33:50 WEST 2026** using +This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/docs/dependencies/pom.xml b/docs/dependencies/pom.xml index 3783010190..904082ab01 100644 --- a/docs/dependencies/pom.xml +++ b/docs/dependencies/pom.xml @@ -10,7 +10,7 @@ all modules and does not describe the project structure per-subproject. --> io.spine.tools compiler -2.0.0-SNAPSHOT.063 +2.0.0-SNAPSHOT.064 2015 @@ -122,13 +122,13 @@ all modules and does not describe the project structure per-subproject. io.spine spine-logging - 2.0.0-SNAPSHOT.422 + 2.0.0-SNAPSHOT.423 compile io.spine spine-logging-jvm - 2.0.0-SNAPSHOT.422 + 2.0.0-SNAPSHOT.423 compile @@ -140,7 +140,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-server - 2.0.0-SNAPSHOT.510 + 2.0.0-SNAPSHOT.521 compile @@ -212,7 +212,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools server-testlib - 2.0.0-SNAPSHOT.510 + 2.0.0-SNAPSHOT.521 compile From 8e5a36b7b2ee7d0f02216762128d7b0b077b794d Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:28:08 +0100 Subject: [PATCH 10/20] Exclude JetBrains Annotations from the published plugin graph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gradle pins `org.jetbrains:annotations` on build script classpaths to the version used by the Kotlin runtime embedded into Gradle (`strictly 13.0`, "Pinned to the embedded Kotlin"), while `kotlinx-coroutines` — brought by Aedile and other transitive dependencies — requires `23.0.0`. Gradle 9.6 may fail to reconcile the two declarations depending on the shape of the consumer's dependency graph: the CoreJvm `.510 -> .521` bump reshaped the graph enough to make the Compiler Gradle plugin unresolvable in consumer builds unless they force the module on the build script classpath. Exclude the module from the Aedile dependency of `:api` and from every published dependency of `:gradle-plugin`, so consumers need no workaround. The annotations are compile-time metadata, not needed at run time; consumers still receive version `13.0` through the `kotlin-stdlib` edge, which satisfies the pin. Co-Authored-By: Claude Fable 5 --- api/build.gradle.kts | 14 ++++++++-- gradle-plugin/build.gradle.kts | 49 +++++++++++++++++++++++++++++----- 2 files changed, 54 insertions(+), 9 deletions(-) diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 4f0b32adce..5bc783530a 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import io.spine.dependency.lib.Aedile import io.spine.dependency.lib.Jackson +import io.spine.dependency.lib.JetBrainsAnnotations import io.spine.dependency.local.Base import io.spine.dependency.local.CoreJvm import io.spine.dependency.local.Logging @@ -53,7 +54,16 @@ dependencies { api(Logging.lib) implementation(Reflect.lib) - implementation(Aedile.lib) + implementation(Aedile.lib) { + // Aedile brings `kotlinx-coroutines`, which requires + // `org.jetbrains:annotations:23.0.0`. Build script classpaths pin + // the module to the version of the Kotlin embedded into Gradle + // (`strictly 13.0`), and Gradle 9.6 may fail to reconcile the two + // declarations, making any artifact that transitively carries this + // requirement unresolvable as a build-time dependency. + // The annotations are compile-time metadata, not needed at run time. + exclude(group = JetBrainsAnnotations.groupId, module = JetBrainsAnnotations.artifactId) + } implementation(platform(Jackson.bom)) with(Jackson) { diff --git a/gradle-plugin/build.gradle.kts b/gradle-plugin/build.gradle.kts index 0b58e1b5d1..8193915b53 100644 --- a/gradle-plugin/build.gradle.kts +++ b/gradle-plugin/build.gradle.kts @@ -24,6 +24,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.dependency.lib.JetBrainsAnnotations import io.spine.dependency.lib.Kotlin import io.spine.dependency.lib.Protobuf import io.spine.dependency.local.CoreJvm @@ -101,24 +102,58 @@ testing { } } +/** + * Excludes `org.jetbrains:annotations` from a published dependency of this plugin. + * + * Build script classpaths pin the module to the version used by the Kotlin + * runtime embedded into Gradle (`strictly 13.0`, "Pinned to the embedded + * Kotlin"), while `kotlinx-coroutines` and other transitive dependencies of + * this plugin require `23.0.0`. Gradle 9.6 may fail to reconcile the two + * declarations — the outcome depends on the shape of the consumer's dependency + * graph — making the plugin unresolvable without a consumer-side workaround, + * such as forcing the module version on the build script classpath. + * + * The annotations are compile-time metadata, not needed at run time. + * Consumers still receive version `13.0` through the `kotlin-stdlib` + * dependency, which satisfies the pin. + */ +fun ModuleDependency.excludeJetBrainsAnnotations() { + exclude(group = JetBrainsAnnotations.groupId, module = JetBrainsAnnotations.artifactId) +} + dependencies { compileOnly(gradleApi()) compileOnly(gradleKotlinDsl()) compileOnly(Protobuf.GradlePlugin.lib) compileOnly(Kotlin.GradlePlugin.api) - api(project(":gradle-api")) - api(ToolBase.gradlePluginApi) + api(project(":gradle-api")) { + excludeJetBrainsAnnotations() + } + api(ToolBase.gradlePluginApi) { + excludeJetBrainsAnnotations() + } implementation(project(":api")) { exclude(group = Spine.toolsGroup, module = ToolBase.psiJavaArtifactName) exclude(group = Spine.group, module = CoreJvm.serverArtifact) + excludeJetBrainsAnnotations() + } + implementation(project(":params")) { + excludeJetBrainsAnnotations() + } + implementation(ToolBase.lib) { + excludeJetBrainsAnnotations() + } + implementation(ToolBase.jvmTools) { + excludeJetBrainsAnnotations() + } + implementation(ToolBase.protobufSetupPlugins) { + excludeJetBrainsAnnotations() + } + implementation(ToolBase.pluginBase) { + excludeJetBrainsAnnotations() } - implementation(project(":params")) - implementation(ToolBase.lib) - implementation(ToolBase.jvmTools) - implementation(ToolBase.protobufSetupPlugins) - implementation(ToolBase.pluginBase) } /** From 9a7570214a0cdfdcb408b847633a44f266f753ea Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:28:08 +0100 Subject: [PATCH 11/20] Revert "Force JetBrains Annotations in integration tests" This reverts commit 424db14d3e85ad3b5fa575e2fa1664e6268e36b7. The Compiler Gradle plugin now excludes `org.jetbrains:annotations` from its published dependencies, so the fixture projects resolve without forcing the module. Keeping the fixtures force-free makes `functionalTest` guard against regressions of the exclusion. Co-Authored-By: Claude Fable 5 --- .../resources/android-library/build.gradle.kts | 12 +++++------- .../resources/cached-build-test/build.gradle.kts | 8 +------- .../resources/copy-grpc/build.gradle.kts | 8 -------- .../resources/coverage-agent-test/build.gradle.kts | 7 ------- .../resources/empty-test/build.gradle.kts | 8 +------- .../resources/java-kotlin-test/build.gradle.kts | 8 +------- .../java-library-kotlin-jvm/build.gradle.kts | 8 +------- .../resources/kotlin-test/build.gradle.kts | 8 +------- .../resources/ksp-test/build.gradle.kts | 8 +------- .../resources/launch-test/build.gradle.kts | 8 +------- .../resources/test-source-set/build.gradle.kts | 7 ------- .../resources/with-functional-test/build.gradle.kts | 8 +------- 12 files changed, 13 insertions(+), 85 deletions(-) diff --git a/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts index adb2f00c73..172da444eb 100644 --- a/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts @@ -24,18 +24,16 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf +import io.spine.dependency.lib.Grpc import io.spine.dependency.local.Base +import io.spine.dependency.local.CoreJava +import io.spine.dependency.local.Reflect +import io.spine.dependency.local.TestLib import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts index 994844ada9..e8e76dee1f 100644 --- a/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts @@ -24,18 +24,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts index c6ee559820..4d07700c86 100644 --- a/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/copy-grpc/build.gradle.kts @@ -28,17 +28,9 @@ import com.google.protobuf.gradle.protobuf import com.google.protobuf.gradle.id import io.spine.gradle.repo.standardToSpineSdk import io.spine.dependency.lib.Protobuf -import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts index 231854801c..0fd7104663 100644 --- a/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts @@ -31,13 +31,6 @@ import org.gradle.process.CommandLineArgumentProvider buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts index a71a1ecd50..dce446f4ef 100644 --- a/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts @@ -24,17 +24,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts index 994844ada9..e8e76dee1f 100644 --- a/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts @@ -24,18 +24,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts index ed6d50ed51..c1c77f36ae 100644 --- a/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts @@ -24,18 +24,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts index 39500999c2..12accee299 100644 --- a/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts @@ -24,18 +24,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts index 1543fd8cbe..c20b9053a1 100644 --- a/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts @@ -24,18 +24,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts index a71a1ecd50..dce446f4ef 100644 --- a/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts @@ -24,17 +24,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts index 176a88a5b8..268c92ce6d 100644 --- a/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/test-source-set/build.gradle.kts @@ -31,13 +31,6 @@ import org.gradle.api.tasks.SourceSetContainer buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" diff --git a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts index 0e29df1cfc..a39db67cba 100644 --- a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts @@ -24,19 +24,13 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk import org.gradle.api.plugins.jvm.JvmTestSuite buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } group = "io.spine.tools.test" From 78d641d8b2af490c6f061c15613c47b569ceabf5 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:28:09 +0100 Subject: [PATCH 12/20] Drop the JetBrains Annotations force where no longer needed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `consumer` and `in-place-consumer` fixtures put only the Compiler Gradle plugin on their build script classpaths, and the plugin no longer carries the `org.jetbrains:annotations:23.0.0` requirement. The `compiler-extension` fixture keeps the force — its classpath also holds the CoreJvm Compiler plugin, which still requires the module — with a comment stating the removal condition. Co-Authored-By: Claude Fable 5 --- tests/compiler-extension/build.gradle.kts | 6 ++++++ tests/consumer/build.gradle.kts | 7 ------- tests/in-place-consumer/build.gradle.kts | 7 ------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/tests/compiler-extension/build.gradle.kts b/tests/compiler-extension/build.gradle.kts index 274ff25b6d..f71ee2deae 100644 --- a/tests/compiler-extension/build.gradle.kts +++ b/tests/compiler-extension/build.gradle.kts @@ -30,6 +30,12 @@ buildscript { standardSpineSdkRepositories() configurations.all { resolutionStrategy { + // The CoreJvm Compiler plugin on the classpath below still carries + // the `org.jetbrains:annotations:23.0.0` requirement, which clashes + // with the `strictly 13.0` pin Gradle puts on build script + // classpaths ("Pinned to the embedded Kotlin"). Remove this force + // once the CoreJvm Compiler excludes the module from its published + // dependencies the way the Spine Compiler Gradle plugin does. force( io.spine.dependency.lib.JetBrainsAnnotations.lib, ) diff --git a/tests/consumer/build.gradle.kts b/tests/consumer/build.gradle.kts index fb47006de5..41012bdeba 100644 --- a/tests/consumer/build.gradle.kts +++ b/tests/consumer/build.gradle.kts @@ -39,13 +39,6 @@ buildscript { dependencies { classpath(spineCompiler.pluginLib(compilerVersion)) } - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } } apply(plugin = "io.spine.compiler") diff --git a/tests/in-place-consumer/build.gradle.kts b/tests/in-place-consumer/build.gradle.kts index 859d52c0e2..ca2ea5f09e 100644 --- a/tests/in-place-consumer/build.gradle.kts +++ b/tests/in-place-consumer/build.gradle.kts @@ -28,13 +28,6 @@ import com.google.protobuf.gradle.protobuf buildscript { standardSpineSdkRepositories() - configurations.all { - resolutionStrategy { - force( - io.spine.dependency.lib.JetBrainsAnnotations.lib, - ) - } - } apply(from = "$rootDir/../version.gradle.kts") val compilerVersion = extra["compilerVersion"] as String dependencies { From 4df41c67c4f2f96edf667b626acf634abca43742 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:30:01 +0100 Subject: [PATCH 13/20] Record the annotations-pin exclusion pattern in team memory Co-Authored-By: Claude Fable 5 --- .agents/memory/MEMORY.md | 1 + .../gradle-annotations-pin-exclusion.md | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .agents/memory/feedback/gradle-annotations-pin-exclusion.md diff --git a/.agents/memory/MEMORY.md b/.agents/memory/MEMORY.md index bb212a41bc..5083e083ad 100644 --- a/.agents/memory/MEMORY.md +++ b/.agents/memory/MEMORY.md @@ -6,6 +6,7 @@ See [README.md](README.md) for the format and routing rules. ## Feedback (validated patterns & corrections) - [copilot-review-request](feedback/copilot-review-request.md) — GraphQL `requestReviews` with `botIds: ["BOT_kgDOCnlnWA"]`; REST endpoint silently no-ops on re-requests. +- [gradle-annotations-pin-exclusion](feedback/gradle-annotations-pin-exclusion.md) — publish plugins without `org.jetbrains:annotations`; never fix the `strictly 13.0` pin with consumer-side forces. ## Project (durable context & rationale) diff --git a/.agents/memory/feedback/gradle-annotations-pin-exclusion.md b/.agents/memory/feedback/gradle-annotations-pin-exclusion.md new file mode 100644 index 0000000000..0d03050b81 --- /dev/null +++ b/.agents/memory/feedback/gradle-annotations-pin-exclusion.md @@ -0,0 +1,38 @@ +--- +name: gradle-annotations-pin-exclusion +description: Publish Gradle plugins without `org.jetbrains:annotations` — Gradle 9.6 pins it `strictly 13.0` on build script classpaths, and consumer-side `force(...)` is a band-aid that spreads. +metadata: + type: feedback + since: 2026-07-24 +--- + +Gradle 9.6 constrains `org.jetbrains:annotations` to `{strictly 13.0}` +("Pinned to the embedded Kotlin") on build script classpaths carrying +Kotlin-ecosystem plugins, while `kotlinx-coroutines` (via Aedile, gRPC +Kotlin stubs, and the Kotlin Gradle plugin itself) requires `23.0.0`. +Whether Gradle reconciles the two is **graph-shape sensitive**: an +unrelated dependency bump (CoreJvm `.510 → .521`) flipped resolution +from a clean `23.0.0 → 13.0` downgrade to a hard +`Cannot find a version of 'org.jetbrains:annotations'` failure. + +**Why:** We repeatedly patched the symptom with +`resolutionStrategy { force(JetBrainsAnnotations.lib) }` — root build, +`tests/*`, twelve fixture templates — and every consumer of the plugin +would have needed the same workaround. The producer-side fix removes the +conflicting requirement from the published metadata once, for everyone: +the annotations are compile-time metadata, and consumers still get +`13.0` through the `kotlin-stdlib` edge, which satisfies the pin. + +**How to apply:** In every published Gradle plugin artifact, exclude +`org.jetbrains:annotations` from all published dependencies (see +`excludeJetBrainsAnnotations()` in `gradle-plugin/build.gradle.kts` and +the Aedile exclusion in `api/build.gradle.kts`). Do not add new +consumer-side `force(...)` workarounds for this module. To verify a fix +or reproduce the failure, build a consumer-mirror probe: a scratch +project applying `kotlin("jvm")` + the plugin from `mavenLocal()` with +no forces — it fails or passes with the published metadata alone. The +CoreJvm Compiler plugin still needs the same exclusion in its repo; +until it ships, `tests/compiler-extension` keeps its force (comment in +that file states the removal condition). + +Related: [[functional-test-fixtures]] From 9ab2a88fafe6a4c9aa49e88c292718a2b3e4bbdb Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:38:11 +0100 Subject: [PATCH 14/20] Document the dropped `Logging.grpcContext` force Addresses the code-review finding: the force was replaced, not augmented, when the JetBrains Annotations workaround landed. The integration tests pass without it on the CoreJvm `.521` bump, so the comment records why it is gone instead of restoring it. Co-Authored-By: Claude Fable 5 --- tests/compiler-extension/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/compiler-extension/build.gradle.kts b/tests/compiler-extension/build.gradle.kts index f71ee2deae..58489ff322 100644 --- a/tests/compiler-extension/build.gradle.kts +++ b/tests/compiler-extension/build.gradle.kts @@ -36,6 +36,10 @@ buildscript { // classpaths ("Pinned to the embedded Kotlin"). Remove this force // once the CoreJvm Compiler excludes the module from its published // dependencies the way the Spine Compiler Gradle plugin does. + // + // The `Logging.grpcContext` force formerly kept here became + // unnecessary with the CoreJvm `.521` bump: the integration tests + // pass without it. force( io.spine.dependency.lib.JetBrainsAnnotations.lib, ) From 83603aa1fb93c8c35b0efb50f0c7b7417f058360 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:39:56 +0100 Subject: [PATCH 15/20] Bump CoreJvm -> `2.0.0-SNAPSHOT.522` --- buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt index 7f4a4ce1fc..d60780d019 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt @@ -39,7 +39,7 @@ typealias CoreJava = CoreJvm @Suppress("ConstPropertyName", "unused") object CoreJvm { const val group = Spine.group - const val version = "2.0.0-SNAPSHOT.521" + const val version = "2.0.0-SNAPSHOT.522" const val coreArtifact = "spine-core" const val clientArtifact = "spine-client" From 02d3cd991649b03f518154450f91b7bf3142b3b6 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:42:20 +0100 Subject: [PATCH 16/20] Address documentation review feedback Convert the CoreJvm force-removal condition to the Spine `TODO:` format so it surfaces in TODO sweeps, align the embedded-Kotlin phrasing between the two exclusion comments, and use `at runtime` per the style catalog. Co-Authored-By: Claude Fable 5 --- api/build.gradle.kts | 11 ++++++----- gradle-plugin/build.gradle.kts | 2 +- tests/compiler-extension/build.gradle.kts | 7 ++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 5bc783530a..9129090125 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -57,11 +57,12 @@ dependencies { implementation(Aedile.lib) { // Aedile brings `kotlinx-coroutines`, which requires // `org.jetbrains:annotations:23.0.0`. Build script classpaths pin - // the module to the version of the Kotlin embedded into Gradle - // (`strictly 13.0`), and Gradle 9.6 may fail to reconcile the two - // declarations, making any artifact that transitively carries this - // requirement unresolvable as a build-time dependency. - // The annotations are compile-time metadata, not needed at run time. + // the module to the version used by the Kotlin runtime embedded + // into Gradle (`strictly 13.0`), and Gradle 9.6 may fail to + // reconcile the two declarations, making any artifact that + // transitively carries this requirement unresolvable as + // a build-time dependency. + // The annotations are compile-time metadata, not needed at runtime. exclude(group = JetBrainsAnnotations.groupId, module = JetBrainsAnnotations.artifactId) } diff --git a/gradle-plugin/build.gradle.kts b/gradle-plugin/build.gradle.kts index 8193915b53..12e0ad5678 100644 --- a/gradle-plugin/build.gradle.kts +++ b/gradle-plugin/build.gradle.kts @@ -113,7 +113,7 @@ testing { * graph — making the plugin unresolvable without a consumer-side workaround, * such as forcing the module version on the build script classpath. * - * The annotations are compile-time metadata, not needed at run time. + * The annotations are compile-time metadata, not needed at runtime. * Consumers still receive version `13.0` through the `kotlin-stdlib` * dependency, which satisfies the pin. */ diff --git a/tests/compiler-extension/build.gradle.kts b/tests/compiler-extension/build.gradle.kts index 58489ff322..e236766163 100644 --- a/tests/compiler-extension/build.gradle.kts +++ b/tests/compiler-extension/build.gradle.kts @@ -33,9 +33,10 @@ buildscript { // The CoreJvm Compiler plugin on the classpath below still carries // the `org.jetbrains:annotations:23.0.0` requirement, which clashes // with the `strictly 13.0` pin Gradle puts on build script - // classpaths ("Pinned to the embedded Kotlin"). Remove this force - // once the CoreJvm Compiler excludes the module from its published - // dependencies the way the Spine Compiler Gradle plugin does. + // classpaths ("Pinned to the embedded Kotlin"). + // TODO:2026-07-24:alexander.yevsyukov: Remove this force once the + // CoreJvm Compiler excludes the module from its published + // dependencies the way the Spine Compiler Gradle plugin does. // // The `Logging.grpcContext` force formerly kept here became // unnecessary with the CoreJvm `.521` bump: the integration tests From 8f1fea90d18cd2737c95f7735b917090ddb3c1b9 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 18:43:46 +0100 Subject: [PATCH 17/20] Update dependency reports --- docs/dependencies/dependencies.md | 28 ++++++++++++++-------------- docs/dependencies/pom.xml | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/dependencies/dependencies.md b/docs/dependencies/dependencies.md index 40c2ee8b7d..04e7024dc3 100644 --- a/docs/dependencies/dependencies.md +++ b/docs/dependencies/dependencies.md @@ -1102,7 +1102,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1478,7 +1478,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:21 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2591,7 +2591,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3863,7 +3863,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4890,7 +4890,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5047,9 +5047,9 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [MIT license](https://spdx.org/licenses/MIT.txt) -1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 23.0.0. - * **Project URL:** [https://github.com/JetBrains/java-annotations](https://github.com/JetBrains/java-annotations) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. + * **Project URL:** [http://www.jetbrains.org](http://www.jetbrains.org) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-bom. **Version** : 2.3.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) @@ -5961,7 +5961,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -7091,7 +7091,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -8192,7 +8192,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -9035,7 +9035,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -10144,7 +10144,7 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -11360,6 +11360,6 @@ This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri Jul 24 18:11:26 WEST 2026** using +This report was generated on **Fri Jul 24 18:42:23 WEST 2026** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/docs/dependencies/pom.xml b/docs/dependencies/pom.xml index 904082ab01..4f6901f544 100644 --- a/docs/dependencies/pom.xml +++ b/docs/dependencies/pom.xml @@ -140,7 +140,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-server - 2.0.0-SNAPSHOT.521 + 2.0.0-SNAPSHOT.522 compile @@ -212,7 +212,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools server-testlib - 2.0.0-SNAPSHOT.521 + 2.0.0-SNAPSHOT.522 compile From 96e4af45c97a932850d1c564ba41a6a6eff94016 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 19:05:47 +0100 Subject: [PATCH 18/20] Fix issue link --- .../kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt b/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt index ffd4e26044..b73b002a42 100644 --- a/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt +++ b/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt @@ -228,7 +228,7 @@ class PluginSpec { } @Test - @Disabled("https://github.com/SpineEventEngine/ProtoData/issues/88") + @Disabled("https://github.com/SpineEventEngine/compiler/issues/16") fun `add 'kotlin' built-in only' if 'java' plugin or Kotlin compile tasks are present`() { createProject("android-library") // could be in native code launchAndExpectResult(SUCCESS) From 3d4f0dccd1214ab3e5f7c0309ac04fa601ff5d65 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 19:07:51 +0100 Subject: [PATCH 19/20] Optimise imports --- .../resources/android-library/build.gradle.kts | 5 ----- .../resources/cached-build-test/build.gradle.kts | 1 - .../src/functionalTest/resources/empty-test/build.gradle.kts | 1 - .../resources/java-kotlin-test/build.gradle.kts | 1 - .../resources/java-library-kotlin-jvm/build.gradle.kts | 1 - .../functionalTest/resources/kotlin-test/build.gradle.kts | 1 - .../src/functionalTest/resources/ksp-test/build.gradle.kts | 1 - .../functionalTest/resources/launch-test/build.gradle.kts | 1 - .../resources/with-functional-test/build.gradle.kts | 1 - 9 files changed, 13 deletions(-) diff --git a/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts index 172da444eb..1afec80841 100644 --- a/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/android-library/build.gradle.kts @@ -24,12 +24,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf -import io.spine.dependency.lib.Grpc import io.spine.dependency.local.Base -import io.spine.dependency.local.CoreJava -import io.spine.dependency.local.Reflect -import io.spine.dependency.local.TestLib import io.spine.gradle.repo.standardToSpineSdk buildscript { diff --git a/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts index e8e76dee1f..af9a25552b 100644 --- a/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/cached-build-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk diff --git a/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts index dce446f4ef..8d928c8a2b 100644 --- a/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/empty-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { diff --git a/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts index e8e76dee1f..af9a25552b 100644 --- a/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/java-kotlin-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk diff --git a/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts index c1c77f36ae..62f9ea42e7 100644 --- a/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/java-library-kotlin-jvm/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk diff --git a/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts index 12accee299..fac31e0b1c 100644 --- a/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/kotlin-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk diff --git a/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts index c20b9053a1..1fdc02a65e 100644 --- a/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk diff --git a/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts index dce446f4ef..8d928c8a2b 100644 --- a/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/launch-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.gradle.repo.standardToSpineSdk buildscript { diff --git a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts index a39db67cba..b321471c75 100644 --- a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts @@ -24,7 +24,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protobuf import io.spine.dependency.lib.Protobuf import io.spine.gradle.repo.standardToSpineSdk import org.gradle.api.plugins.jvm.JvmTestSuite From f7df3a2a36a830c7b807bb230330d257ac2008e0 Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Fri, 24 Jul 2026 19:21:31 +0100 Subject: [PATCH 20/20] Address Gradle delegate deprecations in functional-test fixtures Gradle 9.6 deprecates the Kotlin DSL delegated-property helpers. Fix the two occurrences in the `functionalTest` fixture build scripts: - `coverage-agent-test`: `val jacocoAgent by configurations.creating` becomes `configurations.create("jacocoAgent")`. - `with-functional-test`: the `by getting` / `by registering` test-suite delegates become the direct `register("functionalTest")` API. The empty `test` access existed only to exercise the `by getting` delegate, so it and its now-obsolete `@Suppress("UNUSED_VARIABLE")` are removed. Verified by the `LaunchTaskCoverageSpec` and `PluginSpec` functional tests, which build these fixtures. Co-Authored-By: Claude Fable 5 --- .../resources/coverage-agent-test/build.gradle.kts | 2 +- .../resources/with-functional-test/build.gradle.kts | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts index 0fd7104663..62b3448398 100644 --- a/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/coverage-agent-test/build.gradle.kts @@ -77,7 +77,7 @@ spine { * [LaunchSpineCompiler] task via the standard `JavaExec` fork options. * The agent writes a per-task `.exec` file under `build/jacoco-compiler/`. */ -val jacocoAgent: Configuration by configurations.creating +val jacocoAgent: Configuration = configurations.create("jacocoAgent") dependencies { jacocoAgent("org.jacoco:org.jacoco.agent:${Jacoco.version}:runtime") diff --git a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts index b321471c75..863b99b4e9 100644 --- a/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts +++ b/gradle-plugin/src/functionalTest/resources/with-functional-test/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2025, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -69,14 +69,8 @@ dependencies { Protobuf.libs.forEach { implementation(it) } } -@Suppress("UNUSED_VARIABLE") /* `test` and `functionalTest` variables are really used by their - names and types for obtaining or creating corresponding suite instances via `by` calls. */ testing { suites { - val test by getting(JvmTestSuite::class) { - } - - val functionalTest by registering(JvmTestSuite::class) { - } + register("functionalTest") } }