diff --git a/CHANGELOG.md b/CHANGELOG.md index 42076c7f..a3a2af8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 1.15.0 (unreleased) + +- Update Kotlin to 2.4.10. +- Compile against Android SDK 37. + ## 1.14.1 - Fix publish structure for Sonatype bundles. diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 4934a44d..075cb204 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -218,7 +218,6 @@ kotlin { api(libs.androidx.sqlite.sqlite) implementation(libs.androidx.sqlite.async) - implementation(libs.uuid) implementation(libs.kotlin.stdlib) implementation(libs.ktor.client.contentnegotiation) implementation(libs.ktor.serialization.json) diff --git a/common/src/commonMain/kotlin/com/powersync/db/internal/ConnectionContext.kt b/common/src/commonMain/kotlin/com/powersync/db/internal/ConnectionContext.kt index e5e86729..f9c97c01 100644 --- a/common/src/commonMain/kotlin/com/powersync/db/internal/ConnectionContext.kt +++ b/common/src/commonMain/kotlin/com/powersync/db/internal/ConnectionContext.kt @@ -135,9 +135,7 @@ internal fun SQLiteStatement.bind(parameters: List?) { } else -> { - if (parameter != null) { - throw IllegalArgumentException("Unsupported parameter type: ${parameter::class}, at index $index") - } + throw IllegalArgumentException("Unsupported parameter type: ${parameter::class}, at index $index") } } } diff --git a/compose/build.gradle.kts b/compose/build.gradle.kts index 9a3bbcd8..eeb88b12 100644 --- a/compose/build.gradle.kts +++ b/compose/build.gradle.kts @@ -29,7 +29,7 @@ kotlin { sourceSets { commonMain.dependencies { api(projects.core) - implementation(compose.runtime) + implementation(libs.compose.runtime) } val commonNonWebMain = create("commonNonWebMain") { dependsOn(commonMain.get()) @@ -46,7 +46,7 @@ kotlin { } androidMain.dependencies { - implementation(compose.foundation) + implementation(libs.compose.foundation) } } } diff --git a/demos/android-supabase-todolist/build.gradle.kts b/demos/android-supabase-todolist/build.gradle.kts index 8ae0dc8c..8ea6d82e 100644 --- a/demos/android-supabase-todolist/build.gradle.kts +++ b/demos/android-supabase-todolist/build.gradle.kts @@ -128,7 +128,6 @@ dependencies { implementation(projects.core) // "com.powersync:core:latest.release" implementation(projects.integrations.supabase) // "com.powersync:connector-supabase:latest.release" implementation(projects.compose) // "com.powersync:compose:latest.release" - implementation(libs.uuid) implementation(libs.kermit) implementation(libs.androidx.material.icons.extended) implementation(libs.androidx.activity.ktx) diff --git a/demos/supabase-todolist/androidApp/build.gradle.kts b/demos/supabase-todolist/androidApp/build.gradle.kts index fa4d53eb..10d4399a 100644 --- a/demos/supabase-todolist/androidApp/build.gradle.kts +++ b/demos/supabase-todolist/androidApp/build.gradle.kts @@ -6,7 +6,7 @@ plugins { dependencies { implementation(projects.demos.supabaseTodolist.shared) - implementation(compose.material) + implementation(libs.compose.material) } android { diff --git a/demos/supabase-todolist/androidBackgroundSync/build.gradle.kts b/demos/supabase-todolist/androidBackgroundSync/build.gradle.kts index c70cefc7..f9cd934b 100644 --- a/demos/supabase-todolist/androidBackgroundSync/build.gradle.kts +++ b/demos/supabase-todolist/androidBackgroundSync/build.gradle.kts @@ -44,7 +44,7 @@ dependencies { implementation(projects.demos.supabaseTodolist.shared) - implementation(compose.material) + implementation(libs.compose.material) implementation(libs.androidx.core) implementation(libs.androidx.activity.compose) implementation(libs.androidx.lifecycle.service) diff --git a/demos/supabase-todolist/shared/build.gradle.kts b/demos/supabase-todolist/shared/build.gradle.kts index 17f8821e..f5ae50bf 100644 --- a/demos/supabase-todolist/shared/build.gradle.kts +++ b/demos/supabase-todolist/shared/build.gradle.kts @@ -15,7 +15,7 @@ plugins { version = "1.0-SNAPSHOT" kotlin { - androidLibrary { + android { namespace = "com.powersync.demos.shared" compileSdk = libs.versions.android.compileSdk @@ -49,12 +49,10 @@ kotlin { api(projects.core) // "com.powersync:core" implementation(projects.integrations.supabase) // "com.powersync:connector-supabase" implementation(projects.compose) // "com.powersync:compose" - implementation(libs.uuid) - implementation(compose.runtime) - implementation(compose.foundation) - implementation(compose.material) - implementation(compose.components.resources) - implementation(compose.materialIconsExtended) + implementation(libs.compose.runtime) + implementation(libs.compose.foundation) + implementation(libs.compose.material) + implementation(libs.compose.components.resources) implementation(libs.kmp.lifecycle.compose) implementation(libs.supabase.client) api(libs.koin.core) @@ -68,7 +66,7 @@ kotlin { } jvmMain.dependencies { - implementation(compose.desktop.common) + implementation(libs.compose.desktop) implementation(libs.kotlinx.coroutines.swing) } } diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/add.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/add.xml new file mode 100644 index 00000000..94a1a48b --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/add.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/arrow_back.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/arrow_back.xml new file mode 100644 index 00000000..4f77c281 --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/arrow_back.xml @@ -0,0 +1,10 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud.xml new file mode 100644 index 00000000..f217ad11 --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud_off.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud_off.xml new file mode 100644 index 00000000..64c16cfd --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud_off.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud_sync.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud_sync.xml new file mode 100644 index 00000000..cf39c2af --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/cloud_sync.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/delete.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/delete.xml new file mode 100644 index 00000000..c1d686ac --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/delete.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/leak_add.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/leak_add.xml new file mode 100644 index 00000000..e8de2927 --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/leak_add.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/menu.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/menu.xml new file mode 100644 index 00000000..1e2e2382 --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/menu.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/thunderstorm.xml b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/thunderstorm.xml new file mode 100644 index 00000000..c14a8809 --- /dev/null +++ b/demos/supabase-todolist/shared/src/commonMain/composeResources/drawable/thunderstorm.xml @@ -0,0 +1,9 @@ + + + diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/App.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/App.kt index 24231888..5ba461ce 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/App.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/App.kt @@ -33,6 +33,7 @@ import org.koin.core.KoinApplication import org.koin.core.module.dsl.bind import org.koin.core.module.dsl.viewModelOf import org.koin.core.module.dsl.withOptions +import org.koin.dsl.koinConfiguration import org.koin.dsl.module val sharedAppModule = module { @@ -59,7 +60,7 @@ fun App( modules(module { single { openPowerSync(schema) } }, sharedAppModule) } - KoinApplication(application = KoinApplication::withDatabase) { + KoinApplication(koinConfiguration { withDatabase() }) { AppContent(modifier=modifier) } } diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Input.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Input.kt index 505f9c5a..cc8841d3 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Input.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Input.kt @@ -8,8 +8,6 @@ import androidx.compose.material.Icon import androidx.compose.material.IconButton import androidx.compose.material.OutlinedTextField import androidx.compose.material.Text -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Add import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -17,6 +15,9 @@ import androidx.compose.ui.input.key.Key import androidx.compose.ui.unit.dp import com.powersync.demos.Screen import com.powersync.demos.onKeyUp +import org.jetbrains.compose.resources.painterResource +import powersync_root.demos.supabase_todolist.shared.generated.resources.Res +import powersync_root.demos.supabase_todolist.shared.generated.resources.add @Composable internal fun Input( @@ -39,7 +40,7 @@ internal fun Input( IconButton(onClick = onAddClicked) { Icon( - imageVector = Icons.Default.Add, + painter = painterResource(Res.drawable.add), contentDescription = null ) } diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/ListItem.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/ListItem.kt index d96a394b..c64510c2 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/ListItem.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/ListItem.kt @@ -7,8 +7,6 @@ import androidx.compose.foundation.layout.width import androidx.compose.material.Icon import androidx.compose.material.IconButton import androidx.compose.material.Text -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Delete import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -17,6 +15,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.powersync.demos.MARGIN_SCROLLBAR import com.powersync.demos.powersync.ListItem +import org.jetbrains.compose.resources.painterResource +import powersync_root.demos.supabase_todolist.shared.generated.resources.Res +import powersync_root.demos.supabase_todolist.shared.generated.resources.delete @Composable internal fun ListItem( @@ -38,7 +39,7 @@ internal fun ListItem( IconButton(onClick = onDeleteClicked) { Icon( - imageVector = Icons.Default.Delete, + painter = painterResource(Res.drawable.delete), contentDescription = null ) } diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Menu.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Menu.kt index 20dfcdb6..f44a13ea 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Menu.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/Menu.kt @@ -1,9 +1,10 @@ package com.powersync.demos.components import androidx.compose.material.* -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Menu import androidx.compose.runtime.* +import org.jetbrains.compose.resources.painterResource +import powersync_root.demos.supabase_todolist.shared.generated.resources.Res +import powersync_root.demos.supabase_todolist.shared.generated.resources.menu @Composable fun Menu( @@ -17,7 +18,7 @@ fun Menu( title = { Text("Your App") }, navigationIcon = { IconButton(onClick = { expanded = true }) { - Icon(Icons.Default.Menu, contentDescription = "Menu") + Icon(painter = painterResource(Res.drawable.menu), contentDescription = "Menu") } } ) diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/TodoItem.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/TodoItem.kt index 49fe0bc2..a22ba26a 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/TodoItem.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/TodoItem.kt @@ -8,8 +8,6 @@ import androidx.compose.material.Checkbox import androidx.compose.material.Icon import androidx.compose.material.IconButton import androidx.compose.material.Text -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Delete import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -18,6 +16,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.powersync.demos.MARGIN_SCROLLBAR import com.powersync.demos.powersync.TodoItem +import org.jetbrains.compose.resources.painterResource +import powersync_root.demos.supabase_todolist.shared.generated.resources.Res +import powersync_root.demos.supabase_todolist.shared.generated.resources.delete @Composable internal fun TodoItem( @@ -48,7 +49,7 @@ internal fun TodoItem( IconButton(onClick = onDeleteClicked) { Icon( - imageVector = Icons.Default.Delete, + painter = painterResource(Res.drawable.delete), contentDescription = null ) } diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/WifiIcon.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/WifiIcon.kt index 892e6023..d1e1a538 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/WifiIcon.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/components/WifiIcon.kt @@ -1,30 +1,31 @@ package com.powersync.demos.components import androidx.compose.material.Icon -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Cloud -import androidx.compose.material.icons.filled.CloudOff -import androidx.compose.material.icons.filled.CloudSync -import androidx.compose.material.icons.filled.LeakAdd -import androidx.compose.material.icons.filled.Thunderstorm import androidx.compose.runtime.Composable import com.powersync.sync.SyncStatusData +import org.jetbrains.compose.resources.painterResource +import powersync_root.demos.supabase_todolist.shared.generated.resources.Res +import powersync_root.demos.supabase_todolist.shared.generated.resources.cloud +import powersync_root.demos.supabase_todolist.shared.generated.resources.cloud_off +import powersync_root.demos.supabase_todolist.shared.generated.resources.cloud_sync +import powersync_root.demos.supabase_todolist.shared.generated.resources.leak_add +import powersync_root.demos.supabase_todolist.shared.generated.resources.thunderstorm @Composable fun WifiIcon(status: SyncStatusData) { val icon = when { - status.downloading || status.uploading -> Icons.Filled.CloudSync - status.connected -> Icons.Filled.Cloud - !status.connected -> Icons.Filled.CloudOff - status.connecting -> Icons.Filled.LeakAdd + status.downloading || status.uploading -> Res.drawable.cloud_sync + status.connected -> Res.drawable.cloud + !status.connected -> Res.drawable.cloud_off + status.connecting -> Res.drawable.leak_add else -> { - Icons.Filled.Thunderstorm + Res.drawable.thunderstorm } } Icon( - imageVector = icon, + painter = painterResource(icon), contentDescription = status.toString(), ) } diff --git a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/screens/TodosScreen.kt b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/screens/TodosScreen.kt index 7e383c97..b9a15e18 100644 --- a/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/screens/TodosScreen.kt +++ b/demos/supabase-todolist/shared/src/commonMain/kotlin/com/powersync/demos/screens/TodosScreen.kt @@ -10,8 +10,6 @@ import androidx.compose.material.Icon import androidx.compose.material.IconButton import androidx.compose.material.Text import androidx.compose.material.TopAppBar -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign @@ -23,6 +21,9 @@ import com.powersync.demos.components.TodoList import com.powersync.demos.components.WifiIcon import com.powersync.demos.powersync.TodoItem import com.powersync.sync.SyncStatusData +import org.jetbrains.compose.resources.painterResource +import powersync_root.demos.supabase_todolist.shared.generated.resources.Res +import powersync_root.demos.supabase_todolist.shared.generated.resources.arrow_back @Composable internal fun TodosScreen( @@ -48,7 +49,7 @@ internal fun TodosScreen( }, navigationIcon = { IconButton(onClick = { navController.navigate(Screen.Home) }) { - Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Go back") + Icon(painter = painterResource(Res.drawable.arrow_back), contentDescription = "Go back") } }, actions = { diff --git a/demos/supabase-todolist/web/build.gradle.kts b/demos/supabase-todolist/web/build.gradle.kts index 9285af33..d6d6f209 100644 --- a/demos/supabase-todolist/web/build.gradle.kts +++ b/demos/supabase-todolist/web/build.gradle.kts @@ -22,8 +22,8 @@ kotlin { commonMain.dependencies { implementation(projects.core) implementation(projects.demos.supabaseTodolist.shared) - implementation(compose.runtime) - implementation(compose.ui) + implementation(libs.compose.runtime) + implementation(libs.compose.ui) } } } diff --git a/gradle.properties b/gradle.properties index 17d44539..56c104aa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,6 @@ org.jetbrains.compose.experimental.uikit.enabled=true android.useAndroidX=true android.nonTransitiveRClass=true # MPP -kotlin.mpp.androidSourceSetLayoutVersion=2 kotlin.mpp.enableCInteropCommonization=true compose.kotlin.native.manageCacheKind=false # Development diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b47ca944..1c1f120a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,61 +1,60 @@ [versions] ## SDK Versions android-minSdk = "24" -android-targetSdk = "36" -android-compileSdk = "36" +android-targetSdk = "37" +android-compileSdk = "37" dokkaBase = "2.2.0" gradleDownloadTask = "5.7.0" java = "17" # Dependencies kermit = "2.1.0" -kotlin = "2.3.21" -ksp = "2.3.3" +kotlin = "2.4.10" +ksp = "2.3.11" coroutines = "1.11.0" kotlinx-datetime = "0.8.0" serialization = "1.11.0" -kotlinx-io = "0.9.0" -ktor = "3.5.0" -uuid = "0.8.4" +kotlinx-io = "0.9.1" +ktor = "3.5.2" powersync-core = "0.5.2" rsocket = "0.20.0" turbine = "1.2.1" kotest = "5.9.1" # we can't upgrade to 6.x because that requires Java 11 or above (we need Java 8 support) stately = "2.1.0" -supabase = "3.6.0" +supabase = "3.7.0" junit = "4.13.2" compose = "1.11.1" # This is for the multiplatform compose -androidCompose = "2026.05.01" -compose-preview = "1.11.2" -compose-lifecycle = "2.10.0" +androidCompose = "2026.06.01" +compose-preview = "1.11.4" +compose-lifecycle = "2.11.0" androidxSqlite = "2.7.0" androidxSplashscreen = "1.2.0" -room = "3.0.0" +room = "3.0.1" sqldelight = "2.3.2" # plugins -android-gradle-plugin = "9.2.1" -maven-publish = "0.36.0" +android-gradle-plugin = "9.3.1" +maven-publish = "0.37.0" download-plugin = "5.7.0" -mokkery = "3.3.0" -kotlinter = "5.5.0" -buildKonfig = "0.21.2" +mokkery = "3.4.2" +kotlinter = "5.6.0" +buildKonfig = "0.22.0" # Sample - Android -androidx-core = "1.18.0" +androidx-core = "1.19.0" androidx-activity-compose = "1.13.0" materialIconsExtended = "1.7.8" androidx-appcompat = "1.7.1" androidx-espresso-core = "3.7.0" -androidx-lifecycle = "2.10.0" +androidx-lifecycle = "2.11.0" androidx-material = "1.14.0" androidx-test-runner = "1.7.0" androidx-test-rules = "1.7.0" junitVersion = "1.3.0" -koin-bom = "4.2.1" +koin-bom = "4.2.2" [libraries] dokka-gradle-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokkaBase" } @@ -80,8 +79,6 @@ kotlinx-io = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = " kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" } kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } -uuid = { module = "com.benasher44:uuid", version.ref = "uuid" } - ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" } ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" } @@ -130,6 +127,12 @@ androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit androidx-material3 = { group = "androidx.compose.material3", name = "material3" } androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "materialIconsExtended" } compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose-preview" } +compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose" } +compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose" } +compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose" } +compose-desktop = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "compose" } +compose-material = { module = "org.jetbrains.compose.material:material", version.ref = "compose" } +compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "compose" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin-bom" } koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koin-bom" } diff --git a/static-sqlite-driver/build.gradle.kts b/static-sqlite-driver/build.gradle.kts index 326411cc..34e42001 100644 --- a/static-sqlite-driver/build.gradle.kts +++ b/static-sqlite-driver/build.gradle.kts @@ -10,7 +10,7 @@ plugins { id("com.powersync.plugins.sonatype") } -val nativeSqliteConfiguration: Configuration by configurations.creating { +val nativeSqliteConfiguration = configurations.create("nativeSqliteConfiguration") { isCanBeConsumed = false }