5탭 계약 대조 — 계약 원본 사본을 앱 저장소에 두어 어느 체크아웃에서도 검증
This commit is contained in:
@@ -27,6 +27,35 @@ fvm flutter config --jdk-dir ~/.jdks/jdk-17.0.20.1+1/Contents/Home
|
||||
`brew install --cask temurin@17` 은 sudo 를 요구한다. sudo 없이 쓰려면 Adoptium
|
||||
tar.gz 를 `~/.jdks/` 에 풀면 된다.
|
||||
|
||||
## 테스트
|
||||
|
||||
```bash
|
||||
export ANDROID_HOME=/opt/homebrew/share/android-commandlinetools
|
||||
fvm flutter analyze
|
||||
FANUZU_DESIGN_DIR=/path/to/p-fancake/design fvm flutter test
|
||||
```
|
||||
|
||||
`FANUZU_DESIGN_DIR` 은 5탭 계약 대조용이다. 스모크 테스트가
|
||||
`craft-allowlist.yaml` 의 `APP_TABS` 를 직접 읽어 앱의 `appTabs` 와 정확 일치를 검증한다.
|
||||
**정본은 상위 저장소 `p-fancake/design/craft-allowlist.yaml`** 이고 이 저장소는 분리돼
|
||||
있으므로, 같은 파일의 사본을 `design/craft-allowlist.yaml` 로 두었다. 탐색 순서는 아래와 같다.
|
||||
|
||||
1. `$FANUZU_DESIGN_DIR/craft-allowlist.yaml` — 정본을 직접 가리킬 때 쓴다.
|
||||
2. `design/craft-allowlist.yaml` — 이 저장소의 사본.
|
||||
3. `../design/craft-allowlist.yaml` · `../p-fancake/design/craft-allowlist.yaml` — p-fancake 와
|
||||
형제로 둔 체크아웃.
|
||||
|
||||
사본이 있으므로 **git worktree 에서도 변수 없이 통과한다.** 그래도 못 찾으면 통과가 아니라
|
||||
실패한다 — 계약 대조가 조용히 사라지면 안 된다.
|
||||
|
||||
사본은 정본과 갈리면 저장소마다 다른 답을 내므로, **정본을 고칠 때 사본에도 함께 복사한다.**
|
||||
파일 머리에 같은 문장을 적어 두었다.
|
||||
|
||||
```bash
|
||||
cp /path/to/p-fancake/design/craft-allowlist.yaml design/craft-allowlist.yaml
|
||||
# 머리 주석 5줄은 사본에만 있으니 지우지 말고 APP_TABS·CAPS_OK 만 맞춘다.
|
||||
```
|
||||
|
||||
## 빌드
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user