c277ee37c2
Gradle project in android/ with every module of SPEC §6.2 (build-logic convention plugins, version catalog, architecture check in check), :core:model types and repository interfaces of §14.2.4 and §14.5, :domain implementing §14.5.2 and §14.5.4 (125 vector cases), scenario-driven fakes with the empty scenario, Room 3 entities and KvittDatabase v1 with exported schema, :app shell with Hilt, en/sv strings with MissingTranslation as a lint error, Roborazzi goldens of the empty screen in light and dark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
54 lines
1.9 KiB
Kotlin
54 lines
1.9 KiB
Kotlin
// :app — MainActivity, Application, Hilt wiring; navigation, bindings, deep links and notifications arrive with M8.
|
|
plugins {
|
|
id("kvitt.android.application")
|
|
id("kvitt.android.compose")
|
|
id("kvitt.android.hilt")
|
|
alias(libs.plugins.roborazzi)
|
|
}
|
|
|
|
android {
|
|
namespace = "se.hagstedt.kvitt"
|
|
defaultConfig {
|
|
applicationId = "se.hagstedt.kvitt"
|
|
// SPEC §10.6: the release script passes kvitt.versionCode and kvitt.versionName; debug builds use 1 and "dev".
|
|
versionCode = providers.gradleProperty("kvitt.versionCode").orElse("1").get().toInt()
|
|
versionName = providers.gradleProperty("kvitt.versionName").orElse("dev").get()
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix = ".debug"
|
|
}
|
|
}
|
|
}
|
|
|
|
roborazzi {
|
|
outputDir.set(file("src/test/screenshots"))
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":core:model"))
|
|
implementation(project(":core:design"))
|
|
implementation(project(":domain"))
|
|
implementation(project(":data"))
|
|
implementation(project(":adapter:fcm"))
|
|
implementation(project(":feature:onboarding"))
|
|
implementation(project(":feature:home"))
|
|
implementation(project(":feature:account"))
|
|
implementation(project(":feature:expense"))
|
|
implementation(project(":feature:settle"))
|
|
implementation(project(":feature:analytics"))
|
|
implementation(project(":feature:settings"))
|
|
debugImplementation(project(":core:fakes"))
|
|
testImplementation(project(":core:fakes"))
|
|
|
|
implementation(libs.androidx.core.ktx)
|
|
implementation(libs.androidx.activity.compose)
|
|
|
|
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
|
testImplementation(libs.androidx.compose.ui.test.junit4)
|
|
testImplementation(libs.robolectric)
|
|
testImplementation(libs.roborazzi)
|
|
testImplementation(libs.roborazzi.compose)
|
|
testImplementation(libs.roborazzi.junit.rule)
|
|
}
|