# JG Music Tools — Build Scripts for Every Platform

Run these on the right machine to produce real native binaries with the current version baked inside.

## What's here

| Script | Platform | Requirements |
|---|---|---|
| `build-windows.bat` | Windows 64-bit | Node 20+, npm, Windows machine |
| `build-windows-32bit.bat` | Windows 32-bit | Same + `--ia32` flag |
| `build-mac-or-linux.sh` | Mac or Linux native | Node 20+, npm |
| `build-mac-signed.sh` | Mac signed | + $99/yr Apple Developer cert for notarization |
| `build-linux-appimage.sh` | Linux AppImage | Node 20+, npm, Linux box |
| `build-android.sh` | Android APK + AAB | JDK 17, Android SDK, keystore |
| `build-ios.sh` | iOS IPA | Mac + Xcode 15+ + Apple Developer account |
| `jg-music-tools-build.yml` | GitHub Actions | Push to GitHub, free CI |

## GitHub Actions = the easy path

Save the YAML to `.github/workflows/build.yml`. Every push triggers builds on Windows, Mac, Linux, and Android runners simultaneously. Free for public repos.

For Android signing add GitHub Secrets:
- `ANDROID_KEYSTORE_B64` — your keystore file base64-encoded
- `ANDROID_KEYSTORE_PASS` — keystore password

## Versioning

Update `package.json`'s `version` field before building. The binary will be named with that version automatically.
