Skip to content

build(base58): declare the base58 lint tasks' dependency on generated fixtures - #1292

Merged
bmc08gt merged 1 commit into
code/cashfrom
fix/base58-lint-fixture-dependency
Aug 21, 2026
Merged

build(base58): declare the base58 lint tasks' dependency on generated fixtures#1292
bmc08gt merged 1 commit into
code/cashfrom
fix/base58-lint-fixture-dependency

Conversation

@bmc08gt

Copy link
Copy Markdown
Collaborator

code/cash is red at HEAD, so every open PR is currently failing on a build-config error unrelated to its own changes.

#1289 introduced a GenerateTestFixtures task in :libs:encryption:base58, wired into the build via commonTest { kotlin.srcDir(generateTestFixtures) }. That form carries the task dependency to the Kotlin compile tasks only — AGP's generateAndroidHostTestLintModel and lintAnalyzeAndroidHostTest read the same source directories straight off disk, so Gradle fails on an undeclared dependency on build/generated/testFixtures once both land in one task graph. That is exactly what CI's flipcashTestDebug :apps:flipcash:app:lintDebug does:

A problem was found with the configuration of task
':libs:encryption:base58:generateAndroidHostTestLintModel' (type 'LintModelWriterTask').
Property has implicit dependency
Task ':libs:encryption:base58:generateAndroidHostTestLintModel' uses this output of task
':libs:encryption:base58:generateTestFixtures' without declaring an explicit or implicit dependency.

This is the same wiring #1288 added to :libs:codes:kikcode a minute earlier. #1289's own CI was already failing on this when it merged.

Follow-up

The GenerateTestFixtures task classes in base58 and kikcode are now byte-identical apart from the generated package name. That copy-paste is why this broke twice — extracting it into a build-logic convention plugin that wires the lint dependency automatically would stop a third recurrence.

… 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.
@github-actionsgithub-actionsBot added type: build Build system, Gradle, dependencies area: crypto Solana, keys, encryption, signing labels Aug 21, 2026
@bmc08gt
bmc08gt merged commit 5311c3b into code/cashAug 21, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the fix/base58-lint-fixture-dependency branch August 21, 2026 03:10
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
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: cryptoSolana, keys, encryption, signingtype: buildBuild system, Gradle, dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@bmc08gt