Skip to content

Declare the modules tool-base was split into - #748

Merged
alexander-yevsyukov merged 4 commits into
masterfrom
tool-base-module-split
Aug 19, 2026
Merged

Declare the modules tool-base was split into#748
alexander-yevsyukov merged 4 commits into
masterfrom
tool-base-module-split

Conversation

@alexander-yevsyukov

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

Copy link
Copy Markdown
Contributor

Important

Do not merge before io.spine.tools:*:2.0.0-SNAPSHOT.420 is published.
This bumps ToolBase.version to .420, where the new modules first exist.
Merging earlier points every consumer at artifacts that do not exist yet.
Blocked on SpineEventEngine/tool-base#189.

What

SpineEventEngine/tool-base#189 splits the monolithic tool-base module into
focused modules. ToolBase gains a constant for each, and stops presenting the
retired artifact as the way in.

Constant Artifact
archive io.spine.tools:archive
code io.spine.tools:code
fs io.spine.tools:fs
javaCode io.spine.tools:java-code
kotlinCode io.spine.tools:kotlin-code
protoCode io.spine.tools:proto-code

Why lib is deprecated and not removed

io.spine.tools:tool-base is no longer published as of .420, so the constant
now names a non-existent artifact. It is nonetheless referenced in 19
repositories
across the SDK — compiler, core-jvm-compiler, core-jvm,
validation, delivery-server, jdbc-storage, web, ProtoTap and others,
about 64 call sites in total.

Deleting it would break all of them in one step. @Deprecated lets each
migrate to the module it actually needs, and the KDoc names the replacements —
including io.spine.environment.OsFamily in Base Libraries for the enum that
tool-base also carried.

Not included

js-code and dart-code were extracted mid-branch and then removed:
JavaScript and Dart are not supported languages in v2.x, so no constants are
declared for them.

Also

The object KDoc no longer calls tool-base a module. The repository keeps its
name; only the module of that name is gone.

Follow-up

Migrating the 19 consumer repositories off ToolBase.lib is deliberately not
part of this change.

🤖 Generated with Claude Code

SpineEventEngine/tool-base#189 breaks the monolithic `tool-base` module into
focused modules. `ToolBase` gains a constant for each of them and stops
presenting the retired artifact as the way in.

`lib` is deprecated rather than removed. The `io.spine.tools:tool-base`
artifact is no longer published as of `2.0.0-SNAPSHOT.420`, but the constant
is referenced in 19 repositories across the SDK, so deleting it outright would
break them all at once. Deprecating it lets each migrate to the module it
actually needs, with the KDoc naming the replacements and pointing at
`io.spine.environment.OsFamily` for the enum the module also carried.

The object KDoc no longer calls `tool-base` a module — the repository keeps
its name, only the module is gone.

Note on ordering: `version` moves to `2.0.0-SNAPSHOT.420`, where the new
modules first exist. This must not merge before that version of `tool-base`
is published.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@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: 38045329e0

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

Comment thread buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt
alexander-yevsyukov and others added 3 commits August 19, 2026 15:53
... because these modules are removed in ToolBase.
JavaScript and Dart are not supported languages in v2.x, so
SpineEventEngine/tool-base#189 no longer publishes `js-code` or `dart-code`.
Declaring constants for them would point at artifacts that will not exist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Aug 19, 2026
@alexander-yevsyukov
alexander-yevsyukov merged commit ab6a04c into master Aug 19, 2026
2 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the tool-base-module-split branch August 19, 2026 15:19
@github-project-automation github-project-automation Bot moved this from In Review to ✅ Done in v2.0 Aug 19, 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