Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
@file:OptIn(DelicateMetroGradleApi::class)

import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
import dev.zacsweers.metro.gradle.DelicateMetroGradleApi
import java.util.Properties

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.kotlin.serialization)
Expand Down Expand Up @@ -260,13 +262,9 @@ ksp {
}

metro {
// Enable Metro code generation for assisted injection factories.
// https://zacsweers.github.io/metro/injection-types/#automatic-assisted-factory-generation
// generateAssistedFactories.set(true)

enableKotlinVersionCompatibilityChecks = true

reportsDestination = layout.buildDirectory.asFile.get().resolve("reports/metro")
// Report destination for Metro debugging and analysis
// https://zacsweers.github.io/metro/0.13.2/debugging/?h=reportsdestination#reports
reportsDestination.set(layout.buildDirectory.dir("metro/reports"))
}


Expand Down
6 changes: 5 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ org.gradle.configuration-cache.parallel=true
# https://docs.gradle.org/current/userguide/gradle_daemon.html
org.gradle.daemon=true

# Suppress dependency constraints warning
android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false

# Disable unused build features
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.shaders=false
android.defaults.buildfeatures.shaders=false
android.dependency.useConstraints=true
39 changes: 25 additions & 14 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ adaptiveAndroid = "1.2.0"

# Android Studio version and AGP version compatibility
# https://developer.android.com/studio/releases#android_gradle_plugin_and_android_studio_compatibility
agp = "8.13.2"
agp = "9.1.1"

# Metro - A multiplatform dependency injection framework for Kotlin
# https://zacsweers.github.io/metro/
metro = "0.13.1"
metro = "0.13.2"

# https://github.com/slackhq/circuit/releases
circuit = "0.33.1"
Expand All @@ -28,13 +28,29 @@ dataStore = "1.2.1"
# https://github.com/slackhq/EitherNet
eithernet = "2.0.0"
espressoCore = "3.7.0"
firebaseBom = "34.11.0"
firebaseBom = "34.12.0"

# https://developer.android.com/develop/ui/compose/text/fonts
googleFonts = "1.10.6"

googlePlayReview = "2.0.2"

# Google Services plugin
# https://developers.google.com/android/guides/google-services-plugin
googleServices = "4.4.4"

# Firebase Crashlytics plugin
# https://firebase.google.com/docs/crashlytics/get-started?platform=android#add-sdk
firebaseCrashlytics = "3.0.7"

# Robolectric for Android testing
# https://robolectric.org/
robolectric = "4.16.1"

# Kover - Kotlin code coverage
# https://github.com/Kotlin/kotlinx-kover
koverPlugin = "0.9.8"

# Fluent assertions for Java and Android
# https://truth.dev/ | https://github.com/google/truth
googleTruth = "1.4.5"
Expand All @@ -56,8 +72,8 @@ mockk = "1.14.9"
# https://github.com/pinterest/ktlint
kotlinter = "5.4.2"

kotlinxSerializationJson = "1.10.0"
kotlinxSerializationProperties = "1.10.0"
kotlinxSerializationJson = "1.11.0"
kotlinxSerializationProperties = "1.11.0"

# Kotlin Symbol Processing API
# https://kotlinlang.org/docs/ksp-overview.html
Expand Down Expand Up @@ -177,7 +193,7 @@ moshi-kotlin-codegen = { group = "com.squareup.moshi", name = "moshi-kotlin-code
eithernet = { group = "com.slack.eithernet", name = "eithernet", version.ref = "eithernet" }
eithernet-integration-retrofit = { group = "com.slack.eithernet", name = "eithernet-integration-retrofit", version.ref = "eithernet" }

robolectric = { group = "org.robolectric", name = "robolectric", version = "4.16.1" }
robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }

# MockK mocking library for Kotlin
# https://mockk.io
Expand All @@ -201,11 +217,6 @@ compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", v
# https://developer.android.com/build
android-application = { id = "com.android.application", version.ref = "agp" }

# Plugin for Android Libraries
# https://developer.android.com/studio/projects/android-library
# https://developer.android.com/build
android-library = { id = "com.android.library", version.ref = "agp" }

kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

Expand Down Expand Up @@ -233,10 +244,10 @@ metro = { id = "dev.zacsweers.metro", version.ref = "metro" }
kotlinter = { id = "org.jmailen.kotlinter", version.ref = "kotlinter" }

# Google Services plugin
google-services = { id = "com.google.gms.google-services", version = "4.4.4" }
google-services = { id = "com.google.gms.google-services", version.ref = "googleServices" }
# https://firebase.google.com/docs/crashlytics/get-started?platform=android#add-sdk
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version = "3.0.6" }
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlytics" }

# Kover is a set of solutions for collecting test coverage of Kotlin code compiled for JVM and Android platforms.
# https://github.com/Kotlin/kotlinx-kover?tab=readme-ov-file#kover-gradle-plugin
kotlinx-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.8" }
kotlinx-kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "koverPlugin" }
Loading