Repository navigation
refactor(bundle): move LaunchAgent plist template into bundle/ - #19
Merged
Merged
Conversation
Root kept clean (repo's public face); the template now sits with the other packaging assets under bundle/. - install.sh and scripts/test_lib.sh reference bundle/com.mitchelljphayes.switcheroo.plist (repo-checkout layout). - install-binary.sh resolves root-adjacent first (release archives flatten bundle/ to the archive root) and falls back to bundle/ for repo checkouts. - scripts/package.sh stages the archive-root plist from bundle/, so the extracted archive layout and installer behavior are unchanged. - New archive smoke test in package.sh renders the extracted plist with sed and validates it with plutil -lint, catching future archive/repo layout drift. - No runtime, daemon, or config behavior changes. The v0.1.1 tag and the Homebrew formula are unaffected (formula builds its own plist).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Move
com.mitchelljphayes.switcheroo.plistfrom the repository root intobundle/so the root stays clean as the project's public face. The template now lives with the other packaging assets (AppIcon.icns,Info.plist,AppIcon-1024.png).Why
The repo root had only one stray packaging asset — the LaunchAgent plist template — while every other packaging asset lived under
bundle/. Keeping the root clean makes the public face of the repo easier to scan and groups related packaging files.Behavior
install.sh(repo-checkout install) — points atbundle/com.mitchelljphayes.switcheroo.plist.install-binary.sh(release-archive install) — resolves${SCRIPT_DIR}/com.mitchelljphayes.switcheroo.plistfirst, falling back tobundle/. Release archives flattenbundle/into the archive root, so the root-adjacent path is what end users hit; thebundle/fallback preserves repo-checkout installs.scripts/package.sh— copies the template frombundle/into the archive-root payload ascom.mitchelljphayes.switcheroo.plist, so the extracted archive layout and installer behavior are byte-identical to before.scripts/test_lib.sh—sw_render_plisttest target moves tobundle/com.mitchelljphayes.switcheroo.plist.package.sh— after extracting the binary archive during self-verification, render the extracted plist withsed, validate it withplutil -lint, and confirm__APP_DIR__substitution. Catches future archive/repo path drift.What does not change
bundle/Info.plist, not from this template).Validation
shellcheckclean on all 6 scripts (install.sh,install-binary.sh,scripts/package.sh,scripts/test_lib.sh,scripts/lib.sh,uninstall.sh).test_lib24/24 passing../scripts/package.sh) succeeds, including the new archive smoke test:OK: archive installer resolves and renders plist template.plutil -lintonbundle/com.mitchelljphayes.switcheroo.plist: OK.