68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build script for ZIPName.app on macOS
|
|
|
|
set -e
|
|
|
|
APP_NAME="ZIPName"
|
|
BUNDLE_DIR="dist/${APP_NAME}.app"
|
|
MACOS_DIR="${BUNDLE_DIR}/Contents/MacOS"
|
|
RESOURCES_DIR="${BUNDLE_DIR}/Contents/Resources"
|
|
|
|
echo "=== Сборка ${APP_NAME}.app ==="
|
|
|
|
rm -rf dist build
|
|
mkdir -p "${MACOS_DIR}"
|
|
mkdir -p "${RESOURCES_DIR}"
|
|
|
|
# Копируем иконку
|
|
if [ -f "ZIPName.icns" ]; then
|
|
cp "ZIPName.icns" "${RESOURCES_DIR}/"
|
|
fi
|
|
|
|
# Копируем исходники в Resources
|
|
cp app.py fixer_core.py "${RESOURCES_DIR}/"
|
|
|
|
# Создаем Info.plist
|
|
cat > "${BUNDLE_DIR}/Contents/Info.plist" << 'EOF'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>ZIPName</string>
|
|
<key>CFBundleExecutable</key>
|
|
<string>ZIPName</string>
|
|
<key>CFBundleIconFile</key>
|
|
<string>ZIPName.icns</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>sbs.statix.zipname</string>
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
<string>6.0</string>
|
|
<key>CFBundleName</key>
|
|
<string>ZIPName</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>1.0.0</string>
|
|
<key>CFBundleVersion</key>
|
|
<string>1</string>
|
|
<key>LSMinimumSystemVersion</key>
|
|
<string>11.0</string>
|
|
<key>NSHighResolutionCapable</key>
|
|
<true/>
|
|
</dict>
|
|
</plist>
|
|
EOF
|
|
|
|
# Создаем исполняемый launcher
|
|
cat > "${MACOS_DIR}/${APP_NAME}" << 'EOF'
|
|
#!/bin/bash
|
|
DIR="$(cd "$(dirname "$0")/../Resources" && pwd)"
|
|
export PYTHONPATH="$DIR:$PYTHONPATH"
|
|
exec /Library/Frameworks/Python.framework/Versions/3.14/bin/python3 "$DIR/app.py" "$@"
|
|
EOF
|
|
|
|
chmod +x "${MACOS_DIR}/${APP_NAME}"
|
|
|
|
echo "Сборка завершена: ${BUNDLE_DIR}"
|