Installation
All Arkitekt artifacts are published to Maven Central under the group ID app.futured.arkitekt.
Dependencies
Add the modules you need to your build.gradle.kts:
dependencies {
// Core ViewModel and ViewState classes (Android)
implementation("app.futured.arkitekt:core:6.0.0-SNAPSHOT")
// Jetpack Compose integration (Android)
implementation("app.futured.arkitekt:compose:6.0.0-SNAPSHOT")
// Coroutine use cases (KMP)
implementation("app.futured.arkitekt:cr-usecases:6.0.0-SNAPSHOT")
// Decompose integration (KMP)
implementation("app.futured.arkitekt:decompose:6.0.0-SNAPSHOT")
// KSP annotation for Decompose factory generation (KMP)
implementation("app.futured.arkitekt:decompose-annotation:6.0.0-SNAPSHOT")
// KSP processor for Decompose factory generation (KMP)
ksp("app.futured.arkitekt:decompose-processor:6.0.0-SNAPSHOT")
// ViewModel testing utilities
testImplementation("app.futured.arkitekt:core-test:6.0.0-SNAPSHOT")
// UseCase mocking utilities
testImplementation("app.futured.arkitekt:cr-usecases-test:6.0.0-SNAPSHOT")
}
Module Selection
| Module | Android-only | KMP |
|---|---|---|
core |
Yes | — |
compose |
Yes | — |
cr-usecases |
Yes | Yes |
decompose |
— | Yes |
decompose-annotation |
— | Yes |
decompose-processor |
— | Yes |
core-test |
Yes | — |
cr-usecases-test |
Yes | Yes |
For Android-only projects, use core, compose, and cr-usecases.
For KMP projects, use cr-usecases, decompose, decompose-annotation, and decompose-processor.
Snapshot Versions
Snapshot builds are published to the Sonatype snapshots repository. To use them, add the snapshot repository to your settings.gradle.kts or build.gradle.kts:
repositories {
maven(url = "https://oss.sonatype.org/content/repositories/snapshots")
}
Snapshots are grouped by major version. For example, development builds for the 6.x release line are published as:
implementation("app.futured.arkitekt:core:6.X.X-SNAPSHOT")
Replace 6.X.X-SNAPSHOT with the actual snapshot version available in the repository.