Skip to content

Update dependencies#56

Merged
alexander-yevsyukov merged 20 commits intomasterfrom
update-dependencies
Mar 12, 2026
Merged

Update dependencies#56
alexander-yevsyukov merged 20 commits intomasterfrom
update-dependencies

Conversation

@alexander-yevsyukov
Copy link
Contributor

@alexander-yevsyukov alexander-yevsyukov commented Mar 11, 2026

This PR updates major external and internal dependencies.

Updated external dependencies:

  • Kotlin -> 9.3.10
  • KSP -> 2.3.6
  • Protobuf -> 4.34.0
  • Protobuf Gradle Plugin -> 0.9.6.
  • Gradle -> 9.4.0.

Base, Compiler, Validation, ToolBase, Time, and CoreJvm Compiler were also updated.

The update of CoreJvm Compiler was needed to overcome the change of the behaviour of inheritance of a property from multiple interfaces, when one of the interfaces was inherited indirectly via an abstract class.

Other notable changes

  • config was updated.
  • The jvmDefault property of KotlinJvmCompilerOptions were changed from ENABLE to NO_COMPATIBILITY to be inline with the previous "-Xjvm-default=all" compiler argument. The change is going to be propagated to config shortly.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates build tooling and dependencies (Gradle, Kotlin, Protobuf, Spine components) and tweaks build/test infrastructure to match the newer ecosystem.

Changes:

  • Bumped multiple dependency/version constants (Compiler/ToolBase/Validation/Time/ModelCompiler, Kotlin, Protobuf, Gradle wrapper).
  • Adjusted Gradle build behavior (wrapper scripts, JVM args, repository definitions, task annotations).
  • Added repository documentation-writer agent assets/templates and fixed a docs link.

Reviewed changes

Copilot reviewed 27 out of 29 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
version.gradle.kts Bumps compiler snapshot version.
jvm/src/main/kotlin/io/spine/tools/compiler/jvm/FieldExts.kt Adds suppression annotations for Java collection FQNs.
gradlew.bat Removes env var disabling Protobuf compatibility check.
gradlew Removes env var disabling Protobuf compatibility check; updates Gradle template link.
gradle/wrapper/gradle-wrapper.properties Updates Gradle wrapper distribution URL.
gradle.properties Adds file encoding JVM arg for Gradle daemon.
gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/LaunchSpineCompiler.kt Marks task cacheable and refines classpath input annotations.
config Updates submodule reference.
buildSrc/src/main/kotlin/io/spine/gradle/testing/Logging.kt Replaces Groovy closure interop with a TestListener.
buildSrc/src/main/kotlin/io/spine/gradle/repo/Repositories.kt Adds JetBrains cache redirector and broadens repository content filters.
buildSrc/src/main/kotlin/io/spine/gradle/kotlin/KotlinConfig.kt Updates Kotlin compiler args handling for JVM default methods.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Bumps Validation snapshot version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Bumps ToolBase versions (incl. dogfooding).
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt Bumps Time snapshot version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt Bumps ModelCompiler snapshot version.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Bumps CoreJvmCompiler snapshot versions.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Updates fallback versions for compiler deps.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Bumps Base snapshot versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt Bumps Protobuf and protobuf-gradle-plugin versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Kotlin.kt Bumps Kotlin runtime version.
buildSrc/build.gradle.kts Aligns buildSrc Kotlin embedded, Guava, and Protobuf plugin versions.
.agents/skills/writer/assets/templates/kotlin-java-example.md Adds doc template for Kotlin/Java code tabs.
.agents/skills/writer/assets/templates/kdoc-example.md Adds KDoc example template.
.agents/skills/writer/assets/templates/doc-page.md Adds documentation page template.
.agents/skills/writer/agents/openai.yaml Adds “Writer” agent configuration.
.agents/skills/writer/SKILL.md Adds documentation writing skill guidance.
.agents/documentation-guidelines.md Fixes 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.

Copilot AI review requested due to automatic review settings March 12, 2026 20:56
@alexander-yevsyukov alexander-yevsyukov self-assigned this Mar 12, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 29 out of 32 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

pom.xml:1

  • PR description says Kotlin -> 9.3.10, but the actual updated Kotlin version in code is 2.3.10. Please update the PR description to match the committed versions to avoid confusion during release notes/review.

💡 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.

* Users should NOT change the CLI command, user directory, etc. directly.
* Please refer to the `compiler { }` extension configuring the Compiler.
*/
@CacheableTask
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Marking the task @CacheableTask while declaring sources with PathSensitivity.ABSOLUTE will severely reduce cache hits (absolute paths differ across machines and often across CI workspaces). Prefer PathSensitivity.RELATIVE (or another suitable sensitivity) for source directories unless the absolute location is semantically required for the compiler output.

Copilot uses AI. Check for mistakes.
Comment on lines +135 to 136
jetBrainsCacheRedirector
intellijDependencies
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two concrete resolution risks here: (1) jetBrainsCacheRedirector is added without any content {} restriction, so it may become eligible to serve any group/artifact, potentially changing dependency resolution in hard-to-debug ways depending on repository order. (2) Broadening intellijDependencies filters to org.jetbrains.* / com.jetbrains.* can inadvertently match Kotlin and other JetBrains ecosystem libraries that are typically expected from Maven Central, again affecting resolution. Consider restricting both repositories to only the IntelliJ-specific groups you actually need (or wrapping them in exclusiveContent), and keep the regexes narrowly scoped (e.g., IntelliJ/JetBrains IntelliJ groups) to avoid accidental shadowing.

Copilot uses AI. Check for mistakes.
@alexander-yevsyukov alexander-yevsyukov marked this pull request as ready for review March 12, 2026 20:59
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 80bb82317c

ℹ️ 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".

* Users should NOT change the CLI command, user directory, etc. directly.
* Please refer to the `compiler { }` extension configuring the Compiler.
*/
@CacheableTask

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove cacheability until request file is declared input

Adding @CacheableTask here makes cache hits possible even though task outputs depend on the request file under workingDir.requestDirectory (read in hasRequestFile() and passed into createParametersFile()), and that file is not declared as an input property. In cache-enabled builds, this can reuse stale generated sources when request contents change without changing declared inputs (for example, proto option changes that affect Spine compiler behavior but not generated builtin sources), so the task may skip execution and restore outdated outputs.

Useful? React with 👍 / 👎.

@alexander-yevsyukov alexander-yevsyukov merged commit 404147c into master Mar 12, 2026
6 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the update-dependencies branch March 12, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants