빌드 안내 · 주석을 이 저장소 기준으로 정리
- 빌드 안내(BUILD.md)의 JDK 경로를 설치 위치와 무관한 지정 방식으로 변경 - 5탭 계약 파일 탐색 순서를 이 저장소 구조(app/design → 루트 design)로 정리 - README · 보안 규칙 · 소스 주석에서 이 저장소에 없는 문서 경로를 문서 이름으로 바꾸거나 삭제 - Flutter 버전 고정 파일(app/.fvmrc, 3.47.2) 추가, README 필수 환경을 같은 버전으로 갱신 - 동작 변경 없음
This commit is contained in:
+11
-22
@@ -6,7 +6,7 @@ Gradle 이 조용히 실패하지 않고 명확히 죽으므로 아래를 그대
|
||||
| 구성 | 값 | 비고 |
|
||||
|---|---|---|
|
||||
| Flutter | **3.47.2** | `fvm` 으로 고정 — `app/.fvmrc` |
|
||||
| JDK | **Temurin 17** | `~/.jdks/jdk-17.0.20.1+1/Contents/Home` |
|
||||
| JDK | **Temurin 17** | `fvm flutter config --jdk-dir` 로 지정 |
|
||||
| Gradle | 8.14 | `android/gradle/wrapper/gradle-wrapper.properties` |
|
||||
| AGP | 8.11.1 | `android/settings.gradle.kts` |
|
||||
| Android SDK | `/opt/homebrew/share/android-commandlinetools` | `brew install --cask android-commandlinetools` |
|
||||
@@ -21,40 +21,29 @@ Android Studio 번들 JBR 은 **JDK 25** 이고 **Gradle 8.14 와 비호환**이
|
||||
JDK 17 을 쓰는 쪽을 택했다.
|
||||
|
||||
```bash
|
||||
fvm flutter config --jdk-dir ~/.jdks/jdk-17.0.20.1+1/Contents/Home
|
||||
fvm flutter config --jdk-dir <JDK 17 설치 경로>
|
||||
```
|
||||
|
||||
`brew install --cask temurin@17` 은 sudo 를 요구한다. sudo 없이 쓰려면 Adoptium
|
||||
tar.gz 를 `~/.jdks/` 에 풀면 된다.
|
||||
tar.gz 를 사용자 폴더에 풀고 그 경로를 지정하면 된다.
|
||||
|
||||
## 테스트
|
||||
|
||||
```bash
|
||||
export ANDROID_HOME=/opt/homebrew/share/android-commandlinetools
|
||||
fvm flutter analyze
|
||||
FANUZU_DESIGN_DIR=/path/to/p-fancake/design fvm flutter test
|
||||
fvm flutter test
|
||||
```
|
||||
|
||||
`FANUZU_DESIGN_DIR` 은 5탭 계약 대조용이다. 스모크 테스트가
|
||||
`craft-allowlist.yaml` 의 `APP_TABS` 를 직접 읽어 앱의 `appTabs` 와 정확 일치를 검증한다.
|
||||
**정본은 상위 저장소 `p-fancake/design/craft-allowlist.yaml`** 이고 이 저장소는 분리돼
|
||||
있으므로, 같은 파일의 사본을 `design/craft-allowlist.yaml` 로 두었다. 탐색 순서는 아래와 같다.
|
||||
스모크 테스트가 `craft-allowlist.yaml` 의 `APP_TABS` 를 직접 읽어 앱의 `appTabs` 와 정확 일치를
|
||||
검증한다(5탭 계약 대조). 파일은 아래 순서로 찾는다.
|
||||
|
||||
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 와
|
||||
형제로 둔 체크아웃.
|
||||
1. `$FANUZU_DESIGN_DIR/craft-allowlist.yaml` — 다른 위치의 파일을 가리킬 때 쓴다.
|
||||
2. `app/design/craft-allowlist.yaml` — 앱 폴더 안의 사본.
|
||||
3. 저장소 루트 `design/craft-allowlist.yaml`.
|
||||
|
||||
사본이 있으므로 **git worktree 에서도 변수 없이 통과한다.** 그래도 못 찾으면 통과가 아니라
|
||||
실패한다 — 계약 대조가 조용히 사라지면 안 된다.
|
||||
|
||||
사본은 정본과 갈리면 저장소마다 다른 답을 내므로, **정본을 고칠 때 사본에도 함께 복사한다.**
|
||||
파일 머리에 같은 문장을 적어 두었다.
|
||||
|
||||
```bash
|
||||
cp /path/to/p-fancake/design/craft-allowlist.yaml design/craft-allowlist.yaml
|
||||
# 머리 주석 5줄은 사본에만 있으니 지우지 말고 APP_TABS·CAPS_OK 만 맞춘다.
|
||||
```
|
||||
하나도 못 찾으면 통과가 아니라 실패한다 — 계약 대조가 조용히 사라지면 안 된다.
|
||||
루트 파일을 고칠 때는 `app/design/` 사본도 함께 맞춘다.
|
||||
|
||||
## 빌드
|
||||
|
||||
|
||||
Reference in New Issue
Block a user