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:
2026-06-08 11:49:10 +09:00
parent 95572ac076
commit 2801d2ae53
9 changed files with 1455 additions and 1 deletions
+10
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
<resources>
<string name="app_name">VesiScan Demo</string>
</resources>
+7
View File
@@ -0,0 +1,7 @@
# dev flavor source set
#
# 이 폴더에 있는 .kt 파일은 ONLY dev flavor 빌드 시에만 컴파일됩니다.
# 일반 개발은 src/main/ 에서 진행하되, dev에서만 활성화하고 싶은 실험 코드가
# 있다면 여기에 둘 수 있습니다.
#
# 자세한 운영 정책: docs/FLAVOR_DEMO_STABLE.md
+3
View File
@@ -0,0 +1,3 @@
<resources>
<string name="app_name">VesiScan Dev</string>
</resources>