Skip to content

Conversation

@shannah
Copy link
Owner

@shannah shannah commented Jan 30, 2026

No description provided.

shannah and others added 10 commits January 29, 2026 14:35
Enable the native launcher to use SMAppService (macOS 13+) by embedding
LaunchAgent plist files at Contents/Library/LaunchAgents/<command>.plist
during the macOS bundle creation phase. When the plist is present the
launcher can register the service via SMAppService; when absent it falls
back to the existing launchctl approach.

The bundler generates plists only for service_controller commands whose
arguments are fully static (no $ or {{ placeholders). An explicit
"embedPlist" boolean in the command spec allows developers to force or
suppress generation regardless of the heuristic.

Pipeline: PackageService parses commands from package.json → AppInfo →
Bundler → AppDescription → MacBundler.maybeCreateLaunchAgentPlists().
The embedded plist should only include --jdeploy:command=<name> since
launchd runs the process directly. The --jdeploy:service start args
are only needed for CLI manual service management via launchctl.

Also passes commands through installer path via Main.java.
After template expansion, update package.json with the repository URL
and jdeploy.github settings (repository, releases_repository,
releases_url) when a GitHub repository is configured. Previously these
were lost because the template has "repository": "" hardcoded.

Fixes shannah/jdeploy-desktop-gui#65
@shannah shannah merged commit 7498160 into master Feb 1, 2026
19 of 20 checks passed
@shannah shannah deleted the feature/smappservice branch February 1, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants