Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
2f110b2
Bump version -> `2.0.0-SNAPSHOT.064`
alexander-yevsyukov Jul 24, 2026
d144098
Bump CoreJvm -> `2.0.0-SNAPSHOT.511`
alexander-yevsyukov Jul 24, 2026
f2aa955
Bump CoreJvm -> `2.0.0-SNAPSHOT.521`
alexander-yevsyukov Jul 24, 2026
850c8a8
Address Gradle deprecations
alexander-yevsyukov Jul 24, 2026
f6f55be
Address removal of the `logName` method
alexander-yevsyukov Jul 24, 2026
38eb513
Force JetBrains Annotations in integration tests
alexander-yevsyukov Jul 24, 2026
6c4ac96
Address Gradle `by extra` deprecations in test build scripts
alexander-yevsyukov Jul 24, 2026
424db14
Force JetBrains Annotations in integration tests
alexander-yevsyukov Jul 24, 2026
d760c0e
Update dependency reports
alexander-yevsyukov Jul 24, 2026
8e5a36b
Exclude JetBrains Annotations from the published plugin graph
alexander-yevsyukov Jul 24, 2026
9a75702
Revert "Force JetBrains Annotations in integration tests"
alexander-yevsyukov Jul 24, 2026
78d641d
Drop the JetBrains Annotations force where no longer needed
alexander-yevsyukov Jul 24, 2026
4df41c6
Record the annotations-pin exclusion pattern in team memory
alexander-yevsyukov Jul 24, 2026
9ab2a88
Document the dropped `Logging.grpcContext` force
alexander-yevsyukov Jul 24, 2026
83603aa
Bump CoreJvm -> `2.0.0-SNAPSHOT.522`
alexander-yevsyukov Jul 24, 2026
02d3cd9
Address documentation review feedback
alexander-yevsyukov Jul 24, 2026
8f1fea9
Update dependency reports
alexander-yevsyukov Jul 24, 2026
96e4af4
Fix issue link
alexander-yevsyukov Jul 24, 2026
3d4f0dc
Optimise imports
alexander-yevsyukov Jul 24, 2026
f7df3a2
Address Gradle delegate deprecations in functional-test fixtures
alexander-yevsyukov Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/memory/MEMORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
38 changes: 38 additions & 0 deletions .agents/memory/feedback/gradle-annotations-pin-exclusion.md
Original file line number Diff line number Diff line change
@@ -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]]
15 changes: 13 additions & 2 deletions api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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
Expand Down Expand Up @@ -53,7 +54,17 @@ 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 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)
}

implementation(platform(Jackson.bom))
with(Jackson) {
Expand Down
3 changes: 0 additions & 3 deletions api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,4 @@ internal class DefaultViewRepository(

override fun entityModelClass(): ProjectionClass<View<Any, ProjectionState<Any>, *>> =
ProjectionClass.asProjectionClass(cls)

override fun logName(): String =
"${ViewRepository::class.simpleName}.default()"
}
2 changes: 1 addition & 1 deletion backend/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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<Test>("performanceTest") {
description = "Runs the engine performance smoke signal (timed `Pipeline` run, hang ceiling)."
group = "verification"
testClassesDirs = sourceSets.test.get().output.classesDirs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.522"

const val coreArtifact = "spine-core"
const val clientArtifact = "spine-client"
Expand Down
50 changes: 25 additions & 25 deletions docs/dependencies/dependencies.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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: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).




# 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
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -5047,9 +5047,9 @@ This report was generated on **Thu Jul 23 18:33:50 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/)
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).




# 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.
Expand Down Expand Up @@ -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: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).
10 changes: 5 additions & 5 deletions docs/dependencies/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ all modules and does not describe the project structure per-subproject.
-->
<groupId>io.spine.tools</groupId>
<artifactId>compiler</artifactId>
<version>2.0.0-SNAPSHOT.063</version>
<version>2.0.0-SNAPSHOT.064</version>

<inceptionYear>2015</inceptionYear>

Expand Down Expand Up @@ -122,13 +122,13 @@ all modules and does not describe the project structure per-subproject.
<dependency>
<groupId>io.spine</groupId>
<artifactId>spine-logging</artifactId>
<version>2.0.0-SNAPSHOT.422</version>
<version>2.0.0-SNAPSHOT.423</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.spine</groupId>
<artifactId>spine-logging-jvm</artifactId>
<version>2.0.0-SNAPSHOT.422</version>
<version>2.0.0-SNAPSHOT.423</version>
<scope>compile</scope>
</dependency>
<dependency>
Expand All @@ -140,7 +140,7 @@ all modules and does not describe the project structure per-subproject.
<dependency>
<groupId>io.spine</groupId>
<artifactId>spine-server</artifactId>
<version>2.0.0-SNAPSHOT.510</version>
<version>2.0.0-SNAPSHOT.522</version>
<scope>compile</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -212,7 +212,7 @@ all modules and does not describe the project structure per-subproject.
<dependency>
<groupId>io.spine.tools</groupId>
<artifactId>server-testlib</artifactId>
<version>2.0.0-SNAPSHOT.510</version>
<version>2.0.0-SNAPSHOT.522</version>
<scope>compile</scope>
</dependency>
<dependency>
Expand Down
Loading
Loading