From 9b98ac95a4f04031d181e1cace682c286d7776ca Mon Sep 17 00:00:00 2001 From: Tatiana Bogdanova Date: Mon, 19 Feb 2024 17:35:47 +0100 Subject: [PATCH 1/3] Adopt build scripts for K2 build infrastructure --- build.gradle.kts | 9 ++++++++- gradle.properties | 1 + settings.gradle | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9c3b4719..689d135b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,9 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile + buildscript { dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.21") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${rootProject.properties["kotlin_version"]}") } } @@ -30,8 +31,14 @@ apiValidation { } allprojects { + val kotlin_repo_url = rootProject.properties["kotlin_repo_url"] + repositories { mavenCentral() + maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev") + if (kotlin_repo_url != null) { + maven(kotlin_repo_url) + } } tasks.withType> { diff --git a/gradle.properties b/gradle.properties index d2050515..3c308ffc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,3 +3,4 @@ version=0.4 versionSuffix=SNAPSHOT org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +kotlin_version=2.0.0-dev-16989 diff --git a/settings.gradle b/settings.gradle index 3708b453..227011b9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,13 @@ pluginManagement { + def kotlin_repo_url = providers.gradleProperty("kotlin_repo_url") repositories { maven { url 'https://maven.pkg.jetbrains.space/kotlin/p/kotlinx/maven' } gradlePluginPortal() + + maven { url 'https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev'} + if (kotlin_repo_url.present) { + maven { url kotlin_repo_url.get() } + } } } From e557558e44f006030fb0c0e7aac4177a29725e17 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Mon, 26 Feb 2024 18:45:37 +0200 Subject: [PATCH 2/3] Remove the common `var AbstractMutableList<*>.modCount: Int` declaration In Kotlin 2.0 it is provided by stdlib. See KT-57150. --- .../implementations/immutableList/PersistentVectorBuilder.kt | 1 - core/commonMain/src/internal/commonFunctions.kt | 3 --- core/jsMain/src/internal/commonFunctions.kt | 4 ---- core/nativeMain/src/internal/commonFunctions.kt | 5 ----- core/wasmMain/src/internal/commonFunctions.kt | 4 ---- 5 files changed, 17 deletions(-) diff --git a/core/commonMain/src/implementations/immutableList/PersistentVectorBuilder.kt b/core/commonMain/src/implementations/immutableList/PersistentVectorBuilder.kt index f4f56f71..7f4ef7a7 100644 --- a/core/commonMain/src/implementations/immutableList/PersistentVectorBuilder.kt +++ b/core/commonMain/src/implementations/immutableList/PersistentVectorBuilder.kt @@ -10,7 +10,6 @@ import kotlinx.collections.immutable.internal.ListImplementation.checkElementInd import kotlinx.collections.immutable.internal.ListImplementation.checkPositionIndex import kotlinx.collections.immutable.internal.MutabilityOwnership import kotlinx.collections.immutable.internal.assert -import kotlinx.collections.immutable.internal.modCount internal class PersistentVectorBuilder(private var vector: PersistentList, private var vectorRoot: Array?, diff --git a/core/commonMain/src/internal/commonFunctions.kt b/core/commonMain/src/internal/commonFunctions.kt index f8a50d51..64846611 100644 --- a/core/commonMain/src/internal/commonFunctions.kt +++ b/core/commonMain/src/internal/commonFunctions.kt @@ -6,6 +6,3 @@ package kotlinx.collections.immutable.internal internal expect fun assert(condition: Boolean) - -@Suppress("NO_ACTUAL_FOR_EXPECT") // implemented by protected property in JVM -internal expect var AbstractMutableList<*>.modCount: Int \ No newline at end of file diff --git a/core/jsMain/src/internal/commonFunctions.kt b/core/jsMain/src/internal/commonFunctions.kt index a8fd2d7e..08e3d961 100644 --- a/core/jsMain/src/internal/commonFunctions.kt +++ b/core/jsMain/src/internal/commonFunctions.kt @@ -10,7 +10,3 @@ internal actual fun assert(condition: Boolean) { throw AssertionError("Assertion failed") } } - -internal actual var AbstractMutableList<*>.modCount: Int - get() = 0 - set(@Suppress("UNUSED_PARAMETER") value) {} \ No newline at end of file diff --git a/core/nativeMain/src/internal/commonFunctions.kt b/core/nativeMain/src/internal/commonFunctions.kt index 3b9cc7c8..a8ac6f85 100644 --- a/core/nativeMain/src/internal/commonFunctions.kt +++ b/core/nativeMain/src/internal/commonFunctions.kt @@ -7,8 +7,3 @@ package kotlinx.collections.immutable.internal @OptIn(kotlin.experimental.ExperimentalNativeApi::class) internal actual fun assert(condition: Boolean) = kotlin.assert(condition) - - -internal actual var AbstractMutableList<*>.modCount: Int - get() = 0 - set(@Suppress("UNUSED_PARAMETER") value) {} \ No newline at end of file diff --git a/core/wasmMain/src/internal/commonFunctions.kt b/core/wasmMain/src/internal/commonFunctions.kt index a779f323..a682c617 100644 --- a/core/wasmMain/src/internal/commonFunctions.kt +++ b/core/wasmMain/src/internal/commonFunctions.kt @@ -10,7 +10,3 @@ internal actual fun assert(condition: Boolean) { throw AssertionError("Assertion failed") } } - -internal actual var AbstractMutableList<*>.modCount: Int - get() = 0 - set(@Suppress("UNUSED_PARAMETER") value) {} \ No newline at end of file From c0a8609400493631174146e9a43cedb0991ce831 Mon Sep 17 00:00:00 2001 From: Filipp Zhinkin Date: Thu, 4 Jul 2024 15:25:15 +0200 Subject: [PATCH 3/3] Use BCV version compatible w/ Kotlin 2.1 --- build.gradle.kts | 4 ++-- settings.gradle | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 689d135b..c97e9175 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ buildscript { plugins { id("kotlinx.team.infra") version "0.4.0-dev-80" - id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.13.2" + id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.15.0-20240704150100-2.1-SNAPSHOT" } infra { @@ -52,4 +52,4 @@ allprojects { tasks.withType().configureEach { args.add("--ignore-engines") -} \ No newline at end of file +} diff --git a/settings.gradle b/settings.gradle index 227011b9..4837a914 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,6 +5,8 @@ pluginManagement { gradlePluginPortal() maven { url 'https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev'} + maven { url 'https://maven.pkg.jetbrains.space/kotlin/p/kotlinx/dev'} + if (kotlin_repo_url.present) { maven { url kotlin_repo_url.get() } } @@ -17,4 +19,4 @@ include ':core' project(":core").name='kotlinx-collections-immutable' include ':benchmarks' -include ':benchmarks:runner' \ No newline at end of file +include ':benchmarks:runner'