2.2 KiB
title, source_type, status, tags, created
| title | source_type | status | tags | created | |||||
|---|---|---|---|---|---|---|---|---|---|
| onboarding fixture package path mismatch | error-note | raw |
|
2026-06-25 |
onboarding fixture package path mismatch
Parent
Symptom
./gradlew check failed at :app-bootstrap:compileSampleOffTestJava after renaming the onboarding dry-run fixture from Ticket* to FeatureAggregate*.
Compiler errors said packages such as dev.caskeleton.onboarding.domain.feature and dev.caskeleton.onboarding.adapter.persistence.entity did not exist, even though focused :app-bootstrap:test had previously passed.
Root Cause
Some fixture files lived under:
src/app-bootstrap/src/test/java/dev/caskeleton/bootstrap/architecture/allowed/onboarding/**
while declaring:
package dev.caskeleton.onboarding...
The logical package was intentionally chosen to avoid ArchUnit false positives from bootstrap in package names, but leaving the files under the bootstrap/architecture/allowed path created IDE/source-set confusion and exposed stale or incomplete compile output under sampleOffTest.
Fix
Move the onboarding positive fixture to a path that matches its package:
src/app-bootstrap/src/test/java/dev/caskeleton/onboarding/**
Keep the package declarations as:
dev.caskeleton.onboarding.*
Verification
./gradlew :app-bootstrap:compileTestJava :app-bootstrap:compileSampleOffTestJava --rerun-tasks—BUILD SUCCESSFUL./gradlew :app-bootstrap:test --tests '*DomainFeatureOnboardingContractTest' --tests '*ArchitectureViolationFixtureTest' :app-bootstrap:sampleOffTest --tests '*DomainFeatureOnboardingContractTest' --tests '*ArchitectureViolationFixtureTest'—BUILD SUCCESSFUL./gradlew check—BUILD SUCCESSFUL
Prevention
For architecture positive fixtures that intentionally use a synthetic package, make the source path match the synthetic package. Avoid putting synthetic production-like fixtures under dev/caskeleton/bootstrap/architecture/allowed/** unless the package also starts with dev.caskeleton.bootstrap.architecture.allowed.