Skip to content

Retire McJava dependency object and purge ProtoData/McJava from consumer buildSrc#692

Merged
alexander-yevsyukov merged 4 commits into
masterfrom
migrate-remove-protodata-mcjava
Jun 15, 2026
Merged

Retire McJava dependency object and purge ProtoData/McJava from consumer buildSrc#692
alexander-yevsyukov merged 4 commits into
masterfrom
migrate-remove-protodata-mcjava

Conversation

@alexander-yevsyukov

@alexander-yevsyukov alexander-yevsyukov commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Retires the McJava dependency object (the mc-java plugin, io.spine.mc-java) from buildSrc, in parallel with the earlier ProtoData retirement, and teaches migrate to purge both retired objects from consumer repositories. Also refreshes the local/ dependency versions.

McJava is superseded by CoreJvm Compiler (io.spine.core-jvm, the CoreJvmCompiler object), just as ProtoData was superseded by Spine Compiler.

Changes

Retire McJava

  • Delete buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt.
  • Remove the mcJava shortcut and the McJava import from BuildExtensions.kt, and rewrite the spineCompiler KDoc that linked [mcJava] (would otherwise break the Dokka publish check).
  • Drop the two McJava entries from scripts/buildSrc-migration.kts.

migrate consumer cleanup

  • Add rm -f for ProtoData.kt and McJava.kt under buildSrc/.../dependency/local/, after cp -R buildSrc ... cp -R overlays sources but never deletes files dropped from config, so consumers that received these objects keep stale copies that no longer compile. ProtoData was removed earlier in 45095663, but its consumer cleanup was missed — this fixes both.

Refresh local/ versions

Docs

  • Add team-memory note core-jvm-compiler-replaces-mc-java.md recording the succession.

Reviewer notes

  • ./gradlew :buildSrc:test detekt passes; ./gradlew -p buildSrc compileKotlin clean; no remaining [mcJava]/McJava references.
  • Reviewed with spine-code-review, dependency-audit, kotlin-engineer, review-docs — no blockers.
  • Version gate N/A: config has no root version.gradle.kts.
  • Paired constants (Base version/versionForBuildScript, Compiler fallbackVersion/fallbackDfVersion, CoreJvmCompiler version/dogfoodingVersion) moved together to preserve the existing invariant — this includes the dogfooding/build-script versions used to build config itself.
  • Suggest squash-merge: the two Remember McJava commits are redundant.

🤖 Generated with Claude Code

@alexander-yevsyukov alexander-yevsyukov changed the title Retire McJava dependency object and purge ProtoData/McJava from consumer buildSrc Retire McJava dependency object and purge ProtoData/McJava from consumer buildSrc Jun 15, 2026
@alexander-yevsyukov alexander-yevsyukov self-assigned this Jun 15, 2026
@alexander-yevsyukov alexander-yevsyukov merged commit 3f1143f into master Jun 15, 2026
3 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the migrate-remove-protodata-mcjava branch June 15, 2026 18:11

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

Copy link
Copy Markdown

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: 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"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge 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 👍 / 👎.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 McJava from buildSrc (delete the object, remove related accessors/imports, and drop migration script entries).
  • Update migrate to delete stale ProtoData.kt and McJava.kt from consumer repos after copying buildSrc.
  • 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.

Comment on lines +108 to 112
* 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.
*/
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