diff --git a/build-apk.sh b/build-apk.sh index 615d2a5..c5819d9 100755 --- a/build-apk.sh +++ b/build-apk.sh @@ -12,8 +12,56 @@ NC='\033[0m' # No Color # 프로젝트 디렉토리로 이동 cd "$(dirname "$0")" +# 버전 정보 파일 경로 +VERSION_PROPS_FILE="android/version.properties" + +# 현재 버전 정보 읽기 +if [ -f "$VERSION_PROPS_FILE" ]; then + CURRENT_VERSION_NAME=$(grep "versionName" "$VERSION_PROPS_FILE" | cut -d'=' -f2) + CURRENT_VERSION_CODE=$(grep "versionCode" "$VERSION_PROPS_FILE" | cut -d'=' -f2) + CURRENT_BUILD_NUMBER=$(grep "buildNumber" "$VERSION_PROPS_FILE" | cut -d'=' -f2) + + echo -e "${YELLOW}현재 버전 정보:${NC}" + echo -e "버전 이름: ${GREEN}$CURRENT_VERSION_NAME${NC}" + echo -e "버전 코드: ${GREEN}$CURRENT_VERSION_CODE${NC}" + echo -e "빌드 번호: ${GREEN}$CURRENT_BUILD_NUMBER${NC}" + + # 버전 수정 여부 확인 + echo -e "\n${YELLOW}버전 정보를 수정하시겠습니까? (y/n)${NC}" + read -r UPDATE_VERSION + + if [[ "$UPDATE_VERSION" == "y" || "$UPDATE_VERSION" == "Y" ]]; then + echo -e "\n${YELLOW}새 버전 이름을 입력하세요 (현재: $CURRENT_VERSION_NAME):${NC}" + read -r NEW_VERSION_NAME + + if [ -z "$NEW_VERSION_NAME" ]; then + NEW_VERSION_NAME=$CURRENT_VERSION_NAME + fi + + echo -e "${YELLOW}새 버전 코드를 입력하세요 (현재: $CURRENT_VERSION_CODE):${NC}" + read -r NEW_VERSION_CODE + + if [ -z "$NEW_VERSION_CODE" ]; then + NEW_VERSION_CODE=$CURRENT_VERSION_CODE + fi + + # 버전 정보 업데이트 + sed -i '' "s/versionName=$CURRENT_VERSION_NAME/versionName=$NEW_VERSION_NAME/g" "$VERSION_PROPS_FILE" + sed -i '' "s/versionCode=$CURRENT_VERSION_CODE/versionCode=$NEW_VERSION_CODE/g" "$VERSION_PROPS_FILE" + + echo -e "\n${GREEN}버전 정보가 업데이트되었습니다:${NC}" + echo -e "버전 이름: ${GREEN}$NEW_VERSION_NAME${NC}" + echo -e "버전 코드: ${GREEN}$NEW_VERSION_CODE${NC}" + else + echo -e "${YELLOW}현재 버전 정보를 유지합니다.${NC}" + fi +else + echo -e "${RED}버전 정보 파일을 찾을 수 없습니다: $VERSION_PROPS_FILE${NC}" + exit 1 +fi + # 빌드 타입 선택 메뉴 -echo -e "${YELLOW}Zellyy Finance 앱 빌드 스크립트${NC}" +echo -e "\n${YELLOW}Zellyy Finance 앱 빌드 스크립트${NC}" echo -e "${YELLOW}=============================${NC}" echo -e "빌드 타입을 선택하세요:" echo -e "1) 디버그 빌드 (개발 및 테스트용)" @@ -131,15 +179,15 @@ if [ "$BUILD_TYPE" = "debug" ]; then fi APK_PATH="app/build/outputs/apk/debug/app-debug.apk" - DEST_PATH="$HOME/zellyy-finance-debug.apk" + DEST_PATH="$HOME/Dev/zellyy-finance-debug.apk" if [ -f "$APK_PATH" ]; then echo -e "${GREEN}디버그 APK 빌드 성공!${NC}" echo -e "APK 파일 위치: $(pwd)/$APK_PATH" - # 홈 디렉토리로 APK 복사 + # Dev 디렉토리로 APK 복사 cp "$APK_PATH" "$DEST_PATH" - echo -e "${GREEN}APK를 홈 디렉토리에 복사했습니다: $DEST_PATH${NC}" + echo -e "${GREEN}APK를 Dev 디렉토리에 복사했습니다: $DEST_PATH${NC}" # 연결된 기기 확인 DEVICES=$(adb devices | grep -v "List" | grep "device" | wc -l) @@ -179,15 +227,15 @@ elif [ "$BUILD_TYPE" = "release-aab" ]; then fi AAB_PATH="app/build/outputs/bundle/release/app-release.aab" - DEST_PATH="$HOME/zellyy-finance-release.aab" + DEST_PATH="$HOME/Dev/zellyy-finance-release.aab" if [ -f "$AAB_PATH" ]; then echo -e "${GREEN}릴리즈 AAB 빌드 성공!${NC}" echo -e "AAB 파일 위치: $(pwd)/$AAB_PATH" - # 홈 디렉토리로 AAB 복사 + # Dev 디렉토리로 AAB 복사 cp "$AAB_PATH" "$DEST_PATH" - echo -e "${GREEN}AAB를 홈 디렉토리에 복사했습니다: $DEST_PATH${NC}" + echo -e "${GREEN}AAB를 Dev 디렉토리에 복사했습니다: $DEST_PATH${NC}" echo -e "${YELLOW}다음 단계:${NC}" echo "1. Google Play Console에 AAB 파일 업로드: $DEST_PATH" @@ -207,15 +255,15 @@ elif [ "$BUILD_TYPE" = "release-apk" ]; then fi SIGNED_APK_PATH="app/build/outputs/apk/release/app-release.apk" - DEST_PATH="$HOME/zellyy-finance-release.apk" + DEST_PATH="$HOME/Dev/zellyy-finance-release.apk" if [ -f "$SIGNED_APK_PATH" ]; then echo -e "${GREEN}서명된 릴리즈 APK 빌드 성공!${NC}" echo -e "APK 파일 위치: $(pwd)/$SIGNED_APK_PATH" - # 홈 디렉토리로 APK 복사 + # Dev 디렉토리로 APK 복사 cp "$SIGNED_APK_PATH" "$DEST_PATH" - echo -e "${GREEN}서명된 APK를 홈 디렉토리에 복사했습니다: $DEST_PATH${NC}" + echo -e "${GREEN}서명된 APK를 Dev 디렉토리에 복사했습니다: $DEST_PATH${NC}" # 연결된 기기 확인 DEVICES=$(adb devices | grep -v "List" | grep "device" | wc -l) diff --git a/build-ios.sh b/build-ios.sh old mode 100644 new mode 100755 index 533c62a..cabcbd5 --- a/build-ios.sh +++ b/build-ios.sh @@ -12,8 +12,55 @@ NC='\033[0m' # No Color # 프로젝트 디렉토리로 이동 cd "$(dirname "$0")" +# 프로젝트 파일 경로 +XCODEPROJ_FILE="ios/App/App.xcodeproj/project.pbxproj" + +# 현재 버전 및 빌드 번호 가져오기 +if [ -f "$XCODEPROJ_FILE" ]; then + MARKETING_VERSION=$(grep -A 1 "MARKETING_VERSION" "$XCODEPROJ_FILE" | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+' | head -1) + CURRENT_PROJECT_VERSION=$(grep -A 1 "CURRENT_PROJECT_VERSION" "$XCODEPROJ_FILE" | grep -o '[0-9]\+' | head -1) + + echo -e "${YELLOW}현재 버전 정보:${NC}" + echo -e "마케팅 버전: ${GREEN}$MARKETING_VERSION${NC}" + echo -e "빌드 번호: ${GREEN}$CURRENT_PROJECT_VERSION${NC}" + + # 버전 수정 여부 확인 + echo -e "\n${YELLOW}버전 정보를 수정하시겠습니까? (y/n)${NC}" + read -r UPDATE_VERSION + + if [[ "$UPDATE_VERSION" == "y" || "$UPDATE_VERSION" == "Y" ]]; then + echo -e "\n${YELLOW}새 마케팅 버전을 입력하세요 (현재: $MARKETING_VERSION):${NC}" + read -r NEW_MARKETING_VERSION + + if [ -z "$NEW_MARKETING_VERSION" ]; then + NEW_MARKETING_VERSION=$MARKETING_VERSION + fi + + echo -e "${YELLOW}새 빌드 번호를 입력하세요 (현재: $CURRENT_PROJECT_VERSION):${NC}" + read -r NEW_PROJECT_VERSION + + if [ -z "$NEW_PROJECT_VERSION" ]; then + NEW_PROJECT_VERSION=$CURRENT_PROJECT_VERSION + fi + + # 버전 정보 업데이트 + # macOS에서는 sed -i에 백업 확장자를 지정해야 함 + sed -i '' "s/MARKETING_VERSION = $MARKETING_VERSION;/MARKETING_VERSION = $NEW_MARKETING_VERSION;/g" "$XCODEPROJ_FILE" + sed -i '' "s/CURRENT_PROJECT_VERSION = $CURRENT_PROJECT_VERSION;/CURRENT_PROJECT_VERSION = $NEW_PROJECT_VERSION;/g" "$XCODEPROJ_FILE" + + echo -e "\n${GREEN}버전 정보가 업데이트되었습니다:${NC}" + echo -e "마케팅 버전: ${GREEN}$NEW_MARKETING_VERSION${NC}" + echo -e "빌드 번호: ${GREEN}$NEW_PROJECT_VERSION${NC}" + else + echo -e "${YELLOW}현재 버전 정보를 유지합니다.${NC}" + fi +else + echo -e "${RED}프로젝트 파일을 찾을 수 없습니다: $XCODEPROJ_FILE${NC}" + exit 1 +fi + # 빌드 타입 선택 메뉴 -echo -e "${YELLOW}Zellyy Finance iOS 앱 빌드 스크립트${NC}" +echo -e "\n${YELLOW}Zellyy Finance iOS 앱 빌드 스크립트${NC}" echo -e "${YELLOW}=============================${NC}" echo -e "빌드 타입을 선택하세요:" echo -e "1) 디버그 빌드 (개발 및 테스트용)" @@ -260,9 +307,9 @@ EOF echo -e "${GREEN}디버그용 IPA 파일 생성 성공!${NC}" echo -e "IPA 파일 위치: $(pwd)/$DEBUG_IPA_PATH" - # 홈 디렉토리로 IPA 복사 + # Dev 디렉토리로 IPA 복사 cp "$DEBUG_IPA_PATH" "$DEBUG_DEST_PATH" - echo -e "${GREEN}IPA를 홈 디렉토리에 복사했습니다: $DEBUG_DEST_PATH${NC}" + echo -e "${GREEN}IPA를 Dev 디렉토리에 복사했습니다: $DEBUG_DEST_PATH${NC}" echo -e "${YELLOW}다음 방법으로 다른 기기에 설치할 수 있습니다:${NC}" echo "1. Apple Configurator 2 앱 사용" @@ -315,9 +362,9 @@ elif [ "$BUILD_TYPE" = "release" ]; then echo -e "${GREEN}IPA 파일 생성 성공!${NC}" echo -e "IPA 파일 위치: $(pwd)/$IPA_PATH" - # 홈 디렉토리로 IPA 복사 + # Dev 디렉토리로 IPA 복사 cp "$IPA_PATH" "$DEST_PATH" - echo -e "${GREEN}IPA를 홈 디렉토리에 복사했습니다: $DEST_PATH${NC}" + echo -e "${GREEN}IPA를 Dev 디렉토리에 복사했습니다: $DEST_PATH${NC}" echo -e "${YELLOW}다음 단계:${NC}" echo "1. App Store Connect에 로그인: https://appstoreconnect.apple.com"