From 9da6ca3a5633f7a5761987eb3c382340c8c19f00 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Thu, 20 Aug 2026 22:23:36 -0400 Subject: [PATCH] build(base58): declare the base58 lint tasks' dependency on generated fixtures `commonTest`'s `kotlin.srcDir(generateTestFixtures)` carries the task dependency to the Kotlin compile tasks only. AGP's `lintAnalyzeAndroidHostTest` and `generateAndroidHostTestLintModel` read the same source directories straight off disk, so Gradle failed the build on an undeclared dependency on `build/generated/testFixtures` whenever both landed in one task graph -- which is exactly what CI's `flipcashTestDebug :apps:flipcash:app:lintDebug` does. This is the same wiring #1288 added to :libs:codes:kikcode; #1289 introduced an identical fixture generator in :libs:encryption:base58 without it, leaving code/cash red and failing every open PR on a build-config error unrelated to its own changes. --- libs/encryption/base58/build.gradle.kts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/encryption/base58/build.gradle.kts b/libs/encryption/base58/build.gradle.kts index 20d1b69bc..f54cabe36 100644 --- a/libs/encryption/base58/build.gradle.kts +++ b/libs/encryption/base58/build.gradle.kts @@ -68,6 +68,12 @@ val generateTestFixtures = tasks.register("generateTestFix outputDirectory.set(layout.buildDirectory.dir("generated/testFixtures")) } +// `srcDir(taskProvider)` below carries the task dependency to the Kotlin compile tasks only; AGP's +// lint tasks read the same source directories straight off disk, so Gradle fails the build over an +// undeclared dependency on the generated fixtures. Wire it up by hand. +tasks.matching { it.name.startsWith("lint") || it.name.endsWith("LintModel") } + .configureEach { dependsOn(generateTestFixtures) } + kotlin { android { namespace = "com.getcode.encryption.base58"