Conversation
There was a problem hiding this comment.
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.
gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/LaunchSpineCompiler.kt
Show resolved
Hide resolved
The `NO_COMPATIBILITY` value is the replacement for old ` -Xjvm-default=all` behavior.
There was a problem hiding this comment.
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 is2.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 |
There was a problem hiding this comment.
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.
| jetBrainsCacheRedirector | ||
| intellijDependencies |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
💡 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 |
There was a problem hiding this comment.
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 👍 / 👎.
This PR updates major external and internal dependencies.
Updated external dependencies:
9.3.102.3.64.34.00.9.6.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
configwas updated.jvmDefaultproperty ofKotlinJvmCompilerOptionswere changed fromENABLEtoNO_COMPATIBILITYto be inline with the previous"-Xjvm-default=all"compiler argument. The change is going to be propagated toconfigshortly.