# PACKAGE_CATALOG javadoc — 이전 카탈로그와 트리의 크기 /** * Every direct child package of the production root, and what it may depend on. * *

Closed, and compared for exact equality against what is on disk. The previous catalog listed * thirteen packages and the tree held twenty-two: {@code audit}, {@code config}, {@code failure}, * {@code fileserver}, {@code h2}, {@code idempotency}, {@code lock}, {@code notification} and * {@code outbox} were governed by nothing, so a new package — or a new edge out of one of them — * was green by omission. * *

{@code api} is the innermost: it names nobody. Everything else may reach it, and the * declared edges beyond that are what the module map actually claims. # DAG 테스트가 기록한 사이클 @Test @DisplayName("the declared edges form a DAG") void theDeclaredEdgesFormADag() { List cycles = new java.util.ArrayList<>(); for (String start : PACKAGE_CATALOG.keySet()) { if (reaches(start, start, new TreeSet<>())) { cycles.add(start); } } assertThat(cycles) .as( "transaction -> postgresql and postgresql -> transaction both existed, so neither could" + " be extracted or swapped without unpicking the other first") .isEmpty();