Build scripts reference
Quick reference for the three scripts in this repo. For step-by-step guides see Full build, Local Mac test, and Signing Windows assets.
build-all.sh
Builds all platform media from DeepPhe-and-Launcher.install4j into
build/deepphe-installer/. Signs the media by default.
./build-all.sh [options]
| Option | Effect |
|---|---|
--sign | After building, run ./sign-windows-assets.sh |
--mac-signing-only | Sign/notarize only macOS installer media; build Windows/Linux media unsigned |
--no-installer-signing | Pass --disable-signing --disable-notarization to install4jc |
--publish | Upload built installer media to a GitHub release |
--publish-tag TAG | Override the release tag used by --publish |
--publish-repo OWNER/REPO | Override the repository used by --publish |
--clean | Delete the build output directory first |
--release VERSION | Override the application version |
--faster | Disable LZMA/Pack200 compression |
--test | Dry run (install4jc --test) |
-v, --verbose | Verbose install4jc output |
-h, --help | Show help |
Environment: INSTALL4JC, DIST_REPO, MAC_MEDIA_ID,
NON_MAC_MEDIA_IDS, WIN_KEYSTORE_PASSWORD, MAC_KEYSTORE_PASSWORD,
APPLE_ID_PASSWORD, INSTALL4JC_ARGS.
build-mac-local.sh
Builds only the macOS media (id 484), unsigned, and runs it.
./build-mac-local.sh [options]
| Option | Effect |
|---|---|
--clean | Delete build/deepphe-installer first |
--release VERSION | Override the application version |
--faster | Disable LZMA/Pack200 compression |
--test | Dry run; compile but don't copy the final artifact |
--no-run | Build the DMG but don't open it |
--mount-only | Open the DMG in Finder, don't launch the installer |
-v, --verbose | Verbose install4j output |
-h, --help | Show help |
Environment: INSTALL4JC, MAC_MEDIA_ID (default 484), INSTALL4JC_ARGS.
sign-windows-assets.sh
Authenticode-signs the Windows .exe payloads on the DeepPhe-Dist releases with
a YubiKey (jsign) and re-uploads them in place. Takes no arguments.
./sign-windows-assets.sh
Prerequisites: brew install jsign osslsigncode; YubiKey PIN stored in the
macOS keychain under service yubikey-piv-pin; gh authenticated to the
DeepPhe/DeepPhe-Dist repo. See details.
install4jc auto-detection
Both build scripts resolve the compiler in this priority order and prefer the highest version:
$INSTALL4JCinstall4jconPATH/Applications/install4j*.app/Contents/Resources/app/bin/install4jc/opt/install4j/bin/install4jc
Notes
- All scripts
cdto the repo root first, so install4j's relative paths (mediaDir,keys,icons) resolve regardless of where you invoke them. - The scripts are written for bash on macOS/Linux and guard against bash 3.2
(the macOS default) quirks with empty arrays under
set -u.