build: drop Kotlin runtime + JetBrains annotations (F2)#107
Merged
Conversation
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
kotlin-stdlib-jdk8,kotlin-test, and thekotlin-maven-pluginbuild extension from
pom.xml(plus the now-orphankotlin.versionproperty). GraphCompose is Java-first; no production Kotlin sources
exist, so the runtime no longer carries
kotlin-stdlibtransitively.org.jetbrains.annotations.NotNull/@Nullableusages — these only resolved because they came in transitively via
kotlin-stdlib. InGuideCoordinatethey 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-stdlibflowingthrough 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 .— 0org.jetbrains/kotlininthe tree
./mvnw verify -pl . -P japicmp— semver OK, no incompatiblechanges vs v1.6.6 baseline