From 830f21e8a9d73be397a951394edf7ce9a8464ec6 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Mon, 1 Jun 2026 10:37:40 +0100 Subject: [PATCH] build: drop Kotlin runtime + JetBrains annotations (F2) 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). --- CHANGELOG.md | 18 +++++++ pom.xml | 48 ------------------- .../components/content/text/TextDataBody.java | 3 +- .../engine/components/core/Entity.java | 3 +- .../engine/pagination/TextBlockProcessor.java | 3 +- .../engine/render/guides/GuideCoordinate.java | 5 +- .../engine/render/guides/GuidesRenderer.java | 3 -- .../compose/engine/render/pdf/PdfFont.java | 3 +- .../testsupport/EngineComposerHarness.java | 6 --- .../engine/assembly/BlockTextBuilder.java | 5 +- 10 files changed, 26 insertions(+), 71 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c095a50a..fdec1a58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,24 @@ filled in as work lands on `develop`. No breaking changes are planned; the next minor with new canonical DSL primitives is **v1.7.0** (see [ROADMAP.md](ROADMAP.md)). +### Build + +- Dropped the `kotlin-stdlib-jdk8` compile dependency, the + `kotlin-test` test dependency, and the `kotlin-maven-plugin` + build extension. GraphCompose is Java-first; no production + Kotlin sources exist, and the runtime now no longer carries + the Kotlin standard library transitively. Consumers that + relied on `kotlin-stdlib` flowing through GraphCompose must + declare it explicitly. + +### Internal + +- Replaced eight residual `org.jetbrains.annotations.NotNull` / + `@Nullable` usages with `lombok.NonNull` (where the surrounding + file already used Lombok) or removed them entirely (private + methods and test fixtures). `org.jetbrains:annotations` is no + longer on the runtime classpath after the Kotlin removal. + ## v1.6.6 — 2026-05-31 **First Maven Central release.** GraphCompose now ships under diff --git a/pom.xml b/pom.xml index a7242a39..25f9af0b 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,6 @@ 0.64.8 2.21.3 - 2.3.21 1.5.32 1.18.46 3.0.7 @@ -198,13 +197,6 @@ ${zxing.version} - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - ${kotlin.version} - - ch.qos.logback @@ -248,12 +240,6 @@ ${mockito.version} test - - org.jetbrains.kotlin - kotlin-test - ${kotlin.version} - test - org.openjfx javafx-controls @@ -317,40 +303,6 @@ - - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlin.version} - - - compile - - compile - - - - ${project.basedir}/src/main/java - - - - - test-compile - - test-compile - - - - ${project.basedir}/src/test/java - - - - - - ${maven.compiler.release} - - -