mirror of
https://github.com/openMF/mobile-wallet.git
synced 2026-02-06 09:37:24 +00:00
chore(build-logic): add missing dependencies to version catalog and complete build logic setup (#1894)
This commit is contained in:
parent
fd3fc4c302
commit
a97853fd62
@ -29,6 +29,8 @@ dependencies {
|
||||
compileOnly(libs.ktlint.gradlePlugin)
|
||||
compileOnly(libs.spotless.gradle)
|
||||
implementation(libs.truth)
|
||||
compileOnly(libs.firebase.crashlytics.gradlePlugin)
|
||||
compileOnly(libs.firebase.performance.gradlePlugin)
|
||||
}
|
||||
|
||||
tasks {
|
||||
@ -55,18 +57,29 @@ gradlePlugin {
|
||||
implementationClass = "AndroidApplicationFlavorsConventionPlugin"
|
||||
}
|
||||
|
||||
register("androidFirebase") {
|
||||
id = "org.convention.android.application.firebase"
|
||||
implementationClass = "AndroidApplicationFirebaseConventionPlugin"
|
||||
}
|
||||
|
||||
register("androidLint") {
|
||||
id = "org.convention.android.application.lint"
|
||||
implementationClass = "AndroidLintConventionPlugin"
|
||||
}
|
||||
|
||||
// KMP & CMP Plugins
|
||||
register("cmpFeature") {
|
||||
id = "mifospay.cmp.feature"
|
||||
id = "org.convention.cmp.feature"
|
||||
implementationClass = "CMPFeatureConventionPlugin"
|
||||
}
|
||||
|
||||
register("kmpKoin") {
|
||||
id = "mifospay.kmp.koin"
|
||||
id = "org.convention.kmp.koin"
|
||||
implementationClass = "KMPKoinConventionPlugin"
|
||||
}
|
||||
|
||||
register("kmpLibrary") {
|
||||
id = "mifospay.kmp.library"
|
||||
id = "org.convention.kmp.library"
|
||||
implementationClass = "KMPLibraryConventionPlugin"
|
||||
}
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.gradle.kotlin.dsl.getByType
|
||||
import org.mifospay.configureBadgingTasks
|
||||
import org.mifospay.configureGradleManagedDevices
|
||||
import org.mifospay.configureKotlinAndroid
|
||||
import org.mifospay.configurePrintApksTask
|
||||
|
||||
@ -19,6 +20,8 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
|
||||
apply("mifos.detekt.plugin")
|
||||
apply("mifos.spotless.plugin")
|
||||
apply("mifos.git.hooks")
|
||||
apply("org.convention.android.application.lint")
|
||||
apply("org.convention.android.application.firebase")
|
||||
}
|
||||
|
||||
extensions.configure<ApplicationExtension> {
|
||||
@ -26,6 +29,7 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
|
||||
defaultConfig.targetSdk = 34
|
||||
@Suppress("UnstableApiUsage")
|
||||
testOptions.animationsDisabled = true
|
||||
configureGradleManagedDevices(this)
|
||||
}
|
||||
extensions.configure<ApplicationAndroidComponentsExtension> {
|
||||
configurePrintApksTask(this)
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright 2022 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.apply
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.gradle.kotlin.dsl.dependencies
|
||||
import org.mifospay.libs
|
||||
|
||||
class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
apply(plugin = "com.google.gms.google-services")
|
||||
apply(plugin = "com.google.firebase.crashlytics")
|
||||
|
||||
dependencies {
|
||||
val bom = libs.findLibrary("firebase-bom").get()
|
||||
"implementation"(platform(bom))
|
||||
"implementation"(libs.findLibrary("firebase.analytics").get())
|
||||
"implementation"(libs.findLibrary("firebase.crashlytics").get())
|
||||
}
|
||||
|
||||
extensions.configure<ApplicationExtension> {
|
||||
buildTypes.configureEach {
|
||||
// Disable the Crashlytics mapping file upload. This feature should only be
|
||||
// enabled if a Firebase backend is available and configured in
|
||||
// google-services.json.
|
||||
configure<CrashlyticsExtension> {
|
||||
mappingFileUploadEnabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2022 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import com.android.build.api.dsl.LibraryExtension
|
||||
import com.android.build.api.dsl.Lint
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.apply
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
|
||||
class AndroidLintConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
when {
|
||||
pluginManager.hasPlugin("com.android.application") ->
|
||||
configure<ApplicationExtension> { lint(Lint::configure) }
|
||||
|
||||
pluginManager.hasPlugin("com.android.library") ->
|
||||
configure<LibraryExtension> { lint(Lint::configure) }
|
||||
|
||||
else -> {
|
||||
apply(plugin = "com.android.lint")
|
||||
configure<Lint>(Lint::configure)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun Lint.configure() {
|
||||
xmlReport = true
|
||||
sarifReport = true
|
||||
checkDependencies = true
|
||||
disable += "GradleDependency"
|
||||
}
|
||||
@ -8,8 +8,8 @@ class CMPFeatureConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
pluginManager.apply {
|
||||
apply("mifospay.kmp.library")
|
||||
apply("mifospay.kmp.koin")
|
||||
apply("org.convention.kmp.library")
|
||||
apply("org.convention.kmp.koin")
|
||||
apply("org.jetbrains.kotlin.plugin.compose")
|
||||
apply("org.jetbrains.compose")
|
||||
apply("org.jetbrains.kotlin.plugin.serialization")
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
import com.android.build.api.instrumentation.AsmClassVisitorFactory
|
||||
import com.android.build.api.instrumentation.ClassContext
|
||||
import com.android.build.api.instrumentation.ClassData
|
||||
import com.android.build.api.instrumentation.InstrumentationParameters
|
||||
import org.gradle.api.provider.SetProperty
|
||||
import org.gradle.api.tasks.Input
|
||||
import org.objectweb.asm.ClassVisitor
|
||||
import org.objectweb.asm.FieldVisitor
|
||||
|
||||
class FieldSkippingClassVisitor(
|
||||
apiVersion: Int,
|
||||
nextClassVisitor: ClassVisitor,
|
||||
) : ClassVisitor(apiVersion, nextClassVisitor) {
|
||||
|
||||
// Returning null from this method will cause the ClassVisitor to strip all fields from the class.
|
||||
override fun visitField(
|
||||
access: Int,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
signature: String?,
|
||||
value: Any?
|
||||
): FieldVisitor? = null
|
||||
|
||||
abstract class Factory : AsmClassVisitorFactory<Parameters> {
|
||||
|
||||
private val excludedClasses
|
||||
get() = parameters.get().classes.get()
|
||||
|
||||
override fun isInstrumentable(classData: ClassData): Boolean =
|
||||
classData.className in excludedClasses
|
||||
|
||||
override fun createClassVisitor(
|
||||
classContext: ClassContext,
|
||||
nextClassVisitor: ClassVisitor,
|
||||
): ClassVisitor {
|
||||
return FieldSkippingClassVisitor(
|
||||
apiVersion = instrumentationContext.apiVersion.get(),
|
||||
nextClassVisitor = nextClassVisitor,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Parameters : InstrumentationParameters {
|
||||
@get:Input
|
||||
abstract val classes: SetProperty<String>
|
||||
}
|
||||
}
|
||||
@ -15,7 +15,7 @@ class KMPLibraryConventionPlugin: Plugin<Project> {
|
||||
with(pluginManager) {
|
||||
apply("com.android.library")
|
||||
apply("org.jetbrains.kotlin.multiplatform")
|
||||
apply("mifospay.kmp.koin")
|
||||
apply("org.convention.kmp.koin")
|
||||
apply("mifos.detekt.plugin")
|
||||
apply("mifos.spotless.plugin")
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ package org.mifospay
|
||||
/**
|
||||
* This is shared between :app and :benchmarks module to provide configurations type safety.
|
||||
*/
|
||||
enum class MifosBuildType(val applicationIdSuffix: String? = null) {
|
||||
enum class AppBuildType(val applicationIdSuffix: String? = null) {
|
||||
DEBUG(".debug"),
|
||||
RELEASE,
|
||||
}
|
||||
@ -14,19 +14,19 @@ enum class FlavorDimension {
|
||||
// purposes, or from a production backend server which supplies up-to-date, real content.
|
||||
// These two product flavors reflect this behaviour.
|
||||
@Suppress("EnumEntryName")
|
||||
enum class MifosFlavor(val dimension: FlavorDimension, val applicationIdSuffix: String? = null) {
|
||||
enum class AppFlavor(val dimension: FlavorDimension, val applicationIdSuffix: String? = null) {
|
||||
demo(FlavorDimension.contentType, applicationIdSuffix = ".demo"),
|
||||
prod(FlavorDimension.contentType)
|
||||
}
|
||||
|
||||
fun configureFlavors(
|
||||
commonExtension: CommonExtension<*, *, *, *, *, *>,
|
||||
flavorConfigurationBlock: ProductFlavor.(flavor: MifosFlavor) -> Unit = {}
|
||||
flavorConfigurationBlock: ProductFlavor.(flavor: AppFlavor) -> Unit = {}
|
||||
) {
|
||||
commonExtension.apply {
|
||||
flavorDimensions += FlavorDimension.contentType.name
|
||||
productFlavors {
|
||||
MifosFlavor.values().forEach {
|
||||
AppFlavor.values().forEach {
|
||||
create(it.name) {
|
||||
dimension = it.dimension.name
|
||||
flavorConfigurationBlock(this, it)
|
||||
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.mifospay
|
||||
|
||||
import com.android.build.api.dsl.CommonExtension
|
||||
import com.android.build.api.dsl.ManagedVirtualDevice
|
||||
import org.gradle.kotlin.dsl.get
|
||||
import org.gradle.kotlin.dsl.invoke
|
||||
|
||||
/**
|
||||
* Configure project for Gradle managed devices
|
||||
*/
|
||||
internal fun configureGradleManagedDevices(
|
||||
commonExtension: CommonExtension<*, *, *, *, *, *>,
|
||||
) {
|
||||
val pixel4 = DeviceConfig("Pixel 4", 30, "aosp-atd")
|
||||
val pixel6 = DeviceConfig("Pixel 6", 31, "aosp")
|
||||
val pixelC = DeviceConfig("Pixel C", 30, "aosp-atd")
|
||||
|
||||
val localDevices = listOf(pixel4, pixel6, pixelC)
|
||||
val ciDevices = listOf(pixel4, pixelC)
|
||||
|
||||
commonExtension.testOptions {
|
||||
managedDevices {
|
||||
allDevices {
|
||||
localDevices.forEach { deviceConfig ->
|
||||
maybeCreate(deviceConfig.taskName, ManagedVirtualDevice::class.java).apply {
|
||||
device = deviceConfig.device
|
||||
apiLevel = deviceConfig.apiLevel
|
||||
systemImageSource = deviceConfig.systemImageSource
|
||||
}
|
||||
}
|
||||
}
|
||||
groups {
|
||||
maybeCreate("ci").apply {
|
||||
ciDevices.forEach { deviceConfig ->
|
||||
targetDevices.add(allDevices[deviceConfig.taskName])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private data class DeviceConfig(
|
||||
val device: String,
|
||||
val apiLevel: Int,
|
||||
val systemImageSource: String,
|
||||
) {
|
||||
val taskName = buildString {
|
||||
append(device.lowercase().replace(" ", ""))
|
||||
append("api")
|
||||
append(apiLevel.toString())
|
||||
append(systemImageSource.replace("-", ""))
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,179 @@
|
||||
/**
|
||||
* Kotlin Multiplatform project hierarchy template configuration.
|
||||
*
|
||||
* This file defines a structured hierarchy for organizing source sets in Kotlin Multiplatform
|
||||
* projects. It establishes a logical grouping of platform targets that enables efficient code
|
||||
* sharing across platforms with similar characteristics.
|
||||
*
|
||||
* The hierarchy template creates the following logical groupings:
|
||||
* - `common`: Base shared code for all platforms
|
||||
* - `nonAndroid`: Code shared between JVM, JS, and native platforms, excluding Android
|
||||
* - `jsCommon`: Code shared between JavaScript and WebAssembly JavaScript targets
|
||||
* - `nonJsCommon`: Code shared between JVM and native platforms, excluding JS platforms
|
||||
* - `jvmCommon`: Code shared between Android and JVM targets
|
||||
* - `nonJvmCommon`: Code shared between JS and native platforms, excluding JVM platforms
|
||||
* - `native`: Code shared across all native platforms
|
||||
* - `apple`: Code shared across Apple platforms (iOS, macOS)
|
||||
* - `ios`: iOS-specific code
|
||||
* - `macos`: macOS-specific code
|
||||
* - `nonNative`: Code shared between JS and JVM platforms
|
||||
*
|
||||
* This template applies to both main and test source sets, establishing a consistent
|
||||
* structure throughout the project.
|
||||
*
|
||||
* Note: This implementation uses experimental Kotlin Gradle plugin APIs and may be subject
|
||||
* to change in future Kotlin releases.
|
||||
*/
|
||||
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
|
||||
|
||||
package org.mifospay
|
||||
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinHierarchyBuilder
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinHierarchyTemplate
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree
|
||||
|
||||
/**
|
||||
* Defines the hierarchical structure for source set organization.
|
||||
*
|
||||
* This template establishes the relationships between different platform targets,
|
||||
* creating logical groupings based on platform similarities to facilitate code sharing.
|
||||
*/
|
||||
private val hierarchyTemplate = KotlinHierarchyTemplate {
|
||||
withSourceSetTree(
|
||||
KotlinSourceSetTree.main,
|
||||
KotlinSourceSetTree.test,
|
||||
)
|
||||
|
||||
common {
|
||||
withCompilations { true }
|
||||
|
||||
groupNonAndroid()
|
||||
groupJsCommon()
|
||||
groupNonJsCommon()
|
||||
groupJvmCommon()
|
||||
groupNonJvmCommon()
|
||||
groupNative()
|
||||
groupNonNative()
|
||||
groupJvmJsCommon()
|
||||
groupMobile()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of non-Android platforms (JVM, JS, and native).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupNonAndroid() {
|
||||
group("nonAndroid") {
|
||||
withJvm()
|
||||
groupJsCommon()
|
||||
groupNative()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of JavaScript-related platforms (JS and WebAssembly JS).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupJsCommon() {
|
||||
group("jsCommon") {
|
||||
withJs()
|
||||
withWasmJs()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of non-JavaScript platforms (JVM-based and native).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupNonJsCommon() {
|
||||
group("nonJsCommon") {
|
||||
groupJvmCommon()
|
||||
groupNative()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of JVM-based platforms (Android and JVM).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupJvmCommon() {
|
||||
group("jvmCommon") {
|
||||
withAndroidTarget()
|
||||
withJvm()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of non-JVM platforms (JavaScript and native).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupNonJvmCommon() {
|
||||
group("nonJvmCommon") {
|
||||
groupJsCommon()
|
||||
groupNative()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of JVM, JS platforms (JavaScript and JVM).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupJvmJsCommon() {
|
||||
group("jvmJsCommon") {
|
||||
groupJsCommon()
|
||||
withJvm()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a hierarchical group of native platforms with subgroups for Apple platforms.
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupNative() {
|
||||
group("native") {
|
||||
withNative()
|
||||
|
||||
group("apple") {
|
||||
withApple()
|
||||
|
||||
group("ios") {
|
||||
withIos()
|
||||
}
|
||||
|
||||
group("macos") {
|
||||
withMacos()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group of non-native platforms (JavaScript and JVM-based).
|
||||
*/
|
||||
private fun KotlinHierarchyBuilder.groupNonNative() {
|
||||
group("nonNative") {
|
||||
groupJsCommon()
|
||||
groupJvmCommon()
|
||||
}
|
||||
}
|
||||
|
||||
private fun KotlinHierarchyBuilder.groupMobile() {
|
||||
group("mobile") {
|
||||
withAndroidTarget()
|
||||
withApple()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the predefined hierarchy template to a Kotlin Multiplatform project.
|
||||
*
|
||||
* This extension function should be called within the `kotlin` block of a Multiplatform
|
||||
* project's build script to establish the source set hierarchy defined in this file.
|
||||
*
|
||||
* Example usage:
|
||||
* ```
|
||||
* kotlin {
|
||||
* applyProjectHierarchyTemplate()
|
||||
* // Configure targets...
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
fun KotlinMultiplatformExtension.applyProjectHierarchyTemplate() {
|
||||
applyHierarchyTemplate(hierarchyTemplate)
|
||||
}
|
||||
134
build-logic/convention/src/main/kotlin/org/mifospay/Jacoco.kt
Normal file
134
build-logic/convention/src/main/kotlin/org/mifospay/Jacoco.kt
Normal file
@ -0,0 +1,134 @@
|
||||
/*
|
||||
* Copyright 2024 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.mifospay
|
||||
|
||||
import com.android.build.api.artifact.ScopedArtifact
|
||||
import com.android.build.api.variant.AndroidComponentsExtension
|
||||
import com.android.build.api.variant.ScopedArtifacts
|
||||
import com.android.build.api.variant.SourceDirectories
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.Directory
|
||||
import org.gradle.api.file.RegularFile
|
||||
import org.gradle.api.provider.ListProperty
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.testing.Test
|
||||
import org.gradle.kotlin.dsl.assign
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.gradle.kotlin.dsl.register
|
||||
import org.gradle.kotlin.dsl.withType
|
||||
import org.gradle.testing.jacoco.plugins.JacocoPluginExtension
|
||||
import org.gradle.testing.jacoco.plugins.JacocoTaskExtension
|
||||
import org.gradle.testing.jacoco.tasks.JacocoReport
|
||||
import java.util.Locale
|
||||
|
||||
private val coverageExclusions = listOf(
|
||||
// Android
|
||||
"**/R.class",
|
||||
"**/R\$*.class",
|
||||
"**/BuildConfig.*",
|
||||
"**/Manifest*.*",
|
||||
"**/*_Hilt*.class",
|
||||
"**/Hilt_*.class",
|
||||
)
|
||||
|
||||
private fun String.capitalize() = replaceFirstChar {
|
||||
if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString()
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new task that generates a combined coverage report with data from local and
|
||||
* instrumented tests.
|
||||
*
|
||||
* `create{variant}CombinedCoverageReport`
|
||||
*
|
||||
* Note that coverage data must exist before running the task. This allows us to run device
|
||||
* tests on CI using a different Github Action or an external device farm.
|
||||
*/
|
||||
internal fun Project.configureJacoco(
|
||||
androidComponentsExtension: AndroidComponentsExtension<*, *, *>,
|
||||
) {
|
||||
configure<JacocoPluginExtension> {
|
||||
toolVersion = libs.findVersion("jacoco").get().toString()
|
||||
}
|
||||
|
||||
androidComponentsExtension.onVariants { variant ->
|
||||
val myObjFactory = project.objects
|
||||
val buildDir = layout.buildDirectory.get().asFile
|
||||
val allJars: ListProperty<RegularFile> = myObjFactory.listProperty(RegularFile::class.java)
|
||||
val allDirectories: ListProperty<Directory> =
|
||||
myObjFactory.listProperty(Directory::class.java)
|
||||
val reportTask =
|
||||
tasks.register(
|
||||
"create${variant.name.capitalize()}CombinedCoverageReport",
|
||||
JacocoReport::class,
|
||||
) {
|
||||
|
||||
classDirectories.setFrom(
|
||||
allJars,
|
||||
allDirectories.map { dirs ->
|
||||
dirs.map { dir ->
|
||||
myObjFactory.fileTree().setDir(dir).exclude(coverageExclusions)
|
||||
}
|
||||
},
|
||||
)
|
||||
reports {
|
||||
xml.required = true
|
||||
html.required = true
|
||||
}
|
||||
|
||||
fun SourceDirectories.Flat?.toFilePaths(): Provider<List<String>> = this
|
||||
?.all
|
||||
?.map { directories -> directories.map { it.asFile.path } }
|
||||
?: provider { emptyList() }
|
||||
sourceDirectories.setFrom(
|
||||
files(
|
||||
variant.sources.java.toFilePaths(),
|
||||
variant.sources.kotlin.toFilePaths()
|
||||
),
|
||||
)
|
||||
|
||||
executionData.setFrom(
|
||||
project.fileTree("$buildDir/outputs/unit_test_code_coverage/${variant.name}UnitTest")
|
||||
.matching { include("**/*.exec") },
|
||||
|
||||
project.fileTree("$buildDir/outputs/code_coverage/${variant.name}AndroidTest")
|
||||
.matching { include("**/*.ec") },
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
variant.artifacts.forScope(ScopedArtifacts.Scope.PROJECT)
|
||||
.use(reportTask)
|
||||
.toGet(
|
||||
ScopedArtifact.CLASSES,
|
||||
{ _ -> allJars },
|
||||
{ _ -> allDirectories },
|
||||
)
|
||||
}
|
||||
|
||||
tasks.withType<Test>().configureEach {
|
||||
configure<JacocoTaskExtension> {
|
||||
// Required for JaCoCo + Robolectric
|
||||
// https://github.com/robolectric/robolectric/issues/2230
|
||||
isIncludeNoLocationClasses = true
|
||||
|
||||
// Required for JDK 11 with the above
|
||||
// https://github.com/gradle/gradle/issues/5184#issuecomment-391982009
|
||||
excludes = listOf("jdk.internal.*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
@OptIn(ExperimentalWasmDsl::class, ExperimentalKotlinGradlePluginApi::class)
|
||||
internal fun Project.configureKotlinMultiplatform() {
|
||||
extensions.configure<KotlinMultiplatformExtension> {
|
||||
applyDefaultHierarchyTemplate()
|
||||
applyProjectHierarchyTemplate()
|
||||
|
||||
jvm("desktop")
|
||||
androidTarget()
|
||||
|
||||
@ -13,8 +13,8 @@ call :run_gradle_task "check -p build-logic"
|
||||
call :run_gradle_task "spotlessApply --no-configuration-cache"
|
||||
call :run_gradle_task "dependencyGuardBaseline"
|
||||
call :run_gradle_task "detekt"
|
||||
call :run_gradle_task ":mifospay-android:build"
|
||||
call :run_gradle_task ":mifospay-android:updateProdReleaseBadging"
|
||||
call :run_gradle_task ":cmp-android:build"
|
||||
call :run_gradle_task ":cmp-android:updateProdReleaseBadging"
|
||||
|
||||
echo All checks and tests completed successfully.
|
||||
exit /b 0
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
import com.google.gms.googleservices.GoogleServicesPlugin.GoogleServicesPluginConfig
|
||||
import org.mifospay.MifosBuildType
|
||||
import org.mifospay.AppBuildType
|
||||
import org.mifospay.dynamicVersion
|
||||
|
||||
plugins {
|
||||
@ -45,14 +45,14 @@ android {
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
applicationIdSuffix = MifosBuildType.DEBUG.applicationIdSuffix
|
||||
applicationIdSuffix = AppBuildType.DEBUG.applicationIdSuffix
|
||||
}
|
||||
|
||||
// Disabling proguard for now until
|
||||
// https://github.com/openMF/mobile-wallet/issues/1815 this issue is resolved
|
||||
release {
|
||||
isMinifyEnabled = false
|
||||
applicationIdSuffix = MifosBuildType.RELEASE.applicationIdSuffix
|
||||
applicationIdSuffix = AppBuildType.RELEASE.applicationIdSuffix
|
||||
isShrinkResources = false
|
||||
isDebuggable = false
|
||||
isJniDebuggable = false
|
||||
|
||||
@ -230,116 +230,63 @@
|
||||
| +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.21 (c)
|
||||
| \--- androidx.lifecycle:lifecycle-common-java8:2.9.2 (c)
|
||||
+--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
+--- androidx.compose:compose-bom:2025.07.00
|
||||
| +--- androidx.compose.material3:material3:1.3.2 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-layout:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-navigation:1.1.0 (c)
|
||||
| +--- androidx.compose.runtime:runtime:1.8.3 (c)
|
||||
| +--- androidx.compose.runtime:runtime-tracing:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-tooling-preview:1.8.3 (c)
|
||||
| +--- androidx.compose.runtime:runtime-saveable:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui:1.8.3 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-android:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-layout-android:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0 (c)
|
||||
| +--- androidx.compose.material3:material3-android:1.3.2 (c)
|
||||
| +--- androidx.compose.runtime:runtime-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-tooling-preview-android:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-extended:1.7.8 (c)
|
||||
| +--- androidx.compose.runtime:runtime-saveable-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-geometry:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation-core:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation-layout:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-util:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-core:1.7.8 (c)
|
||||
| +--- androidx.compose.material:material-ripple:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-text:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-graphics:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-unit:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-extended-android:1.7.8 (c)
|
||||
| +--- androidx.compose.ui:ui-geometry-android:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation-android:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation-core-android:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation-layout-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-util-android:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-core-android:1.7.8 (c)
|
||||
| +--- androidx.compose.material:material-ripple-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-text-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-graphics-android:1.8.3 (c)
|
||||
| \--- androidx.compose.ui:ui-unit-android:1.8.3 (c)
|
||||
+--- androidx.compose.ui:ui-tooling-preview -> 1.8.3
|
||||
| \--- androidx.compose.ui:ui-tooling-preview-android:1.8.3
|
||||
| +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| +--- androidx.compose.runtime:runtime:1.8.3
|
||||
| | \--- androidx.compose.runtime:runtime-android:1.8.3
|
||||
| | +--- androidx.annotation:annotation-experimental:1.4.1
|
||||
| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.21 (*)
|
||||
| | +--- androidx.collection:collection:1.5.0 (*)
|
||||
| | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.21 (*)
|
||||
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.2 (*)
|
||||
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | +--- androidx.compose.runtime:runtime-tracing:1.8.3 (c)
|
||||
| | +--- androidx.compose.runtime:runtime-saveable:1.8.3 (c)
|
||||
| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.21 (c)
|
||||
| +--- androidx.compose.ui:ui:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-geometry:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-graphics:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-text:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-unit:1.8.3 (c)
|
||||
| \--- androidx.compose.ui:ui-util:1.8.3 (c)
|
||||
+--- project :cmp-shared
|
||||
| +--- androidx.lifecycle:lifecycle-runtime-compose:2.9.2
|
||||
| | \--- androidx.lifecycle:lifecycle-runtime-compose-android:2.9.2
|
||||
| | +--- androidx.annotation:annotation:1.9.1 (*)
|
||||
| | +--- androidx.compose.runtime:runtime:1.7.1 -> 1.8.3 (*)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime:2.9.2 (*)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.9.2 (*)
|
||||
| | +--- androidx.lifecycle:lifecycle-common:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-livedata:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-livedata-core:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-process:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-service:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.9.2 (c)
|
||||
| | \--- androidx.lifecycle:lifecycle-common-java8:2.9.2 (c)
|
||||
| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.9.2
|
||||
| | \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.9.2
|
||||
| | +--- androidx.annotation:annotation:1.9.1 (*)
|
||||
| | +--- androidx.compose.runtime:runtime:1.7.8 -> 1.8.3 (*)
|
||||
| | +--- androidx.compose.ui:ui:1.7.8 -> 1.8.3
|
||||
| | | \--- androidx.compose.ui:ui-android:1.8.3
|
||||
| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.10.1
|
||||
| | | | +--- androidx.activity:activity:1.10.1
|
||||
+--- com.google.firebase:firebase-bom:33.16.0
|
||||
| +--- com.google.firebase:firebase-analytics-ktx:22.5.0 (c)
|
||||
| +--- com.google.firebase:firebase-crashlytics-ktx:19.4.4 (c)
|
||||
| +--- com.google.firebase:firebase-analytics:22.5.0 (c)
|
||||
| +--- com.google.firebase:firebase-common:21.0.0 (c)
|
||||
| +--- com.google.firebase:firebase-common-ktx:21.0.0 (c)
|
||||
| +--- com.google.firebase:firebase-crashlytics:19.4.4 (c)
|
||||
| +--- com.google.firebase:firebase-encoders:17.0.0 (c)
|
||||
| \--- com.google.firebase:firebase-installations:18.0.0 (c)
|
||||
+--- com.google.firebase:firebase-analytics-ktx -> 22.5.0
|
||||
| +--- com.google.firebase:firebase-analytics:22.5.0
|
||||
| | +--- com.google.android.gms:play-services-measurement:22.5.0
|
||||
| | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0
|
||||
| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.core:core:1.0.0 -> 1.16.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.annotation:annotation-experimental:1.4.1
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.21 (*)
|
||||
| | | | | +--- androidx.collection:collection:1.4.2 -> 1.5.0 (*)
|
||||
| | | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
|
||||
| | | | | +--- androidx.core:core-viewtree:1.0.0 (*)
|
||||
| | | | | +--- androidx.interpolator:interpolator:1.0.0
|
||||
| | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.9.2 (*)
|
||||
| | | | | +--- androidx.tracing:tracing:1.2.0 -> 1.3.0 (*)
|
||||
| | | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
|
||||
| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | | | \--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.21 (*)
|
||||
| | | | | +--- org.jspecify:jspecify:1.0.0
|
||||
| | | | | +--- androidx.core:core-ktx:1.16.0 (c)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (c)
|
||||
| | | | +--- androidx.documentfile:documentfile:1.0.0 -> 1.1.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core:1.7.0 -> 1.16.0 (*)
|
||||
| | | | | \--- org.jspecify:jspecify:1.0.0
|
||||
| | | | +--- androidx.loader:loader:1.0.0 -> 1.1.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0 -> 2.9.2 (*)
|
||||
| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.9.2 (*)
|
||||
| | | | | \--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|
||||
| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | \--- androidx.print:print:1.0.0
|
||||
| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
| | | | \--- com.google.android.gms:play-services-basement:18.0.0 -> 18.5.0
|
||||
| | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.core:core:1.2.0 -> 1.16.0 (*)
|
||||
| | | | \--- androidx.fragment:fragment:1.1.0 -> 1.8.8
|
||||
| | | | +--- androidx.activity:activity:1.8.1 -> 1.10.1
|
||||
| | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core-ktx:1.13.0 -> 1.16.0
|
||||
| | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | | +--- androidx.core:core:1.16.0
|
||||
| | | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | | | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
|
||||
| | | | | | | +--- androidx.collection:collection:1.4.2 -> 1.5.0 (*)
|
||||
| | | | | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
|
||||
| | | | | | | +--- androidx.core:core-viewtree:1.0.0 (*)
|
||||
| | | | | | | +--- androidx.interpolator:interpolator:1.0.0
|
||||
| | | | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.9.2 (*)
|
||||
| | | | | | | +--- androidx.tracing:tracing:1.2.0 -> 1.3.0 (*)
|
||||
| | | | | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
|
||||
| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | | | | | \--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.21 (*)
|
||||
| | | | | | | +--- org.jspecify:jspecify:1.0.0
|
||||
| | | | | | | +--- androidx.core:core-ktx:1.16.0 (c)
|
||||
| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (c)
|
||||
| | | | | | +--- androidx.core:core:1.16.0 (*)
|
||||
| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.21 (*)
|
||||
| | | | | | +--- androidx.core:core:1.16.0 (c)
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (c)
|
||||
@ -402,6 +349,354 @@
|
||||
| | | | | +--- androidx.activity:activity-compose:1.10.1 (c)
|
||||
| | | | | +--- androidx.activity:activity-ktx:1.10.1 (c)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (c)
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
|
||||
| | | | +--- androidx.collection:collection:1.1.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.16.0 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.loader:loader:1.0.0 -> 1.1.0 (*)
|
||||
| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
|
||||
| | | | +--- androidx.savedstate:savedstate:1.2.1 -> 1.3.1 (*)
|
||||
| | | | +--- androidx.viewpager:viewpager:1.0.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core:1.3.0 -> 1.16.0 (*)
|
||||
| | | | | \--- androidx.collection:collection:1.1.0 -> 1.5.0 (*)
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | \--- androidx.fragment:fragment-ktx:1.8.8 (c)
|
||||
| | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-measurement-base:22.5.0
|
||||
| | | | \--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-measurement-impl:22.5.0
|
||||
| | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.core:core:1.9.0 -> 1.16.0 (*)
|
||||
| | | | +--- androidx.privacysandbox.ads:ads-adservices:1.1.0-beta11
|
||||
| | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core-ktx:1.8.0 -> 1.16.0 (*)
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | | \--- androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta11 (c)
|
||||
| | | | +--- androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta11
|
||||
| | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
|
||||
| | | | | +--- androidx.core:core-ktx:1.8.0 -> 1.16.0 (*)
|
||||
| | | | | +--- androidx.privacysandbox.ads:ads-adservices:1.1.0-beta11 (*)
|
||||
| | | | | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | | \--- androidx.privacysandbox.ads:ads-adservices:1.1.0-beta11 (c)
|
||||
| | | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-base:18.5.0
|
||||
| | | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | +--- androidx.core:core:1.2.0 -> 1.16.0 (*)
|
||||
| | | | | +--- androidx.fragment:fragment:1.0.0 -> 1.8.8 (*)
|
||||
| | | | | +--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | | | \--- com.google.android.gms:play-services-tasks:18.2.0
|
||||
| | | | | \--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-stats:17.0.2
|
||||
| | | | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|
||||
| | | | | \--- com.google.android.gms:play-services-basement:18.0.0 -> 18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
|
||||
| | | | \--- com.google.guava:guava:31.1-android -> 33.4.8-android
|
||||
| | | | +--- com.google.guava:failureaccess:1.0.3
|
||||
| | | | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
| | | | +--- org.jspecify:jspecify:1.0.0
|
||||
| | | | +--- com.google.errorprone:error_prone_annotations:2.36.0
|
||||
| | | | \--- com.google.j2objc:j2objc-annotations:3.0.0
|
||||
| | | +--- com.google.android.gms:play-services-measurement-sdk-api:22.5.0
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | \--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | \--- com.google.android.gms:play-services-stats:17.0.2 (*)
|
||||
| | +--- com.google.android.gms:play-services-measurement-api:22.5.0
|
||||
| | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-measurement-sdk-api:22.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-common:21.0.0
|
||||
| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4 -> 1.10.2
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
|
||||
| | | | | +--- com.google.android.gms:play-services-tasks:16.0.1 -> 18.2.0 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.1.21 (*)
|
||||
| | | | +--- com.google.firebase:firebase-components:18.0.0
|
||||
| | | | | +--- com.google.firebase:firebase-annotations:16.2.0
|
||||
| | | | | | \--- javax.inject:javax.inject:1
|
||||
| | | | | +--- androidx.annotation:annotation:1.5.0 -> 1.9.1 (*)
|
||||
| | | | | \--- com.google.errorprone:error_prone_annotations:2.26.0 -> 2.36.0
|
||||
| | | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | +--- androidx.annotation:annotation:1.5.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.3.0 -> 18.5.0 (*)
|
||||
| | | | \--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-common-ktx:21.0.0
|
||||
| | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.0
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.0 -> 2.1.21 (*)
|
||||
| | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | | \--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-installations:17.0.1 -> 18.0.0
|
||||
| | | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-installations-interop:17.1.1 -> 17.2.0
|
||||
| | | | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
|
||||
| | | | | \--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | +--- com.google.firebase:firebase-installations-interop:17.0.0 -> 17.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-measurement-connector:19.0.0 -> 20.0.1
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.0.0 -> 18.5.0 (*)
|
||||
| | | | \--- com.google.firebase:firebase-annotations:16.0.0 -> 16.2.0 (*)
|
||||
| | | +--- com.google.guava:guava:31.1-android -> 33.4.8-android (*)
|
||||
| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.0 -> 2.1.21 (*)
|
||||
| | \--- com.google.android.gms:play-services-measurement-sdk:22.5.0
|
||||
| | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | +--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | \--- com.google.android.gms:play-services-measurement-impl:22.5.0 (*)
|
||||
| +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.21 (*)
|
||||
+--- com.google.firebase:firebase-crashlytics-ktx -> 19.4.4
|
||||
| +--- com.google.firebase:firebase-crashlytics:19.4.4
|
||||
| | +--- com.google.firebase:firebase-sessions:2.1.2
|
||||
| | | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-installations-interop:17.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-encoders:17.0.0
|
||||
| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | +--- com.google.firebase:firebase-encoders-json:18.0.1
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10 -> 1.8.22 (*)
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | \--- com.google.firebase:firebase-encoders:17.0.0 (*)
|
||||
| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 (*)
|
||||
| | | +--- com.google.firebase:firebase-installations:18.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-datatransport:19.0.0
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:3.1.0 -> 3.2.0
|
||||
| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:3.2.0 -> 3.3.0
|
||||
| | | | | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
|
||||
| | | | | +--- com.google.android.datatransport:transport-runtime:3.3.0
|
||||
| | | | | | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
|
||||
| | | | | | +--- androidx.annotation:annotation:1.3.0 -> 1.9.1 (*)
|
||||
| | | | | | +--- javax.inject:javax.inject:1
|
||||
| | | | | | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
|
||||
| | | | | | \--- com.google.firebase:firebase-encoders-proto:16.0.0
|
||||
| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | | | \--- com.google.firebase:firebase-encoders:17.0.0 (*)
|
||||
| | | | | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
|
||||
| | | | | +--- com.google.firebase:firebase-encoders-json:18.0.0 -> 18.0.1 (*)
|
||||
| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:3.2.0 -> 3.3.0 (*)
|
||||
| | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
|
||||
| | | +--- javax.inject:javax.inject:1
|
||||
| | | +--- androidx.annotation:annotation:1.5.0 -> 1.9.1 (*)
|
||||
| | | \--- androidx.datastore:datastore-preferences:1.1.3
|
||||
| | | \--- androidx.datastore:datastore-preferences-android:1.1.3
|
||||
| | | +--- androidx.datastore:datastore:1.1.3
|
||||
| | | | \--- androidx.datastore:datastore-android:1.1.3
|
||||
| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.datastore:datastore-core:1.1.3
|
||||
| | | | | \--- androidx.datastore:datastore-core-android:1.1.3
|
||||
| | | | | +--- androidx.annotation:annotation:1.7.0 -> 1.9.1 (*)
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.22 -> 2.1.20
|
||||
| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.20
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | | +--- androidx.datastore:datastore:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-core-okio:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences-core:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3 (c)
|
||||
| | | | | \--- androidx.datastore:datastore-preferences-proto:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-core-okio:1.1.3
|
||||
| | | | | \--- androidx.datastore:datastore-core-okio-jvm:1.1.3
|
||||
| | | | | +--- androidx.datastore:datastore-core:1.1.3 (*)
|
||||
| | | | | +--- com.squareup.okio:okio:3.4.0 -> 3.15.0
|
||||
| | | | | | \--- com.squareup.okio:okio-jvm:3.15.0
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.21 (*)
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | | +--- androidx.datastore:datastore:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-core:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences-core:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3 (c)
|
||||
| | | | | \--- androidx.datastore:datastore-preferences-proto:1.1.3 (c)
|
||||
| | | | +--- com.squareup.okio:okio:3.4.0 -> 3.15.0 (*)
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | +--- androidx.datastore:datastore-core:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-core-okio:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-preferences:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-preferences-core:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-preferences-proto:1.1.3 (c)
|
||||
| | | | \--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3 (c)
|
||||
| | | +--- androidx.datastore:datastore-preferences-core:1.1.3
|
||||
| | | | \--- androidx.datastore:datastore-preferences-core-jvm:1.1.3
|
||||
| | | | +--- androidx.datastore:datastore-core:1.1.3 (*)
|
||||
| | | | +--- androidx.datastore:datastore-core-okio:1.1.3 (*)
|
||||
| | | | +--- androidx.datastore:datastore-preferences-proto:1.1.3
|
||||
| | | | | +--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3
|
||||
| | | | | | +--- androidx.datastore:datastore:1.1.3 (c)
|
||||
| | | | | | +--- androidx.datastore:datastore-core:1.1.3 (c)
|
||||
| | | | | | +--- androidx.datastore:datastore-core-okio:1.1.3 (c)
|
||||
| | | | | | +--- androidx.datastore:datastore-preferences:1.1.3 (c)
|
||||
| | | | | | +--- androidx.datastore:datastore-preferences-core:1.1.3 (c)
|
||||
| | | | | | \--- androidx.datastore:datastore-preferences-proto:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-core:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-core-okio:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences:1.1.3 (c)
|
||||
| | | | | +--- androidx.datastore:datastore-preferences-core:1.1.3 (c)
|
||||
| | | | | \--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3 (c)
|
||||
| | | | +--- com.squareup.okio:okio:3.4.0 -> 3.15.0 (*)
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | +--- androidx.datastore:datastore:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-core:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-core-okio:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-preferences:1.1.3 (c)
|
||||
| | | | +--- androidx.datastore:datastore-preferences-proto:1.1.3 (c)
|
||||
| | | | \--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3 (c)
|
||||
| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | +--- androidx.datastore:datastore:1.1.3 (c)
|
||||
| | | +--- androidx.datastore:datastore-preferences-core:1.1.3 (c)
|
||||
| | | +--- androidx.datastore:datastore-core:1.1.3 (c)
|
||||
| | | +--- androidx.datastore:datastore-core-okio:1.1.3 (c)
|
||||
| | | +--- androidx.datastore:datastore-preferences-proto:1.1.3 (c)
|
||||
| | | \--- androidx.datastore:datastore-preferences-external-protobuf:1.1.3 (c)
|
||||
| | +--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
|
||||
| | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | +--- com.google.firebase:firebase-config-interop:16.0.1
|
||||
| | | +--- com.google.firebase:firebase-encoders-json:18.0.1 (*)
|
||||
| | | \--- com.google.firebase:firebase-encoders:17.0.0 (*)
|
||||
| | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
|
||||
| | +--- com.google.firebase:firebase-encoders-json:18.0.1 (*)
|
||||
| | +--- com.google.firebase:firebase-installations:18.0.0 (*)
|
||||
| | +--- com.google.firebase:firebase-installations-interop:17.2.0 (*)
|
||||
| | +--- com.google.firebase:firebase-measurement-connector:20.0.1 (*)
|
||||
| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 (*)
|
||||
| | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
|
||||
| | +--- com.google.android.datatransport:transport-backend-cct:3.3.0 (*)
|
||||
| | +--- com.google.android.datatransport:transport-runtime:3.3.0 (*)
|
||||
| | \--- androidx.annotation:annotation:1.5.0 -> 1.9.1 (*)
|
||||
| +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 (*)
|
||||
| \--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
+--- androidx.compose:compose-bom:2025.07.00
|
||||
| +--- androidx.compose.material3:material3:1.3.2 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-layout:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-navigation:1.1.0 (c)
|
||||
| +--- androidx.compose.runtime:runtime:1.8.3 (c)
|
||||
| +--- androidx.compose.runtime:runtime-tracing:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-tooling-preview:1.8.3 (c)
|
||||
| +--- androidx.compose.runtime:runtime-saveable:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui:1.8.3 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-android:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-layout-android:1.1.0 (c)
|
||||
| +--- androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0 (c)
|
||||
| +--- androidx.compose.material3:material3-android:1.3.2 (c)
|
||||
| +--- androidx.compose.runtime:runtime-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-tooling-preview-android:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-extended:1.7.8 (c)
|
||||
| +--- androidx.compose.runtime:runtime-saveable-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-geometry:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation-core:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation-layout:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-util:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-core:1.7.8 (c)
|
||||
| +--- androidx.compose.material:material-ripple:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-text:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-graphics:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-unit:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-extended-android:1.7.8 (c)
|
||||
| +--- androidx.compose.ui:ui-geometry-android:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation-android:1.8.3 (c)
|
||||
| +--- androidx.compose.animation:animation-core-android:1.8.3 (c)
|
||||
| +--- androidx.compose.foundation:foundation-layout-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-util-android:1.8.3 (c)
|
||||
| +--- androidx.compose.material:material-icons-core-android:1.7.8 (c)
|
||||
| +--- androidx.compose.material:material-ripple-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-text-android:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-graphics-android:1.8.3 (c)
|
||||
| \--- androidx.compose.ui:ui-unit-android:1.8.3 (c)
|
||||
+--- androidx.compose.ui:ui-tooling-preview -> 1.8.3
|
||||
| \--- androidx.compose.ui:ui-tooling-preview-android:1.8.3
|
||||
| +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| +--- androidx.compose.runtime:runtime:1.8.3
|
||||
| | \--- androidx.compose.runtime:runtime-android:1.8.3
|
||||
| | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
|
||||
| | +--- androidx.collection:collection:1.5.0 (*)
|
||||
| | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.21 (*)
|
||||
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.2 (*)
|
||||
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | +--- androidx.compose.runtime:runtime-tracing:1.8.3 (c)
|
||||
| | +--- androidx.compose.runtime:runtime-saveable:1.8.3 (c)
|
||||
| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.21 (c)
|
||||
| +--- androidx.compose.ui:ui:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-geometry:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-graphics:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-text:1.8.3 (c)
|
||||
| +--- androidx.compose.ui:ui-unit:1.8.3 (c)
|
||||
| \--- androidx.compose.ui:ui-util:1.8.3 (c)
|
||||
+--- project :cmp-shared
|
||||
| +--- androidx.lifecycle:lifecycle-runtime-compose:2.9.2
|
||||
| | \--- androidx.lifecycle:lifecycle-runtime-compose-android:2.9.2
|
||||
| | +--- androidx.annotation:annotation:1.9.1 (*)
|
||||
| | +--- androidx.compose.runtime:runtime:1.7.1 -> 1.8.3 (*)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime:2.9.2 (*)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.9.2 (*)
|
||||
| | +--- androidx.lifecycle:lifecycle-common:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-livedata:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-livedata-core:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-process:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-service:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.2 (c)
|
||||
| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.9.2 (c)
|
||||
| | \--- androidx.lifecycle:lifecycle-common-java8:2.9.2 (c)
|
||||
| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.9.2
|
||||
| | \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.9.2
|
||||
| | +--- androidx.annotation:annotation:1.9.1 (*)
|
||||
| | +--- androidx.compose.runtime:runtime:1.7.8 -> 1.8.3 (*)
|
||||
| | +--- androidx.compose.ui:ui:1.7.8 -> 1.8.3
|
||||
| | | \--- androidx.compose.ui:ui-android:1.8.3
|
||||
| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.10.1
|
||||
| | | | +--- androidx.activity:activity:1.10.1 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.9.2
|
||||
| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.9.2 (*)
|
||||
@ -656,40 +951,14 @@
|
||||
| | | +--- androidx.drawerlayout:drawerlayout:1.0.0
|
||||
| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.core:core:1.3.0 -> 1.16.0 (*)
|
||||
| | | | \--- androidx.collection:collection:1.1.0 -> 1.5.0 (*)
|
||||
| | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
|
||||
| | | +--- androidx.emoji2:emoji2:1.3.0 -> 1.4.0 (*)
|
||||
| | | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.4.0
|
||||
| | | | +--- androidx.collection:collection:1.1.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.core:core:1.3.0 -> 1.16.0 (*)
|
||||
| | | | +--- androidx.emoji2:emoji2:1.4.0 (*)
|
||||
| | | | \--- androidx.emoji2:emoji2:1.4.0 (c)
|
||||
| | | +--- androidx.fragment:fragment:1.5.4 -> 1.8.8
|
||||
| | | | +--- androidx.activity:activity:1.8.1 -> 1.10.1 (*)
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
|
||||
| | | | +--- androidx.collection:collection:1.1.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.16.0 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.9.2 (*)
|
||||
| | | | +--- androidx.loader:loader:1.0.0 -> 1.1.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0 -> 2.9.2 (*)
|
||||
| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.9.2 (*)
|
||||
| | | | | \--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
|
||||
| | | | +--- androidx.savedstate:savedstate:1.2.1 -> 1.3.1 (*)
|
||||
| | | | +--- androidx.viewpager:viewpager:1.0.0
|
||||
| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
|
||||
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | \--- androidx.fragment:fragment-ktx:1.8.8 (c)
|
||||
| | | +--- androidx.fragment:fragment:1.5.4 -> 1.8.8 (*)
|
||||
| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.9.2 (*)
|
||||
| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.9.2 (*)
|
||||
| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
|
||||
@ -1011,9 +1280,7 @@
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2 (*)
|
||||
| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.21 (*)
|
||||
| | | | | +--- com.squareup.okio:okio:3.11.0 -> 3.15.0
|
||||
| | | | | | \--- com.squareup.okio:okio-jvm:3.15.0
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.21 (*)
|
||||
| | | | | +--- com.squareup.okio:okio:3.11.0 -> 3.15.0 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (c)
|
||||
| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | +--- io.coil-kt.coil3:coil-core:3.2.0 (*)
|
||||
@ -1143,10 +1410,7 @@
|
||||
| | | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
|
||||
| | | | \--- org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
|
||||
| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.21 (*)
|
||||
| | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.20
|
||||
| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.20
|
||||
| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.20 (*)
|
||||
| | +--- project :core:datastore
|
||||
| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | +--- io.insert-koin:koin-bom:4.1.0 (*)
|
||||
@ -1188,10 +1452,7 @@
|
||||
| | | | +--- io.ktor:ktor-client-core:3.1.2 (*)
|
||||
| | | | +--- com.squareup.okhttp3:okhttp:4.12.0
|
||||
| | | | | +--- com.squareup.okio:okio:3.6.0 -> 3.15.0 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.8.22
|
||||
| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.0
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.0 -> 2.1.21 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.8.22 (*)
|
||||
| | | | +--- com.squareup.okhttp3:okhttp-sse:4.12.0
|
||||
| | | | | +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
|
||||
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.8.22 (*)
|
||||
@ -1279,133 +1540,8 @@
|
||||
| | +--- io.insert-koin:koin-core:4.1.0 (*)
|
||||
| | +--- io.insert-koin:koin-annotations:2.1.0 (*)
|
||||
| | +--- project :core:analytics
|
||||
| | | +--- com.google.firebase:firebase-bom:33.16.0
|
||||
| | | | +--- com.google.firebase:firebase-analytics-ktx:22.5.0 (c)
|
||||
| | | | +--- com.google.firebase:firebase-encoders:17.0.0 (c)
|
||||
| | | | +--- com.google.firebase:firebase-analytics:22.5.0 (c)
|
||||
| | | | +--- com.google.firebase:firebase-common:21.0.0 (c)
|
||||
| | | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (c)
|
||||
| | | | \--- com.google.firebase:firebase-installations:18.0.0 (c)
|
||||
| | | +--- com.google.firebase:firebase-analytics-ktx -> 22.5.0
|
||||
| | | | +--- com.google.firebase:firebase-analytics:22.5.0
|
||||
| | | | | +--- com.google.android.gms:play-services-measurement:22.5.0
|
||||
| | | | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | | +--- androidx.legacy:legacy-support-core-utils:1.0.0
|
||||
| | | | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | | | | +--- androidx.documentfile:documentfile:1.0.0 -> 1.1.0
|
||||
| | | | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | | | | +--- androidx.core:core:1.7.0 -> 1.16.0 (*)
|
||||
| | | | | | | | \--- org.jspecify:jspecify:1.0.0
|
||||
| | | | | | | +--- androidx.loader:loader:1.0.0 -> 1.1.0 (*)
|
||||
| | | | | | | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|
||||
| | | | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | | | \--- androidx.print:print:1.0.0
|
||||
| | | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
| | | | | | | \--- com.google.android.gms:play-services-basement:18.0.0 -> 18.5.0
|
||||
| | | | | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | | | +--- androidx.core:core:1.2.0 -> 1.16.0 (*)
|
||||
| | | | | | | \--- androidx.fragment:fragment:1.1.0 -> 1.8.8 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-measurement-base:22.5.0
|
||||
| | | | | | | \--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-measurement-impl:22.5.0
|
||||
| | | | | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | | | +--- androidx.core:core:1.9.0 -> 1.16.0 (*)
|
||||
| | | | | | | +--- androidx.privacysandbox.ads:ads-adservices:1.1.0-beta11
|
||||
| | | | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | | | | +--- androidx.core:core-ktx:1.8.0 -> 1.16.0 (*)
|
||||
| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | | | | | \--- androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta11 (c)
|
||||
| | | | | | | +--- androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta11
|
||||
| | | | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
|
||||
| | | | | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
|
||||
| | | | | | | | +--- androidx.core:core-ktx:1.8.0 -> 1.16.0 (*)
|
||||
| | | | | | | | +--- androidx.privacysandbox.ads:ads-adservices:1.1.0-beta11 (*)
|
||||
| | | | | | | | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
|
||||
| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.2 (*)
|
||||
| | | | | | | | \--- androidx.privacysandbox.ads:ads-adservices:1.1.0-beta11 (c)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-base:18.5.0
|
||||
| | | | | | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | | | | +--- androidx.core:core:1.2.0 -> 1.16.0 (*)
|
||||
| | | | | | | | +--- androidx.fragment:fragment:1.0.0 -> 1.8.8 (*)
|
||||
| | | | | | | | +--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | | | | | | \--- com.google.android.gms:play-services-tasks:18.2.0
|
||||
| | | | | | | | \--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-stats:17.0.2
|
||||
| | | | | | | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|
||||
| | | | | | | | \--- com.google.android.gms:play-services-basement:18.0.0 -> 18.5.0 (*)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
|
||||
| | | | | | | \--- com.google.guava:guava:31.1-android -> 33.4.8-android
|
||||
| | | | | | | +--- com.google.guava:failureaccess:1.0.3
|
||||
| | | | | | | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
| | | | | | | +--- org.jspecify:jspecify:1.0.0
|
||||
| | | | | | | +--- com.google.errorprone:error_prone_annotations:2.36.0
|
||||
| | | | | | | \--- com.google.j2objc:j2objc-annotations:3.0.0
|
||||
| | | | | | +--- com.google.android.gms:play-services-measurement-sdk-api:22.5.0
|
||||
| | | | | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | | | | \--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | | | | \--- com.google.android.gms:play-services-stats:17.0.2 (*)
|
||||
| | | | | +--- com.google.android.gms:play-services-measurement-api:22.5.0
|
||||
| | | | | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-measurement-sdk-api:22.5.0 (*)
|
||||
| | | | | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
|
||||
| | | | | | +--- com.google.firebase:firebase-common:21.0.0
|
||||
| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4 -> 1.10.2
|
||||
| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
|
||||
| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
|
||||
| | | | | | | | +--- com.google.android.gms:play-services-tasks:16.0.1 -> 18.2.0 (*)
|
||||
| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.1.21 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-components:18.0.0
|
||||
| | | | | | | | +--- com.google.firebase:firebase-annotations:16.2.0
|
||||
| | | | | | | | | \--- javax.inject:javax.inject:1
|
||||
| | | | | | | | +--- androidx.annotation:annotation:1.5.0 -> 1.9.1 (*)
|
||||
| | | | | | | | \--- com.google.errorprone:error_prone_annotations:2.26.0 -> 2.36.0
|
||||
| | | | | | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | | | | +--- androidx.annotation:annotation:1.5.0 -> 1.9.1 (*)
|
||||
| | | | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
|
||||
| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | | | +--- com.google.android.gms:play-services-basement:18.3.0 -> 18.5.0 (*)
|
||||
| | | | | | | \--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
|
||||
| | | | | | +--- com.google.firebase:firebase-common-ktx:21.0.0
|
||||
| | | | | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | | | | | \--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | | | | +--- com.google.firebase:firebase-installations:17.0.1 -> 18.0.0
|
||||
| | | | | | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | | | | | +--- com.google.firebase:firebase-installations-interop:17.1.1
|
||||
| | | | | | | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
|
||||
| | | | | | | | \--- com.google.firebase:firebase-annotations:16.2.0 (*)
|
||||
| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.21 (*)
|
||||
| | | | | | +--- com.google.firebase:firebase-installations-interop:17.0.0 -> 17.1.1 (*)
|
||||
| | | | | | +--- com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
| | | | | | | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.5.0 (*)
|
||||
| | | | | | | \--- com.google.firebase:firebase-annotations:16.0.0 -> 16.2.0 (*)
|
||||
| | | | | | +--- com.google.guava:guava:31.1-android -> 33.4.8-android (*)
|
||||
| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.0 -> 2.1.21 (*)
|
||||
| | | | | \--- com.google.android.gms:play-services-measurement-sdk:22.5.0
|
||||
| | | | | +--- androidx.collection:collection:1.0.0 -> 1.5.0 (*)
|
||||
| | | | | +--- com.google.android.gms:play-services-basement:18.5.0 (*)
|
||||
| | | | | +--- com.google.android.gms:play-services-measurement-base:22.5.0 (*)
|
||||
| | | | | \--- com.google.android.gms:play-services-measurement-impl:22.5.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
|
||||
| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.21 (*)
|
||||
| | | +--- com.google.firebase:firebase-bom:33.16.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-analytics-ktx -> 22.5.0 (*)
|
||||
| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | | +--- io.insert-koin:koin-bom:4.1.0 (*)
|
||||
| | | +--- io.insert-koin:koin-core:4.1.0 (*)
|
||||
@ -2386,53 +2522,41 @@
|
||||
| | +--- io.insert-koin:koin-core-viewmodel:4.1.0 (*)
|
||||
| | +--- com.google.android.gms:play-services-code-scanner:16.1.0
|
||||
| | | +--- androidx.activity:activity:1.3.1 -> 1.10.1 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-api:2.2.1
|
||||
| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.5 -> 2.2.6
|
||||
| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | | +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|
||||
| | | | | \--- javax.inject:javax.inject:1
|
||||
| | | | +--- com.google.firebase:firebase-encoders:16.1.0 -> 17.0.0
|
||||
| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | \--- com.google.firebase:firebase-encoders-json:17.1.0
|
||||
| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
|
||||
| | | | \--- com.google.firebase:firebase-encoders:16.1.0 -> 17.0.0 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-runtime:2.2.6 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-api:2.2.1 -> 3.2.0 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 -> 3.3.0 (*)
|
||||
| | | +--- com.google.android.datatransport:transport-runtime:2.2.6 -> 3.3.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-base:18.1.0 -> 18.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-tasks:18.0.2 -> 18.2.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-components:16.1.0 -> 18.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-encoders:16.1.0 -> 17.0.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-encoders-json:17.1.0 (*)
|
||||
| | | +--- com.google.firebase:firebase-encoders-json:17.1.0 -> 18.0.1 (*)
|
||||
| | | +--- com.google.mlkit:barcode-scanning-common:17.0.0
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.0.0 -> 18.5.0 (*)
|
||||
| | | | \--- com.google.mlkit:vision-common:17.0.0 -> 17.3.0
|
||||
| | | | +--- androidx.exifinterface:exifinterface:1.0.0 -> 1.4.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.6 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 -> 3.2.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 -> 3.3.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.6 -> 3.3.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-base:18.1.0 -> 18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-tasks:18.0.2 -> 18.2.0 (*)
|
||||
| | | | +--- com.google.android.odml:image:1.0.0-beta1
|
||||
| | | | +--- com.google.firebase:firebase-components:16.1.0 -> 18.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders:16.1.0 -> 17.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders-json:17.1.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders-json:17.1.0 -> 18.0.1 (*)
|
||||
| | | | \--- com.google.mlkit:common:18.6.0 -> 18.11.0
|
||||
| | | | +--- androidx.appcompat:appcompat:1.6.1 -> 1.7.1 (*)
|
||||
| | | | +--- androidx.core:core:1.0.0 -> 1.16.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.6 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 -> 3.2.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 -> 3.3.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.6 -> 3.3.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-base:18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-components:16.1.0 -> 18.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders:16.1.0 -> 17.0.0 (*)
|
||||
| | | | \--- com.google.firebase:firebase-encoders-json:17.1.0 (*)
|
||||
| | | | \--- com.google.firebase:firebase-encoders-json:17.1.0 -> 18.0.1 (*)
|
||||
| | | \--- com.google.mlkit:common:18.9.0 -> 18.11.0 (*)
|
||||
| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.1.21 (*)
|
||||
| | +--- io.insert-koin:koin-core:4.1.0 (*)
|
||||
@ -2576,16 +2700,16 @@
|
||||
| | +--- com.google.mlkit:barcode-scanning:17.3.0
|
||||
| | | +--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | +--- com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.6 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-api:2.2.1 -> 3.2.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-backend-cct:2.3.3 -> 3.3.0 (*)
|
||||
| | | | +--- com.google.android.datatransport:transport-runtime:2.2.6 -> 3.3.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-base:18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-basement:18.4.0 -> 18.5.0 (*)
|
||||
| | | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
|
||||
| | | | +--- com.google.android.odml:image:1.0.0-beta1
|
||||
| | | | +--- com.google.firebase:firebase-components:16.1.0 -> 18.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders:16.1.0 -> 17.0.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders-json:17.1.0 (*)
|
||||
| | | | +--- com.google.firebase:firebase-encoders-json:17.1.0 -> 18.0.1 (*)
|
||||
| | | | +--- com.google.mlkit:barcode-scanning-common:17.0.0 (*)
|
||||
| | | | +--- com.google.mlkit:common:18.11.0 (*)
|
||||
| | | | +--- com.google.mlkit:vision-common:17.3.0 (*)
|
||||
|
||||
@ -110,6 +110,18 @@ androidx.databinding:databinding-common:8.11.1
|
||||
androidx.databinding:databinding-ktx:8.11.1
|
||||
androidx.databinding:databinding-runtime:8.11.1
|
||||
androidx.databinding:viewbinding:8.11.1
|
||||
androidx.datastore:datastore-android:1.1.3
|
||||
androidx.datastore:datastore-core-android:1.1.3
|
||||
androidx.datastore:datastore-core-okio-jvm:1.1.3
|
||||
androidx.datastore:datastore-core-okio:1.1.3
|
||||
androidx.datastore:datastore-core:1.1.3
|
||||
androidx.datastore:datastore-preferences-android:1.1.3
|
||||
androidx.datastore:datastore-preferences-core-jvm:1.1.3
|
||||
androidx.datastore:datastore-preferences-core:1.1.3
|
||||
androidx.datastore:datastore-preferences-external-protobuf:1.1.3
|
||||
androidx.datastore:datastore-preferences-proto:1.1.3
|
||||
androidx.datastore:datastore-preferences:1.1.3
|
||||
androidx.datastore:datastore:1.1.3
|
||||
androidx.documentfile:documentfile:1.1.0
|
||||
androidx.drawerlayout:drawerlayout:1.0.0
|
||||
androidx.emoji2:emoji2-views-helper:1.4.0
|
||||
@ -196,9 +208,9 @@ com.caverock:androidsvg-aar:1.4
|
||||
com.google.accompanist:accompanist-drawablepainter:0.37.3
|
||||
com.google.accompanist:accompanist-pager:0.36.0
|
||||
com.google.accompanist:accompanist-permissions:0.36.0
|
||||
com.google.android.datatransport:transport-api:2.2.1
|
||||
com.google.android.datatransport:transport-backend-cct:2.3.3
|
||||
com.google.android.datatransport:transport-runtime:2.2.6
|
||||
com.google.android.datatransport:transport-api:3.2.0
|
||||
com.google.android.datatransport:transport-backend-cct:3.3.0
|
||||
com.google.android.datatransport:transport-runtime:3.3.0
|
||||
com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
com.google.android.gms:play-services-auth-api-phone:18.0.2
|
||||
com.google.android.gms:play-services-auth-base:18.0.10
|
||||
@ -229,11 +241,17 @@ com.google.firebase:firebase-bom:33.16.0
|
||||
com.google.firebase:firebase-common-ktx:21.0.0
|
||||
com.google.firebase:firebase-common:21.0.0
|
||||
com.google.firebase:firebase-components:18.0.0
|
||||
com.google.firebase:firebase-encoders-json:17.1.0
|
||||
com.google.firebase:firebase-config-interop:16.0.1
|
||||
com.google.firebase:firebase-crashlytics-ktx:19.4.4
|
||||
com.google.firebase:firebase-crashlytics:19.4.4
|
||||
com.google.firebase:firebase-datatransport:19.0.0
|
||||
com.google.firebase:firebase-encoders-json:18.0.1
|
||||
com.google.firebase:firebase-encoders-proto:16.0.0
|
||||
com.google.firebase:firebase-encoders:17.0.0
|
||||
com.google.firebase:firebase-installations-interop:17.1.1
|
||||
com.google.firebase:firebase-installations-interop:17.2.0
|
||||
com.google.firebase:firebase-installations:18.0.0
|
||||
com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
com.google.firebase:firebase-measurement-connector:20.0.1
|
||||
com.google.firebase:firebase-sessions:2.1.2
|
||||
com.google.guava:failureaccess:1.0.3
|
||||
com.google.guava:guava:33.4.8-android
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package: name='org.mifospay' versionCode='1' versionName='2025.7.4-beta.0.5' platformBuildVersionName='15' platformBuildVersionCode='35' compileSdkVersion='35' compileSdkVersionCodename='15'
|
||||
package: name='org.mifospay' versionCode='1' versionName='2025.7.5-beta.0.2' platformBuildVersionName='15' platformBuildVersionCode='35' compileSdkVersion='35' compileSdkVersionCodename='15'
|
||||
minSdkVersion:'26'
|
||||
targetSdkVersion:'34'
|
||||
uses-permission: name='android.permission.INTERNET'
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
alias(libs.plugins.android.library)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
alias(libs.plugins.jetbrainsCompose)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.jetbrainsCompose)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
alias(libs.plugins.jetbrainsCompose)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
id("kotlinx-serialization")
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.jetbrainsCompose)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
alias(libs.plugins.roborazzi)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.kotlin.allopen)
|
||||
}
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
id("kotlinx-serialization")
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.ktorfit)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.ksp)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.kmp.library)
|
||||
alias(libs.plugins.kmp.library.convention)
|
||||
alias(libs.plugins.jetbrainsCompose)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -19,7 +19,7 @@ import org.jetbrains.compose.ExperimentalComposeLibrary
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
alias(libs.plugins.mokkery)
|
||||
}
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@ -22,6 +22,9 @@ androidxProfileinstaller = "1.4.1"
|
||||
androidxTracing = "1.3.0"
|
||||
appcompatVersion = "1.7.1"
|
||||
coreKtxVersion = "1.16.0"
|
||||
androidxMacroBenchmark = "1.3.4"
|
||||
|
||||
calfPermissions = "0.8.0"
|
||||
|
||||
# KotlinX Dependencies
|
||||
lifecycleExtensionsVersion = "2.2.0"
|
||||
@ -59,6 +62,9 @@ googleOssPlugin = "0.10.6"
|
||||
googleidVersion = "1.1.1"
|
||||
guavaVersion = "33.4.8-android"
|
||||
credentialsVersion = "1.5.0"
|
||||
review = "2.0.2"
|
||||
appUpdate = "2.1.0"
|
||||
integrity = "1.4.0"
|
||||
|
||||
# Static Analysis & Code Formatting
|
||||
ktlint = "12.1.1"
|
||||
@ -105,6 +111,7 @@ okioVersion = "3.15.0"
|
||||
kermit = "2.0.6"
|
||||
fileKit = "0.10.0-beta04"
|
||||
wire = "5.3.5"
|
||||
uiBackhandler = "1.8.2"
|
||||
|
||||
# Jetbrains CMP
|
||||
windowsSizeClass = "0.5.0"
|
||||
@ -114,6 +121,8 @@ composeLifecycle = "2.9.1"
|
||||
composeNavigation = "2.8.0-alpha13"
|
||||
jbCoreBundle = "1.0.1"
|
||||
jbSavedState = "1.3.1"
|
||||
gitLive = "2.1.0"
|
||||
material3adaptive = "1.1.2"
|
||||
|
||||
# Desktop Version
|
||||
packageName = "MifosWallet"
|
||||
@ -184,6 +193,7 @@ androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profi
|
||||
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" }
|
||||
androidx-tracing-ktx = { group = "androidx.tracing", name = "tracing-ktx", version.ref = "androidxTracing" }
|
||||
|
||||
calf-permissions = { module = "com.mohamedrejeb.calf:calf-permissions", version.ref = "calfPermissions" }
|
||||
ktlint-gradlePlugin = { group = "org.jlleitschuh.gradle", name = "ktlint-gradle", version.ref = "ktlint" }
|
||||
detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
|
||||
spotless-gradle = { group = "com.diffplug.spotless", name = "spotless-plugin-gradle", version.ref = "spotlessVersion" }
|
||||
@ -199,6 +209,10 @@ firebase-crashlytics-gradlePlugin = { group = "com.google.firebase", name = "fir
|
||||
firebase-performance = { group = "com.google.firebase", name = "firebase-perf-ktx" }
|
||||
firebase-performance-gradlePlugin = { group = "com.google.firebase", name = "perf-plugin", version.ref = "firebasePerfPlugin" }
|
||||
|
||||
gitlive-firebase-analytics = { module = "dev.gitlive:firebase-analytics", version.ref = "gitLive" }
|
||||
gitlive-firebase-crashlytics = { module = "dev.gitlive:firebase-crashlytics", version.ref = "gitLive" }
|
||||
gitlive-firebase-performance = { module = "dev.gitlive:firebase-performance", version.ref = "gitLive" }
|
||||
|
||||
play-services-auth = { group = "com.google.android.gms", name = "play-services-auth", version.ref = "playServicesAuthVersion" }
|
||||
google-oss-licenses = { group = "com.google.android.gms", name = "play-services-oss-licenses", version.ref = "googleOss" }
|
||||
google-oss-licenses-plugin = { group = "com.google.android.gms", name = "oss-licenses-plugin", version.ref = "googleOssPlugin" }
|
||||
@ -221,6 +235,12 @@ truth = { group = "com.google.truth", name = "truth", version.ref = "truth" }
|
||||
turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbineVersion" }
|
||||
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
|
||||
|
||||
app-update = { module = "com.google.android.play:app-update", version.ref = "appUpdate" }
|
||||
app-update-ktx = { module = "com.google.android.play:app-update-ktx", version.ref = "appUpdate" }
|
||||
integrity = { module = "com.google.android.play:integrity", version.ref = "integrity" }
|
||||
review = { module = "com.google.android.play:review", version.ref = "review" }
|
||||
review-ktx = { module = "com.google.android.play:review-ktx", version.ref = "review" }
|
||||
|
||||
zxing = { group = "com.google.zxing", name = "core", version.ref = "zxingVersion" }
|
||||
|
||||
fineract-api = { group = "io.github.niyajali", name = "fineract-client-kmp", version.ref = "fineractSdk" }
|
||||
@ -240,6 +260,10 @@ jb-savedstate = { module = "org.jetbrains.androidx.savedstate:savedstate", versi
|
||||
jb-composeNavigation = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "composeNavigation" }
|
||||
jb-navigation = { module = "org.jetbrains.androidx.navigation:navigation-common", version.ref = "composeNavigation" }
|
||||
|
||||
jetbrains-compose-material3-adaptive = { group = "org.jetbrains.compose.material3.adaptive", name = "adaptive", version.ref = "material3adaptive" }
|
||||
jetbrains-compose-material3-adaptive-layout = { group = "org.jetbrains.compose.material3.adaptive", name = "adaptive-layout", version.ref = "material3adaptive" }
|
||||
jetbrains-compose-material3-adaptive-navigation = { group = "org.jetbrains.compose.material3.adaptive", name = "adaptive-navigation", version.ref = "material3adaptive" }
|
||||
|
||||
kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotestVersion" }
|
||||
kotest-framework-engine = { module = "io.kotest:kotest-framework-engine", version.ref = "kotestVersion" }
|
||||
kotest-framework-datatest = { module = "io.kotest:kotest-framework-datatest", version.ref = "kotestVersion" }
|
||||
@ -326,6 +350,7 @@ multiplatform-settings-test = { group = "com.russhwolf", name = "multiplatform-s
|
||||
moko-permission = { group = "dev.icerock.moko", name = "permissions", version.ref = "mokoPermission" }
|
||||
moko-permission-compose = { group = "dev.icerock.moko", name = "permissions-compose", version.ref = "mokoPermission" }
|
||||
|
||||
ui-backhandler = { module = "org.jetbrains.compose.ui:ui-backhandler", version.ref = "uiBackhandler" }
|
||||
window-size = { group = "dev.chrisbanes.material3", name = "material3-window-size-class-multiplatform", version.ref = "windowsSizeClass" }
|
||||
|
||||
compose-ui-test-junit4-android = { module = "androidx.compose.ui:ui-test-junit4-android", version.ref = "composeTest" }
|
||||
@ -364,10 +389,14 @@ kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref =
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
ktorfit = { id = "de.jensklingenberg.ktorfit", version.ref = "ktorfit" }
|
||||
wire = { id = "com.squareup.wire", version.ref = "wire" }
|
||||
baselineprofile = { id = "androidx.baselineprofile", version.ref = "androidxMacroBenchmark" }
|
||||
|
||||
mifospay-cmp-feature = { id = "mifospay.cmp.feature", version = "unspecified" }
|
||||
mifospay-kmp-koin = { id = "mifospay.kmp.koin", version = "unspecified" }
|
||||
mifospay-kmp-library = { id = "mifospay.kmp.library", version = "unspecified" }
|
||||
cmp-feature-convention = { id = "org.convention.cmp.feature", version = "unspecified" }
|
||||
kmp-koin-convention = { id = "org.convention.kmp.koin", version = "unspecified" }
|
||||
kmp-library-convention = { id = "org.convention.kmp.library", version = "unspecified" }
|
||||
|
||||
android-application-firebase = { id = "org.convention.android.application.firebase" }
|
||||
android-lint = { id = "org.convention.android.application.lint" }
|
||||
|
||||
# Utility Plugins
|
||||
mifos-detekt-plugin = { id = "mifos.detekt.plugin", version = "unspecified" }
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
|
||||
*/
|
||||
plugins {
|
||||
alias(libs.plugins.mifospay.cmp.feature)
|
||||
alias(libs.plugins.cmp.feature.convention)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.protobuf)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user