dragonflight/services/premiere-plugin/build/build-all.ps1
Zac Gaetano f874009329 feat(premiere-plugin): ZXP + Windows installer build pipeline
Replaces the manual robocopy / install-windows.ps1 flow with two real
distributable artifacts:

  - dragonflight-premiere-panel-<version>.zxp          (Mac + Win)
  - dragonflight-premiere-panel-<version>-windows-setup.exe (Win)

The Windows installer copies the bundle to %APPDATA%\Adobe\CEP\extensions,
sets PlayerDebugMode=1 for CSXS 8..13, registers an uninstaller, and
offers to remove any legacy com.wilddragon.mam.panel folder so editors
don't end up with duplicate panels.

The .zxp is signed with a self-signed cert generated on first build and
committed to build/cert/ so signature continuity is preserved across
builds (Adobe rejects ZXP upgrades with a different cert fingerprint).

Also migrates the CEP bundle ID from com.wilddragon.mam.panel to
net.wilddragon.dragonflight.panel to match the wild-dragon -> dragonflight
repo rename. Manifest, .debug, CSInterface.js, install docs, and the
growing-files quickstart all updated.

build/ is normally swept by the root .gitignore; added an explicit
negation so the packaging pipeline stays tracked.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 16:13:20 -04:00

34 lines
1 KiB
PowerShell

# Dragonflight Premiere panel — build everything
#
# Produces both artifacts in dist/:
# - dragonflight-premiere-panel-<version>.zxp (Mac + Win)
# - dragonflight-premiere-panel-<version>-windows-setup.exe (Win)
#
# Requires: Node 18+, Inno Setup 6 (ISCC.exe on PATH).
# Usage: pwsh -File build-all.ps1
$ErrorActionPreference = 'Stop'
Set-Location $PSScriptRoot
if (-not (Test-Path 'node_modules')) {
Write-Host 'Installing npm deps...'
npm install --no-audit --no-fund
if ($LASTEXITCODE -ne 0) { throw 'npm install failed' }
}
Write-Host ''
Write-Host '=== Building .zxp ==='
node build-zxp.mjs
if ($LASTEXITCODE -ne 0) { throw 'ZXP build failed' }
Write-Host ''
Write-Host '=== Building Windows .exe ==='
& (Join-Path $PSScriptRoot 'build-installer.ps1')
if ($LASTEXITCODE -ne 0) { throw 'Installer build failed' }
Write-Host ''
Write-Host 'All artifacts:'
Get-ChildItem -Path 'dist' | ForEach-Object {
$size = [math]::Round($_.Length / 1KB, 1)
Write-Host (' {0,8} KB {1}' -f $size, $_.Name)
}