h-1.flutter.4/scripts/build_with_expiry.sh

45 lines
No EOL
1.5 KiB
Bash

#!/bin/bash
# 販売アシスト 1 号 APK ビルドスクリプト
set -e
MODE=${1:-release}
echo "=== 販売アシスト 1 号 APK ビルドスクリプト ==="
echo "ビルドモード:$MODE"
PROJECT_DIR="/home/user/dev/h-1.flutter.4"
APK_NAME="sales_assist_1.apk"
cd "$PROJECT_DIR"
# flutter analyze で静的分析(警告のみ表示)
if [[ "$MODE" == "release" ]]; then
echo "[実装] flutter analyze... 2>&1 | grep -E '(error|warning)' || true"
flutter analyze 2>&1 | grep -E '(error|warning)' || true
fi
# APK ビルド
echo "[実装] flutter build apk..."
flutter build apk --release 2>&1 | tail -5 || true
if [[ "$MODE" == "release" ]]; then
mv -f build/app/outputs/flutter-apk/app-release.apk "$APK_NAME" || true
else
cp build/app/outputs/flutter-apk/app-debug.apk "$APK_NAME" || true
fi
echo "[情報] バイナリ:$APK_NAME"
# 有効期限計算(簡易)
TIMESTAMP=$(date +%s)
if [[ $TIMESTAMP -lt 1735689600 ]]; then
TIMESTAMP=1735689600
fi
EXPIRY_SECONDS=$((TIMESTAMP + 90*24*60*60))
echo "[情報] BUILD_TIMESTAMP: $TIMESTAMP"
date -d "@$TIMESTAMP" +%Y-%m-%d\ %H:%M:%S || echo "タイムゾーンエラー、日付はローカル時間を使用します"
echo ""
echo "=== ビルド完了 ==="
ls -la "$APK_NAME" 2>/dev/null && echo "[情報] APK サイズ: $(stat -c%s "$APK_NAME") バイト" || echo "[警告] APK ファイルが見つかりません。手動で build/app/outputs/flutter-apk/app-release.apk を確認してください"