Skip to content

Bundle is not copied when using umbrella module #802

@SarahDelCastillo

Description

@SarahDelCastillo

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions