Improve build logic for Kotlin (#1520)

- Enforce Kotlin version via resolution rule (replaces BOM)
  - fail if kotlin-stdlib/kotlin-reflect exceed target version
- Replace kotlin-stdlib-jdk8 with kotlin-stdlib (jdk7/8 are now shims)
- Port pkl-core annotation processor to Java (with Codex)
- removes kotlin-stdlib from its compile classpath for better dependency
hygiene (Java module)
- Downgrade clikt for Kotlin 2.2 compatibility
- Upgrade kotlinx-serialization

---------

Co-authored-by: Daniel Chao <dan.chao@apple.com>
This commit is contained in:
odenix
2026-04-15 17:02:42 +01:00
committed by GitHub
parent 2e0b4a3a97
commit 04a9cc90d2
24 changed files with 558 additions and 456 deletions
+16 -14
View File
@@ -1,16 +1,20 @@
# This is a Gradle generated file for dependency locking.
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
com.github.ajalt.clikt:clikt-core-jvm:5.1.0=compileClasspath
com.github.ajalt.clikt:clikt-core:5.1.0=compileClasspath,compileOnlyDependenciesMetadata
com.github.ajalt.clikt:clikt-jvm:5.1.0=compileClasspath
com.github.ajalt.clikt:clikt:5.1.0=compileClasspath,compileOnlyDependenciesMetadata
com.github.ajalt.clikt:clikt-core-jvm:5.0.3=compileClasspath
com.github.ajalt.clikt:clikt-core:5.0.3=compileClasspath
com.github.ajalt.clikt:clikt-core:5.1.0=compileOnlyDependenciesMetadata
com.github.ajalt.clikt:clikt-jvm:5.0.3=compileClasspath
com.github.ajalt.clikt:clikt:5.0.3=compileClasspath
com.github.ajalt.clikt:clikt:5.1.0=compileOnlyDependenciesMetadata
com.github.ajalt.colormath:colormath-jvm:3.6.0=compileClasspath
com.github.ajalt.colormath:colormath:3.6.0=compileClasspath,compileOnlyDependenciesMetadata
com.github.ajalt.mordant:mordant-core-jvm:3.0.2=compileClasspath
com.github.ajalt.mordant:mordant-core:3.0.2=compileClasspath,compileOnlyDependenciesMetadata
com.github.ajalt.mordant:mordant-jvm:3.0.2=compileClasspath
com.github.ajalt.mordant:mordant:3.0.2=compileClasspath,compileOnlyDependenciesMetadata
com.github.ajalt.mordant:mordant-core-jvm:3.0.1=compileClasspath
com.github.ajalt.mordant:mordant-core:3.0.1=compileClasspath
com.github.ajalt.mordant:mordant-core:3.0.2=compileOnlyDependenciesMetadata
com.github.ajalt.mordant:mordant-jvm:3.0.1=compileClasspath
com.github.ajalt.mordant:mordant:3.0.1=compileClasspath
com.github.ajalt.mordant:mordant:3.0.2=compileOnlyDependenciesMetadata
com.github.ben-manes.caffeine:caffeine:2.9.3=swiftExportClasspathResolvable
com.google.errorprone:error_prone_annotations:2.28.0=swiftExportClasspathResolvable
io.github.java-diff-utils:java-diff-utils:4.12=kotlinInternalAbiValidation
@@ -26,7 +30,6 @@ org.bouncycastle:bcutil-jdk18on:1.80=kotlinBouncyCastleConfiguration
org.checkerframework:checker-qual:3.43.0=swiftExportClasspathResolvable
org.jetbrains.kotlin:abi-tools-api:2.3.20=kotlinInternalAbiValidation
org.jetbrains.kotlin:abi-tools:2.3.20=kotlinInternalAbiValidation
org.jetbrains.kotlin:kotlin-bom:2.2.21=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-build-tools-api:2.3.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath
org.jetbrains.kotlin:kotlin-build-tools-compat:2.3.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath
org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.3.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath
@@ -49,10 +52,9 @@ org.jetbrains.kotlin:kotlin-scripting-common:2.3.20=kotlinCompilerPluginClasspat
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.3.20=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.3.20=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-jvm:2.3.20=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.2.21=compileClasspath,compileOnlyDependenciesMetadata,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.21=compileClasspath,compileOnlyDependenciesMetadata,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-stdlib:2.2.21=compileOnlyDependenciesMetadata,swiftExportClasspathResolvable,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-stdlib:2.3.0=compileClasspath
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.2.21=compileOnlyDependenciesMetadata
org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.21=compileOnlyDependenciesMetadata
org.jetbrains.kotlin:kotlin-stdlib:2.2.21=compileClasspath,compileOnlyDependenciesMetadata,swiftExportClasspathResolvable,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-stdlib:2.3.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-tooling-core:2.3.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath
org.jetbrains.kotlin:swift-export-embeddable:2.2.21=swiftExportClasspathResolvable
@@ -71,4 +73,4 @@ org.junit.platform:junit-platform-launcher:6.0.3=testRuntimeClasspath
org.junit:junit-bom:6.0.3=testCompileClasspath,testRuntimeClasspath
org.msgpack:msgpack-core:0.9.11=testRuntimeClasspath
org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath
empty=annotationProcessor,apiDependenciesMetadata,implementationDependenciesMetadata,intransitiveDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,signatures,sourcesJar,testAnnotationProcessor,testApiDependenciesMetadata,testCompileOnlyDependenciesMetadata,testImplementationDependenciesMetadata,testIntransitiveDependenciesMetadata,testKotlinScriptDefExtensions
empty=annotationProcessor,apiDependenciesMetadata,implementationDependenciesMetadata,intransitiveDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,runtimeClasspath,signatures,sourcesJar,testAnnotationProcessor,testApiDependenciesMetadata,testCompileOnlyDependenciesMetadata,testImplementationDependenciesMetadata,testIntransitiveDependenciesMetadata,testKotlinScriptDefExtensions