From 26bba893ff64b3204e1a117a8ce1b72a4eae125e Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 2 Jul 2026 18:18:34 +0400 Subject: [PATCH] Updated on 2026-08-14 --- common/routing/build.gradle.kts | 46 ++++---- common/test/build.gradle.kts | 50 ++++---- common/ui-charts/build.gradle.kts | 33 ++++-- common/ui-markets/build.gradle.kts | 78 ++++++++----- common/ui/build.gradle.kts | 91 +++++++++------ data/swap/build.gradle.kts | 94 ++++++++------- data/tokens/build.gradle.kts | 93 ++++++++------- data/transaction/build.gradle.kts | 71 +++++++----- data/txhistory/build.gradle.kts | 77 ++++++++----- data/virtual-account/build.gradle.kts | 6 +- data/visa/build.gradle.kts | 109 ++++++++++-------- data/wallet-connect/build.gradle.kts | 108 ++++++++++------- data/wallet-manager/build.gradle.kts | 65 ++++++----- data/wallets/build.gradle.kts | 79 ++++++++----- .../wallets/DefaultWalletsPromoRepository.kt | 2 +- data/yield-supply/build.gradle.kts | 59 ++++++---- 16 files changed, 619 insertions(+), 442 deletions(-) diff --git a/common/routing/build.gradle.kts b/common/routing/build.gradle.kts index 965ece8564..aa368d2de9 100644 --- a/common/routing/build.gradle.kts +++ b/common/routing/build.gradle.kts @@ -10,31 +10,33 @@ android { } dependencies { - /* Core */ - implementation(projects.core.decompose) - implementation(projects.core.configToggles) - implementation(projects.core.utils) - /* Domain */ - implementation(projects.domain.qrScanning.models) - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.staking) - implementation(projects.domain.markets.models) - implementation(projects.domain.onramp.models) - implementation(projects.domain.appCurrency.models) - implementation(projects.domain.nft.models) - implementation(projects.domain.feedback.models) - implementation(projects.domain.visa.models) - - /* Libs - Other */ + // region Kotlin api(deps.kotlin.serialization) - implementation(deps.androidx.core.ktx) + // endregion - /* Tests */ - testImplementation(deps.test.junit5) + // region Core + api(projects.core.analytics.models) + api(projects.core.decompose) + api(projects.core.utils) + // endregion + + // region Domain + api(projects.domain.appCurrency.models) + api(projects.domain.feedback.models) + api(projects.domain.markets.models) + api(projects.domain.models) + api(projects.domain.nft.models) + api(projects.domain.onramp.models) + api(projects.domain.staking) + api(projects.domain.tokens.models) + implementation(projects.domain.visa.models) + // endregion + + // region Tests testImplementation(deps.test.coroutine) - testImplementation(deps.test.truth) + testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) + // endregion } \ No newline at end of file diff --git a/common/test/build.gradle.kts b/common/test/build.gradle.kts index 951909ed58..f0ce5a779b 100644 --- a/common/test/build.gradle.kts +++ b/common/test/build.gradle.kts @@ -9,30 +9,36 @@ android { } dependencies { - implementation(projects.core.datasource) - implementation(projects.core.utils) - implementation(projects.data.common) - implementation(projects.data.staking) - - implementation(projects.domain.legacy) - implementation(projects.domain.models) - implementation(projects.domain.card) - implementation(projects.domain.staking.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.txhistory.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - - implementation(projects.libs.blockchainSdk) - - implementation(deps.androidx.datastore) + // region Other libraries implementation(deps.jodatime) - implementation(deps.test.coroutine) + // endregion - implementation(tangemDeps.blockchain) - implementation(tangemDeps.card.core) + // region Tangem SDK + api(tangemDeps.blockchain) + api(tangemDeps.card.core) + // endregion - implementation(deps.test.junit5) - implementation(deps.test.truth) + // region Core + api(projects.core.datasource) + implementation(projects.core.utils) + // endregion + + // region Data + implementation(projects.data.common) + // endregion + + // region Domain + api(projects.domain.card) + api(projects.domain.models) + implementation(projects.domain.wallets) + // endregion + + // region Domain models + api(projects.domain.staking.models) + // endregion + + // region Libs + api(projects.libs.blockchainSdk) + // endregion } \ No newline at end of file diff --git a/common/ui-charts/build.gradle.kts b/common/ui-charts/build.gradle.kts index 5abca7eada..3eee72fb04 100644 --- a/common/ui-charts/build.gradle.kts +++ b/common/ui-charts/build.gradle.kts @@ -9,19 +9,30 @@ android { } dependencies { - /** Project - Core */ - implementation(projects.core.ui) - implementation(projects.core.utils) + // region Kotlin + api(deps.kotlin.coroutines) + api(deps.kotlin.immutable.collections) + // endregion - /** Compose */ - implementation(tangemDeps.vico.core) - implementation(tangemDeps.vico.compose) - implementation(tangemDeps.vico.compose.m3) - - implementation(deps.lifecycle.compose) - implementation(deps.compose.foundation) + // region Compose + api(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.ui.tooling) implementation(deps.compose.ui.utils) - implementation(deps.kotlin.immutable.collections) + // endregion + + // region Other libraries + implementation(deps.androidx.annotation) + implementation(deps.jodatime) + // endregion + + // region Vico + implementation(tangemDeps.vico.core) + implementation(tangemDeps.vico.compose) + // endregion + + // region Project - Core + implementation(projects.core.ui) + implementation(projects.core.utils) + // endregion } \ No newline at end of file diff --git a/common/ui-markets/build.gradle.kts b/common/ui-markets/build.gradle.kts index 4155090cee..a8586bfaa7 100644 --- a/common/ui-markets/build.gradle.kts +++ b/common/ui-markets/build.gradle.kts @@ -1,8 +1,6 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) - alias(deps.plugins.kotlin.kapt) - alias(deps.plugins.hilt.android) id("configuration") } @@ -11,41 +9,59 @@ android { } dependencies { - /** Project - Core */ - implementation(projects.core.ui) - implementation(projects.core.utils) - implementation(projects.core.navigation) - implementation(projects.core.analytics) - /** Project - Common */ - implementation(projects.common.uiCharts) - implementation(projects.common.ui) - implementation(projects.common.routing) + // region Kotlin + api(deps.kotlin.coroutines) + api(deps.kotlin.immutable.collections) + // endregion - /** Project - Domain */ - implementation(projects.domain.models) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.staking) - implementation(projects.domain.staking.models) - implementation(projects.domain.onramp.models) - implementation(projects.domain.offramp) - implementation(projects.domain.demo) - implementation(projects.domain.card) - implementation(projects.domain.feedback) - - implementation(deps.lifecycle.compose) - implementation(deps.compose.foundation) - implementation(deps.compose.material3) + // region Compose + api(deps.compose.foundation) implementation(deps.compose.ui.tooling) + implementation(deps.compose.material3) implementation(deps.compose.ui.utils) - implementation(deps.kotlin.immutable.collections) + // endregion - /** DI */ + // region Other libraries + implementation(deps.androidx.annotation) + implementation(deps.arrow.core) + implementation(deps.haze) implementation(deps.hilt.android) - kapt(deps.hilt.kapt) + // endregion - /** Test */ - testImplementation(projects.test.core) + // region Project - Core + api(projects.core.analytics) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.ui) + api(projects.core.utils) + implementation(projects.core.analytics.models) + // endregion + + // region Project - Common + api(projects.common.routing) + api(projects.common.uiCharts) + implementation(projects.common.ui) + // endregion + + // region Project - Domain + api(projects.domain.appCurrency.models) + api(projects.domain.card) + api(projects.domain.demo) + api(projects.domain.feedback) + api(projects.domain.models) + api(projects.domain.offramp) + api(projects.domain.tokens) + implementation(projects.domain.onramp.models) + implementation(projects.domain.staking) + implementation(projects.domain.tokens.models) + // endregion + + // region Test + testImplementation(deps.test.coroutine) + testImplementation(deps.test.junit5) + testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) testImplementation(projects.common.test) + // endregion } \ No newline at end of file diff --git a/common/ui/build.gradle.kts b/common/ui/build.gradle.kts index c372622a90..7b36967d04 100644 --- a/common/ui/build.gradle.kts +++ b/common/ui/build.gradle.kts @@ -8,47 +8,70 @@ android { namespace = "com.tangem.common.ui" } dependencies { - api(projects.common) - /** Compose */ - implementation(deps.compose.material3) - implementation(deps.compose.foundation) - implementation(deps.compose.ui) - implementation(deps.compose.ui.tooling) - implementation(deps.compose.navigation) - implementation(deps.compose.navigation.hilt) + // region Kotlin + api(deps.kotlin.immutable.collections) + implementation(deps.kotlin.coroutines) + // endregion + + // region Compose + api(deps.compose.foundation) + api(deps.compose.material3) implementation(deps.compose.coil) implementation(deps.compose.constraintLayout) + implementation(deps.compose.ui) + implementation(deps.compose.ui.tooling) + // endregion - /** Deps */ - implementation(deps.kotlin.immutable.collections) + // region Other libraries + api(deps.arrow.core) + implementation(deps.hilt.android) + implementation(deps.androidx.annotation) + implementation(deps.androidx.core.ktx) + implementation(deps.haze) + // endregion - /** Project - Common */ - implementation(projects.core.ui) - implementation(projects.core.utils) - implementation(projects.core.res) - implementation(projects.libs.crypto) - implementation(projects.libs.blockchainSdk) - - /** Project - Domain */ - implementation(projects.domain.appCurrency.models) - implementation(projects.domain.models) - implementation(projects.domain.legacy) - implementation(projects.domain.card) - implementation(projects.domain.staking.models) - implementation(projects.domain.staking) - implementation(projects.domain.account) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.onramp.models) - implementation(projects.domain.common) - - implementation(tangemDeps.card.core) - implementation(tangemDeps.blockchain) { + // region Tangem SDK + api(tangemDeps.blockchain) { exclude(module = "joda-time") } + // endregion - /** Tests */ + // region Project - Core + api(projects.core.analytics) + api(projects.core.ui) + api(projects.core.utils) + implementation(projects.core.analytics.models) + implementation(projects.core.res) + // endregion + + // region Project - Common + // :common is intentionally re-exported (api): common:ui is a ubiquitous UI dependency and many + // feature modules rely on TangemBlogUrlBuilder / common types through it. Demoting to implementation + // cascades across the feature graph, so keep it api despite DAGP's advice (suppressed below). + api(projects.common) + // endregion + + // region Project - Domain + api(projects.domain.account) + api(projects.domain.appCurrency.models) + api(projects.domain.common) + api(projects.domain.core) + api(projects.domain.models) + api(projects.domain.onramp.models) + api(projects.domain.staking) + api(projects.domain.tokens.models) + api(projects.domain.transaction.models) + implementation(projects.domain.card) + implementation(projects.domain.staking.models) + // endregion + + // region Project - Libs + implementation(projects.libs.blockchainSdk) + implementation(projects.libs.crypto) + // endregion + + // region Tests testImplementation(projects.test.core) + // endregion } \ No newline at end of file diff --git a/data/swap/build.gradle.kts b/data/swap/build.gradle.kts index 12a966d416..cbbee4d6c2 100644 --- a/data/swap/build.gradle.kts +++ b/data/swap/build.gradle.kts @@ -11,56 +11,68 @@ android { namespace = "com.tangem.data.swap" } dependencies { - /** Core */ - implementation(projects.core.datasource) - implementation(projects.core.utils) - /** Data */ - implementation(projects.data.common) - implementation(projects.data.express) + // region Kotlin + implementation(deps.kotlin.coroutines) + // endregion - /** Domain */ - implementation(projects.domain.express.models) - implementation(projects.domain.express) - implementation(projects.domain.swap.models) - implementation(projects.domain.swap) - implementation(projects.domain.wallets.models) - implementation(projects.domain.wallets) - implementation(projects.domain.tokens.models) - implementation(projects.domain.tokens) - implementation(projects.domain.legacy) - implementation(projects.domain.models) - implementation(projects.domain.quotes) - implementation(projects.domain.networks) - implementation(projects.domain.staking.models) - implementation(projects.domain.staking) - implementation(projects.domain.account) + // region Other libraries + api(deps.moshi) + implementation(deps.androidx.datastore) + implementation(deps.arrow.core) + implementation(deps.jodatime) + ksp(deps.moshi.kotlin.codegen) + // endregion - /** Tangem SDK */ + // region Tangem SDK implementation(tangemDeps.blockchain) { exclude(module = "joda-time") } + // endregion - /** Core */ - implementation(projects.core.configToggles) - - /** Libs */ - implementation(projects.libs.blockchainSdk) - implementation(projects.libs.crypto) - - /** Other */ - implementation(deps.androidx.datastore) - implementation(deps.jodatime) - implementation(deps.kotlin.coroutines) - implementation(deps.moshi) - implementation(deps.moshi.kotlin) - - /** DI */ + // region DI implementation(deps.hilt.android) kapt(deps.hilt.kapt) + // endregion - /** Test */ - testImplementation(tangemDeps.card.core) + // region Core + api(projects.core.configToggles) + api(projects.core.datasource) + api(projects.core.utils) + // endregion + + // region Data + api(projects.data.common) + implementation(projects.data.express) + // endregion + + // region Domain + api(projects.domain.account) + api(projects.domain.express) + api(projects.domain.models) + api(projects.domain.quotes) + api(projects.domain.swap) + implementation(projects.domain.core) + implementation(projects.domain.tokens) + runtimeOnly(projects.domain.staking) + runtimeOnly(projects.domain.wallets) + // endregion + + // region Domain models + api(projects.domain.swap.models) + implementation(projects.domain.express.models) + // endregion + + // region Libs + implementation(projects.libs.blockchainSdk) + implementation(projects.libs.crypto) + // endregion + + // region Test + testImplementation(deps.test.coroutine) + testImplementation(deps.test.junit5) + testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) testImplementation(projects.common.test) - testImplementation(projects.test.core) + // endregion } \ No newline at end of file diff --git a/data/tokens/build.gradle.kts b/data/tokens/build.gradle.kts index b56ebe2db3..3d5aa8f2d0 100644 --- a/data/tokens/build.gradle.kts +++ b/data/tokens/build.gradle.kts @@ -4,58 +4,29 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.kapt) - alias(deps.plugins.ksp) id("configuration") } android { namespace = "com.tangem.data.tokens" } + dependencies { - // region Project - Data - implementation(projects.data.common) - implementation(projects.data.networks) + // region Kotlin + implementation(deps.kotlin.coroutines) // endregion - // region Project - Domain - implementation(projects.domain.account) - implementation(projects.domain.card) - implementation(projects.domain.common) - implementation(projects.domain.core) - implementation(projects.domain.demo) - implementation(projects.domain.express) - implementation(projects.domain.legacy) - implementation(projects.domain.models) - implementation(projects.domain.staking) - implementation(projects.domain.staking.models) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.txhistory.models) - implementation(projects.domain.walletManager) - implementation(projects.domain.transaction) - implementation(projects.domain.wallets.models) - // endregion - - // region Project - Utils - implementation(projects.core.datasource) - implementation(projects.core.utils) - implementation(projects.libs.blockchainSdk) - implementation(projects.common) - // endregion - - // region Project - Features API - implementation(projects.features.send.api) - // endregion - - // region Tangem SDKs - implementation(tangemDeps.blockchain) - implementation(tangemDeps.card.core) - // endregion - - // region AndroidX + // region Other libraries implementation(deps.androidx.datastore) - implementation(deps.androidx.paging.runtime) + implementation(deps.arrow.atomic) + implementation(deps.arrow.core) + implementation(deps.moshi) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) + // endregion + + // region Tangem SDK + implementation(tangemDeps.blockchain) // endregion // region DI @@ -63,13 +34,39 @@ dependencies { kapt(deps.hilt.kapt) // endregion - // region Other - implementation(deps.jodatime) - implementation(deps.kotlin.coroutines) - implementation(deps.moshi.kotlin) - implementation(deps.retrofit) // For HttpException - ksp(deps.moshi.kotlin.codegen) - kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) + // region Core modules + api(projects.core.datasource) + api(projects.core.utils) + // endregion + + // region Data + api(projects.data.common) + runtimeOnly(projects.data.networks) + // endregion + + // region Domain + api(projects.domain.common) + api(projects.domain.tokens) + api(projects.domain.transaction) + api(projects.domain.walletManager) + implementation(projects.domain.core) + implementation(projects.domain.models) + runtimeOnly(projects.domain.account) + runtimeOnly(projects.domain.card) + runtimeOnly(projects.domain.staking) + // endregion + + // region Domain models + implementation(projects.domain.tokens.models) + implementation(projects.domain.walletManager.models) + // endregion + + // region Common + implementation(projects.common) + // endregion + + // region Libs + api(projects.libs.blockchainSdk) // endregion // region Tests diff --git a/data/transaction/build.gradle.kts b/data/transaction/build.gradle.kts index e926e9bd32..669b87bf7a 100644 --- a/data/transaction/build.gradle.kts +++ b/data/transaction/build.gradle.kts @@ -11,42 +11,55 @@ android { } dependencies { - /** Tangem SDKs */ - implementation(tangemDeps.blockchain) - implementation(tangemDeps.card.core) + // region Kotlin + implementation(deps.kotlin.coroutines) + // endregion - /** Core */ - implementation(projects.core.configToggles) - implementation(projects.core.datasource) - implementation(projects.core.utils) + // region Other libraries + implementation(deps.androidx.core.ktx) + // endregion - /** Common */ - implementation(projects.data.common) + // region Tangem SDKs + api(tangemDeps.blockchain) + // endregion - /** Domain */ - implementation(projects.libs.blockchainSdk) - implementation(projects.libs.crypto) - implementation(projects.domain.legacy) - implementation(projects.domain.walletManager) - implementation(projects.domain.wallets.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction.models) - implementation(projects.domain.transaction) - implementation(projects.domain.demo) - - /** Api */ - implementation(projects.features.send.api) - - /** DI */ + // region DI implementation(deps.hilt.android) kapt(deps.hilt.kapt) + // endregion - /** Other */ + // region Core + api(projects.core.configToggles) + api(projects.core.datasource) + api(projects.core.utils) + // endregion - /** tests */ - testImplementation(projects.common.test) - testImplementation(deps.test.junit5) + // region Common + api(projects.data.common) + // endregion + + // region Domain + api(projects.domain.models) + api(projects.domain.transaction) + api(projects.domain.walletManager) + implementation(projects.domain.demo) + // endregion + + // region Domain models + api(projects.domain.wallets.models) + implementation(projects.domain.demo.models) + implementation(projects.domain.transaction.models) + // endregion + + // region Libs + api(projects.libs.blockchainSdk) + implementation(projects.libs.crypto) + // endregion + + // region tests testImplementation(deps.test.coroutine) - testImplementation(deps.test.truth) + testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) + // endregion } \ No newline at end of file diff --git a/data/txhistory/build.gradle.kts b/data/txhistory/build.gradle.kts index 54c7e3792f..7e75acd400 100644 --- a/data/txhistory/build.gradle.kts +++ b/data/txhistory/build.gradle.kts @@ -9,47 +9,66 @@ android { namespace = "com.tangem.data.txhistory" } -tasks.withType().configureEach { - useJUnitPlatform() -} - dependencies { - implementation(projects.data.common) - implementation(projects.core.utils) - implementation(projects.core.datasource) - implementation(projects.core.pagination) - implementation(projects.core.analytics) + // region Kotlin + api(deps.kotlin.coroutines) + // endregion - implementation(projects.domain.legacy) - implementation(projects.domain.common) - implementation(projects.domain.walletManager) - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.txhistory) - implementation(projects.domain.txhistory.models) - implementation(projects.domain.express.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.wallets) - implementation(projects.domain.onramp) - implementation(projects.domain.onramp.models) - implementation(projects.domain.account) - implementation(projects.domain.account.status) - - implementation(projects.libs.blockchainSdk) - - implementation(deps.kotlin.coroutines) + // region Other libraries + implementation(deps.androidx.annotation) implementation(deps.androidx.paging.runtime) + implementation(deps.arrow.core) implementation(deps.jodatime) - implementation(tangemDeps.blockchain) + implementation(deps.room.runtime) + // endregion + // region Tangem SDK + implementation(tangemDeps.blockchain) + // endregion + + // region DI implementation(deps.hilt.core) kapt(deps.hilt.kapt) + // endregion + + // region Core modules + api(projects.core.analytics) + api(projects.core.datasource) + api(projects.core.utils) + implementation(projects.core.pagination) + // endregion + + // region Data + api(projects.data.common) + // endregion + + // region Domain + api(projects.domain.account) + api(projects.domain.common) + api(projects.domain.express) + api(projects.domain.models) + api(projects.domain.onramp) + api(projects.domain.txhistory) + api(projects.domain.walletManager) + api(projects.domain.wallets) + implementation(projects.domain.account.status) + // endregion + + // region Domain models + implementation(projects.domain.express.models) + implementation(projects.domain.onramp.models) + implementation(projects.domain.tokens.models) + implementation(projects.domain.txhistory.models) + // endregion + + // region Libs + api(projects.libs.blockchainSdk) + // endregion // region Test testImplementation(projects.common.test) testImplementation(projects.test.core) testImplementation(projects.test.mock) - testRuntimeOnly(deps.test.junit5.engine) // endregion } \ No newline at end of file diff --git a/data/virtual-account/build.gradle.kts b/data/virtual-account/build.gradle.kts index 8b8a6142c4..e381768519 100644 --- a/data/virtual-account/build.gradle.kts +++ b/data/virtual-account/build.gradle.kts @@ -1,13 +1,9 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) - alias(deps.plugins.ksp) id("configuration") } android { namespace = "com.tangem.data.virtualaccount" -} - -dependencies { -} +} \ No newline at end of file diff --git a/data/visa/build.gradle.kts b/data/visa/build.gradle.kts index 420ab0b3d2..5402f09333 100644 --- a/data/visa/build.gradle.kts +++ b/data/visa/build.gradle.kts @@ -23,63 +23,82 @@ android { } dependencies { - /** Project - Data */ - implementation(projects.core.analytics) - implementation(projects.core.datasource) - implementation(projects.core.error) - implementation(projects.core.error.ext) - implementation(projects.core.security) - implementation(projects.data.common) - implementation(projects.data.wallets) - - /** Project - Domain */ - implementation(projects.domain.visa) - implementation(projects.domain.virtualAccount) - implementation(projects.domain.card) - implementation(projects.domain.wallets) - implementation(projects.domain.legacy) - implementation(projects.domain.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.appCurrency.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.tokens) - implementation(projects.domain.networks) - implementation(projects.domain.walletManager) - implementation(projects.domain.quotes) - implementation(projects.domain.common) - implementation(projects.features.swap.domain) - implementation(projects.features.virtualAccounts.details.api) - - - /** Project - Utils */ - implementation(projects.core.utils) - implementation(projects.domain.legacy) - implementation(projects.libs.blockchainSdk) - - /** Project - Libs */ - implementation(projects.libs.visa) - - /** Libs - Other */ - implementation(deps.androidx.datastore) + // region Kotlin implementation(deps.kotlin.coroutines) + // endregion + + // region Other libraries + api(deps.moshi) + implementation(deps.androidx.datastore) + implementation(deps.androidx.paging.runtime) implementation(deps.arrow.core) implementation(deps.arrow.fx) implementation(deps.jodatime) - implementation(deps.androidx.paging.runtime) - implementation(deps.moshi.kotlin) + implementation(deps.okio) ksp(deps.moshi.kotlin.codegen) kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) + // endregion - /** Libs - Tangem */ + // region Libs - Tangem + api(tangemDeps.hot.core) implementation(tangemDeps.blockchain) implementation(tangemDeps.card.core) - implementation(tangemDeps.hot.core) - implementation(projects.libs.tangemSdkApi) + // endregion - /** DI */ + // region DI implementation(deps.hilt.android) kapt(deps.hilt.kapt) + // endregion - /** Test */ + // region Project - Core + api(projects.core.analytics) + api(projects.core.datasource) + api(projects.core.security) + api(projects.core.utils) + implementation(projects.core.analytics.models) + implementation(projects.core.error) + implementation(projects.core.error.ext) + implementation(projects.core.pagination) + // endregion + + // region Project - Data + api(projects.data.common) + implementation(projects.data.wallets) + // endregion + + // region Project - Domain + api(projects.domain.common) + api(projects.domain.core) + api(projects.domain.networks) + api(projects.domain.quotes) + api(projects.domain.virtualAccount) + api(projects.domain.visa) + api(projects.domain.wallets) + implementation(projects.domain.card) + implementation(projects.domain.legacy) + implementation(projects.domain.models) + implementation(projects.domain.tokens.models) + implementation(projects.domain.walletManager) + runtimeOnly(projects.domain.tokens) + // endregion + + // region Project - Domain models + api(projects.domain.visa.models) + implementation(projects.domain.appCurrency.models) + // endregion + + // region Project - Features + api(projects.features.swap.domain) + api(projects.features.virtualAccounts.details.api) + // endregion + + // region Project - Libs + api(projects.libs.blockchainSdk) + api(projects.libs.tangemSdkApi) + implementation(projects.libs.visa) + // endregion + + // region Test testImplementation(projects.test.core) + // endregion } \ No newline at end of file diff --git a/data/wallet-connect/build.gradle.kts b/data/wallet-connect/build.gradle.kts index 03bc462167..691b9ed43f 100644 --- a/data/wallet-connect/build.gradle.kts +++ b/data/wallet-connect/build.gradle.kts @@ -1,7 +1,8 @@ plugins { + alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.kapt) - alias(deps.plugins.android.library) + alias(deps.plugins.ksp) id("configuration") } @@ -11,59 +12,80 @@ android { dependencies { - /* Project - Domain */ - implementation(projects.domain.account) - implementation(projects.domain.account.status) - implementation(projects.domain.walletConnect) - implementation(projects.domain.walletConnect.models) - implementation(projects.domain.transaction) - implementation(projects.domain.transaction.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.models) - implementation(projects.domain.legacy) - implementation(projects.domain.walletManager) - implementation(projects.libs.blockchainSdk) - implementation(projects.data.common) + // region Kotlin + api(deps.kotlin.coroutines) + // endregion - /* Project - Data */ - implementation(projects.core.datasource) + // region Other libraries + api(deps.arrow.core) + api(deps.moshi) + ksp(deps.moshi.kotlin.codegen) + implementation(deps.jodatime) + implementation(deps.okio) + // endregion - /* Project - Core */ - implementation(projects.core.utils) - implementation(projects.core.analytics) - api(projects.core.configToggles) - - /* DI */ - implementation(deps.hilt.core) - kapt(deps.hilt.kapt) - - /* Tangem libraries */ - implementation(tangemDeps.blockchain) - implementation(tangemDeps.card.core) - - /* Reown - WalletConnect */ + // region Reown - WalletConnect + api(deps.reownWeb3) { + exclude(group = "app.cash.sqldelight", module = "android-driver") + } implementation(deps.reownCore) { exclude(group = "app.cash.sqldelight", module = "android-driver") } - implementation(deps.reownWeb3) { - exclude(group = "app.cash.sqldelight", module = "android-driver") - } + // endregion - /* Other */ - implementation(deps.kotlin.coroutines) - implementation(deps.arrow.core) - implementation(deps.jodatime) - implementation(projects.domain.blockaid) + // region Tangem libraries + api(tangemDeps.blockchain) + implementation(tangemDeps.card.core) + // endregion + + // region DI + implementation(deps.hilt.core) + kapt(deps.hilt.kapt) + // endregion + + // region Project - Core + api(projects.core.analytics) + api(projects.core.configToggles) + api(projects.core.datasource) + api(projects.core.utils) + implementation(projects.core.analytics.models) + // endregion + + // region Project - Data + implementation(projects.data.common) + // endregion + + // region Project - Domain + api(projects.domain.account) + api(projects.domain.account.status) + api(projects.domain.blockaid) + api(projects.domain.common) + api(projects.domain.transaction) + api(projects.domain.walletConnect) + api(projects.domain.walletConnect.models) + api(projects.domain.walletManager) + api(projects.domain.wallets) + implementation(projects.domain.core) + implementation(projects.domain.models) + runtimeOnly(projects.domain.tokens) + // endregion + + // region Project - Domain models implementation(projects.domain.blockaid.models) - implementation(projects.libs.crypto) + implementation(projects.domain.tokens.models) + implementation(projects.domain.transaction.models) + // endregion - /* Tests */ + // region Project - Libs + api(projects.libs.blockchainSdk) + implementation(projects.libs.crypto) + // endregion + + // region Tests testImplementation(projects.common.test) testImplementation(deps.test.coroutine) testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) testImplementation(deps.test.turbine) + // endregion } \ No newline at end of file diff --git a/data/wallet-manager/build.gradle.kts b/data/wallet-manager/build.gradle.kts index ec688dfada..5f411bd72e 100644 --- a/data/wallet-manager/build.gradle.kts +++ b/data/wallet-manager/build.gradle.kts @@ -11,40 +11,53 @@ android { } dependencies { - /** Tangem libraries */ - implementation(tangemDeps.blockchain) - implementation(tangemDeps.card.core) - /** Core */ - implementation(projects.core.datasource) - implementation(projects.core.utils) - implementation(projects.core.error) - implementation(projects.core.error.ext) + // region Kotlin + implementation(deps.kotlin.coroutines) + // endregion - /** Domain */ - implementation(projects.domain.wallets) - implementation(projects.domain.walletManager) - implementation(projects.domain.demo) - implementation(projects.domain.card) - implementation(projects.domain.transaction) - api(projects.domain.models) + // region Other libraries + implementation(deps.arrow.core) + implementation(deps.moshi) + // endregion - /** Domain models */ - implementation(projects.domain.wallets.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.txhistory.models) - implementation(projects.domain.transaction.models) + // region Tangem libraries + api(tangemDeps.blockchain) + api(tangemDeps.card.core) + // endregion - /** DI */ + // region DI implementation(deps.hilt.android) kapt(deps.hilt.kapt) + // endregion - /** Other deps */ - implementation(projects.libs.blockchainSdk) - implementation(deps.androidx.datastore) - implementation(deps.arrow.core) + // region Core + api(projects.core.datasource) + api(projects.core.utils) + // endregion - /** Testing libraries */ + // region Domain + api(projects.domain.common) + api(projects.domain.models) + api(projects.domain.transaction) + implementation(projects.domain.card) + implementation(projects.domain.walletManager) + implementation(projects.domain.wallets) + // endregion + + // region Domain models + implementation(projects.domain.demo.models) + implementation(projects.domain.transaction.models) + implementation(projects.domain.txhistory.models) + implementation(projects.domain.walletManager.models) + // endregion + + // region Libs + api(projects.libs.blockchainSdk) + // endregion + + // region Testing libraries testImplementation(projects.common.test) testImplementation(projects.test.core) + // endregion } \ No newline at end of file diff --git a/data/wallets/build.gradle.kts b/data/wallets/build.gradle.kts index 49f6582fe2..3445d2f27e 100644 --- a/data/wallets/build.gradle.kts +++ b/data/wallets/build.gradle.kts @@ -3,6 +3,7 @@ plugins { alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.kapt) alias(deps.plugins.hilt.android) + alias(deps.plugins.ksp) id("configuration") } @@ -10,42 +11,58 @@ android { namespace = "com.tangem.data.wallet" } dependencies { - implementation(projects.data.common) - /** Tangem libraries */ - implementation(tangemDeps.blockchain) - implementation(tangemDeps.card.core) - implementation(tangemDeps.hot.core) - implementation(projects.libs.tangemSdkApi) - implementation(projects.libs.blockchainSdk) + // region Kotlin + api(deps.kotlin.coroutines) + // endregion - /** Core */ - implementation(projects.core.datasource) - implementation(projects.core.utils) - - /** Domain */ - implementation(projects.domain.account) - implementation(projects.domain.card) - implementation(projects.domain.dynamicAddresses) - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.settings) - - /** DI */ - implementation(deps.hilt.android) - kapt(deps.hilt.kapt) - - /** Other deps */ + // region Other deps + api(deps.moshi) + ksp(deps.moshi.kotlin.codegen) implementation(deps.androidx.datastore) implementation(deps.arrow.core) - implementation(deps.kotlin.coroutines) - implementation(deps.moshi) - implementation(deps.moshi.kotlin) - implementation(deps.retrofit) + // endregion + + // region Tangem libraries + api(tangemDeps.blockchain) + api(tangemDeps.card.core) + api(tangemDeps.hot.core) + // endregion + + // region DI + implementation(deps.hilt.android) + kapt(deps.hilt.kapt) + // endregion + + // region Core + api(projects.core.datasource) + api(projects.core.utils) + // endregion + + // region Data + api(projects.data.common) + // endregion + + // region Domain + api(projects.domain.common) + api(projects.domain.dynamicAddresses) + api(projects.domain.models) + api(projects.domain.settings) + api(projects.domain.wallets) + implementation(projects.domain.card) + implementation(projects.domain.wallets.models) + runtimeOnly(projects.domain.account) + // endregion + + // region Libs + api(projects.libs.tangemSdkApi) + implementation(projects.libs.blockchainSdk) + // endregion /** tests */ - testImplementation(projects.test.core) + testImplementation(deps.test.coroutine) + testImplementation(deps.test.junit5) + testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) testImplementation(projects.common.test) } \ No newline at end of file diff --git a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsPromoRepository.kt b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsPromoRepository.kt index 22b82c3fb7..2abbe5331c 100644 --- a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsPromoRepository.kt +++ b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsPromoRepository.kt @@ -80,7 +80,7 @@ internal class DefaultWalletsPromoRepository( } @JsonClass(generateAdapter = true) - private data class ReferralWalletsBindingData( + internal data class ReferralWalletsBindingData( @Json(name = "refcode") val refcode: String, @Json(name = "campaign") val campaign: String?, @Json(name = "done") val isDone: Boolean, diff --git a/data/yield-supply/build.gradle.kts b/data/yield-supply/build.gradle.kts index b4a5685da1..532b24d712 100644 --- a/data/yield-supply/build.gradle.kts +++ b/data/yield-supply/build.gradle.kts @@ -11,40 +11,51 @@ android { } dependencies { - /** Tangem SDKs */ - implementation(tangemDeps.blockchain) + // region Kotlin + implementation(deps.kotlin.coroutines) + implementation(deps.kotlin.datetime) + // endregion // region AndroidX libraries implementation(deps.androidx.datastore) // endregion - /** Core */ - implementation(projects.core.datasource) - implementation(projects.core.utils) - implementation(projects.core.analytics) + // region Tangem SDKs + implementation(tangemDeps.blockchain) + // endregion - /** Domain */ - implementation(projects.domain.transaction) - implementation(projects.domain.yieldSupply) - implementation(projects.domain.yieldSupply.models) - implementation(projects.domain.walletManager) - implementation(projects.domain.legacy) - implementation(projects.domain.txhistory.models) - - implementation(projects.libs.blockchainSdk) - - - /** DI */ + // region DI implementation(deps.hilt.android) kapt(deps.hilt.kapt) + // endregion - /** Other */ - implementation(deps.kotlin.datetime) + // region Core + api(projects.core.analytics) + api(projects.core.datasource) + api(projects.core.utils) + implementation(projects.core.analytics.models) + // endregion - /** tests */ - testImplementation(projects.common.test) - testImplementation(deps.test.junit5) + // region Domain + api(projects.domain.transaction) + api(projects.domain.walletManager) + api(projects.domain.yieldSupply) + implementation(projects.domain.legacy) + implementation(projects.domain.models) + // endregion + + // region Domain models + implementation(projects.domain.yieldSupply.models) + // endregion + + // region Libs + implementation(projects.libs.blockchainSdk) + // endregion + + // region tests testImplementation(deps.test.coroutine) - testImplementation(deps.test.truth) + testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) + // endregion } \ No newline at end of file