Marcos Paulo Farias
02/27/2024, 6:41 AM> Task :composeApp:compileKotlinIosSimulatorArm64 FAILED
error: Could not find "org.jetbrains.compose.material:material"
The project run work fine in Android but in iOS there is that problem using compose 1.6.0-rc03Marcos Paulo Farias
02/27/2024, 6:41 AMimport org.jetbrains.compose.ExperimentalComposeLibrary
plugins {
with(libs.plugins) {
alias(kotlinMultiplatform)
alias(androidApplication)
alias(jetbrainsCompose)
}
}
kotlin {
androidTarget {
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
sourceSets {
androidMain.dependencies {
// implementation("com.squareup.sqldelight:android-driver:$sqlDelightVersion")
with(libs) {
implementation(ktor.client.android)
implementation(androidx.activity.compose)
// implementation(compose.ui.tooling.preview)
}
}
iosMain.dependencies {
implementation(libs.ktor.client.darwin)
// implementation("com.squareup.sqldelight:native-driver:$sqlDelightVersion")
}
commonMain.dependencies {
implementation("org.jetbrains.compose.compiler:compiler:1.5.8.1")
with(compose) {
implementation(ui)
implementation(runtime)
implementation(material3)
implementation(foundation)
implementation(materialIconsExtended)
@OptIn(ExperimentalComposeLibrary::class)
implementation(components.resources)
}
with(libs) {
implementation(stdlib)
// implementation(zoomable)
// with(multiplatformSettings) {
// api(core)
// api(noArg)
// api(coroutines)
// }
with(voyager) {
implementation(koin)
implementation(navigator)
implementation(screenModel)
implementation(transitions)
implementation(tabNavigator)
implementation(bottomSheetNavigator)
}
with(ktor) {
implementation(client.core)
implementation(client.content.negotiation)
implementation(serialization.kotlinx.json)
}
with(coil) {
implementation(core)
implementation(compose)
implementation(network)
}
// with(sqldelight) {
// implementation(runtime)
// implementation(coroutine)
// }
// with(kmpalette) {
// implementation(core)
// with(extensions){
// implementation(base64)
// implementation(bytearray)
// implementation(libres)
// implementation(network)
// implementation(resources)
// implementation(file)
// }
// }
}
}
}
}
Marcos Paulo Farias
02/27/2024, 6:42 AM[versions]
agp = "8.1.4"
android-compileSdk = "34"
android-minSdk = "24"
android-targetSdk = "34"
androidx-activityCompose = "1.8.2"
androidx-appcompat = "1.6.1"
androidx-constraintlayout = "2.1.4"
androidx-core-ktx = "1.12.0"
compose = "1.6.1"
compose-plugin = "1.6.0-rc03"
kotlin = "1.9.21"
material3 = "1.2.0"
material-icons= "1.6.0-rc03"
coil = "3.0.0-alpha04"
voyager = "1.0.0"
multiplatformSettings = "1.1.1"
koin-compose = "1.1.2"
kotlinxSerializationJson = "1.6.2"
kotlinxDateTime = "0.5.0"
sqldelight = "2.0.1"
coroutines = "1.8.0-RC2"
ktor = "2.3.8"
zoomable = "1.6.0"
kmpalette = "3.1.0"
[libraries]
stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
# Third
zoomable = { module = "net.engawapg.lib:zoomable", version.ref = "zoomable" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" }
kotlinx-serializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinxSerializationJson" }
kotlinx-dateTime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDateTime" }
# Multiplatform Settings
multiplatformSettings-core = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatformSettings" }
multiplatformSettings-noArg = { module = "com.russhwolf:multiplatform-settings-no-arg", version.ref = "multiplatformSettings" }
multiplatformSettings-coroutines = { module = "com.russhwolf:multiplatform-settings-coroutines", version.ref = "multiplatformSettings" }
# Ktor
ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
ktor-client-darwin = { group = "io.ktor", name = "ktor-client-darwin", version.ref = "ktor" }
ktor-client-android = { group = "io.ktor", name = "ktor-client-android", version.ref = "ktor" }
ktor-client-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
ktor-serialization-kotlinx-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
# Coil
coil-core = { module = "io.coil-kt.coil3:coil-core", version.ref = "coil" }
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
coil-network = { module = "io.coil-kt.coil3:coil-network-ktor", version.ref = "coil" }
# Compose
#compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" }
#compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
#compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" }
#compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" }
compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose" }
compose-ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "compose" }
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose" }
compose-ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "compose" }
# Material
material-icons-extended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "material-icons" }
compose-material3 = { module = "org.jetbrains.compose.material:material", version.ref = "material3" }
# Voyager
voyager-koin = { module = "cafe.adriel.voyager:voyager-koin", version.ref = "voyager" }
voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
voyager-screenModel = { module = "cafe.adriel.voyager:voyager-screenmodel", version.ref = "voyager" }
voyager-tabNavigator = { module = "cafe.adriel.voyager:voyager-tab-navigator", version.ref = "voyager" }
voyager-bottomSheetNavigator = { module = "cafe.adriel.voyager:voyager-bottom-sheet-navigator", version.ref = "voyager" }
# SQLDelight
sqldelight-runtime = { module = "app.cash.sqldelight:runtime", version.ref = "sqldelight" }
sqldelight-native = { module = "app.cash.sqldelight:native-driver", version.ref = "sqldelight" }
sqldelight-sqlite = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" }
sqldelight-primitive = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" }
sqldelight-coroutine = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" }
sqldelight-paging = { module = "app.cash.sqldelight:androidx-paging3-extensions", version.ref = "sqldelight" }
sqldelight-primitive-adapters = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" }
# KMPalette
kmpalette-core = { module = "com.kmpalette:kmpalette-core", version.ref = "kmpalette" }
kmpalette-extensions-base64 = { module = "com.kmpalette:extensions-base64", version.ref = "kmpalette" }
kmpalette-extensions-bytearray = { module = "com.kmpalette:extensions-bytearray", version.ref = "kmpalette" }
kmpalette-extensions-libres = { module = "com.kmpalette:extensions-libres", version.ref = "kmpalette" }
kmpalette-extensions-network = { module = "com.kmpalette:extensions-network", version.ref = "kmpalette" }
kmpalette-extensions-resources = { module = "com.kmpalette:extensions-resources", version.ref = "kmpalette" }
kmpalette-extensions-file = { module = "com.kmpalette:extensions-file", version.ref = "kmpalette" }
[plugins]
androidLibrary = { id = "com.android.library", version.ref = "agp" }
androidApplication = { id = "com.android.application", version.ref = "agp" }
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
[bundles]
coil = [
"coil-core",
"coil-compose",
"coil-network"
]
voyager = [
"voyager-koin",
"voyager-navigator",
"voyager-screenModel",
"voyager-transitions",
"voyager-tabNavigator",
"voyager-bottomSheetNavigator"
]
sqldelight = [
"sqldelight-runtime",
"sqldelight-native",
"sqldelight-sqlite",
"sqldelight-primitive",
"sqldelight-coroutine",
"sqldelight-paging",
"sqldelight-primitive-adapters"
]
Joel Denke
02/27/2024, 6:44 AMcompose-material3 = { module = "org.jetbrains.compose.material:material", version.ref = "material3" }
These lines is wrong 🙂 Also recommend not refer to dynamic resolved things by jetbrains compose plugin, refer to like compose.material3 instead.Joel Denke
02/27/2024, 6:46 AMMarcos Paulo Farias
02/27/2024, 6:54 AMJoel Denke
02/27/2024, 6:55 AMwith(compose) {
implementation(ui)
implementation(runtime)
implementation(material3)
implementation(foundation)
implementation(materialIconsExtended)
@OptIn(ExperimentalComposeLibrary::class)
implementation(components.resources)
}
No need to duplicate this 🙂Marcos Paulo Farias
02/27/2024, 7:01 AMMarcos Paulo Farias
02/27/2024, 7:56 PMMarcos Paulo Farias
02/27/2024, 7:57 PMJoel Denke
02/27/2024, 8:46 PMHoà i An Bùi Lê
03/04/2024, 3:49 AMcompose.material
by compose.material3
. Add them both and the error gone