-
Notifications
You must be signed in to change notification settings - Fork 137
Description
Consider the following structure:
MyApp/
+ ─ core/
│ + ─ resources/
│ + ─ .../
+ ─ shared/
shared is an umbrella module, with this build.gradle.kts
plugins {
kotlin("multiplatform")
alias(libs.plugins.moko.resources)
}
kotlin {
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = "shared"
binaryOption("bundleId", "com.example.shared")
export(project(":core:resources"))
export(libs.moko.resources)
}
}
sourceSets {
commonMain.dependencies {
api(project(":core:resources"))
}
}
}resources is a module with this build.gradle.kts
plugins {
kotlin("multiplatform")
id(libs.plugins.android.library.get().pluginId)
alias(libs.plugins.moko.resources)
}
android {
namespace = "com.example.app.core.resources"
}
kotlin {
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = project.name.uppercaseFirstChar()
}
}
sourceSets {
commonMain {
dependencies {
api(libs.moko.resources)
}
}
}
}
multiplatformResources {
resourcesPackage.set("com.example.app")
}The issue
Building the project with ./gradlew :shared:embedAndSignAppleFrameworkForXcode does not create the *.bundle files anymore in resources/build/..., nor does it in shared/build/....
Adding a gradle task to force assemble in resources creates the *.bundle files, however they're not copied to the shared module.
This issue appeared starting from 0.24.4
I also noticed this warning in the build logs:
Interop library /Users/Sarah/.gradle/caches/modules-2/files-2.1/dev.icerock.moko/resources-iossimulatorarm64/0.24.4/7575a46cf7135d2e79ea1ddf05cdb142dc9d5aa0/resources-cinterop-bundleSearcher can't be exported with -Xexport-library