Skip to content

Remove the retired ModelCompiler object in migrate; bump Testcontainers to 2.0.5 - #740

Merged
alexander-yevsyukov merged 3 commits into
masterfrom
migrate-remove-model-compiler
Aug 5, 2026
Merged

Remove the retired ModelCompiler object in migrate; bump Testcontainers to 2.0.5#740
alexander-yevsyukov merged 3 commits into
masterfrom
migrate-remove-model-compiler

Conversation

@alexander-yevsyukov

@alexander-yevsyukov alexander-yevsyukov commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Two independent buildSrc-distribution fixes.

1. migrate — remove the retired ModelCompiler dependency object

ModelCompiler.kt was dropped from config in cce5f57 ("Remove outdated local
dependency"), but migrate was never updated to delete stale copies in consumer
repositories.

migrate distributes buildSrc with cp -R buildSrc .., which is a pure overlay:
it adds and overwrites, but never deletes. So every file config retires needs an
explicit rm -f, otherwise a consumer that pulled earlier keeps the retired object
forever — and buildSrc compiles as a single Kotlin source set, so a leftover
object can break the consumer's build.

ModelCompiler.kt now joins the existing removal block next to ProtoData.kt and
McJava.kt, and the block comment records the supersession chain:
Model Compiler → McJava → CoreJvm Compiler (io.spine.core-jvm).

2. Testcontainers — bump to 2.0.5 with the 2.x artifact names

Testcontainers 2.x prefixes every module artifact with testcontainers-; only the
core library keeps the plain testcontainers name. Testcontainers.kt now pins
2.0.5 with the 2.x coordinates, so config floats stop reverting consumers that
already upgraded (gcloud-jvm PR #202) and stop breaking their
Testcontainers-2.x-based sources.

Also adds a postgresql constant so config's copy is a superset of the consumer
usages — jdbc-storage/rdbms/build.gradle.kts references it, and without it the
next float breaks that build script with an unresolved reference.

Note the constant names (junitJupiter, gcloud, mySql) are unchanged — only
their coordinate values move — so no consumer reference breaks and no @Deprecated
shim is owed. postgresql intentionally keeps its lowercase spelling rather than
matching mySql's camelCase, because that is the name jdbc-storage already
references.

Verification

  • ./gradlew -p buildSrc build passes (JDK 17).
  • bash -n migrate passes; the added rm -f path matches the historical file path
    exactly, sits inside the IS_JVM block after cp -R buildSrc .., and rm -f
    keeps re-runs a no-op.
  • Testcontainers coordinates verified against Maven Central at 2.0.5:
    testcontainers, testcontainers-junit-jupiter, testcontainers-gcloud,
    testcontainers-mysql, and testcontainers-postgresql all resolve, while the
    old unprefixed junit-jupiter, gcloud, and mysql return 404. 2.0.5 is the
    current release per maven-metadata.xml.
  • dependency-audit: APPROVE — no version downgrade, no removed symbols, no
    stale coordinates left in the repo, copyright current.
  • This repository has no root version.gradle.kts, so the version gate is not
    applicable.

🤖 Generated with Claude Code

`ModelCompiler.kt` was dropped from `config` in cce5f57, but `migrate`
was not updated to delete stale consumer copies. Since `cp -R buildSrc ..`
only overlays sources and never deletes, consumers that pulled earlier keep
a `ModelCompiler.kt` that no longer belongs to `buildSrc`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alexander-yevsyukov alexander-yevsyukov self-assigned this Aug 5, 2026
@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Aug 5, 2026
alexander-yevsyukov and others added 2 commits August 5, 2026 18:39
Testcontainers 2.x prefixes every module artifact with `testcontainers-`;
only the core library keeps the plain `testcontainers` name. Verified on
Maven Central at 2.0.5: `junit-jupiter`, `gcloud`, and `mysql` return 404,
while the prefixed coordinates resolve.

Also adds the `postgresql` constant so config's copy is a superset of the
consumer usages (gcloud-jvm and jdbc-storage), which keeps the next float
from breaking `rdbms/build.gradle.kts` with an unresolved reference.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alexander-yevsyukov alexander-yevsyukov changed the title Remove the retired ModelCompiler dependency object in migrate Remove the retired ModelCompiler object in migrate; bump Testcontainers to 2.0.5 Aug 5, 2026
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Aug 5, 2026
@alexander-yevsyukov
alexander-yevsyukov enabled auto-merge (squash) August 5, 2026 17:43
@alexander-yevsyukov
alexander-yevsyukov merged commit 65d0506 into master Aug 5, 2026
3 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the migrate-remove-model-compiler branch August 5, 2026 18:09
@github-project-automation github-project-automation Bot moved this from In Review to ✅ Done in v2.0 Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants