Build: productFlavors 추가 — demo(동결 안정판) / dev(개발 진행) + docs 정리
방광 모형 테스트가 100% 통과하는 시점을 demo flavor로 동결하고, 모든
신규 작업은 dev에서만 진행하기 위한 빌드 분기 셋업.
gradle (app/build.gradle.kts):
- flavorDimensions: "channel"
- demo: applicationIdSuffix=".demo", versionNameSuffix="-demo",
BuildConfig.IS_DEMO=true, FLAVOR_LABEL="demo"
- dev: BuildConfig.IS_DEMO=false, FLAVOR_LABEL="dev"
- 두 flavor 동시 설치 가능 (applicationId 분리)
source set:
- src/demo/res/values/strings.xml — app_name "VesiScan Demo"
- src/dev/res/values/strings.xml — app_name "VesiScan Dev"
- src/demo/java/.gitkeep + src/dev/java/.gitkeep — 격리본 둘 위치 안내
운영 가이드: docs/FLAVOR_DEMO_STABLE.md
- Level 1 (BuildConfig 분기) vs Level 2 (source set 격리) 두 동결 방식
- 새 안정판 동결 시 git tag + src/demo/ 복사 절차
- 어떤 코드를 동결 후보로 둘지 (알고리즘/파라미터 권장, BLE/UI는 공유)
- 트러블슈팅 + 첫 동결 시점 권장 절차
.gitignore: /docs/ 제거 — 팀/iOS 개발자가 접근 가능하도록
- docs/BLE_PROTOCOL_REFERENCE.md
- docs/iOS_PORTING_CLINICAL_MEASUREMENT.md
- docs/FLAVOR_DEMO_STABLE.md 모두 신규 commit
검증:
./gradlew assembleDemoDebug + assembleDevDebug 둘 다 BUILD SUCCESSFUL
→ app/build/outputs/apk/demo/debug/app-demo-debug.apk
→ app/build/outputs/apk/dev/debug/app-dev-debug.apk
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# demo flavor source set
|
||||
#
|
||||
# 이 폴더에 있는 .kt 파일은 ONLY demo flavor 빌드 시에만 컴파일됩니다.
|
||||
# main의 같은 패키지/클래스가 있어도 demo flavor에서는 이 폴더의 정의가 우선합니다.
|
||||
#
|
||||
# 용도:
|
||||
# - 방광 모형 테스트가 100% 통과하는 시점의 알고리즘/파라미터를 격리해 동결.
|
||||
# - 이후 src/main/ 코드가 변경되더라도 demo flavor 빌드는 영향받지 않음.
|
||||
#
|
||||
# 자세한 운영 정책: docs/FLAVOR_DEMO_STABLE.md
|
||||
@@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<string name="app_name">VesiScan Demo</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,7 @@
|
||||
# dev flavor source set
|
||||
#
|
||||
# 이 폴더에 있는 .kt 파일은 ONLY dev flavor 빌드 시에만 컴파일됩니다.
|
||||
# 일반 개발은 src/main/ 에서 진행하되, dev에서만 활성화하고 싶은 실험 코드가
|
||||
# 있다면 여기에 둘 수 있습니다.
|
||||
#
|
||||
# 자세한 운영 정책: docs/FLAVOR_DEMO_STABLE.md
|
||||
@@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<string name="app_name">VesiScan Dev</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user