chore: remove sample portfolio module

This commit is contained in:
DongHyeonka
2026-08-13 21:47:15 +09:00
parent e552e317d6
commit 697fc740e6
321 changed files with 190 additions and 18961 deletions
+3 -7
View File
@@ -4,14 +4,14 @@
이 모듈은 비즈니스 로직을 담지 않는다. Spring Boot 기동, 런타임 설정 바인딩, 기본 runtime
모듈 간 최종 와이어링, 그리고 composition classpath를 대상으로 한 중앙 아키텍처 테스트만 둔다.
19개 leaf 전체의 프로젝트 edge와 composition root의 실제 runtime membership은 JSON registry를
18개 leaf 전체의 프로젝트 edge와 production composition root의 실제 runtime membership은 JSON registry를
읽는 Gradle gate가 별도로 검사한다. 허용/금지 의존, 책임 범위, 테스트 명령 같은 **모듈 규칙**의
SSOT 는 [CLAUDE.md](CLAUDE.md) 다.
기본 composition은 `build.gradle`의 main project dependency와 registry의
`runtime_memberships=["app-bootstrap"]`가 정확히 일치해야 한다. GraphQL, gRPC, WebSocket,
MongoDB leaf의 membership은 비어 있어 두 shipped runtime에 포함되지 않는다. object storage는
sample runtime에만 있고 file server는 기본 app runtime에 이미 포함된다.
MongoDB와 object storage leaf의 membership은 비어 있어 production runtime에 포함되지 않는다.
file server는 기본 app runtime에 이미 포함된다.
`conditionalTransportTest`는 GraphQL/gRPC/WebSocket 세 leaf를 test-only classpath에서 함께
resolve하는 명시적 qualification composition이다. main `implementation`/`runtimeOnly` edge가 아니므로
@@ -870,10 +870,6 @@ ArchUnit 규칙이 **금지**하는 타입을 fixture 가 일부러 import 해
- `spring-cloud-context` — `@RefreshScope` 금지(no-refresh-scope) fixture 용. Spring Cloud 는
production 에 없고 규칙은 애너테이션을 FQN 문자열로 참조한다. BOM 이 spring-cloud 좌표를 관리하지
않아 버전을 명시 고정한다.
- **`testImplementation project(':sample-portfolio')`** — ArchUnit 이 템플릿 reference 구현을 분석하려고
test 경로에만 둔다. **production 은 절대 sample-portfolio 에 의존 금지** —
`production_code_does_not_depend_on_sample_portfolio` 규칙이 강제한다.
### 빌드 설정
- **test JVM UTC 고정(`-Duser.timezone=UTC`)** — `RuntimeHealthLifecycleContractTest`가
`TimeZone.getDefault().getID() == "UTC"`를 단언해, 호스트 로케일과 무관하게 타임스탬프 산술이