Hi guys, hope you are all doing well, I am trying ...
# firebase
d
Hi guys, hope you are all doing well, I am trying to use kmp firebase library https://github.com/GitLiveApp/firebase-kotlin-sdk How can I get this to work? This is my
build.gradle.kts
Copy code
implementation("dev.gitlive:firebase-firestore:1.11.1")
implementation("dev.gitlive:firebase-common:1.11.1")
The error I am getting is
Copy code
Failed to resolve: com.google.firebase:firebase-firestore
Failed to resolve: com.google.firebase:firebase-common-ktx
I created the compose mulitplatform project using multiplatform wizard https://kmp.jetbrains.com/
s
@Djuro where do you add these dependencies?
d
`commonMain`'s
build.gradle.kts
s
can I see your gradle file?
d
Copy code
plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.jetbrainsCompose)
    id("dev.icerock.mobile.multiplatform-resources")
}

kotlin {
    androidTarget {
        compilations.all {
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
    }
    
    jvm("desktop")
    
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach { iosTarget ->
        iosTarget.binaries.framework {
            baseName = "ComposeApp"
            isStatic = false // due to moko-resources
        }
    }
    
    sourceSets {
        val desktopMain by getting
        
        androidMain.dependencies {
            implementation(libs.compose.ui.tooling.preview)
            implementation(libs.androidx.activity.compose)
            implementation(libs.ktor.client.okhttp)
        }
        commonMain.dependencies {
            implementation(compose.runtime)
            implementation(compose.foundation)
            implementation(compose.material)
            implementation(compose.ui)
            @OptIn(ExperimentalComposeLibrary::class)
            implementation(compose.components.resources)
            implementation(libs.koin.core)
            implementation(libs.ktor.client.core)
            implementation(libs.moko.resources.core)
            implementation(libs.moko.resources.compose)
            implementation("dev.gitlive:firebase-firestore:1.11.1")
            implementation("dev.gitlive:firebase-common:1.11.1")
        }
        iosMain.dependencies {
            implementation(libs.ktor.client.darwin)
        }
        desktopMain.dependencies {
            implementation(compose.desktop.currentOs)
        }
    }
}

android {
    namespace = "org.example.melodyreservation"
    compileSdk = libs.versions.android.compileSdk.get().toInt()

    sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
    sourceSets["main"].res.srcDirs("src/androidMain/res")
    sourceSets["main"].resources.srcDirs("src/commonMain/resources")

    defaultConfig {
        applicationId = "org.example.melodyreservation"
        minSdk = libs.versions.android.minSdk.get().toInt()
        targetSdk = libs.versions.android.targetSdk.get().toInt()
        versionCode = 1
        versionName = "1.0"
    }
    packaging {
        resources {
            excludes += "/META-INF/{AL2.0,LGPL2.1}"
        }
    }
    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    dependencies {
        debugImplementation(libs.compose.ui.tooling)
    }
}

compose.desktop {
    application {
        mainClass = "MainKt"

        nativeDistributions {
            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "org.example.melodyreservation"
            packageVersion = "1.0.0"
        }
    }
}
here it is
e
Hi @Djuro ! Have you figured this out? I'm having the same problem, but related to wasmJS:
Copy code
:composeApp:wasmJsMain: Could not resolve dev.gitlive:firebase-firestore:2.1.0.
Required by:
    project :composeApp
d
Hi, yeah, I had to add it manually inside the iosApp
I followed codemouse