From 14259b40f97d8db7c627221167f3cdbda130538f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 16:32:08 +0000 Subject: [PATCH 1/8] Bump kotlin from 2.0.21 to 2.1.0 Bumps `kotlin` from 2.0.21 to 2.1.0. Updates `org.jetbrains.kotlin.multiplatform` from 2.0.21 to 2.1.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/commits) Updates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.1.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/commits) Updates `org.jetbrains.kotlin.plugin.allopen` from 2.0.21 to 2.1.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/commits) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin.multiplatform dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin.plugin.serialization dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin.plugin.allopen dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 173ed4cf..63878a9e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlin = "2.0.21" +kotlin = "2.1.0" kotest = "6.0.0.M1" detekt = "1.23.7" ktlint = "1.1.0" From ad69eed31e719a842cb8aba26eb6ff57635add70 Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Sun, 1 Dec 2024 19:09:03 +0400 Subject: [PATCH 2/8] Update yarn.lock --- kotlin-js-store/yarn.lock | 59 +++++++++++++++------------------------ 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 40b278b7..4f56a980 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -87,33 +87,12 @@ dependencies: "@types/node" "*" -"@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.40.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.40.2.tgz#2833bc112d809677864a4b0e7d1de4f04d7dac2d" - integrity sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== - "@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/json-schema@*", "@types/json-schema@^7.0.8": +"@types/json-schema@^7.0.8": version "7.0.12" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== @@ -667,7 +646,7 @@ engine.io@~6.5.2: engine.io-parser "~5.2.1" ws "~8.11.0" -enhanced-resolve@^5.17.0: +enhanced-resolve@^5.17.1: version "5.17.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== @@ -1130,10 +1109,10 @@ karma-webpack@5.0.1: minimatch "^9.0.3" webpack-merge "^4.1.5" -karma@6.4.3: - version "6.4.3" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.3.tgz#763e500f99597218bbb536de1a14acc4ceea7ce8" - integrity sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q== +karma@6.4.4: + version "6.4.4" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.4.tgz#dfa5a426cf5a8b53b43cd54ef0d0d09742351492" + integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -1165,6 +1144,13 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +kotlin-web-helpers@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz#b112096b273c1e733e0b86560998235c09a19286" + integrity sha512-xkVGl60Ygn/zuLkDPx+oHj7jeLR7hCvoNF99nhwXMn8a3ApB4lLiC9pk4ol4NHPjyoCbvQctBqvzUcp8pkqyWw== + dependencies: + format-util "^1.0.5" + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -1268,10 +1254,10 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mocha@10.7.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.0.tgz#9e5cbed8fa9b37537a25bd1f7fb4f6fc45458b9a" - integrity sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA== +mocha@10.7.3: + version "10.7.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" + integrity sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A== dependencies: ansi-colors "^4.1.3" browser-stdout "^1.3.1" @@ -1860,12 +1846,11 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.93.0: - version "5.93.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" - integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== +webpack@5.94.0: + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== dependencies: - "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" @@ -1874,7 +1859,7 @@ webpack@5.93.0: acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" From 10a5950f22eec333bfb12334902ea87352e9f31f Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Tue, 7 Jan 2025 19:12:27 +0400 Subject: [PATCH 3/8] Override coroutines version to avoid linkage problem for wasmJs --- gradle/libs.versions.toml | 1 + json-schema-validator/build.gradle.kts | 7 +++++++ test-suites/build.gradle.kts | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 63878a9e..9f83dee6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,6 +26,7 @@ nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version = "2.0.0 kotlin-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "serialization" } kotlin-serialization-json-okio = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json-okio", version.ref = "serialization" } kotlin-benchmark = { group = "org.jetbrains.kotlinx", name = "kotlinx-benchmark-runtime", version.ref = "benchmark" } +kotlin-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.10.1" } kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" } kotest-framework-engine = { module = "io.kotest:kotest-framework-engine", version.ref = "kotest" } kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" } diff --git a/json-schema-validator/build.gradle.kts b/json-schema-validator/build.gradle.kts index aa741626..88fc1e96 100644 --- a/json-schema-validator/build.gradle.kts +++ b/json-schema-validator/build.gradle.kts @@ -105,6 +105,13 @@ kotlin { commonTest { dependencies { implementation(libs.kotest.assertions.core) + implementation(libs.kotlin.coroutines.core.get().toString()) { + // see "https://kotlinlang.slack.com/archives/CDFP59223/p1736191408326039?thread_ts=1734964013.996149&cid=CDFP59223" + because( + "there is a problem with linkage related to changes in kotlin 2.1.0: " + + "wasmJs tests in browser does not work without updating coroutines to the version compiled with 2.1.0", + ) + } implementation(libs.kotest.framework.engine) implementation(kotlin("test-common")) implementation(kotlin("test-annotations-common")) diff --git a/test-suites/build.gradle.kts b/test-suites/build.gradle.kts index b81a624c..eb9d6a85 100644 --- a/test-suites/build.gradle.kts +++ b/test-suites/build.gradle.kts @@ -60,6 +60,14 @@ kotlin { implementation(kotlin("test-annotations-common")) implementation(libs.okio.common) implementation(libs.kotlin.serialization.json.okio) + + implementation(libs.kotlin.coroutines.core.get().toString()) { + // see "https://kotlinlang.slack.com/archives/CDFP59223/p1736191408326039?thread_ts=1734964013.996149&cid=CDFP59223" + because( + "there is a problem with linkage related to changes in kotlin 2.1.0: " + + "wasmJs tests in browser does not work without updating coroutines to the version compiled with 2.1.0", + ) + } } } jsTest { From eec5643203df131396f11ff6a5b5f6878df9c2c7 Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Tue, 7 Jan 2025 19:18:06 +0400 Subject: [PATCH 4/8] Create parent directories as well --- scripts/install-format-tools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install-format-tools.sh b/scripts/install-format-tools.sh index 9ebd55bc..307170c6 100755 --- a/scripts/install-format-tools.sh +++ b/scripts/install-format-tools.sh @@ -7,7 +7,7 @@ if [[ "$KTLINT_VERSION" == "" ]]; then echo "Provide ktlint version in KTLINT_VERSION env variable" exit 1 fi -mkdir ${HOME}/.local/bin +mkdir -p ${HOME}/.local/bin echo "Installing detekt $DETEKT_VERSION" jar_destination="${HOME}/.local/lib/detekt" mkdir -p ${jar_destination} From 2c362e65fa1ba372a16f7b9be919bfaa85443f82 Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Tue, 7 Jan 2025 19:24:45 +0400 Subject: [PATCH 5/8] Use custom path for tools --- scripts/install-format-tools.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/scripts/install-format-tools.sh b/scripts/install-format-tools.sh index 307170c6..e454082c 100755 --- a/scripts/install-format-tools.sh +++ b/scripts/install-format-tools.sh @@ -1,4 +1,7 @@ #!/bin/bash + +set -e + if [[ "$DETEKT_VERSION" == "" ]]; then echo "Privide detekt version in DETEKT_VERSION env variable" exit 1 @@ -7,13 +10,14 @@ if [[ "$KTLINT_VERSION" == "" ]]; then echo "Provide ktlint version in KTLINT_VERSION env variable" exit 1 fi -mkdir -p ${HOME}/.local/bin +TOOLS="$(pwd)/tools" +mkdir -p ${TOOLS} echo "Installing detekt $DETEKT_VERSION" -jar_destination="${HOME}/.local/lib/detekt" +jar_destination="${TOOLS}/lib/detekt" mkdir -p ${jar_destination} curl -sSL -o ${jar_destination}/detekt-cli.jar "https://github.com/detekt/detekt/releases/download/v${DETEKT_VERSION}/detekt-cli-${DETEKT_VERSION}-all.jar" -entrypoint_script="${HOME}/.local/bin/detekt-cli" +entrypoint_script="${TOOLS}/detekt-cli" cat > "$entrypoint_script" << EOM java -jar ${jar_destination}/detekt-cli.jar \$@ EOM @@ -21,5 +25,7 @@ chmod +x "$entrypoint_script" detekt-cli --version echo "Installing ktlint $KTLINT_VERSION" -curl -sSLO "https://github.com/pinterest/ktlint/releases/download/$KTLINT_VERSION/ktlint" && chmod a+x ktlint && mv ktlint ${HOME}/.local/bin/ -ktlint --version \ No newline at end of file +curl -sSLO "https://github.com/pinterest/ktlint/releases/download/$KTLINT_VERSION/ktlint" && chmod a+x ktlint && mv ktlint ${TOOLS}/ +ktlint --version + +export PATH="$PATH:$TOOLS" \ No newline at end of file From 5871cfdf1b874132bbafeb83bd0e565ddd4396f8 Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Tue, 7 Jan 2025 19:28:51 +0400 Subject: [PATCH 6/8] Revert changes inside scripts --- scripts/install-format-tools.sh | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/scripts/install-format-tools.sh b/scripts/install-format-tools.sh index e454082c..9ebd55bc 100755 --- a/scripts/install-format-tools.sh +++ b/scripts/install-format-tools.sh @@ -1,7 +1,4 @@ #!/bin/bash - -set -e - if [[ "$DETEKT_VERSION" == "" ]]; then echo "Privide detekt version in DETEKT_VERSION env variable" exit 1 @@ -10,14 +7,13 @@ if [[ "$KTLINT_VERSION" == "" ]]; then echo "Provide ktlint version in KTLINT_VERSION env variable" exit 1 fi -TOOLS="$(pwd)/tools" -mkdir -p ${TOOLS} +mkdir ${HOME}/.local/bin echo "Installing detekt $DETEKT_VERSION" -jar_destination="${TOOLS}/lib/detekt" +jar_destination="${HOME}/.local/lib/detekt" mkdir -p ${jar_destination} curl -sSL -o ${jar_destination}/detekt-cli.jar "https://github.com/detekt/detekt/releases/download/v${DETEKT_VERSION}/detekt-cli-${DETEKT_VERSION}-all.jar" -entrypoint_script="${TOOLS}/detekt-cli" +entrypoint_script="${HOME}/.local/bin/detekt-cli" cat > "$entrypoint_script" << EOM java -jar ${jar_destination}/detekt-cli.jar \$@ EOM @@ -25,7 +21,5 @@ chmod +x "$entrypoint_script" detekt-cli --version echo "Installing ktlint $KTLINT_VERSION" -curl -sSLO "https://github.com/pinterest/ktlint/releases/download/$KTLINT_VERSION/ktlint" && chmod a+x ktlint && mv ktlint ${TOOLS}/ -ktlint --version - -export PATH="$PATH:$TOOLS" \ No newline at end of file +curl -sSLO "https://github.com/pinterest/ktlint/releases/download/$KTLINT_VERSION/ktlint" && chmod a+x ktlint && mv ktlint ${HOME}/.local/bin/ +ktlint --version \ No newline at end of file From cb2aabdd4a3437452007ed09ddb53a9993ddf1a5 Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Tue, 7 Jan 2025 19:30:54 +0400 Subject: [PATCH 7/8] Add parameter to allow outputs longer than 1 MB It is commented because it does not help but for the history I would like to keep it for now --- gradle.properties | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 2a946654..471eb88e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,8 @@ org.gradle.java.installations.auto-download=false org.gradle.daemon=false version=0.3.2-SNAPSHOT -group=io.github.optimumcode \ No newline at end of file +group=io.github.optimumcode + +# Due to large amount of test cases the output for JS WEB exceeds 1MB limit for TeamCity reader +# The whole output is printed as a single line and cannot be split by the parser +#kotlin.ignore.tcsm.overflow=true \ No newline at end of file From 915e5770721a0c2bddefb93a66f7303982af43df Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Sat, 18 Jan 2025 13:39:38 +0100 Subject: [PATCH 8/8] Update version before merging a new minor version of kotlin --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 471eb88e..1b42a46b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx1G org.gradle.java.installations.auto-download=false org.gradle.daemon=false -version=0.3.2-SNAPSHOT +version=0.4.0-SNAPSHOT group=io.github.optimumcode # Due to large amount of test cases the output for JS WEB exceeds 1MB limit for TeamCity reader