빌드 안내 · 주석을 이 저장소 기준으로 정리
- 빌드 안내(BUILD.md)의 JDK 경로를 설치 위치와 무관한 지정 방식으로 변경 - 5탭 계약 파일 탐색 순서를 이 저장소 구조(app/design → 루트 design)로 정리 - README · 보안 규칙 · 소스 주석에서 이 저장소에 없는 문서 경로를 문서 이름으로 바꾸거나 삭제 - Flutter 버전 고정 파일(app/.fvmrc, 3.47.2) 추가, README 필수 환경을 같은 버전으로 갱신 - 동작 변경 없음
This commit is contained in:
+7
-17
@@ -16,7 +16,7 @@
|
||||
|
||||
## 2. 빌드·실행
|
||||
|
||||
전제: Flutter stable 3.41.7 / Dart 3.11.5 (검증에 쓴 버전), Android SDK 36, Xcode 26.6
|
||||
전제: Flutter stable 3.47.2 / Dart 3.13.2 (`app/.fvmrc` 로 고정), Android SDK 36, Xcode 26.6
|
||||
|
||||
```bash
|
||||
cd app
|
||||
@@ -30,7 +30,7 @@ flutter build apk --debug # Android 디버그 APK
|
||||
빌드 산출물은 `build/app/outputs/flutter-apk/app-debug.apk` 에 떨어진다.
|
||||
|
||||
> ⚠️ **`pubspec.yaml` 의 의존성을 추가·변경·업그레이드하면 최소 지원 OS 하한을 재계산할 것.**
|
||||
> 절차: `주간보고/2주차/src/2주차_플러그인_선검증리포트.md` §3.5
|
||||
> 절차: 2주차 플러그인 선검증 리포트 §3.5
|
||||
>
|
||||
> 최소 지원 OS 는 **별첨1 v1.0 에 계약값으로 박힌다**(견적서 1228행). 지킬 수 없는 하한을
|
||||
> 계약에 적으면 그 아래 단말의 장애가 개발사 책임이 된다. 선검증 리포트의 값은
|
||||
@@ -42,7 +42,7 @@ flutter build apk --debug # Android 디버그 APK
|
||||
|
||||
## 3. 디자인 토큰 — 손으로 옮기지 않는다
|
||||
|
||||
`lib/core/theme/tokens.dart` 는 **생성물**이다. 직접 고치면 시안(`시안/assets/ds.css`)과 어긋난다.
|
||||
`lib/core/theme/tokens.dart` 는 **생성물**이다. 직접 고치면 토큰 문서(`design/design-tokens.md`)와 어긋난다.
|
||||
|
||||
```bash
|
||||
cd app
|
||||
@@ -79,7 +79,7 @@ Firebase 설정이 없으면 실 소셜 로그인이 물리적으로 불가능
|
||||
* `FirebaseBoot.reason` 은 사용자에게 보이는 문자열이라 **내부 파일 경로를 넣지 않는다.**
|
||||
경로와 원시 예외는 `FirebaseBoot.detail` 로 분리해 로그에만 남긴다.
|
||||
|
||||
**가드가 두 겹인 이유 (교차검증 A-01 반영)**
|
||||
**가드가 두 겹인 이유**
|
||||
|
||||
```dart
|
||||
bool get isMockSessionAvailable => !FirebaseBoot.isLive && !_releaseMode;
|
||||
@@ -191,7 +191,7 @@ Firebase가 live가 되면 보존된 `currentUser`를 앱 시작 시 복원하
|
||||
**이메일 가입은 구현하지 않았다.** CD-18 미확정(Q2)이라 `SocialAuthProvider` 인터페이스에
|
||||
구현체 하나가 더 붙을 자리만 비워 뒀다. **기능 플래그 상수는 두지 않았다** — 읽는 분기가 없는
|
||||
플래그는 "false 라서 닫혀 있다" 는 착각만 만들고, 누가 true 로 바꿔도 아무 일이 일어나지 않는다
|
||||
(교차검증 A-02). 지금 이메일을 닫고 있는 것은 `AuthRepository._defaultProviders()` 에
|
||||
. 지금 이메일을 닫고 있는 것은 `AuthRepository._defaultProviders()` 에
|
||||
구현체가 없다는 사실 하나다.
|
||||
|
||||
## 7. 계약 고정 표기 — 5탭
|
||||
@@ -204,9 +204,8 @@ HOME · INSIDE · GALAXY · STATION · MY
|
||||
|
||||
| 근거 | 위치 |
|
||||
|---|---|
|
||||
| 견적서 v2.1 「5탭 네비게이션」 | `Docs/Fancake_팬덤플랫폼_견적서.html` |
|
||||
| 견적서 v2.1 「5탭 네비게이션」 | 견적서 v2.1 |
|
||||
| 크래프트 게이트 C15 | `design/craft-allowlist.yaml` → `APP_TABS` |
|
||||
| 시안 하단 탭바 | `시안/screens/S-{H-HOME,I-LOUNGE,G-PLANET,S-HUB,M-HOME}.html` 의 `<nav class="tabbar">` |
|
||||
|
||||
**한글화·치환·순서 변경 금지.** 스모크 테스트가 `design/craft-allowlist.yaml` 을 직접 읽어
|
||||
문자열과 순서를 정확 일치로 검증한다 — 앱 코드만 고치면 테스트가 깨진다.
|
||||
@@ -288,16 +287,7 @@ $ python3 tool/gen_tokens.py
|
||||
|
||||
`contrast_checks` 25쌍에는 앱 테마가 조립하며 새로 만드는 3쌍(선택 탭 라벨 9.21:1 ·
|
||||
인디케이터 위 선택 라벨 7.93:1 · 인디케이터 위 비선택 라벨 8.05:1)이 포함돼 있다.
|
||||
토큰 문서에만 있는 쌍을 검사하면 위젯 테마에서 대비가 무너져도 생성기가 통과를 찍는다(교차검증 A-04).
|
||||
|
||||
### 토큰 대조 — 시안 CSS ↔ 생성된 Dart
|
||||
|
||||
`시안/assets/ds.css` 의 `:root` 변수와 `tokens.dart` 의 색 토큰을 값 비교했다.
|
||||
|
||||
```
|
||||
ds.css 변수 119개 · tokens.dart 색 토큰 51개 · 공통 51개
|
||||
값 불일치: 0개
|
||||
```
|
||||
토큰 문서에만 있는 쌍을 검사하면 위젯 테마에서 대비가 무너져도 생성기가 통과를 찍는다.
|
||||
|
||||
### 실기기 기동 확인 (Android 에뮬레이터 · API 36)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user