Skip to content

Create :sample:kombu Gradle module with all KMP targets, per-platform windowing, and :umami-api dependency #197

Description

@MessiasLima

Description

Create the new :sample:kombu Compose Multiplatform module and make it runnable on Android, iOS, JVM Desktop, JS, and WasmJS from the start. The module should depend on :umami-api so that feature work can begin immediately.

  • Scope and constraints
    • Mirror the sample:simple-compose-app/composeApp configuration (plugins, targets, source sets).
    • Add include(":sample:kombu") to settings.gradle.kts.
    • Per-platform entry points:
      • androidMain: AppActivity + AndroidManifest.xml
      • iosMain: MainViewController() + iosApp Xcode wrapper project
      • jvmMain: main() with Compose Desktop Window
      • jsMain: main() with ComposeViewport + index.html
      • wasmJsMain: main() with ComposeViewport + index.html
    • JVM toolchain 21, dependency on :umami-api, Compose Material 3, Compose Navigation.
    • No persistent storage, theme, or real API calls in this ticket — just a blank App() that compiles and runs on every target.

Scope

  • In scope: module setup, Gradle config, all platform entry points, iOS Xcode project.
  • Out of scope: icon assets, theme, navigation, tests, detekt, kover, CSD, real feature code.

Acceptance criteria

  • ./gradlew :sample:kombu:assemble succeeds.
  • Android app launches and displays a blank screen.
  • iOS app launches from Xcode and displays a blank screen.
  • Desktop app launches via ./gradlew :sample:kombu:run and shows a window.
  • JS and WasmJS apps launch via ./gradlew :sample:kombu:jsBrowserDevelopmentRun / wasmJsBrowserDevelopmentRun.
  • settings.gradle.kts includes :sample:kombu.

Additional information

Use the existing sample/simple-compose-app/composeApp module as the reference for Gradle and platform wiring.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Task.

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions