--- kind: REFERENCE slug: messaging-spring-cloud-stream-bridge-f01 title: 허용 의존 목록은 상한이므로 미사용을 잡지 않는다 topic: runtime-reachability-and-composition project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: reference:messaging-spring-cloud-stream-bridge-f01 verifiedOn: # 이 기록은 이번 회차에 실행 확인을 하지 않았다 source: - final/document.md#a19-messaging-spring-cloud-stream-bridge#L552 --- # 허용 의존 목록은 상한이므로 미사용을 잡지 않는다 ## 목적 spring-context 선언이 "이 leaf 가 Spring 과 통합돼 있다" 는 인상을 주는데, main 소스는 Spring 타입을 한 번도 이름 부르지 않는다. 바인더 접촉면 전체가 자체 함수형 인터페이스다. ## 규칙 1. 선언과 import 를 각각 센다 registry 가 messaging-transport-spi 를 허용하고 build.gradle 이 spring-context 를 선언한다. main 소스의 비-JDK import 9개는 전부 messaging-core-api 와 messaging-policy 에서 온다. 2. 검색 결과가 비었는지 확인한다 import dev.caskeleton.messaging.transport 와 import org.springframework 검색이 exit 1 이다. 3. 상한 검사로는 이 차이가 드러나지 않는다는 것을 안다 verifyCleanArchitectureDependencies 는 허용 목록을 상한으로만 본다. 같은 형태가 messaging-kafka-share-experimental 에도 있다 — incubating leaf 둘이 같은 방식으로 미사용 의존을 선언했다. ## 적용 조건 registry 나 build 파일이 의존을 선언하고 그 선언이 아키텍처 검사의 입력이 되는 모든 leaf. ## 예외 완성 시 필요해질 의존을 미리 선언해 둔 경우는 예외가 될 수 있다. 그때는 그 사실이 build.gradle 주석에 있어야 한다. ## 예시 evidence/raw/296 §B 의 import 전수와 두 검색의 exit 1. 확인 방법은 그 §B 를 재실행하는 것이다.