Retire McJava dependency object and purge ProtoData/McJava from consumer buildSrc#692
Conversation
McJava dependency object and purge ProtoData/McJava from consumer buildSrc
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 61fb60482d
ℹ️ 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".
| object ProtoTap { | ||
| const val group = Spine.toolsGroup | ||
| const val version = "0.14.0" | ||
| const val version = "0.15.0" |
There was a problem hiding this comment.
Use a published ProtoTap plugin version
For consumers that use the prototap plugins-DSL shortcut in BuildExtensions.kt, this version is emitted as id("io.spine.prototap") version "0.15.0", but the official Gradle Plugin Portal still lists 0.14.0 as the latest published version and its marker dependency example also uses 0.14.0 (https://plugins.gradle.org/plugin/io.spine.prototap). Those builds will fail during plugin resolution until 0.15.0 is actually published there, so keep this at a resolvable version or avoid wiring the plugins-DSL accessor to an unpublished release.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
This PR removes the retired McJava dependency object from config’s shared buildSrc, updates migration tooling so consumer repositories don’t keep stale copies after ./config/pull, refreshes several local/ dependency versions, and records the McJava → CoreJvmCompiler succession in team memory.
Changes:
- Retire
McJavafrombuildSrc(delete the object, remove related accessors/imports, and drop migration script entries). - Update
migrateto delete staleProtoData.ktandMcJava.ktfrom consumer repos after copyingbuildSrc. - Bump versions for several
io.spine.dependency.local.*entries and add a project memory note documenting the replacement.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| scripts/buildSrc-migration.kts | Removes McJava from the dependency-object migration map. |
| migrate | Deletes stale ProtoData.kt/McJava.kt in consumers after cp -R buildSrc ... |
| buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt | Updates ProtoTap version. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt | Deletes the retired McJava dependency object. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt | Updates CoreJvm Compiler versions. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt | Updates Core JVM version. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt | Updates Compiler fallback versions. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt | Updates Base versions (including buildscript variant). |
| buildSrc/src/main/kotlin/BuildExtensions.kt | Removes mcJava shortcut/import; updates Compiler KDoc to avoid broken Dokka links. |
| .agents/memory/project/core-jvm-compiler-replaces-mc-java.md | Adds durable project memory documenting the successor plugin. |
| .agents/memory/MEMORY.md | Indexes the new project memory entry. |
| * This plugin is published at Gradle Plugin Portal. But when another plugin that | ||
| * depends on the Compiler is also on the buildscript's classpath, the Compiler | ||
| * cannot be applied directly to a project. In such a case, declare it here so that | ||
| * it is added to the classpath, then apply it by ID. | ||
| */ |
Summary
Retires the
McJavadependency object (themc-javaplugin,io.spine.mc-java) frombuildSrc, in parallel with the earlier ProtoData retirement, and teachesmigrateto purge both retired objects from consumer repositories. Also refreshes thelocal/dependency versions.McJavais superseded by CoreJvm Compiler (io.spine.core-jvm, theCoreJvmCompilerobject), just as ProtoData was superseded by Spine Compiler.Changes
Retire McJava
buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt.mcJavashortcut and theMcJavaimport fromBuildExtensions.kt, and rewrite thespineCompilerKDoc that linked[mcJava](would otherwise break the Dokka publish check).McJavaentries fromscripts/buildSrc-migration.kts.migrateconsumer cleanuprm -fforProtoData.ktandMcJava.ktunderbuildSrc/.../dependency/local/, aftercp -R buildSrc ...cp -Roverlays sources but never deletes files dropped fromconfig, so consumers that received these objects keep stale copies that no longer compile. ProtoData was removed earlier in45095663, but its consumer cleanup was missed — this fixes both.Refresh
local/versionsDocs
core-jvm-compiler-replaces-mc-java.mdrecording the succession.Reviewer notes
./gradlew :buildSrc:test detektpasses;./gradlew -p buildSrc compileKotlinclean; no remaining[mcJava]/McJavareferences.spine-code-review,dependency-audit,kotlin-engineer,review-docs— no blockers.confighas no rootversion.gradle.kts.version/versionForBuildScript, CompilerfallbackVersion/fallbackDfVersion, CoreJvmCompilerversion/dogfoodingVersion) moved together to preserve the existing invariant — this includes the dogfooding/build-script versions used to buildconfigitself.Remember McJavacommits are redundant.🤖 Generated with Claude Code