diff --git a/accounts-journey/build.gradle.kts b/accounts-journey/build.gradle.kts index 6470ee6e..4d197678 100644 --- a/accounts-journey/build.gradle.kts +++ b/accounts-journey/build.gradle.kts @@ -29,22 +29,15 @@ dependencies { implementation(libs.bundles.navigation) testImplementation(projects.testData) - androidTestImplementation(libs.navigation.testing) - // Backbase libraries implementation(platform(backbase.bom)) - implementation(backbase.bundles.common) + implementation(midTier.bundles.common) implementation(libs.bundles.navigation) testImplementation(libs.archCore) - androidTestImplementation(projects.fakeAccountsUseCase) - androidTestImplementation(libs.archCore) - androidTestImplementation(libs.navigation.testing) - androidTestImplementation(libs.koinTest) - androidTestImplementation(libs.coroutines) - androidTestImplementation(libs.coroutinesTest) - androidTestImplementation(libs.testParameterInjector) - androidTestUtil(libs.orchestrator) androidTestImplementation(projects.fakeAccountsUseCase) + androidTestImplementation(libs.bundles.test.instrumented) + + androidTestUtil(libs.orchestrator) } diff --git a/accounts-use-case/build.gradle.kts b/accounts-use-case/build.gradle.kts index f07f47e6..0da77bfe 100644 --- a/accounts-use-case/build.gradle.kts +++ b/accounts-use-case/build.gradle.kts @@ -14,6 +14,5 @@ dependencies { // Backbase libraries implementation(platform(backbase.bom)) - implementation(backbase.gen.arrangements.client) - + implementation(clients.arrangements) } diff --git a/app-common/build.gradle.kts b/app-common/build.gradle.kts index cf317997..b1f355a8 100644 --- a/app-common/build.gradle.kts +++ b/app-common/build.gradle.kts @@ -16,13 +16,13 @@ dependencies { implementation(projects.accountsUseCase) implementation(libs.bundles.navigation) - coreLibraryDesugaring(libs.desugar.jdk.libs) + coreLibraryDesugaring(libs.coreLibraryDesugaring) // Backbase libraries implementation(platform(backbase.bom)) - implementation(backbase.bundles.clients) - implementation(backbase.bundles.common) - implementation(backbase.bundles.foundation) + implementation(clients.bundles.clients) + implementation(midTier.bundles.common) + implementation(foundation.bundles.foundation) implementation(backbase.bundles.journeys) - implementation(backbase.bundles.use.cases) -} \ No newline at end of file + implementation(backbase.bundles.useCases) +} diff --git a/app/build.gradle.kts b/app/build.gradle.kts index dd9540b6..c9267f8c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -89,15 +89,14 @@ dependencies { implementation(libs.bundles.navigation) implementation(libs.bundles.ui) - coreLibraryDesugaring(libs.desugar.jdk.libs) - androidTestImplementation(libs.bundles.test.instrumented) + coreLibraryDesugaring(libs.coreLibraryDesugaring) testImplementation(libs.bundles.test) // Backbase libraries - implementation(backbase.bundles.clients) - implementation(backbase.bundles.common) - implementation(backbase.bundles.foundation) + implementation(clients.bundles.clients) + implementation(midTier.bundles.common) + implementation(foundation.bundles.foundation) implementation(backbase.bundles.journeys) - implementation(backbase.bundles.use.cases) + implementation(backbase.bundles.useCases) } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 3ec41df1..d6fa7f5d 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -24,6 +24,6 @@ dependencies { implementation(libs.detekt.gradle.plugin) implementation(libs.gradle.versions.gradle.plugin) - implementation(libs.navigation.safe.args.gradle.plugin) + implementation(libs.androidx.navigation.safe.args.gradle.plugin) implementation(libs.poko.gradle.plugin) } diff --git a/buildSrc/src/main/kotlin/base-android-library-module.gradle.kts b/buildSrc/src/main/kotlin/base-android-library-module.gradle.kts index 95d1f0d0..ec4a9186 100644 --- a/buildSrc/src/main/kotlin/base-android-library-module.gradle.kts +++ b/buildSrc/src/main/kotlin/base-android-library-module.gradle.kts @@ -91,10 +91,8 @@ dependencies { implementation(libs.findBundle("koin").get()) implementation(libs.findBundle("ui").get()) - testImplementation(platform(libs.findLibrary("junit5-bom").get())) + testImplementation(platform(libs.findLibrary("junit-bom").get())) testImplementation(libs.findBundle("test").get()) testRuntimeOnly(libs.findBundle("test-runtime").get()) - - androidTestImplementation(libs.findBundle("test-instrumented").get()) } \ No newline at end of file diff --git a/gradle/backbase.versions.toml b/gradle/backbase.versions.toml index 5c53f9b4..db03c915 100644 --- a/gradle/backbase.versions.toml +++ b/gradle/backbase.versions.toml @@ -1,60 +1,38 @@ [versions] ## A -access-control-client-2-entitlements-use-case = "6.0.0" -authentication-journey = "7.2.0" +accessControlEntitlements = "6.0.0" +authentication = "7.2.0" ## B bom = "2024.09.01" ## F -feature-filter-use-case = "6.0.0" +featureFilter = "6.0.0" ## M -more-menu-journey = "6.1.0" +moreMenu = "6.1.0" ## W -workspaces-journey = "7.1.0" +workspaces = "7.1.0" [libraries] ## A -access-control-client-entitlements-use-case = { group = "com.backbase.android.retail.feature_filter", name = "accesscontrol-client-2-entitlements-use-case", version.ref = "access-control-client-2-entitlements-use-case" } -authentication-journey = { group = "com.backbase.android.identity.journey", name = "authentication-journey", version.ref = "authentication-journey" } -authentication-use-case = { group = "com.backbase.android.identity.journey", name = "identity-auth-client-1-authentication-use-case", version.ref = "authentication-journey" } +accessControlEntitlementsUseCase = { group = "com.backbase.android.retail.feature_filter", name = "accesscontrol-client-2-entitlements-use-case", version.ref = "accessControlEntitlements" } +authentication-journey = { group = "com.backbase.android.identity.journey", name = "authentication-journey", version.ref = "authentication" } +authentication-use-case = { group = "com.backbase.android.identity.journey", name = "identity-auth-client-1-authentication-use-case", version.ref = "authentication" } ## B bom = { module = "com.backbase.android.platform:bom", version.ref = "bom" } -business-journey-common = { group = "com.backbase.android.business.journey", name = "journey-common", version = "" } - -## C -clients-common-coroutines = { group = "com.backbase.android.clients", name = "clients-common-coroutines", version = "" } - -## D -design-system = { group = "com.backbase.android.design", name = "design-system", version = "" } ## F -feature-filter-use-case = { group = "com.backbase.android.retail.feature_filter", name = "feature-filter-use-case", version.ref = "feature-filter-use-case" } - -## G -gen-access-control-client = { group = "com.backbase.android.clients", name = "gen2-accesscontrol-client-3", version = "" } -gen-arrangements-client = { group = "com.backbase.android.clients", name = "gen2-arrangement-client-2", version = "" } - -## J -journey-test = { group = "com.backbase.android.retail.journey", name = "journey-test", version = "" } +featureFilterUseCase = { group = "com.backbase.android.retail.feature_filter", name = "feature-filter-use-case", version.ref = "featureFilter" } ## M -more-menu-journey = { group = "com.backbase.android.retail.journey", name = "more-journey", version.ref = "more-menu-journey" } -msdk = { group = "com.backbase.android.sdk", name = "backbase", version = "" } - -## R -retail-journey-common = { group = "com.backbase.android.retail.journey", name = "journey-common", version = "" } -retail-journey-common-koin = { group = "com.backbase.android.retail.journey", name = "journey-common-koin", version = "" } - -## U -user-manager-client = { group = "com.backbase.android.clients", name = "gen-usermanager-client-2", version = "" } +moreMenuJourney = { group = "com.backbase.android.retail.journey", name = "more-journey", version.ref = "moreMenu" } ## W -workspaces-journey = { group = "com.backbase.android.business.journey", name = "workspaces-journey", version.ref = "workspaces-journey" } -workspaces-use-case = { group = "com.backbase.android.business.journey.workspaces-journey", name = "accesscontrol-client-2-workspaces-use-case", version.ref = "workspaces-journey" } +workspaces-journey = { group = "com.backbase.android.business.journey", name = "workspaces-journey", version.ref = "workspaces" } +workspaces-use-case = { group = "com.backbase.android.business.journey.workspaces-journey", name = "accesscontrol-client-2-workspaces-use-case", version.ref = "workspaces" } [plugins] ## B @@ -77,38 +55,18 @@ jacoco-root-codecoverage = { id = "jacoco-root-codecoverage" } visualiser = { id = "com.backbase.android.visualizer", version = "1.0.0" } [bundles] -## C -clients = [ - "gen-access-control-client", - "gen-arrangements-client", - "user-manager-client", -] - -common = [ - "business-journey-common", - "clients-common-coroutines", - "retail-journey-common", - "retail-journey-common-koin", - "journey-test", -] - -## F -foundation = [ - "design-system", - "msdk", -] ## J journeys = [ "authentication-journey", - "more-menu-journey", + "moreMenuJourney", "workspaces-journey", ] ## U -use-cases = [ - "access-control-client-entitlements-use-case", +useCases = [ + "accessControlEntitlementsUseCase", "authentication-use-case", - "feature-filter-use-case", + "featureFilterUseCase", "workspaces-use-case", ] diff --git a/gradle/clients.versions.toml b/gradle/clients.versions.toml new file mode 100644 index 00000000..d6c4dd82 --- /dev/null +++ b/gradle/clients.versions.toml @@ -0,0 +1,19 @@ +[versions] + +[libraries] +## G +accessControl = { group = "com.backbase.android.clients", name = "gen2-accesscontrol-client-3", version = "" } +arrangements = { group = "com.backbase.android.clients", name = "gen2-arrangement-client-2", version = "" } + +## U +userManager = { group = "com.backbase.android.clients", name = "gen-usermanager-client-2", version = "" } + +[plugins] + +[bundles] +## C +clients = [ + "accessControl", + "arrangements", + "userManager", +] diff --git a/gradle/foundation.versions.toml b/gradle/foundation.versions.toml new file mode 100644 index 00000000..f594d775 --- /dev/null +++ b/gradle/foundation.versions.toml @@ -0,0 +1,17 @@ +[versions] + +[libraries] +## D +design-system = { group = "com.backbase.android.design", name = "design-system", version = "" } + +# M +msdk = { group = "com.backbase.android.sdk", name = "backbase", version = "" } + +[plugins] + +[bundles] +## F +foundation = [ + "design-system", + "msdk", +] \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9fdb5613..cdd59848 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,15 +4,16 @@ agp = "8.6.1" archCore = "2.2.0" assertJ = "3.26.3" +## C +coreLibraryDesugaring = "2.1.5" + ## D -desugar_jdk_libs = "2.1.3" detekt = "1.23.7" ## E espresso = "3.6.1" ## G -gradle = "8.6.1" gradle-versions-plugin = "0.51.0" ## J @@ -37,27 +38,28 @@ orchestrator = "1.5.1" ## P poko = "0.15.3" -## S -swiperefreshlayout = "1.1.0" - ## T testParameterInjector = "1.18" -truth = "1.4.4" [libraries] ## A +androidx-navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version = "" } +androidx-navigation-safe-args-gradle-plugin = { group = "androidx.navigation", name = "navigation-safe-args-gradle-plugin", version.ref = "navigation-component" } +androidx-navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version = "" } +androidx-navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version = "" } +androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version = "" } appcompat = { group = "androidx.appcompat", name = "appcompat", version = "" } -archCore = { module = "androidx.arch.core:core-testing", name = "archCore", version.ref = "archCore"} +archCore = { module = "androidx.arch.core:core-testing", name = "archCore", version.ref = "archCore" } assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertJ" } ## C -coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version = ""} -coroutinesTest = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version = ""} +coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version = "" } +coroutinesTest = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version = "" } constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "" } core-ktx = { module = "androidx.core:core-ktx", version = "" } +coreLibraryDesugaring = { module = "com.android.tools:desugar_jdk_libs", version.ref = "coreLibraryDesugaring" } ## D -desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" } detekt-gradle-plugin = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version.ref = "detekt" } detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" } @@ -65,18 +67,18 @@ detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-form espresso = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" } ## G -gradle = { group = "com.android.tools.build", name = "gradle", version.ref = "gradle" } -gradle-api = { group = "com.android.tools.build", name = "gradle-api", version.ref = "gradle" } +gradle = { group = "com.android.tools.build", name = "gradle", version.ref = "agp" } +gradle-api = { group = "com.android.tools.build", name = "gradle-api", version.ref = "agp" } gradle-versions-gradle-plugin = { module = "com.github.ben-manes:gradle-versions-plugin", version.ref = "gradle-versions-plugin" } ## J -junit4 = { module = "junit:junit", version.ref = "junit4" } +junit = { module = "junit:junit", version = "" } junit4-android = { module = "androidx.test.ext:junit", version.ref = "junit4-android" } junit5-android-plugin = { module = "de.mannodermaus.gradle.plugins:android-junit5", version.ref = "junit5-android" } -junit5-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit5" } -junit5-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit5" } -junit5-jupiter-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit5" } -junit5-vintage-engine = { group = "org.junit.vintage", name = "junit-vintage-engine", version.ref = "junit5" } +junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit5" } +junit-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version = "" } +junit-jupiter-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version = "" } +junit-vintage-engine = { group = "org.junit.vintage", name = "junit-vintage-engine", version = "" } ## K karumi-gradle-plugin = { group = "com.karumi", name = "shot", version.ref = "karumi" } @@ -93,27 +95,18 @@ material = { module = "com.google.android.material:material", version = "" } mockK = { module = "io.mockk:mockk", version.ref = "mockk" } mockK-android = { module = "io.mockk:mockk-android", version = "" } -## N -navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version = "" } -navigation-safe-args-gradle-plugin = { group = "androidx.navigation", name = "navigation-safe-args-gradle-plugin", version.ref = "navigation-component" } -navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version.ref = "navigation-component"} -navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version = "" } - ## O orchestrator = { group = "androidx.test", name = "orchestrator", version.ref = "orchestrator" } ## P poko-gradle-plugin = { group = "dev.drewhamilton.poko", name = "dev.drewhamilton.poko.gradle.plugin", version.ref = "poko" } -## S -swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" } - ## T -testParameterInjector = { group = "com.google.testparameterinjector", name = "test-parameter-injector", version.ref = "testParameterInjector"} -truth = { module = "com.google.truth:truth", version.ref = "truth" } +testParameterInjector = { group = "com.google.testparameterinjector", name = "test-parameter-injector", version.ref = "testParameterInjector" } [plugins] ## +android = { id = "com.android.tools.build", version.ref = "agp" } android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } @@ -128,7 +121,6 @@ jacoco = { id = "jacoco", version.ref = "jacoco" } ## K karumi = { id = "shot", version.ref = "karumi" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version = "" } kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version = "kotlin" } ## N @@ -153,16 +145,16 @@ koin = [ ## N # implementation(libs.bundles.navigation) navigation = [ - "navigation-fragment-ktx", - "navigation-ui-ktx", + "androidx-navigation-fragment-ktx", + "androidx-navigation-ui-ktx", ] ## T # testImplementation(libs.bundles.test) test = [ "assertj-core", - "junit4", - "junit5-jupiter", + "junit", + "junit-jupiter", "coroutinesTest", "mockK", ] @@ -174,13 +166,19 @@ test-android-module = [ # androidTestImplementation test-instrumented = [ - "junit4-android", + "androidx-navigation-testing", + "archCore", + "coroutines", + "coroutinesTest", "espresso", + "junit4-android", + "koinTest", + "testParameterInjector", ] test-runtime = [ - "junit5-vintage-engine", - "junit5-jupiter-engine", + "junit-vintage-engine", + "junit-jupiter-engine", ] ## U @@ -188,5 +186,5 @@ test-runtime = [ ui = [ "constraintlayout", "material", - "swiperefreshlayout", + "androidx-swiperefreshlayout", ] \ No newline at end of file diff --git a/gradle/midTier.versions.toml b/gradle/midTier.versions.toml new file mode 100644 index 00000000..19405d74 --- /dev/null +++ b/gradle/midTier.versions.toml @@ -0,0 +1,27 @@ +[versions] + +[libraries] +## B +business-journey-common = { group = "com.backbase.android.business.journey", name = "journey-common", version = "" } + +## C +clients-common-coroutines = { group = "com.backbase.android.clients", name = "clients-common-coroutines", version = "" } + +## J +journey-test = { group = "com.backbase.android.retail.journey", name = "journey-test", version = "" } + +## R +retail-journey-common = { group = "com.backbase.android.retail.journey", name = "journey-common", version = "" } +retail-journey-common-koin = { group = "com.backbase.android.retail.journey", name = "journey-common-koin", version = "" } + +[plugins] + +[bundles] +## C +common = [ + "business-journey-common", + "clients-common-coroutines", + "retail-journey-common", + "retail-journey-common-koin", + "journey-test", +] \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 223d0596..c0b37713 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -27,6 +27,9 @@ dependencyResolutionManagement { versionCatalogs { create("backbase") { from(files("gradle/backbase.versions.toml")) } + create("clients") { from(files("gradle/clients.versions.toml")) } + create("foundation") { from(files("gradle/foundation.versions.toml")) } + create("midTier") { from(files("gradle/midTier.versions.toml")) } } } rootProject.name = "Golden_Sample_App_Android" diff --git a/test-data/build.gradle.kts b/test-data/build.gradle.kts index 84f62329..93d98fca 100644 --- a/test-data/build.gradle.kts +++ b/test-data/build.gradle.kts @@ -11,6 +11,6 @@ dependencies { implementation(platform(backbase.bom)) implementation(libs.coroutinesTest) - implementation(platform(libs.junit5.bom)) - implementation(libs.junit5.jupiter) + implementation(platform(libs.junit.bom)) + implementation(libs.junit.jupiter) }