Skip to content

Commit 74466d6

Browse files
authored
Merge pull request #1085 from android/av/truth-for-badging
Add truth for better badging diff output
2 parents 75cd16b + 5df9cce commit 74466d6

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

build-logic/convention/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ dependencies {
4141
compileOnly(libs.firebase.performance.gradlePlugin)
4242
compileOnly(libs.kotlin.gradlePlugin)
4343
compileOnly(libs.ksp.gradlePlugin)
44+
implementation(libs.truth)
4445
}
4546

4647
tasks {

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

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import com.android.build.api.artifact.SingleArtifact
2020
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
2121
import com.android.build.gradle.BaseExtension
2222
import com.android.SdkConstants
23+
import com.google.common.truth.Truth.assertWithMessage
2324
import org.gradle.api.DefaultTask
24-
import org.gradle.api.GradleException
2525
import org.gradle.api.Project
2626
import org.gradle.api.file.DirectoryProperty
2727
import org.gradle.api.file.RegularFileProperty
@@ -40,7 +40,6 @@ import org.gradle.kotlin.dsl.register
4040
import org.gradle.language.base.plugins.LifecycleBasePlugin
4141
import org.gradle.process.ExecOperations
4242
import java.io.File
43-
import java.nio.file.Files
4443
import javax.inject.Inject
4544

4645
@CacheableTask
@@ -98,17 +97,12 @@ abstract class CheckBadgingTask : DefaultTask() {
9897

9998
@TaskAction
10099
fun taskAction() {
101-
if (
102-
Files.mismatch(
103-
goldenBadging.get().asFile.toPath(),
104-
generatedBadging.get().asFile.toPath(),
105-
) != -1L
106-
) {
107-
throw GradleException(
108-
"Generated badging is different from golden badging! " +
109-
"If this change is intended, run ./gradlew ${updateBadgingTaskName.get()}",
110-
)
111-
}
100+
assertWithMessage(
101+
"Generated badging is different from golden badging! " +
102+
"If this change is intended, run ./gradlew ${updateBadgingTaskName.get()}",
103+
)
104+
.that(generatedBadging.get().asFile.readText())
105+
.isEqualTo(goldenBadging.get().asFile.readText())
112106
}
113107
}
114108

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ robolectric = "4.11.1"
5757
roborazzi = "1.6.0"
5858
room = "2.6.0"
5959
secrets = "2.0.1"
60+
truth = "1.1.5"
6061
turbine = "1.0.0"
6162

6263
[libraries]
@@ -140,6 +141,7 @@ roborazzi = { group = "io.github.takahirom.roborazzi", name = "roborazzi", versi
140141
room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
141142
room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
142143
room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
144+
truth = { group = "com.google.truth", name = "truth", version.ref = "truth" }
143145
turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbine" }
144146

145147
# Dependencies of the included build-logic

0 commit comments

Comments
 (0)