TLDR use build-debug.sh
, run-debug.sh
, and run-tests.sh
scripts.
The dependencies that are required to build AeroSpace:
brew install xcodegen gsed asciidoctor
Entry point scripts
build-debug.sh
- Build debug build to.debug
dirrun-tests.sh
- Run testsrun-debug.sh
- Run debug build of AeroSpace.apprun-cli.sh
- Runaerospace
in CLI. Arguments are forwarded toaerospace
binarybuild-docs.sh
- Build the site and manpages to.site
and.man
dirs respectivelygenerate.sh
- Regenerate generated project files.AeroSpace.xcodeproj
is generated, and some of the source files (the source files haveGenerated
suffix in their names)
Important
Debug build uses ~/.aerospace-debug.toml
instead of ~/.aerospace.toml
Signing
- Change
DEVELOPMENT_TEAM
inproject.yml
- Run
generate.sh
script
The easiest way to know your DEVELOPMENT_TEAM
id is to
set the Team in Xcode GUI and see the git diff
Entry point scripts
After you setup signing, you can build the release build:
build-release.sh
- Build release build to.release
dirinstall-release.sh
- Build and install release build to/Applications/AeroSpace.app
and~/.bin/aerospace
- Signing the binary is required to preserve accessibility permission across rebuilds.
run-debug.sh
runs the AeroSpace.app on behalf of the terminal app, that's why it's not affected by this caveat. - You can use
script/clean-project.sh
to clean the project when something goes wrong.
- Use built-in "Accessibility Inspector.app" to inspect accessibility properties of windows
- Use BetterDisplay 2 to emulate several monitors