I'm trying to setup a KMM module with Couchbase Li...
# multiplatform
j
I'm trying to setup a KMM module with Couchbase Lite as a platform dependency for both Android and iOS. I'm running into errors getting this to work with CocoaPods for iOS:
Copy code
Exception in thread "main" java.lang.IllegalArgumentException: 'CBLQueryMeta' is going to be declared twice
	at org.jetbrains.kotlin.native.interop.gen.KotlinFile.<init>(KotlinCodeModel.kt:257)
	at org.jetbrains.kotlin.native.interop.gen.StubIrBridgeBuilder$kotlinFile$1.<init>(StubIrBridgeBuilder.kt:44)
	at org.jetbrains.kotlin.native.interop.gen.StubIrBridgeBuilder.<init>(StubIrBridgeBuilder.kt:46)
	at org.jetbrains.kotlin.native.interop.gen.StubIrDriver.run(StubIrDriver.kt:122)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.processCLib(main.kt:315)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.interop(main.kt:73)
	at org.jetbrains.kotlin.cli.utilities.InteropCompilerKt.invokeInterop(InteropCompiler.kt:45)
	at org.jetbrains.kotlin.cli.utilities.MainKt.mainImpl(main.kt:19)
	at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:41)
build.gradle.kts:
Copy code
plugins {
    kotlin("multiplatform") version "1.4.21"
    kotlin("native.cocoapods") version "1.4.21"
    id("com.android.library")
}
...

kotlin {
    android()
    ios()
    cocoapods {
        summary = "TBD"
        homepage = "TBD"
        ios.deploymentTarget = "9.0"
        pod("CouchbaseLite") {
            version = "~> 2.8.1"
        }
    }
    ...
}
...
Any tips on getting this to work?
I get a different error when I use the enterprise release, which is the one I actually need. Same build.gradle.kts except with
pod("CouchbaseLite-Enterprise")
. I get the error:
Copy code
Exception in thread "main" java.lang.Error: /var/folders/pv/3_5xn0dd0v5bf6sxbfcsq_wr0000gn/T/7009311365357251921.m:1:22: error: expected ';' after module name
	at org.jetbrains.kotlin.native.interop.indexer.UtilsKt.ensureNoCompileErrors(Utils.kt:152)
	at org.jetbrains.kotlin.native.interop.indexer.ModuleSupportKt.getModulesASTFiles(ModuleSupport.kt:68)
	at org.jetbrains.kotlin.native.interop.indexer.ModuleSupportKt.getModulesInfo(ModuleSupport.kt:14)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.buildNativeLibrary(main.kt:507)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.processCLib(main.kt:265)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.interop(main.kt:73)
	at org.jetbrains.kotlin.cli.utilities.InteropCompilerKt.invokeInterop(InteropCompiler.kt:45)
	at org.jetbrains.kotlin.cli.utilities.MainKt.mainImpl(main.kt:19)
	at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:41)