Skip to content

Commit f27a2e1

Browse files
committed
Reduce overall build complexity
- Reduce the visibility of multiple Hilt `Module`s and implementations of public interfaces - Correctly configure the visibility of dependencies: - `api` when it's part of it's public `api` - `implementation` when it's part of it's internal `implementation` - Remove unnecessary dependencies in build.gradle.kts files - Remove unnecessary dependencies provided by plugins - Remove unnecessary applied plugins (i.e. roborazzi) - Sort dependencies in `build.gradle.kts` - Delete unused entries in `libs.versions.toml`
1 parent 63bba2e commit f27a2e1

File tree

76 files changed

+191
-238
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+191
-238
lines changed

app-nia-catalog/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,10 @@ android {
6565
}
6666

6767
dependencies {
68+
implementation(libs.androidx.activity.compose)
69+
6870
implementation(projects.core.designsystem)
6971
implementation(projects.core.ui)
70-
implementation(libs.androidx.activity.compose)
7172
}
7273

7374
dependencyGuard {

app/build.gradle.kts

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ plugins {
2525
alias(libs.plugins.nowinandroid.android.application.firebase)
2626
id("com.google.android.gms.oss-licenses-plugin")
2727
alias(libs.plugins.baselineprofile)
28+
alias(libs.plugins.roborazzi)
2829
}
2930

3031
android {
@@ -96,47 +97,41 @@ dependencies {
9697
implementation(projects.core.data)
9798
implementation(projects.core.model)
9899
implementation(projects.core.analytics)
99-
100100
implementation(projects.sync.work)
101101

102-
androidTestImplementation(projects.core.testing)
103-
androidTestImplementation(projects.core.datastoreTest)
104-
androidTestImplementation(projects.core.dataTest)
105-
androidTestImplementation(projects.core.network)
106-
androidTestImplementation(libs.androidx.navigation.testing)
107-
androidTestImplementation(libs.accompanist.testharness)
108-
androidTestImplementation(kotlin("test"))
109-
debugImplementation(libs.androidx.compose.ui.testManifest)
110-
debugImplementation(projects.uiTestHiltManifest)
111-
112102
implementation(libs.androidx.activity.compose)
113-
implementation(libs.androidx.appcompat)
114103
implementation(libs.androidx.core.ktx)
115104
implementation(libs.androidx.core.splashscreen)
116-
implementation(libs.androidx.compose.runtime)
105+
implementation(libs.androidx.tracing.ktx)
117106
implementation(libs.androidx.lifecycle.runtimeCompose)
118-
implementation(libs.androidx.compose.runtime.tracing)
119107
implementation(libs.androidx.compose.material3.windowSizeClass)
120-
implementation(libs.androidx.hilt.navigation.compose)
121108
implementation(libs.androidx.navigation.compose)
122-
implementation(libs.androidx.window.manager)
123109
implementation(libs.androidx.profileinstaller)
124110
implementation(libs.kotlinx.coroutines.guava)
125111
implementation(libs.coil.kt)
126112

127-
baselineProfile(project(":benchmarks"))
113+
debugImplementation(libs.androidx.compose.ui.testManifest)
114+
debugImplementation(projects.uiTestHiltManifest)
115+
116+
kspTest(libs.hilt.compiler)
128117

129-
// Core functions
130-
testImplementation(projects.core.testing)
131-
testImplementation(projects.core.datastoreTest)
132118
testImplementation(projects.core.dataTest)
133-
testImplementation(projects.core.network)
134-
testImplementation(libs.androidx.navigation.testing)
119+
testImplementation(projects.core.testing)
135120
testImplementation(libs.accompanist.testharness)
121+
testImplementation(libs.hilt.android.testing)
136122
testImplementation(libs.work.testing)
137-
testImplementation(kotlin("test"))
138-
kspTest(libs.hilt.compiler)
139123

124+
testDemoImplementation(libs.robolectric)
125+
testDemoImplementation(libs.roborazzi)
126+
127+
androidTestImplementation(projects.core.testing)
128+
androidTestImplementation(projects.core.dataTest)
129+
androidTestImplementation(projects.core.datastoreTest)
130+
androidTestImplementation(libs.androidx.navigation.testing)
131+
androidTestImplementation(libs.accompanist.testharness)
132+
androidTestImplementation(libs.hilt.android.testing)
133+
134+
baselineProfile(projects.benchmarks)
140135
}
141136

142137
baselineProfile {

build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ class AndroidApplicationComposeConventionPlugin : Plugin<Project> {
2424
override fun apply(target: Project) {
2525
with(target) {
2626
pluginManager.apply("com.android.application")
27-
// Screenshot Tests
28-
pluginManager.apply("io.github.takahirom.roborazzi")
2927

3028
val extension = extensions.getByType<ApplicationExtension>()
3129
configureAndroidCompose(extension)

build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import org.gradle.api.Plugin
2121
import org.gradle.api.Project
2222
import org.gradle.kotlin.dsl.configure
2323
import org.gradle.kotlin.dsl.dependencies
24-
import org.gradle.kotlin.dsl.kotlin
2524

2625
class AndroidFeatureConventionPlugin : Plugin<Project> {
2726
override fun apply(target: Project) {
@@ -39,27 +38,12 @@ class AndroidFeatureConventionPlugin : Plugin<Project> {
3938
}
4039

4140
dependencies {
42-
add("implementation", project(":core:model"))
4341
add("implementation", project(":core:ui"))
4442
add("implementation", project(":core:designsystem"))
45-
add("implementation", project(":core:data"))
46-
add("implementation", project(":core:common"))
47-
add("implementation", project(":core:domain"))
48-
add("implementation", project(":core:analytics"))
49-
50-
add("testImplementation", kotlin("test"))
51-
add("testImplementation", project(":core:testing"))
52-
add("androidTestImplementation", kotlin("test"))
53-
add("androidTestImplementation", project(":core:testing"))
54-
55-
add("implementation", libs.findLibrary("coil.kt").get())
56-
add("implementation", libs.findLibrary("coil.kt.compose").get())
5743

5844
add("implementation", libs.findLibrary("androidx.hilt.navigation.compose").get())
5945
add("implementation", libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
6046
add("implementation", libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
61-
62-
add("implementation", libs.findLibrary("kotlinx.coroutines.android").get())
6347
}
6448
}
6549
}

build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ class AndroidHiltConventionPlugin : Plugin<Project> {
3030
dependencies {
3131
"implementation"(libs.findLibrary("hilt.android").get())
3232
"ksp"(libs.findLibrary("hilt.compiler").get())
33-
"kspAndroidTest"(libs.findLibrary("hilt.compiler").get())
34-
"kspTest"(libs.findLibrary("hilt.compiler").get())
3533
}
3634

3735
}

build-logic/convention/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ class AndroidLibraryComposeConventionPlugin : Plugin<Project> {
2626
override fun apply(target: Project) {
2727
with(target) {
2828
pluginManager.apply("com.android.library")
29-
// Screenshot Tests
30-
pluginManager.apply("io.github.takahirom.roborazzi")
3129

3230
val extension = extensions.getByType<LibraryExtension>()
3331
configureAndroidCompose(extension)

build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
4848
}
4949
dependencies {
5050
add("testImplementation", kotlin("test"))
51-
add("testImplementation", project(":core:testing"))
52-
add("androidTestImplementation", kotlin("test"))
53-
add("androidTestImplementation", project(":core:testing"))
5451
}
5552
}
5653
}

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,6 @@ internal fun Project.configureAndroidCompose(
4141
val bom = libs.findLibrary("androidx-compose-bom").get()
4242
add("implementation", platform(bom))
4343
add("androidTestImplementation", platform(bom))
44-
// Add ComponentActivity to debug manifest
45-
add("debugImplementation", libs.findLibrary("androidx.compose.ui.testManifest").get())
46-
// Screenshot Tests on JVM
47-
add("testImplementation", libs.findLibrary("robolectric").get())
48-
add("testImplementation", libs.findLibrary("roborazzi").get())
4944
}
5045

5146
testOptions {

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ buildscript {
3232
// Lists all plugins used throughout the project without applying them.
3333
plugins {
3434
alias(libs.plugins.android.application) apply false
35+
alias(libs.plugins.android.library) apply false
3536
alias(libs.plugins.android.test) apply false
3637
alias(libs.plugins.baselineprofile) apply false
3738
alias(libs.plugins.kotlin.jvm) apply false

core/analytics/build.gradle.kts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ android {
2424
}
2525

2626
dependencies {
27-
implementation(platform(libs.firebase.bom))
2827
implementation(libs.androidx.compose.runtime)
29-
implementation(libs.androidx.core.ktx)
30-
implementation(libs.firebase.analytics)
31-
implementation(libs.kotlinx.coroutines.android)
28+
29+
prodImplementation(platform(libs.firebase.bom))
30+
prodImplementation(libs.firebase.analytics)
3231
}

0 commit comments

Comments
 (0)