Skip to content

build: drop Kotlin runtime + JetBrains annotations (F2)#107

Merged
DemchaAV merged 1 commit into
developfrom
chore/remove-kotlin-runtime
Jun 1, 2026
Merged

build: drop Kotlin runtime + JetBrains annotations (F2)#107
DemchaAV merged 1 commit into
developfrom
chore/remove-kotlin-runtime

Conversation

@DemchaAV

@DemchaAV DemchaAV commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

Opens the v1.6.7 dependency-cleanup cycle. Implements track F2 from the
v1.6.5-1.7 readiness taskboard using the
F1 audit as input:

  • Drops kotlin-stdlib-jdk8, kotlin-test, and the kotlin-maven-plugin
    build extension from pom.xml (plus the now-orphan kotlin.version
    property). GraphCompose is Java-first; no production Kotlin sources
    exist, so the runtime no longer carries kotlin-stdlib transitively.
  • Strips eight residual org.jetbrains.annotations.NotNull / @Nullable
    usages — these only resolved because they came in transitively via
    kotlin-stdlib. In GuideCoordinate they become @lombok.NonNull
    (the sibling default methods already use it); elsewhere they were
    annotation-only hints on private methods, return types, or test
    fixtures and are dropped.

Consumer impact: callers that depended on kotlin-stdlib flowing
through GraphCompose must now declare it explicitly. The public API
is unchanged.

Test plan

  • ./mvnw test -pl .1031 tests, 0 failures, 0 errors
  • ./mvnw dependency:tree -pl .0 org.jetbrains / kotlin in
    the tree
  • ./mvnw verify -pl . -P japicmpsemver OK, no incompatible
    changes
    vs v1.6.6 baseline

GraphCompose is Java-first; no production Kotlin sources exist, yet
the runtime carried the full kotlin-stdlib transitively. F1 audit
flagged kotlin-stdlib-jdk8, kotlin-test, and kotlin-maven-plugin as
unused candidates for removal.

- Drop kotlin-stdlib-jdk8, kotlin-test, kotlin-maven-plugin and the
  kotlin.version property from pom.xml.
- Strip residual org.jetbrains.annotations.NotNull/@nullable from
  8 files. In GuideCoordinate they become @lombok.NonNull (sibling
  default methods already use it); elsewhere they were annotation-
  only hints on private methods, returns, or test fixtures and are
  removed.

After this change org.jetbrains:annotations is no longer on the
classpath. Consumers that relied on kotlin-stdlib flowing through
GraphCompose must declare it explicitly.

Gates: 1031 tests pass; dependency:tree clean of jetbrains/kotlin;
japicmp vs v1.6.6 reports semver OK (no incompatible changes).
@DemchaAV DemchaAV merged commit eb4dbc0 into develop Jun 1, 2026
11 checks passed
@DemchaAV DemchaAV deleted the chore/remove-kotlin-runtime branch June 1, 2026 10:11
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.

1 participant