Force consumerId properties in plugin components#75
Force consumerId properties in plugin components#75alexander-yevsyukov merged 12 commits intomasterfrom
consumerId properties in plugin components#75Conversation
There was a problem hiding this comment.
Pull request overview
Updates plugin components and build tooling to accommodate Kotlin 2.3.10’s changed multiple-interface-inheritance behavior, ensuring consumerId is resolved from the final class and aligning dependency/tooling versions.
Changes:
- Explicitly override
consumerIdin affected plugin renderer/components to avoid Kotlin 2.3.10 inheritance ambiguity. - Bump core/project and dependency versions (Core JVM compiler, Spine Base, Protobuf, etc.).
- Adjust Gradle build tooling (test logging listener, repositories, Kotlin compiler options, forced deps).
Reviewed changes
Copilot reviewed 24 out of 26 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| version.gradle.kts | Bumps published Core JVM compiler snapshot version. |
| signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Renderers.kt | Forces consumerId resolution in renderer class. |
| pom.xml | Updates project and dependency versions (Spine Base/Annotations, Protobuf toolchain). |
| message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRenderer.kt | Forces consumerId resolution in renderer class. |
| entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityStateRenderer.kt | Forces consumerId resolution in renderer class. |
| dependencies.md | Regenerates dependency/license report for updated versions. |
| config | Updates submodule pointer. |
| buildSrc/src/main/kotlin/module.gradle.kts | Forces additional dependency (Base.environment) in configurations. |
| buildSrc/src/main/kotlin/io/spine/gradle/testing/Logging.kt | Replaces Groovy interop closure with native TestListener. |
| buildSrc/src/main/kotlin/io/spine/gradle/repo/Repositories.kt | Adds JetBrains cache redirector and broadens IntelliJ dependency include patterns. |
| buildSrc/src/main/kotlin/io/spine/gradle/kotlin/KotlinConfig.kt | Switches JVM default methods configuration to typed DSL property. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt | Updates local model compiler snapshot version. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt | Updates local Core JVM compiler versions used for dogfooding/tests. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt | Updates spine-change snapshot version. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt | Updates Spine Base snapshot versions. |
| buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt | Upgrades Protobuf and protobuf-gradle-plugin versions. |
| buildSrc/src/main/kotlin/io/spine/dependency/build/Ksp.kt | Bumps KSP version. |
| buildSrc/build.gradle.kts | Upgrades Guava and protobuf-gradle-plugin versions for buildSrc. |
| build.gradle.kts | Adds base.environment to buildscript classpath. |
| .agents/skills/writer/assets/templates/kotlin-java-example.md | Adds a docs template asset. |
| .agents/skills/writer/assets/templates/kdoc-example.md | Adds a KDoc template asset. |
| .agents/skills/writer/assets/templates/doc-page.md | Adds a documentation page template asset. |
| .agents/skills/writer/agents/openai.yaml | Adds a “writer” agent configuration. |
| .agents/skills/writer/SKILL.md | Adds repository-specific documentation skill guidance. |
| .agents/documentation-guidelines.md | Fixes/updates link to the text-flow diagram asset. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ce825372c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
This PR addresses the change of the behaviour of multiple interface inheritance in Kotlin classes in version 2.3.10.
Previously, an open
valintroduced in an abstract base could be overridden by implementing an mix-in interface which overrides the getter. Now the class-providedvalprevails. This PR updates the plugin parts that have such multiple inheritance to supplyconsumerIdproperty via the final class.Other notable changes
configwas partially updated brining the Writer agent skill.