From 258eda86301c2daee548395aed7fdd028a33e39b Mon Sep 17 00:00:00 2001 From: odenix Date: Thu, 23 Jan 2025 14:41:59 -0800 Subject: [PATCH] Update Kotlin to 2.0 (#900) - update Kotlin from 1.7.10 to 2.0.21 - Kotlin 1.6 dependencies in Gradle lock files are expected because kotlinc, which is also used by some tests, internally uses some 1.6 dependencies for backwards compatibility reasons. - update kotlinx-html and kotlinx-serialization - adapt Kotlin code where necessary - use Kotlin stdlib Path APIs where possible - fix IntelliJ Kotlin inspection warnings - reformat code with `./gradlew spotlessApply` - ktfmt adds lots of trailing commas - Add workaround to fix IntelliJ "unresolved reference" errors --- .idea/inspectionProfiles/Project_Default.xml | 2 +- bench/gradle.lockfile | 37 ++- buildSrc/build.gradle.kts | 6 +- .../src/main/kotlin/pklAllProjects.gradle.kts | 7 +- docs/gradle.lockfile | 38 ++- docs/src/test/kotlin/DocSnippetTests.kt | 2 +- gradle/libs.versions.toml | 11 +- pkl-cli/gradle.lockfile | 38 ++- .../main/kotlin/org/pkl/cli/CliEvaluator.kt | 8 +- .../kotlin/org/pkl/cli/CliEvaluatorOptions.kt | 4 +- .../kotlin/org/pkl/cli/CliImportAnalyzer.kt | 6 +- .../src/main/kotlin/org/pkl/cli/CliServer.kt | 4 +- .../kotlin/org/pkl/cli/repl/ReplCommands.kt | 6 +- .../kotlin/org/pkl/cli/repl/ReplCompleters.kt | 14 +- .../kotlin/org/pkl/cli/CliEvaluatorTest.kt | 312 +++++++++--------- .../org/pkl/cli/CliPackageDownloaderTest.kt | 44 +-- .../test/kotlin/org/pkl/cli/testExtensions.kt | 4 +- pkl-codegen-java/gradle.lockfile | 38 ++- .../pkl/codegen/java/CliJavaCodeGenerator.kt | 4 +- .../org/pkl/codegen/java/JavaCodeGenerator.kt | 53 ++- .../kotlin/org/pkl/codegen/java/PklModule.kt | 4 +- pkl-codegen-kotlin/gradle.lockfile | 53 +-- .../pkl-codegen-kotlin.gradle.kts | 11 +- .../codegen/kotlin/CliKotlinCodeGenerator.kt | 4 +- .../pkl/codegen/kotlin/KotlinCodeGenerator.kt | 25 +- .../codegen/kotlin/InMemoryKotlinCompiler.kt | 14 +- .../codegen/kotlin/KotlinCodeGeneratorTest.kt | 82 ++--- .../org/pkl/codegen/kotlin/PklModule.kt | 4 +- .../services/javax.script.ScriptEngineFactory | 1 - pkl-commons-cli/gradle.lockfile | 38 ++- pkl-commons-cli/pkl-commons-cli.gradle.kts | 4 +- .../pkl/commons/cli/commands/BaseCommand.kt | 10 +- .../pkl/commons/cli/commands/BaseOptions.kt | 42 +-- .../commons/cli/commands/ModulesCommand.kt | 10 +- pkl-commons-test/gradle.lockfile | 37 ++- .../org/pkl/commons/test/FakeHttpResponse.kt | 3 +- .../pkl/commons/test/InputOutputTestEngine.kt | 19 +- .../org/pkl/commons/test/PackageServer.kt | 8 +- .../org/pkl/commons/test/ReflectionUtils.kt | 24 ++ pkl-commons/gradle.lockfile | 37 ++- .../src/main/kotlin/org/pkl/commons/Paths.kt | 27 +- .../main/kotlin/org/pkl/commons/Strings.kt | 3 +- pkl-config-java/gradle.lockfile | 38 ++- pkl-config-kotlin/gradle.lockfile | 39 ++- .../org/pkl/config/kotlin/ConfigExtensions.kt | 7 +- .../pkl/config/kotlin/ConfigExtensionsTest.kt | 16 +- .../kotlin/mapper/KotlinConversionsTest.kt | 16 +- pkl-core/gradle.lockfile | 37 ++- .../test/kotlin/org/pkl/core/AnalyzerTest.kt | 32 +- .../test/kotlin/org/pkl/core/DurationTest.kt | 18 +- .../org/pkl/core/EvaluateExpressionTest.kt | 8 +- .../test/kotlin/org/pkl/core/EvaluatorTest.kt | 14 +- .../pkl/core/LanguageSnippetTestsEngine.kt | 18 +- .../TestExternalReaderProcess.kt | 10 +- .../pkl/core/module/ModuleKeyFactoriesTest.kt | 4 +- .../org/pkl/core/module/ModuleKeysTest.kt | 4 +- .../pkl/core/packages/PackageResolversTest.kt | 27 +- .../org/pkl/core/settings/PklSettingsTest.kt | 13 +- .../kotlin/org/pkl/core/util/IoUtilsTest.kt | 24 +- pkl-doc/gradle.lockfile | 57 ++-- .../main/kotlin/org/pkl/doc/DocGenerator.kt | 19 +- .../main/kotlin/org/pkl/doc/DocPackageInfo.kt | 15 +- pkl-doc/src/main/kotlin/org/pkl/doc/Main.kt | 17 +- .../kotlin/org/pkl/doc/MainPageGenerator.kt | 13 +- .../src/main/kotlin/org/pkl/doc/Markdown.kt | 6 +- .../kotlin/org/pkl/doc/ModulePageGenerator.kt | 15 +- .../org/pkl/doc/PackageDataGenerator.kt | 37 +-- .../org/pkl/doc/PackagePageGenerator.kt | 11 +- .../main/kotlin/org/pkl/doc/PageGenerator.kt | 20 +- .../org/pkl/doc/RuntimeDataGenerator.kt | 26 +- .../org/pkl/doc/SearchIndexGenerator.kt | 4 +- pkl-doc/src/main/kotlin/org/pkl/doc/Util.kt | 8 +- .../kotlin/org/pkl/doc/CliDocGeneratorTest.kt | 31 +- pkl-executor/gradle.lockfile | 37 ++- pkl-gradle/gradle.lockfile | 38 ++- pkl-gradle/pkl-gradle.gradle.kts | 14 +- .../kotlin/org/pkl/gradle/AbstractTest.kt | 14 +- .../org/pkl/gradle/JavaCodeGeneratorsTest.kt | 16 +- .../pkl/gradle/KotlinCodeGeneratorsTest.kt | 21 +- pkl-server/gradle.lockfile | 37 ++- .../pkl/server/ServerMessagePackEncoder.kt | 8 +- .../src/main/kotlin/org/pkl/server/Utils.kt | 4 +- .../org/pkl/server/AbstractServerTest.kt | 120 +++---- .../pkl/server/BinaryEvaluatorSnippetTests.kt | 6 +- .../pkl/server/MessagePackDebugRenderer.kt | 4 +- pkl-tools/gradle.lockfile | 22 +- pkl-tools/pkl-tools.gradle.kts | 3 +- 87 files changed, 1042 insertions(+), 1004 deletions(-) delete mode 100644 pkl-codegen-kotlin/src/test/resources/META-INF/services/javax.script.ScriptEngineFactory create mode 100644 pkl-commons-test/src/main/kotlin/org/pkl/commons/test/ReflectionUtils.kt diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 2fd0229e..d723e4a1 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -74,4 +74,4 @@