1.5 KiB
1.5 KiB
title, source_type, status, tags, created
| title | source_type | status | tags | created | ||||
|---|---|---|---|---|---|---|---|---|
| Gradle sample-off test classpath isolation | interview | raw |
|
2026-06-25 |
Gradle sample-off test classpath isolation
Parent
Question
템플릿 저장소가 sample fixture 모듈을 유지해야 하지만 production/core 계약은 sample 없이도 검증되어야 한다. Gradle 멀티모듈에서 이를 어떻게 설계할 수 있는가?
Expected answer
- sample module은 production dependency가 아니라 fixture/test dependency로 둔다.
- 일반
test는 sample-on 축으로 유지한다. - 별도
sampleOffTestsource set/task를 만들어 같은 core contract test source를 실행하되sample-portfoliodependency를 classpath에서 제외한다. - sample을 직접 import하던 core test는 제거하거나 sample module 소유 테스트로 이동한다.
- CI release gate에는 sample-on과 sample-off를 모두 포함한다.
- ArchUnit 같은 bytecode 스캐너는 custom test output을 production output으로 오인하지 않도록 import option을 보강한다.
Follow-up probes
- 왜 runtime profile이 아니라 build/test matrix인가?
- Custom source set에서 dependency locking과 main output을 왜 별도로 확인해야 하는가?
- sample 제거 후 빈 ArchUnit corpus는 실패로 볼지 정상으로 볼지 어떻게 결정하는가?
- Hosted CI와 local verification의 증거 등급은 어떻게 구분하는가?