diff --git a/features/onboarding-v2/api/build.gradle.kts b/features/onboarding-v2/api/build.gradle.kts index 92e55d627f..b3fad24d40 100644 --- a/features/onboarding-v2/api/build.gradle.kts +++ b/features/onboarding-v2/api/build.gradle.kts @@ -11,11 +11,11 @@ android { dependencies { /* Project - Domain */ - implementation(projects.domain.models) + api(projects.domain.models) /* Project - Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /* Compose */ implementation(deps.compose.runtime) diff --git a/features/onboarding-v2/impl/build.gradle.kts b/features/onboarding-v2/impl/build.gradle.kts index 36c8348666..67468c2070 100644 --- a/features/onboarding-v2/impl/build.gradle.kts +++ b/features/onboarding-v2/impl/build.gradle.kts @@ -12,79 +12,80 @@ android { } dependencies { /** Api */ - implementation(projects.features.onboardingV2.api) - implementation(projects.features.manageTokens.api) - implementation(projects.features.biometry.api) - implementation(projects.features.pushNotifications.api) - implementation(projects.features.hotWallet.api) - implementation(projects.features.tokenRecieve.api) + api(projects.features.biometry.api) + api(projects.features.hotWallet.api) + api(projects.features.manageTokens.api) + api(projects.features.onboardingV2.api) + api(projects.features.pushNotifications.api) /** Core modules */ - implementation(projects.core.configToggles) - implementation(projects.core.analytics) - implementation(projects.core.analytics.models) - implementation(projects.core.utils) - implementation(projects.core.ui) - implementation(projects.core.res) - implementation(projects.core.decompose) - implementation(projects.core.navigation) - implementation(projects.core.datasource) + api(projects.core.analytics) + api(projects.core.analytics.models) + api(projects.core.configToggles) + api(projects.core.datasource) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.ui) + api(projects.core.utils) + implementation(projects.core.error) implementation(projects.core.error.ext) /** Common */ - implementation(projects.common.ui) + api(projects.common.ui) implementation(projects.common.routing) implementation(projects.common) /** Domain */ - implementation(projects.domain.account) - implementation(projects.domain.models) - implementation(projects.domain.feedback) + api(projects.domain.account) + api(projects.domain.card) + api(projects.domain.common) + api(projects.domain.feedback) + api(projects.domain.models) + api(projects.domain.networks) + api(projects.domain.onboarding) + api(projects.domain.settings) + api(projects.domain.staking) + api(projects.domain.tokens) + api(projects.domain.visa) + api(projects.domain.wallets) implementation(projects.domain.feedback.models) - implementation(projects.domain.core) - implementation(projects.domain.card) - implementation(projects.domain.wallets) + implementation(projects.domain.visa.models) implementation(projects.domain.wallets.models) - implementation(projects.domain.legacy) - implementation(projects.domain.settings) - implementation(projects.domain.onboarding) - implementation(projects.domain.visa) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.onramp) - implementation(projects.domain.transaction) - implementation(projects.domain.staking) + runtimeOnly(projects.domain.onramp) + runtimeOnly(projects.domain.transaction) /** Tangem libraries */ + api(tangemDeps.card.core) + api(projects.libs.tangemSdkApi) implementation(tangemDeps.hot.core) - implementation(projects.libs.tangemSdkApi) - implementation(tangemDeps.card.core) implementation(tangemDeps.card.android) { exclude(module = "joda-time") } /** AndroidX libraries */ - implementation(deps.androidx.core.ktx) + api(deps.androidx.appCompat) + implementation(deps.androidx.annotation) + implementation(deps.lifecycle.compose) implementation(deps.lifecycle.runtime.ktx) /** Compose libraries */ + api(deps.compose.animation) + api(deps.compose.foundation) + api(deps.decompose.ext.compose) implementation(deps.compose.material3) - implementation(deps.compose.animation) - implementation(deps.compose.foundation) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) implementation(deps.compose.coil) - implementation(deps.compose.shimmer) + implementation(deps.lottie) implementation(deps.lottie.compose) - implementation(deps.decompose.ext.compose) implementation(deps.androidx.activity.compose) - implementation(deps.androidx.datastore) /** Other libraries */ - implementation(deps.kotlin.immutable.collections) + api(deps.kotlin.coroutines) + api(deps.kotlin.immutable.collections) + implementation(deps.arrow.core) implementation(deps.kotlin.serialization) implementation(deps.firebase.crashlytics) - implementation(tangemDeps.card.core) /** DI */ implementation(deps.hilt.android) @@ -93,6 +94,5 @@ dependencies { /** Test */ testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) - testImplementation(deps.test.truth) testImplementation(deps.test.coroutine) } \ No newline at end of file diff --git a/features/onramp/api/build.gradle.kts b/features/onramp/api/build.gradle.kts index ac5210f2a6..c4ed2f7be0 100644 --- a/features/onramp/api/build.gradle.kts +++ b/features/onramp/api/build.gradle.kts @@ -10,15 +10,14 @@ android { } dependencies { + /* Kotlin */ + api(deps.kotlin.coroutines) + /* Project - Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) /* Project - Domain */ - implementation(projects.domain.onramp.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets.models) - - /* Compose */ - implementation(deps.compose.runtime) + api(projects.domain.models) + api(projects.domain.onramp.models) } \ No newline at end of file diff --git a/features/promo-banners/api/build.gradle.kts b/features/promo-banners/api/build.gradle.kts index cfa0100f41..d3084eb673 100644 --- a/features/promo-banners/api/build.gradle.kts +++ b/features/promo-banners/api/build.gradle.kts @@ -9,6 +9,8 @@ android { } dependencies { - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(deps.compose.runtime) + api(deps.compose.ui) + + api(projects.core.decompose) } \ No newline at end of file diff --git a/features/promo-banners/impl/build.gradle.kts b/features/promo-banners/impl/build.gradle.kts index a510cfa91b..b254857e0d 100644 --- a/features/promo-banners/impl/build.gradle.kts +++ b/features/promo-banners/impl/build.gradle.kts @@ -12,29 +12,32 @@ android { dependencies { /** Project - API */ - implementation(projects.features.promoBanners.api) + api(projects.features.promoBanners.api) /** Domain */ - implementation(projects.domain.common) + api(projects.domain.common) implementation(projects.domain.models) /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.navigation) - implementation(projects.core.ui) - implementation(projects.core.analytics) + api(projects.core.analytics) + api(projects.core.datasource) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.utils) implementation(projects.core.analytics.models) - implementation(projects.core.utils) - implementation(projects.core.datasource) + implementation(projects.core.ui) /** Compose */ - implementation(deps.compose.foundation) + api(deps.compose.foundation) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) implementation(deps.lifecycle.compose) /** Other */ - implementation(deps.arrow.core) + implementation(deps.androidx.appCompat) + implementation(deps.androidx.core.ktx) + implementation(deps.decompose) + implementation(deps.kotlin.coroutines) implementation(deps.kotlin.immutable.collections) /** DI */ diff --git a/features/push-notification-settings/api/build.gradle.kts b/features/push-notification-settings/api/build.gradle.kts index 3514a26763..bc22d5eb3f 100644 --- a/features/push-notification-settings/api/build.gradle.kts +++ b/features/push-notification-settings/api/build.gradle.kts @@ -11,12 +11,9 @@ android { dependencies { /* Project - Domain */ - implementation(projects.domain.models) + api(projects.domain.models) /* Project - Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) - - /* Compose */ - implementation(deps.compose.runtime) + api(projects.core.decompose) + api(projects.core.ui) } \ No newline at end of file diff --git a/features/push-notification-settings/impl/build.gradle.kts b/features/push-notification-settings/impl/build.gradle.kts index b69c5cd2a8..fa3339e9bc 100644 --- a/features/push-notification-settings/impl/build.gradle.kts +++ b/features/push-notification-settings/impl/build.gradle.kts @@ -13,33 +13,36 @@ android { dependencies { /* Project - API */ - implementation(projects.features.pushNotificationSettings.api) + api(projects.features.pushNotificationSettings.api) + api(projects.features.walletSettings.api) implementation(projects.features.pushNotifications.api) - implementation(projects.features.walletSettings.api) /* Project - Core */ - implementation(projects.core.decompose) + api(projects.core.analytics) + api(projects.core.configToggles) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.utils) + implementation(projects.core.analytics.models) implementation(projects.core.ui) - implementation(projects.core.configToggles) - implementation(projects.core.navigation) - implementation(projects.core.analytics) - implementation(projects.core.utils) /* Project - Domain */ + api(projects.domain.account) + api(projects.domain.pushNotificationPreferences) implementation(projects.domain.models) - implementation(projects.domain.account) - implementation(projects.domain.pushNotificationPreferences) /* AndroidX */ + implementation(deps.androidx.activity) implementation(deps.androidx.activity.compose) + implementation(deps.androidx.annotation) + implementation(deps.androidx.appCompat) implementation(deps.lifecycle.compose) /* Compose */ + api(deps.compose.foundation) implementation(deps.compose.ui) - implementation(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.runtime) - implementation(deps.compose.shimmer) implementation(deps.decompose.ext.compose) /* DI */ @@ -48,7 +51,9 @@ dependencies { /* Other */ implementation(deps.arrow.core) + implementation(deps.kotlin.coroutines) implementation(deps.kotlin.immutable.collections) + implementation(deps.kotlin.serialization.core) /* Tests */ testImplementation(deps.test.junit5) diff --git a/features/push-notifications/api/build.gradle.kts b/features/push-notifications/api/build.gradle.kts index 23997238e3..4a89ad8707 100644 --- a/features/push-notifications/api/build.gradle.kts +++ b/features/push-notifications/api/build.gradle.kts @@ -10,13 +10,13 @@ android { dependencies { /** AndroidX */ - implementation(deps.androidx.fragment.ktx) + implementation(deps.androidx.annotation) /** 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) /** Common */ - implementation(projects.common.routing) + api(projects.common.routing) } \ No newline at end of file diff --git a/features/qr-scanning/api/build.gradle.kts b/features/qr-scanning/api/build.gradle.kts index 5508ff8910..5b7d093d72 100644 --- a/features/qr-scanning/api/build.gradle.kts +++ b/features/qr-scanning/api/build.gradle.kts @@ -10,12 +10,9 @@ android { dependencies { /** Domain models */ - implementation(projects.domain.qrScanning.models) + api(projects.domain.qrScanning.models) /** Core */ - implementation(projects.core.decompose) - implementation(projects.core.ui) - - /** AndroidX */ - implementation(deps.androidx.fragment.ktx) + api(projects.core.decompose) + api(projects.core.ui) } \ No newline at end of file diff --git a/features/rating/api/build.gradle.kts b/features/rating/api/build.gradle.kts index f11af4f840..10a9c95b71 100644 --- a/features/rating/api/build.gradle.kts +++ b/features/rating/api/build.gradle.kts @@ -9,6 +9,6 @@ android { } dependencies { - implementation(projects.core.decompose) - implementation(projects.core.ui) + api(projects.core.decompose) + api(projects.core.ui) } \ No newline at end of file diff --git a/features/rating/impl/build.gradle.kts b/features/rating/impl/build.gradle.kts index 7df24d75f0..2e65fb69e3 100644 --- a/features/rating/impl/build.gradle.kts +++ b/features/rating/impl/build.gradle.kts @@ -10,17 +10,22 @@ android { namespace = "com.tangem.feature.rating.impl" } dependencies { - implementation(projects.features.rating.api) + api(projects.features.rating.api) - implementation(projects.core.decompose) - implementation(projects.core.res) - implementation(projects.core.ui) - implementation(projects.core.utils) + api(projects.core.decompose) + api(projects.core.ui) + api(projects.core.utils) - implementation(deps.compose.foundation) + api(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.ui) + implementation(deps.androidx.appCompat) + implementation(deps.decompose) + implementation(deps.kotlin.coroutines) + implementation(deps.lifecycle.compose) + implementation(deps.lifecycle.runtime.ktx) + implementation(deps.hilt.android) kapt(deps.hilt.kapt) diff --git a/features/referral/api/build.gradle.kts b/features/referral/api/build.gradle.kts index d3eba23815..ae6fb5b110 100644 --- a/features/referral/api/build.gradle.kts +++ b/features/referral/api/build.gradle.kts @@ -12,12 +12,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) - - /* Compose */ - implementation(deps.compose.runtime) } \ No newline at end of file diff --git a/features/referral/data/build.gradle.kts b/features/referral/data/build.gradle.kts index ac60688bc4..720c1f90cf 100644 --- a/features/referral/data/build.gradle.kts +++ b/features/referral/data/build.gradle.kts @@ -13,28 +13,26 @@ android { dependencies { /** Project */ - implementation(projects.core.datasource) - implementation(projects.core.utils) + api(projects.core.datasource) + api(projects.core.utils) /** Data modules */ implementation(projects.data.common) implementation(deps.androidx.datastore) /** Domain modules */ - implementation(projects.domain.common) - implementation(projects.domain.legacy) - implementation(projects.libs.blockchainSdk) + api(projects.domain.common) + api(projects.domain.referral) + api(projects.features.referral.domain) + api(projects.libs.blockchainSdk) implementation(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.referral) - implementation(projects.features.referral.domain) /** Libs */ - implementation(projects.libs.auth) + runtimeOnly(projects.libs.auth) /** Time */ implementation(deps.jodatime) + implementation(deps.kotlin.coroutines) /** DI */ implementation(deps.hilt.android) diff --git a/features/referral/domain/build.gradle.kts b/features/referral/domain/build.gradle.kts index e9ab3a55d8..82ba97625c 100644 --- a/features/referral/domain/build.gradle.kts +++ b/features/referral/domain/build.gradle.kts @@ -11,30 +11,22 @@ android { } dependencies { - /** Libs */ - implementation(projects.core.utils) - implementation(projects.core.decompose) - /** Core modules */ - implementation(projects.libs.crypto) + api(projects.core.decompose) + implementation(projects.core.utils) /** Domain modules */ - implementation(projects.domain.account.status) - implementation(projects.domain.card) - implementation(projects.domain.common) - implementation(projects.domain.models) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - - /** Feature Apis */ - implementation(projects.features.tester.api) - implementation(projects.features.wallet.api) + api(projects.domain.account) + api(projects.domain.account.status) + api(projects.domain.common) + api(projects.domain.models) + api(projects.domain.walletManager) + implementation(projects.domain.core) /** Dependencies */ - implementation(deps.arrow.core) - implementation(deps.jodatime) + api(deps.arrow.core) + api(deps.jodatime) + implementation(deps.kotlin.coroutines) implementation(tangemDeps.card.core) /** DI */ diff --git a/features/referral/impl/build.gradle.kts b/features/referral/impl/build.gradle.kts index 626b3f81d3..13f45ff9bc 100644 --- a/features/referral/impl/build.gradle.kts +++ b/features/referral/impl/build.gradle.kts @@ -14,50 +14,47 @@ dependencies { /** Api */ api(projects.features.referral.api) api(projects.features.commonFeatures.api) + api(projects.features.referral.domain) /** Core modules */ - implementation(projects.core.analytics) - implementation(projects.core.analytics.models) - implementation(projects.core.navigation) + api(projects.core.analytics) + api(projects.core.analytics.models) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.utils) + api(projects.common.routing) implementation(projects.core.res) - implementation(projects.core.utils) implementation(projects.core.ui) - implementation(projects.core.decompose) - implementation(projects.libs.crypto) - implementation(projects.common.routing) implementation(projects.common.ui) + implementation(projects.common) /** AndroidX */ + implementation(deps.androidx.annotation) implementation(deps.androidx.appCompat) - implementation(deps.androidx.fragment.ktx) - implementation(deps.lifecycle.viewModel.ktx) - implementation(deps.androidx.activity.compose) /** Compose */ - implementation(deps.compose.foundation) + api(deps.compose.foundation) implementation(deps.compose.material3) implementation(deps.compose.ui.tooling) /** Domain */ - implementation(projects.domain.demo) - implementation(projects.domain.wallets) - implementation(projects.domain.legacy) - implementation(projects.domain.card) - implementation(projects.domain.wallets.models) - implementation(projects.domain.notifications.models) - implementation(projects.domain.account.status) + api(projects.domain.account.status) + api(projects.domain.appCurrency) + api(projects.domain.balanceHiding) + api(projects.domain.demo) + api(projects.domain.wallets) implementation(projects.domain.account) - implementation(projects.domain.balanceHiding) - implementation(projects.domain.balanceHiding.models) - implementation(projects.domain.appCurrency) implementation(projects.domain.appCurrency.models) - implementation(projects.features.referral.domain) + implementation(projects.domain.card) + implementation(projects.domain.models) + implementation(projects.domain.wallets.models) /** Other libraries */ - implementation(deps.compose.shimmer) + api(deps.decompose.ext.compose) + api(deps.kotlin.coroutines) + implementation(deps.arrow.core) implementation(deps.kotlin.immutable.collections) - implementation(deps.decompose.ext.compose) - implementation(deps.compose.accompanist.systemUiController) + implementation(deps.kotlin.serialization.core) /** DI */ implementation(deps.hilt.android)