feat(scripts): macOS .app 번들 빌드 스크립트 (SPEC-V0-1-2-MACOS-BUNDLE-001)#59
feat(scripts): macOS .app 번들 빌드 스크립트 (SPEC-V0-1-2-MACOS-BUNDLE-001)#59
Conversation
cargo build --release 만으로는 .app 번들이 만들어지지 않아, 사용자가
`open target/release/moai-studio.app` 호출 시 file-not-found 에러 발생.
추가:
- scripts/build-macos-app.sh — cargo-bundle 의존 없이 손수 번들 조립
- assets/macos/Info.plist.template — workspace 버전 자동 치환 (__VERSION__)
번들 구조:
moai-studio.app/Contents/
Info.plist (workspace.package.version 자동 주입)
MacOS/
moai-studio (release 바이너리)
libghostty-vt.dylib (@executable_path rpath 매칭)
Resources/
moai-studio.png (256x256 placeholder, GA 전 .icns 교체 필요)
_CodeSignature/ (codesign --sign - --force --deep)
사용법:
scripts/build-macos-app.sh # build + bundle
scripts/build-macos-app.sh --install # ~/Applications/ 에도 복사
scripts/build-macos-app.sh --skip-build # cargo build 생략, 번들만
scripts/build-macos-app.sh --debug # debug profile
검증:
- cargo build --release -p moai-studio-app PASS
- 번들 생성 + 실행 PID 확인
- otool -L: @rpath/libghostty-vt.dylib + @executable_path rpath 매칭 확인
Carry-over (v0.1.0 GA 이전):
- assets/icons/icon.icns 생성 (iconutil) → CFBundleIconFile 변경
- Hardened Runtime 진입 + notarization (배포 채널)
🗿 MoAI <email@mo.ai.kr>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning
|
scripts/build-macos-app.sh + assets/macos/Info.plist.template (PR #59) 의 사용법을 CLAUDE.local.md §8 신설로 명문화. 추가 내용: - §8.1 배경 (cargo build --release 만으로는 .app 미생성) - §8.2 스크립트 구성 (3 파일 역할표) - §8.3 사용법 (4 옵션: 기본 / --install / --skip-build / --debug) - §8.4 시연/개발 자주 쓰는 패턴 (3 패턴 A/B/C) - §8.5 번들 구조 (Contents/MacOS, Frameworks, Resources) - §8.6 검증 명령 (otool -L, otool -l, pgrep) - §8.7 HARD 규칙 (시연 전 스크립트 실행 강제 + macOS 전용) - §8.8 v0.1.0 GA 전 carry-over (icns / Hardened Runtime / Notarization) 섹션 시프트: - §8 Version 임시규칙 → §9 - §9 Code Comments → §10 (sub §10.1~10.6) - §10 Troubleshooting → §11 - §10.1/§10.5 cross-ref 갱신 Version 1.3.0 → 1.4.0. 🗿 MoAI <email@mo.ai.kr>
Summary
`cargo build --release` 만으로는 macOS .app 번들이 생성되지 않아 사용자가 `open target/release/moai-studio.app` 호출 시 file-not-found 에러 발생. 본 PR 은 cargo-bundle 의존 없이 표준 Unix 도구만으로 번들을 조립하는 빌드 스크립트 추가.
Changes
scripts/build-macos-app.sh(NEW, 156 LOC)assets/macos/Info.plist.template(NEW)Verification
사용법
Carry-over
Test plan
🗿 MoAI email@mo.ai.kr