From 23544541cfbcd55af2349aed9c1dd24561ca633d Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 6 Jul 2026 17:54:40 +0400 Subject: [PATCH] Updated on 2026-08-14 --- features/send/api/build.gradle.kts | 32 ++++---- features/staking/api/build.gradle.kts | 14 ++-- features/stories/api/build.gradle.kts | 9 +-- features/swap/api/build.gradle.kts | 6 +- features/swap/data/build.gradle.kts | 34 +++------ features/swap/domain/api/build.gradle.kts | 10 --- features/swap/domain/build.gradle.kts | 73 +++++++++---------- features/swap/domain/models/build.gradle.kts | 21 ------ .../tangempay/details/api/build.gradle.kts | 11 +-- .../tangempay/details/impl/build.gradle.kts | 49 ++++++++----- features/tangempay/main/api/build.gradle.kts | 6 +- features/tangempay/main/impl/build.gradle.kts | 10 ++- .../tangempay/onboarding/api/build.gradle.kts | 10 +-- .../onboarding/impl/build.gradle.kts | 41 +++++++---- features/tester/impl/build.gradle.kts | 61 ++++++++++------ 15 files changed, 189 insertions(+), 198 deletions(-) diff --git a/features/send/api/build.gradle.kts b/features/send/api/build.gradle.kts index 9693ed2048..f1f54478da 100644 --- a/features/send/api/build.gradle.kts +++ b/features/send/api/build.gradle.kts @@ -8,42 +8,44 @@ android { namespace = "com.tangem.features.send.api" } dependencies { + /** Kotlin */ + api(deps.kotlin.coroutines) + /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) - implementation(projects.core.analytics.models) + api(projects.core.analytics.models) + api(projects.core.decompose) + api(projects.core.ui) + implementation(projects.core.utils) /** Common */ - implementation(projects.common.ui) + api(projects.common.ui) /** Domain */ - implementation(projects.domain.transaction) + api(projects.domain.transaction) /** Domain models */ + api(projects.domain.appCurrency.models) api(projects.domain.models) - implementation(projects.domain.appCurrency.models) - implementation(projects.domain.nft.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction.models) - implementation(projects.domain.wallets.models) + api(projects.domain.nft.models) + api(projects.domain.transaction.models) + api(projects.domain.wallets.models) /** Compose */ + api(deps.compose.foundation) implementation(deps.compose.runtime) - implementation(deps.compose.foundation) /** Tangem */ - implementation(tangemDeps.blockchain) + api(tangemDeps.blockchain) /** Other */ + api(deps.kotlin.immutable.collections) + implementation(deps.androidx.annotation) implementation(deps.arrow.core) - implementation(deps.kotlin.immutable.collections) // region Tests testImplementation(deps.test.coroutine) testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) testImplementation(deps.test.truth) - testImplementation(projects.common.test) - testImplementation(projects.domain.staking.models) // endregion } \ No newline at end of file diff --git a/features/staking/api/build.gradle.kts b/features/staking/api/build.gradle.kts index 74149b41f2..58d31f772b 100644 --- a/features/staking/api/build.gradle.kts +++ b/features/staking/api/build.gradle.kts @@ -10,16 +10,14 @@ android { } dependencies { + /** Kotlin */ + api(deps.kotlin.coroutines) + /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /** Domain models */ api(projects.domain.models) - implementation(projects.domain.staking) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets.models) - - /** AndroidX */ - implementation(deps.androidx.fragment.ktx) + api(projects.domain.staking) } \ No newline at end of file diff --git a/features/stories/api/build.gradle.kts b/features/stories/api/build.gradle.kts index 0c5b8d23bc..544283a748 100644 --- a/features/stories/api/build.gradle.kts +++ b/features/stories/api/build.gradle.kts @@ -11,11 +11,10 @@ android { dependencies { /* Project - Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /* Compose */ - implementation(deps.kotlin.immutable.collections) - implementation(deps.compose.runtime) - implementation(projects.common.routing) + api(deps.kotlin.immutable.collections) + api(projects.common.routing) } \ No newline at end of file diff --git a/features/swap/api/build.gradle.kts b/features/swap/api/build.gradle.kts index d633833dc3..2a454a21e1 100644 --- a/features/swap/api/build.gradle.kts +++ b/features/swap/api/build.gradle.kts @@ -11,11 +11,9 @@ android { dependencies { /** Project - Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /** Project - Domain */ api(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets.models) } \ No newline at end of file diff --git a/features/swap/data/build.gradle.kts b/features/swap/data/build.gradle.kts index 83b9f7209f..581ae50d8e 100644 --- a/features/swap/data/build.gradle.kts +++ b/features/swap/data/build.gradle.kts @@ -5,7 +5,6 @@ plugins { alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.kapt) alias(deps.plugins.hilt.android) - alias(deps.plugins.ksp) id("configuration") } @@ -18,38 +17,29 @@ dependencies { implementation(deps.androidx.datastore) /** Project*/ - implementation(projects.core.datasource) - implementation(projects.core.utils) - implementation(projects.features.swap.domain) - implementation(projects.features.swap.domain.models) - implementation(projects.features.swap.domain.api) + api(projects.core.datasource) + api(projects.core.utils) + api(projects.features.swap.domain) + implementation(projects.domain.express.models) /** Network */ - implementation(deps.retrofit) - implementation(deps.retrofit.moshi) - implementation(deps.moshi) - implementation(deps.moshi.kotlin) + api(deps.moshi) implementation(deps.arrow.core) - ksp(deps.moshi.kotlin.codegen) + implementation(deps.kotlin.coroutines) kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) /** Domain */ - implementation(projects.domain.tokens.models) - implementation(projects.domain.legacy) - implementation(projects.domain.walletManager) - implementation(projects.domain.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.transaction.models) - implementation(projects.domain.express.models) - implementation(projects.domain.account.status) - implementation(projects.domain.txhistory) + api(projects.domain.account) + api(projects.domain.models) + api(projects.domain.txhistory) + runtimeOnly(projects.domain.account.status) + runtimeOnly(projects.domain.wallets) implementation(projects.libs.blockchainSdk) implementation(projects.libs.crypto) /** Data */ - implementation(projects.data.common) + api(projects.data.common) /** Tangem SDKs */ implementation(tangemDeps.blockchain) diff --git a/features/swap/domain/api/build.gradle.kts b/features/swap/domain/api/build.gradle.kts index cee9c5f63d..e9005a8278 100644 --- a/features/swap/domain/api/build.gradle.kts +++ b/features/swap/domain/api/build.gradle.kts @@ -6,14 +6,4 @@ plugins { android { namespace = "com.tangem.feature.swap.domain.api" -} - -dependencies { - implementation(projects.features.swap.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.express.models) - - implementation(deps.arrow.core) - } \ No newline at end of file diff --git a/features/swap/domain/build.gradle.kts b/features/swap/domain/build.gradle.kts index d8f2337725..2db55a1083 100644 --- a/features/swap/domain/build.gradle.kts +++ b/features/swap/domain/build.gradle.kts @@ -23,59 +23,56 @@ dependencies { kapt(deps.hilt.kapt) /** Domain */ - implementation(projects.domain.swap.models) - implementation(projects.domain.swap) - implementation(projects.domain.appCurrency) - implementation(projects.domain.appCurrency.models) - implementation(projects.domain.card) - implementation(projects.domain.demo) - implementation(projects.domain.legacy) - implementation(projects.domain.models) - implementation(projects.domain.quotes) - implementation(projects.domain.staking) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction) - implementation(projects.domain.transaction.models) - implementation(projects.domain.txhistory.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.express.models) - implementation(projects.domain.account) - implementation(projects.domain.account.status) - implementation(projects.domain.visa) - implementation(projects.domain.visa.models) - implementation(projects.domain.balanceHiding) - implementation(projects.domain.yieldSupply) - implementation(projects.domain.notifications) + api(projects.domain.account.status) + api(projects.domain.appCurrency) + api(projects.domain.appCurrency.models) + api(projects.domain.balanceHiding) + api(projects.domain.demo) + api(projects.domain.express.models) + api(projects.domain.legacy) + api(projects.domain.models) + api(projects.domain.notifications) + api(projects.domain.quotes) + api(projects.domain.swap) + api(projects.domain.swap.models) + api(projects.domain.tokens) + api(projects.domain.tokens.models) + api(projects.domain.transaction) + api(projects.domain.transaction.models) + api(projects.domain.visa) + api(projects.domain.visa.models) + api(projects.domain.walletManager) + api(projects.domain.yieldSupply) /** Common modules */ - implementation(projects.common.ui) + api(projects.common.ui) /** Core modules */ - implementation(projects.core.configToggles) + api(projects.core.abTests) + api(projects.core.datasource) + api(projects.core.ui) implementation(projects.core.utils) - implementation(projects.core.ui) - implementation(projects.core.datasource) - implementation(projects.core.abTests) implementation(projects.core.error) /** Feature Apis */ - implementation(projects.features.wallet.api) - implementation(projects.features.swap.api) - implementation(projects.features.swap.domain.api) - implementation(projects.features.swap.domain.models) + api(projects.features.swap.api) implementation(projects.features.send.api) implementation(projects.libs.blockchainSdk) /** Other Libraries **/ - implementation(deps.kotlin.coroutines) - implementation(deps.arrow.core) - implementation(tangemDeps.blockchain) + api(deps.arrow.core) + api(deps.jodatime) + api(deps.kotlin.coroutines) + api(deps.moshi) + api(tangemDeps.blockchain) implementation(tangemDeps.card.core) - implementation(deps.moshi) ksp(deps.moshi.kotlin.codegen) /** Test */ + testRuntimeOnly(projects.domain.account) + testRuntimeOnly(projects.domain.card) + testRuntimeOnly(projects.domain.staking) + testRuntimeOnly(projects.domain.wallets) + testImplementation(deps.test.junit) testImplementation(projects.test.core) } \ No newline at end of file diff --git a/features/swap/domain/models/build.gradle.kts b/features/swap/domain/models/build.gradle.kts index a5f9e7f26a..ca9c2f1bbf 100644 --- a/features/swap/domain/models/build.gradle.kts +++ b/features/swap/domain/models/build.gradle.kts @@ -1,30 +1,9 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) - alias(deps.plugins.ksp) id("configuration") } android { namespace = "com.tangem.feature.swap.domain.models" -} - -dependencies { - /** Domain */ - api(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction.models) - - /** Core modules */ - implementation(projects.core.utils) - implementation(projects.core.datasource) - - /** Other Libraries **/ - implementation(tangemDeps.blockchain) - implementation(deps.kotlin.serialization) - implementation(deps.arrow.core) - implementation(deps.moshi.kotlin) - implementation(deps.jodatime) - ksp(deps.moshi.kotlin.codegen) - } \ No newline at end of file diff --git a/features/tangempay/details/api/build.gradle.kts b/features/tangempay/details/api/build.gradle.kts index 11df34c60d..74a820cd8d 100644 --- a/features/tangempay/details/api/build.gradle.kts +++ b/features/tangempay/details/api/build.gradle.kts @@ -10,13 +10,10 @@ android { dependencies { /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /** Domain */ - implementation(projects.domain.models) - implementation(projects.domain.visa.models) - - /** Compose */ - implementation(deps.compose.runtime) + api(projects.domain.models) + api(projects.domain.visa.models) } \ No newline at end of file diff --git a/features/tangempay/details/impl/build.gradle.kts b/features/tangempay/details/impl/build.gradle.kts index 124401babb..50f75307f2 100644 --- a/features/tangempay/details/impl/build.gradle.kts +++ b/features/tangempay/details/impl/build.gradle.kts @@ -13,57 +13,68 @@ android { dependencies { /** Core */ - implementation(projects.core.analytics) + api(projects.core.analytics) + api(projects.core.configToggles) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.ui) + api(projects.core.utils) implementation(projects.core.analytics.models) - implementation(projects.core.configToggles) - implementation(projects.core.decompose) implementation(projects.core.error) - implementation(projects.core.navigation) - implementation(projects.core.ui) - implementation(projects.core.utils) + implementation(projects.core.pagination) /** Common */ implementation(projects.common.ui) implementation(projects.common.routing) /** Features api */ - implementation(projects.features.tangempay.details.api) - implementation(projects.features.tokenRecieve.api) - implementation(projects.features.txhistory.api) - implementation(projects.features.tokendetails.api) - implementation(projects.features.promoBanners.api) - implementation(projects.features.virtualAccounts.details.api) // TWI_1638_VA_MVP0_ENABLED + api(projects.features.tangempay.details.api) + api(projects.features.tokenRecieve.api) + api(projects.features.tokendetails.api) + api(projects.features.promoBanners.api) + api(projects.features.virtualAccounts.details.api) // TWI_1638_VA_MVP0_ENABLED /** Domain */ - implementation(projects.domain.balanceHiding) + api(projects.domain.balanceHiding) + api(projects.domain.feedback) + api(projects.domain.models) + api(projects.domain.visa) implementation(projects.domain.balanceHiding.models) - implementation(projects.domain.feedback) implementation(projects.domain.feedback.models) - implementation(projects.domain.models) implementation(projects.domain.onramp.models) - implementation(projects.domain.visa) implementation(projects.domain.visa.models) - implementation(projects.domain.wallets) + runtimeOnly(projects.domain.txhistory) + runtimeOnly(projects.domain.wallets) /** Compose */ - implementation(deps.compose.coil) + api(deps.compose.coil) + api(deps.compose.foundation) implementation(deps.compose.constraintLayout) - implementation(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) implementation(deps.decompose.ext.compose) + implementation(deps.lottie) implementation(deps.lottie.compose) /** AndroidX */ implementation(deps.androidx.activity.compose) + implementation(deps.androidx.annotation) + implementation(deps.androidx.appCompat) + implementation(deps.lifecycle.compose) + implementation(deps.lifecycle.runtime.ktx) /** DI */ implementation(deps.hilt.android) kapt(deps.hilt.kapt) /** Other */ + api(deps.kotlin.coroutines) + implementation(deps.arrow.core) + implementation(deps.haze) + implementation(deps.jodatime) implementation(deps.kotlin.immutable.collections) + implementation(deps.kotlin.serialization.core) /** Test */ testImplementation(deps.test.junit5) diff --git a/features/tangempay/main/api/build.gradle.kts b/features/tangempay/main/api/build.gradle.kts index 3ae2de80dd..b6216154f3 100644 --- a/features/tangempay/main/api/build.gradle.kts +++ b/features/tangempay/main/api/build.gradle.kts @@ -10,11 +10,11 @@ android { dependencies { /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /** Compose */ + api(deps.compose.foundation) implementation(deps.compose.runtime) - implementation(deps.compose.foundation) implementation(deps.compose.ui) } \ No newline at end of file diff --git a/features/tangempay/main/impl/build.gradle.kts b/features/tangempay/main/impl/build.gradle.kts index c1aeff44a2..86b67fe2bf 100644 --- a/features/tangempay/main/impl/build.gradle.kts +++ b/features/tangempay/main/impl/build.gradle.kts @@ -13,14 +13,15 @@ android { dependencies { /** Core */ - implementation(projects.core.decompose) + api(projects.core.decompose) implementation(projects.core.ui) + implementation(projects.core.utils) /** Features api */ implementation(projects.features.tangempay.main.api) /** Compose */ - implementation(deps.compose.foundation) + api(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) @@ -28,4 +29,9 @@ dependencies { /** DI */ implementation(deps.hilt.android) kapt(deps.hilt.kapt) + + /** Other */ + implementation(deps.androidx.appCompat) + implementation(deps.decompose) + implementation(deps.kotlin.coroutines) } \ No newline at end of file diff --git a/features/tangempay/onboarding/api/build.gradle.kts b/features/tangempay/onboarding/api/build.gradle.kts index 5d9c35cc08..e17820ca6e 100644 --- a/features/tangempay/onboarding/api/build.gradle.kts +++ b/features/tangempay/onboarding/api/build.gradle.kts @@ -10,12 +10,12 @@ android { dependencies { /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /** Domain */ - implementation(projects.domain.models) + api(projects.domain.models) - /** Compose */ - implementation(deps.compose.runtime) + /** Other */ + api(deps.kotlin.coroutines) } \ No newline at end of file diff --git a/features/tangempay/onboarding/impl/build.gradle.kts b/features/tangempay/onboarding/impl/build.gradle.kts index b018b419bd..2e4aa46470 100644 --- a/features/tangempay/onboarding/impl/build.gradle.kts +++ b/features/tangempay/onboarding/impl/build.gradle.kts @@ -12,51 +12,60 @@ android { } dependencies { /** Core */ - implementation(projects.core.analytics) - implementation(projects.core.decompose) + api(projects.core.analytics) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.utils) + implementation(projects.core.analytics.models) implementation(projects.core.error) - implementation(projects.core.navigation) implementation(projects.core.ui) - implementation(projects.core.utils) /** Common */ - implementation(projects.common.routing) + api(projects.common.routing) implementation(projects.common.ui) /** Features api */ - implementation(projects.features.tangempay.onboarding.api) + api(projects.features.tangempay.onboarding.api) + api(projects.features.wallet.api) implementation(projects.features.tangempay.details.api) - implementation(projects.features.kyc.api) - implementation(projects.features.wallet.api) - implementation(projects.features.hotWallet.api) /** Domain */ - implementation(projects.domain.appsflyer) - implementation(projects.domain.visa) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.hotWallet) + api(projects.domain.appsflyer) + api(projects.domain.hotWallet) + api(projects.domain.visa) + api(projects.domain.visa.models) + api(projects.domain.wallets) + implementation(projects.domain.models) /** Libs */ implementation(tangemDeps.hot.core) /** Data **/ - implementation(projects.data.visa) + runtimeOnly(projects.data.visa) /** Compose */ - implementation(deps.compose.foundation) + api(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) implementation(deps.decompose.ext.compose) + /** AndroidX */ + implementation(deps.androidx.annotation) + implementation(deps.androidx.appCompat) + implementation(deps.lifecycle.compose) + implementation(deps.lifecycle.runtime.ktx) + /** DI */ implementation(deps.hilt.android) kapt(deps.hilt.kapt) /** Other */ + api(deps.kotlin.coroutines) implementation(deps.arrow.core) + implementation(deps.jodatime) implementation(deps.kotlin.immutable.collections) + implementation(deps.kotlin.serialization.core) /** Test */ testImplementation(deps.test.junit5) diff --git a/features/tester/impl/build.gradle.kts b/features/tester/impl/build.gradle.kts index b3e1f1c4b4..dc426eac96 100644 --- a/features/tester/impl/build.gradle.kts +++ b/features/tester/impl/build.gradle.kts @@ -13,14 +13,20 @@ android { dependencies { /** AndroidX */ + implementation(deps.androidx.activity) implementation(deps.androidx.activity.compose) + implementation(deps.androidx.annotation) + implementation(deps.androidx.core) + implementation(deps.lifecycle.compose) + implementation(deps.lifecycle.runtime.ktx) /** Compose */ + api(deps.compose.foundation) implementation(deps.compose.accompanist.systemUiController) - implementation(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.navigation) implementation(deps.compose.navigation.hilt) + implementation(deps.compose.reorderable) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) implementation(deps.compose.ui.utils) @@ -30,44 +36,53 @@ dependencies { kapt(deps.hilt.kapt) /** Domain modules */ - implementation(projects.domain.account) - implementation(projects.domain.card) - implementation(projects.domain.feedback) - implementation(projects.domain.markets.models) - implementation(projects.domain.markets) - implementation(projects.domain.manageTokens.models) - implementation(projects.domain.manageTokens) - implementation(projects.domain.wallets.models) - implementation(projects.domain.wallets) + api(projects.domain.account) + api(projects.domain.common) + api(projects.domain.feedback) + api(projects.domain.markets) + api(projects.domain.settings) + api(projects.domain.wallets) + implementation(projects.domain.appCurrency.models) + implementation(projects.domain.demo.models) implementation(projects.domain.feedback.models) - implementation(projects.domain.settings) + implementation(projects.domain.manageTokens.models) + implementation(projects.domain.markets.models) + implementation(projects.domain.models) + implementation(projects.domain.walletManager) + runtimeOnly(projects.domain.card) + runtimeOnly(projects.domain.manageTokens) - implementation(projects.data.common) + /** Data */ + api(projects.data.common) /** Other libraries */ + api(deps.kotlin.immutable.collections) + api(deps.kotlin.serialization) implementation(deps.arrow.core) - implementation(deps.kotlin.immutable.collections) + implementation(deps.haze) + implementation(deps.kotlin.coroutines) /** Core modules */ - implementation(projects.core.datasource) - implementation(projects.core.configToggles) - implementation(projects.core.ui) - implementation(projects.core.utils) - implementation(projects.core.navigation) + api(projects.core.configToggles) + api(projects.core.datasource) + api(projects.core.navigation) + api(projects.core.ui) + api(projects.core.utils) implementation(projects.core.pagination) /** Feature Apis */ - implementation(projects.features.tester.api) + api(projects.features.survey.api) + api(projects.features.tester.api) implementation(projects.features.pushNotifications.api) - implementation(projects.features.survey.api) /* SDK */ implementation(tangemDeps.blockchain) /** Other modules */ - implementation(projects.common.routing) + api(projects.common.routing) + api(projects.libs.blockchainSdk) + implementation(projects.common) implementation(projects.common.ui) - implementation(projects.libs.blockchainSdk) implementation(projects.libs.crypto) - implementation(deps.kotlin.serialization) + implementation(projects.libs.tangemSdkApi) } \ No newline at end of file