diff --git a/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt b/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt index 280d2d50324b5..fa4e00d901ed3 100644 --- a/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt +++ b/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt @@ -941,10 +941,7 @@ abstract class AndroidXImplPlugin @Inject constructor() : Plugin { project.setUpBlankProguardFileForJarIfNeeded(javaExtension) project.configureJavaCompilationWarnings(androidXExtension) - if ( - project.multiplatformExtension == null || - project.multiplatformExtension!!.hasJavaEnabled() - ) { + if (project.multiplatformExtension == null) { project.configureDependencyVerification(androidXExtension) { taskProvider -> taskProvider.configure { task -> task.dependsOn(project.tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME)) @@ -1653,10 +1650,6 @@ internal fun Project.hasAndroidMultiplatformPlugin(): Boolean = extensions.findByType(AndroidXMultiplatformExtension::class.java)?.hasAndroidMultiplatform() ?: false -@Suppress("DEPRECATION") -internal fun KotlinMultiplatformExtension.hasJavaEnabled(): Boolean = - targets.withType(KotlinJvmTarget::class.java).singleOrNull()?.withJavaEnabled ?: false - internal fun KotlinMultiplatformExtension.hasJvmTarget(): Boolean = targets.withType(KotlinJvmTarget::class.java).isEmpty().not() diff --git a/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt b/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt index f83fd8902da22..c159cedb67d53 100644 --- a/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt +++ b/buildSrc-fork/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt @@ -496,6 +496,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { ) } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeX86(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeX86") { @@ -507,6 +508,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { } } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeX64(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeX64") { @@ -518,6 +520,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { } } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeArm64(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeArm64") { @@ -529,6 +532,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { } } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeArm32(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeArm32") { @@ -623,7 +627,6 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { @JvmOverloads fun watchos(block: Action? = null): List { return listOfNotNull( - watchosArm32(block), watchosArm64(block), // TODO(https://youtrack.jetbrains.com/issue/CMP-9513) publish it // watchosDeviceArm64() @@ -631,17 +634,6 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { ) } - @JvmOverloads - fun watchosArm32(block: Action? = null): KotlinNativeTarget? = - potentiallyRedirecting("watchosArm32") { - supportedPlatforms.add(PlatformIdentifier.WATCHOS_ARM_32) - if (project.enableMac()) { - kotlinExtension.watchosArm32 { block?.execute(this) } - } else { - null - } - } - @JvmOverloads fun watchosArm64(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("watchosArm64") { diff --git a/buildSrc-fork/private/src/main/kotlin/org/jetbrains/androidx/build/AndroidXForkTargetsExtensions.kt b/buildSrc-fork/private/src/main/kotlin/org/jetbrains/androidx/build/AndroidXForkTargetsExtensions.kt index eb87d0c7b38ca..de04bdff202d9 100644 --- a/buildSrc-fork/private/src/main/kotlin/org/jetbrains/androidx/build/AndroidXForkTargetsExtensions.kt +++ b/buildSrc-fork/private/src/main/kotlin/org/jetbrains/androidx/build/AndroidXForkTargetsExtensions.kt @@ -18,6 +18,7 @@ package org.jetbrains.androidx.build import androidx.build.AndroidXMultiplatformExtension import androidx.build.PlatformIdentifier +import androidx.build.configureNode import androidx.build.configurePinnedKotlinLibraries import androidx.build.getVersionByName import androidx.build.multiplatformExtension @@ -82,6 +83,9 @@ fun AndroidXMultiplatformExtension.configureForkWebTarget( } } } + // Test tasks use the project-level Node.js env spec, so configure it here as well + // as in the root project. Otherwise, KGP's default Node.js version is used. + project.configureNode() } val mainCompilation = target.compilations.findByName("main")!! diff --git a/buildSrc-fork/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt b/buildSrc-fork/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt index 2261f72fefb92..d99ad7ddce9bb 100644 --- a/buildSrc-fork/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt +++ b/buildSrc-fork/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt @@ -44,8 +44,9 @@ enum class KotlinTarget(val apiVersion: KotlinVersion, val catalogVersion: Strin KOTLIN_2_2(KotlinVersion.KOTLIN_2_2, "kotlin22"), KOTLIN_2_3(KotlinVersion.KOTLIN_2_3, "kotlin23"), KOTLIN_2_4(KotlinVersion.KOTLIN_2_4, "kotlin24"), + KOTLIN_2_5(KotlinVersion.KOTLIN_2_5, "kotlin25"), DEFAULT(JETBRAINS_COMPILE_KOTLIN_VERSION), - LATEST(KOTLIN_2_4); + LATEST(KOTLIN_2_5); constructor( kotlinTarget: KotlinTarget diff --git a/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt b/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt index 8c5bbc3589389..49e34492f9970 100644 --- a/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt +++ b/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt @@ -23,7 +23,6 @@ enum class ComposePlatforms(vararg val alternativeNames: String) { TvosArm64("TvOs"), TvosSimulatorArm64("TvOs"), WatchosArm64("WatchOs"), - WatchosArm32("WatchOs"), WatchosSimulatorArm64("WatchOs"), LinuxX64("Linux"), LinuxArm64("Linux"), @@ -60,7 +59,6 @@ enum class ComposePlatforms(vararg val alternativeNames: String) { val WATCH_OS = EnumSet.of( WatchosArm64, - WatchosArm32, WatchosSimulatorArm64 ) diff --git a/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt b/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt index b50052e8e85ac..e9bb0f477093b 100644 --- a/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt +++ b/buildSrc-fork/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt @@ -16,8 +16,8 @@ package org.jetbrains.androidx.build -import androidx.build.KotlinTarget.KOTLIN_2_2 +import androidx.build.KotlinTarget.KOTLIN_2_4 import org.gradle.api.JavaVersion.VERSION_11 val JETBRAINS_MINIMAL_JAVA_VERSION = VERSION_11 -val JETBRAINS_COMPILE_KOTLIN_VERSION = KOTLIN_2_2 +val JETBRAINS_COMPILE_KOTLIN_VERSION = KOTLIN_2_4 diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt index 93252641162c1..875deae0c0892 100644 --- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt +++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt @@ -497,6 +497,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { ) } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeX86(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeX86") { @@ -508,6 +509,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { } } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeX64(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeX64") { @@ -519,6 +521,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { } } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeArm64(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeArm64") { @@ -530,6 +533,7 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { } } + @Suppress("DEPRECATION") // Deprecated in Kotlin 2.5 @JvmOverloads fun androidNativeArm32(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("androidNativeArm32") { @@ -624,7 +628,6 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { @JvmOverloads fun watchos(block: Action? = null): List { return listOfNotNull( - watchosArm32(block), watchosArm64(block), // TODO(https://youtrack.jetbrains.com/issue/CMP-9513) publish it // watchosDeviceArm64() @@ -632,17 +635,6 @@ abstract class AndroidXMultiplatformExtension(val project: Project) { ) } - @JvmOverloads - fun watchosArm32(block: Action? = null): KotlinNativeTarget? = - potentiallyRedirecting("watchosArm32") { - supportedPlatforms.add(PlatformIdentifier.WATCHOS_ARM_32) - if (project.enableMac()) { - kotlinExtension.watchosArm32 { block?.execute(this) } - } else { - null - } - } - @JvmOverloads fun watchosArm64(block: Action? = null): KotlinNativeTarget? = potentiallyRedirecting("watchosArm64") { diff --git a/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt b/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt index 2261f72fefb92..d99ad7ddce9bb 100644 --- a/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt +++ b/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt @@ -44,8 +44,9 @@ enum class KotlinTarget(val apiVersion: KotlinVersion, val catalogVersion: Strin KOTLIN_2_2(KotlinVersion.KOTLIN_2_2, "kotlin22"), KOTLIN_2_3(KotlinVersion.KOTLIN_2_3, "kotlin23"), KOTLIN_2_4(KotlinVersion.KOTLIN_2_4, "kotlin24"), + KOTLIN_2_5(KotlinVersion.KOTLIN_2_5, "kotlin25"), DEFAULT(JETBRAINS_COMPILE_KOTLIN_VERSION), - LATEST(KOTLIN_2_4); + LATEST(KOTLIN_2_5); constructor( kotlinTarget: KotlinTarget diff --git a/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt b/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt index 8c5bbc3589389..49e34492f9970 100644 --- a/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt +++ b/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/ComposePlatforms.kt @@ -23,7 +23,6 @@ enum class ComposePlatforms(vararg val alternativeNames: String) { TvosArm64("TvOs"), TvosSimulatorArm64("TvOs"), WatchosArm64("WatchOs"), - WatchosArm32("WatchOs"), WatchosSimulatorArm64("WatchOs"), LinuxX64("Linux"), LinuxArm64("Linux"), @@ -60,7 +59,6 @@ enum class ComposePlatforms(vararg val alternativeNames: String) { val WATCH_OS = EnumSet.of( WatchosArm64, - WatchosArm32, WatchosSimulatorArm64 ) diff --git a/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt b/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt index b50052e8e85ac..e9bb0f477093b 100644 --- a/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt +++ b/buildSrc/public/src/main/kotlin/org/jetbrains/androidx/build/JetBrainsCompatibilityVersions.kt @@ -16,8 +16,8 @@ package org.jetbrains.androidx.build -import androidx.build.KotlinTarget.KOTLIN_2_2 +import androidx.build.KotlinTarget.KOTLIN_2_4 import org.gradle.api.JavaVersion.VERSION_11 val JETBRAINS_MINIMAL_JAVA_VERSION = VERSION_11 -val JETBRAINS_COMPILE_KOTLIN_VERSION = KOTLIN_2_2 +val JETBRAINS_COMPILE_KOTLIN_VERSION = KOTLIN_2_4 diff --git a/compose/animation/animation-core/api/desktop/animation-core.api b/compose/animation/animation-core/api/desktop/animation-core.api index 5962a0d25fcd8..729ba9c8300c7 100644 --- a/compose/animation/animation-core/api/desktop/animation-core.api +++ b/compose/animation/animation-core/api/desktop/animation-core.api @@ -298,7 +298,9 @@ public final class androidx/compose/animation/core/DeferredTransitionState : and } public abstract interface class androidx/compose/animation/core/DurationBasedAnimationSpec : androidx/compose/animation/core/FiniteAnimationSpec { + public synthetic fun vectorize (Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedAnimationSpec; public abstract fun vectorize (Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedDurationBasedAnimationSpec; + public synthetic fun vectorize (Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedFiniteAnimationSpec; } public abstract interface class androidx/compose/animation/core/Easing { @@ -356,6 +358,7 @@ public abstract interface annotation class androidx/compose/animation/core/Exper } public abstract interface class androidx/compose/animation/core/FiniteAnimationSpec : androidx/compose/animation/core/AnimationSpec { + public synthetic fun vectorize (Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedAnimationSpec; public abstract fun vectorize (Landroidx/compose/animation/core/TwoWayConverter;)Landroidx/compose/animation/core/VectorizedFiniteAnimationSpec; } diff --git a/compose/runtime/runtime-saveable/api/runtime-saveable.klib.api b/compose/runtime/runtime-saveable/api/runtime-saveable.klib.api index c2f5187d9dd95..d06e6d6228661 100644 --- a/compose/runtime/runtime-saveable/api/runtime-saveable.klib.api +++ b/compose/runtime/runtime-saveable/api/runtime-saveable.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, mingwX64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64] +// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, mingwX64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm64, watchosSimulatorArm64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/compose/runtime/runtime/api/runtime.klib.api b/compose/runtime/runtime/api/runtime.klib.api index 44f7134b6f355..2dc0857cf2503 100644 --- a/compose/runtime/runtime/api/runtime.klib.api +++ b/compose/runtime/runtime/api/runtime.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, mingwX64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64] +// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, mingwX64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm64, watchosSimulatorArm64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/compose/ui/ui-graphics/api/desktop/ui-graphics.api b/compose/ui/ui-graphics/api/desktop/ui-graphics.api index bf89af85de982..21ecbc171639e 100644 --- a/compose/ui/ui-graphics/api/desktop/ui-graphics.api +++ b/compose/ui/ui-graphics/api/desktop/ui-graphics.api @@ -793,6 +793,7 @@ public abstract interface class androidx/compose/ui/graphics/PathIterator : java public abstract fun getTolerance ()F public abstract fun hasNext ()Z public abstract fun next ()Landroidx/compose/ui/graphics/PathSegment; + public synthetic fun next ()Ljava/lang/Object; public abstract fun next ([FI)Landroidx/compose/ui/graphics/PathSegment$Type; public static synthetic fun next$default (Landroidx/compose/ui/graphics/PathIterator;[FIILjava/lang/Object;)Landroidx/compose/ui/graphics/PathSegment$Type; } diff --git a/compose/ui/ui-test/api/desktop/ui-test.api b/compose/ui/ui-test/api/desktop/ui-test.api index 086e1aaeb89c4..6404473b3ec63 100644 --- a/compose/ui/ui-test/api/desktop/ui-test.api +++ b/compose/ui/ui-test/api/desktop/ui-test.api @@ -1026,6 +1026,11 @@ public final class androidx/compose/ui/test/TrackpadInjectionScopeKt { public static synthetic fun tripleClick-8c717Hs$default (Landroidx/compose/ui/test/TrackpadInjectionScope;JIILjava/lang/Object;)V } +public final class androidx/compose/ui/test/platform/SynchronizedObject { + public static final field $stable I + public fun ()V +} + public final class androidx/compose/ui/test/v2/ComposeUiTest_skikoKt { public static final fun runComposeUiTest (Lkotlin/jvm/functions/Function2;)V } diff --git a/compose/ui/ui-test/api/ui-test.klib.api b/compose/ui/ui-test/api/ui-test.klib.api index 0cf0689fd81a2..b22cf61569d29 100644 --- a/compose/ui/ui-test/api/ui-test.klib.api +++ b/compose/ui/ui-test/api/ui-test.klib.api @@ -778,8 +778,18 @@ final fun androidx.compose.ui.test/isSelected(): androidx.compose.ui.test/Semant final fun androidx.compose.ui.test/isToggleable(): androidx.compose.ui.test/SemanticsMatcher // androidx.compose.ui.test/isToggleable|isToggleable(){}[0] final inline fun <#A: kotlin/Any?> androidx.compose.ui.test/wrapAssertionErrorsWithNodeInfo(androidx.compose.ui.test/SemanticsSelector, androidx.compose.ui.semantics/SemanticsNode, kotlin/Function0<#A>): #A // androidx.compose.ui.test/wrapAssertionErrorsWithNodeInfo|wrapAssertionErrorsWithNodeInfo(androidx.compose.ui.test.SemanticsSelector;androidx.compose.ui.semantics.SemanticsNode;kotlin.Function0<0:0>){0§}[0] +// Targets: [apple] +final class androidx.compose.ui.test.platform/SynchronizedObject : kotlinx.atomicfu.locks/SynchronizedObject { // androidx.compose.ui.test.platform/SynchronizedObject|null[0] + constructor () // androidx.compose.ui.test.platform/SynchronizedObject.|(){}[0] +} + // Targets: [apple] final fun androidx.compose.ui.test.v2/runComposeUiTest(kotlin.coroutines/SuspendFunction1) // androidx.compose.ui.test.v2/runComposeUiTest|runComposeUiTest(kotlin.coroutines.SuspendFunction1){}[0] +// Targets: [js, wasmJs] +final class androidx.compose.ui.test.platform/SynchronizedObject { // androidx.compose.ui.test.platform/SynchronizedObject|null[0] + constructor () // androidx.compose.ui.test.platform/SynchronizedObject.|(){}[0] +} + // Targets: [js, wasmJs] final fun androidx.compose.ui.test.v2/runComposeUiTest(kotlin.coroutines/SuspendFunction1): kotlinx.coroutines.test.internal/JsPromiseInterfaceForTesting // androidx.compose.ui.test.v2/runComposeUiTest|runComposeUiTest(kotlin.coroutines.SuspendFunction1){}[0] diff --git a/compose/ui/ui-test/src/skikoMain/kotlin/androidx/compose/ui/test/platform/Synchronization.skiko.kt b/compose/ui/ui-test/src/skikoMain/kotlin/androidx/compose/ui/test/platform/Synchronization.skiko.kt index 7c96ae6bba7fb..299836eac0139 100644 --- a/compose/ui/ui-test/src/skikoMain/kotlin/androidx/compose/ui/test/platform/Synchronization.skiko.kt +++ b/compose/ui/ui-test/src/skikoMain/kotlin/androidx/compose/ui/test/platform/Synchronization.skiko.kt @@ -19,6 +19,7 @@ import kotlin.contracts.ExperimentalContracts import kotlin.contracts.InvocationKind import kotlin.contracts.contract +@PublishedApi internal actual class SynchronizedObject : kotlinx.atomicfu.locks.SynchronizedObject() internal actual inline fun makeSynchronizedObject(ref: Any?) = SynchronizedObject() diff --git a/compose/ui/ui-text/api/desktop/ui-text.api b/compose/ui/ui-text/api/desktop/ui-text.api index a3277ab0439e8..82b9e09411ef6 100644 --- a/compose/ui/ui-text/api/desktop/ui-text.api +++ b/compose/ui/ui-text/api/desktop/ui-text.api @@ -1582,6 +1582,11 @@ public final class androidx/compose/ui/text/platform/SynchronizationKt { public static final fun synchronized (Landroidx/compose/ui/text/platform/SynchronizedObject;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; } +public final class androidx/compose/ui/text/platform/SynchronizedObject { + public static final field $stable I + public fun ()V +} + public final class androidx/compose/ui/text/style/BaselineShift { public static final field Companion Landroidx/compose/ui/text/style/BaselineShift$Companion; public static final synthetic fun box-impl (F)Landroidx/compose/ui/text/style/BaselineShift; diff --git a/compose/ui/ui-text/api/ui-text.klib.api b/compose/ui/ui-text/api/ui-text.klib.api index abd422cf01076..f5d898bc8375a 100644 --- a/compose/ui/ui-text/api/ui-text.klib.api +++ b/compose/ui/ui-text/api/ui-text.klib.api @@ -2053,6 +2053,11 @@ final inline fun <#A: kotlin/Any> (androidx.compose.ui.text/AnnotatedString.Buil final inline fun <#A: kotlin/Any?> androidx.compose.ui.text.platform/synchronized(androidx.compose.ui.text.platform/SynchronizedObject, kotlin/Function0<#A>): #A // androidx.compose.ui.text.platform/synchronized|synchronized(androidx.compose.ui.text.platform.SynchronizedObject;kotlin.Function0<0:0>){0§}[0] final inline fun androidx.compose.ui.text/buildAnnotatedString(kotlin/Function1): androidx.compose.ui.text/AnnotatedString // androidx.compose.ui.text/buildAnnotatedString|buildAnnotatedString(kotlin.Function1){}[0] +// Targets: [apple] +final class androidx.compose.ui.text.platform/SynchronizedObject : kotlinx.atomicfu.locks/SynchronizedObject { // androidx.compose.ui.text.platform/SynchronizedObject|null[0] + constructor () // androidx.compose.ui.text.platform/SynchronizedObject.|(){}[0] +} + // Targets: [apple] final fun (platform.Foundation/NSLocale).androidx.compose.ui.text.intl/toComposeLocale(): androidx.compose.ui.text.intl/Locale // androidx.compose.ui.text.intl/toComposeLocale|toComposeLocale@platform.Foundation.NSLocale(){}[0] @@ -2061,3 +2066,8 @@ final val androidx.compose.ui.text.input/androidx_compose_ui_text_input_Platform // Targets: [ios] final fun androidx.compose.ui.text.input/androidx_compose_ui_text_input_PlatformImeOptionsConfiguration$stableprop_getter(): kotlin/Int // androidx.compose.ui.text.input/androidx_compose_ui_text_input_PlatformImeOptionsConfiguration$stableprop_getter|androidx_compose_ui_text_input_PlatformImeOptionsConfiguration$stableprop_getter(){}[0] + +// Targets: [js, wasmJs] +final class androidx.compose.ui.text.platform/SynchronizedObject { // androidx.compose.ui.text.platform/SynchronizedObject|null[0] + constructor () // androidx.compose.ui.text.platform/SynchronizedObject.|(){}[0] +} diff --git a/compose/ui/ui-text/src/nonAndroidMain/kotlin/androidx/compose/ui/text/platform/Synchronization.nonAndroid.kt b/compose/ui/ui-text/src/nonAndroidMain/kotlin/androidx/compose/ui/text/platform/Synchronization.nonAndroid.kt index 310c0c790e3fc..57fc3a6715ad7 100644 --- a/compose/ui/ui-text/src/nonAndroidMain/kotlin/androidx/compose/ui/text/platform/Synchronization.nonAndroid.kt +++ b/compose/ui/ui-text/src/nonAndroidMain/kotlin/androidx/compose/ui/text/platform/Synchronization.nonAndroid.kt @@ -22,6 +22,7 @@ import kotlin.contracts.InvocationKind import kotlin.contracts.contract import kotlin.jvm.JvmName +@PublishedApi internal actual class SynchronizedObject : kotlinx.atomicfu.locks.SynchronizedObject() @Suppress("NOTHING_TO_INLINE") diff --git a/compose/ui/ui/api/desktop/ui.api b/compose/ui/ui/api/desktop/ui.api index 019136476a84d..582f80317001b 100644 --- a/compose/ui/ui/api/desktop/ui.api +++ b/compose/ui/ui/api/desktop/ui.api @@ -3987,6 +3987,11 @@ public final class androidx/compose/ui/platform/SynchronizationKt { public static final fun synchronized (Landroidx/compose/ui/platform/SynchronizedObject;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; } +public final class androidx/compose/ui/platform/SynchronizedObject { + public static final field $stable I + public fun ()V +} + public abstract interface class androidx/compose/ui/platform/TaskDispatchers { public abstract fun getDefault ()Lkotlinx/coroutines/CoroutineDispatcher; public abstract fun getIO ()Lkotlinx/coroutines/CoroutineDispatcher; @@ -4654,6 +4659,7 @@ public final class androidx/compose/ui/window/DialogState_desktopKt { public abstract interface class androidx/compose/ui/window/DialogWindowScope : androidx/compose/ui/window/WindowScope { public abstract fun getWindow ()Landroidx/compose/ui/awt/ComposeDialog; + public synthetic fun getWindow ()Ljava/awt/Window; } public final class androidx/compose/ui/window/Dialog_desktopKt { @@ -4670,6 +4676,7 @@ public final class androidx/compose/ui/window/Dialog_skikoKt { public abstract interface class androidx/compose/ui/window/FrameWindowScope : androidx/compose/ui/window/WindowScope { public abstract fun getWindow ()Landroidx/compose/ui/awt/ComposeWindow; + public synthetic fun getWindow ()Ljava/awt/Window; } public final class androidx/compose/ui/window/MenuBarScope { diff --git a/compose/ui/ui/api/ui.klib.api b/compose/ui/ui/api/ui.klib.api index 8cd30a7ec4b59..6babbe645d024 100644 --- a/compose/ui/ui/api/ui.klib.api +++ b/compose/ui/ui/api/ui.klib.api @@ -4706,6 +4706,11 @@ final inline fun androidx.compose.ui.platform/debugInspectorInfo(crossinline kot final suspend fun (androidx.compose.ui.node/DelegatableNode).androidx.compose.ui.relocation/bringIntoView(kotlin/Function0? = ...) // androidx.compose.ui.relocation/bringIntoView|bringIntoView@androidx.compose.ui.node.DelegatableNode(kotlin.Function0?){}[0] final suspend fun (androidx.compose.ui.platform/PlatformTextInputModifierNode).androidx.compose.ui.platform/establishTextInputSession(kotlin.coroutines/SuspendFunction1): kotlin/Nothing // androidx.compose.ui.platform/establishTextInputSession|establishTextInputSession@androidx.compose.ui.platform.PlatformTextInputModifierNode(kotlin.coroutines.SuspendFunction1){}[0] +// Targets: [apple] +final class androidx.compose.ui.platform/SynchronizedObject : kotlinx.atomicfu.locks/SynchronizedObject { // androidx.compose.ui.platform/SynchronizedObject|null[0] + constructor () // androidx.compose.ui.platform/SynchronizedObject.|(){}[0] +} + // Targets: [ios] abstract interface androidx.compose.ui.uikit/ComposeUIViewControllerDelegate { // androidx.compose.ui.uikit/ComposeUIViewControllerDelegate|null[0] open val preferredStatusBarStyle // androidx.compose.ui.uikit/ComposeUIViewControllerDelegate.preferredStatusBarStyle|{}preferredStatusBarStyle[0] @@ -5013,6 +5018,11 @@ final fun androidx.compose.ui.window/ComposeUIViewController(kotlin/Function1): platform.UIKit/UIViewController // androidx.compose.ui.window/ComposeUIViewController|ComposeUIViewController(kotlin.Function2){}[0] +// Targets: [js, wasmJs] +final class androidx.compose.ui.platform/SynchronizedObject { // androidx.compose.ui.platform/SynchronizedObject|null[0] + constructor () // androidx.compose.ui.platform/SynchronizedObject.|(){}[0] +} + // Targets: [js, wasmJs] final class androidx.compose.ui.window/ComposeViewportConfiguration { // androidx.compose.ui.window/ComposeViewportConfiguration|null[0] final var enableBrowserWindowInsets // androidx.compose.ui.window/ComposeViewportConfiguration.enableBrowserWindowInsets|{}enableBrowserWindowInsets[0] diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/Synchronization.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/Synchronization.skiko.kt index d0e956c9373e6..e67aae779bec5 100644 --- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/Synchronization.skiko.kt +++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/Synchronization.skiko.kt @@ -22,6 +22,7 @@ import kotlin.contracts.InvocationKind import kotlin.contracts.contract import kotlin.jvm.JvmName +@PublishedApi internal actual class SynchronizedObject : kotlinx.atomicfu.locks.SynchronizedObject() @Suppress("NOTHING_TO_INLINE") diff --git a/gradle/libs-fork.versions.toml b/gradle/libs-fork.versions.toml index c05f2c7356d32..61979ac650f8a 100644 --- a/gradle/libs-fork.versions.toml +++ b/gradle/libs-fork.versions.toml @@ -33,7 +33,7 @@ builder = "8.6.0-alpha05" byteBuddy = "1.14.9" asm = "9.7" cmake = "3.22.1" -composeCompilerPlugin = "2.4.20" +composeCompilerPlugin = "2.5.0-RC" dagger = "2.57.1" datetime = "0.7.1" dependencyAnalysisGradlePlugin = "2.11.0" @@ -55,7 +55,8 @@ kotlin21 = "2.1.20" kotlin22 = "2.2.20" kotlin23 = "2.3.20" kotlin24 = "2.4.20" -kotlin = "2.4.20" +kotlin25 = "2.5.0-RC" +kotlin = "2.5.0-RC" kotlinBenchmark = "0.4.14" kotlinGradlePluginAnnotations = "2.3.10" kotlinGradlePluginApi = "2.3.0" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b58dc53e38013..17f6634ea3397 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -33,7 +33,7 @@ builder = "8.6.0-alpha05" byteBuddy = "1.14.9" asm = "9.7" cmake = "3.22.1" -composeCompilerPlugin = "2.4.20" +composeCompilerPlugin = "2.5.0-Beta1" dagger = "2.57.1" datetime = "0.7.1" dependencyAnalysisGradlePlugin = "2.11.0" @@ -55,7 +55,8 @@ kotlin21 = "2.1.20" kotlin22 = "2.2.20" kotlin23 = "2.3.20" kotlin24 = "2.4.20" -kotlin = "2.4.20" +kotlin25 = "2.5.0-Beta1" +kotlin = "2.5.0-Beta1" kotlinBenchmark = "0.4.14" kotlinGradlePluginAnnotations = "2.3.10" kotlinGradlePluginApi = "2.3.0" diff --git a/kruth/kruth/build-fork.gradle b/kruth/kruth/build-fork.gradle index 0cd76fbd3dafa..af57b110823c4 100644 --- a/kruth/kruth/build-fork.gradle +++ b/kruth/kruth/build-fork.gradle @@ -72,5 +72,5 @@ androidx { legacyDisableKotlinStrictApiMode = true // Temporarily enabled to allow API tracking type = SoftwareType.SNAPSHOT_ONLY_TEST_LIBRARY_WITH_API_TASKS // Used to diff against Google Truth doNotDocumentReason = "Not shipped externally" - kotlinTarget = KotlinTarget.KOTLIN_2_4 + kotlinTarget = KotlinTarget.KOTLIN_2_5 } diff --git a/navigation/navigation-common/api/navigation-common.klib.api b/navigation/navigation-common/api/navigation-common.klib.api index acf411be7f397..1a1d923ac97c6 100644 --- a/navigation/navigation-common/api/navigation-common.klib.api +++ b/navigation/navigation-common/api/navigation-common.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64] +// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm64, watchosSimulatorArm64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/navigation/navigation-runtime/api/navigation-runtime.klib.api b/navigation/navigation-runtime/api/navigation-runtime.klib.api index 78f64f0220702..7109097a9f16b 100644 --- a/navigation/navigation-runtime/api/navigation-runtime.klib.api +++ b/navigation/navigation-runtime/api/navigation-runtime.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64] +// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, tvosArm64, tvosSimulatorArm64, wasmJs, watchosArm64, watchosSimulatorArm64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true