build(codes): declare the kikcode lint tasks' dependency on generated fixtures - #1288
Merged
Merged
Conversation
… 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. Wire the dependency on those lint tasks explicitly.
bmc08gt
added a commit
that referenced
this pull request
Aug 21, 2026
… fixtures (#1292) `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.
bmc08gt
added a commit
that referenced
this pull request
Aug 21, 2026
…convention plugin (#1293) `libs/encryption/base58` and `libs/codes/kikcode` each carried a byte-identical copy of `GenerateTestFixtures`, differing only in the package the generated file is declared in, plus an identical block wiring the AGP lint tasks to depend on the generator. That copy-paste broke `code/cash` once already: #1288 added the lint wiring to kikcode, then #1289 introduced the same generator in base58 without it, and lint failed over an undeclared dependency on generated sources. Adding the source directory only carries the dependency to the Kotlin compile tasks -- lint reads the same directories straight off disk -- so the wiring is easy to forget and invisible until CI runs. Move the task into `build-logic` behind a `flipcash.kmp.test.fixtures` convention plugin. The plugin takes the package via a `testFixtures {}` extension, registers the generated directory on `commonTest`, and wires the lint dependency itself, so a module that applies it cannot omit it. Both modules drop from ~75 lines of build script to four.
bmc08gt
added a commit
that referenced
this pull request
Aug 21, 2026
…esign * origin/code/cash: fix(core): add \ to escape ' in What's (#1298) feat(shared-core): wrap the framework in a Swift target (#1297) chore: update display name entry title/hint (#1296) ci(shared-core): write a placeholder local.properties before publishing (#1295) build(shared-core): publish the XCFramework to flipcash-shared-core-spm (#1294) refactor(build-logic): extract the KMP test-fixture generator into a convention plugin (#1293) build(base58): declare the base58 lint tasks' dependency on generated fixtures (#1292) test(base58): run the vector gate on Kotlin/Native, not just the JVM (#1289) build(codes): declare the kikcode lint tasks' dependency on generated fixtures (#1288) # Conflicts: # apps/flipcash/core/src/main/res/values/strings.xml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI on
code/cashis red since #1287: theRun Flipcash Testsjob fails with two Gradle validation errors in:libs:codes:kikcode.commonTest'skotlin.srcDir(generateTestFixtures)carries the task dependency to the Kotlin compile tasks only. AGP'slintAnalyzeAndroidHostTestandgenerateAndroidHostTestLintModelread the same source directories straight off disk, so Gradle rejects the build whenevergenerateTestFixturesand those lint tasks land in one task graph — exactly what CI'sflipcashTestDebug :apps:flipcash:app:lintDebuginvocation does.This declares the dependency explicitly for the module's lint tasks. The name filter only matches
lintAnalyze*/*LintModeltasks, so the lint-jar/compileLinttasks are untouched.