tools/makepad_builder replaces tools/makepad_loader: one build target shared across app builds, workspace package selection, checkout progress on the public Git API, detached built apps with a completion state, waits for Windows security scans, manual retry after compiler locks, dedicated-folder installer checks, catalog and runtime fixes. tools/web_server and its scripts leave for github.com/makepad/webserver. Arch USB clone/restore scripts, the qwen38 box scripts and the G-belt serial test join tools/. docs/agents records the agent workflow and the remote-control handoff protocol; AGENTS.md forbids vendored sources and bulk imports. Cargo.toml lists apps/wm-dyn, libs/code_language, libs/search, libs/tar, libs/loader_bundle and tools/makepad_builder, and drops the two removed crates. Squashed from work: - Share Builder target across Makepad app builds - Fix Builder workspace package selection - Align Builder checkout progress with public Git API - Detach built apps and show completion state - Wait for Windows security scans - Offer manual retry after Windows compiler locks - docs: the agent workflow of record and the remote-control handoff protocol - builder: dedicated-folder installer checks, catalog and runtime fixes; Windows job objects hold c_void handles - tools: Arch USB clone/restore scripts, the qwen38 box scripts, and the G-belt serial test - tools: the web server moves to makepad/webserver - AGENTS.md: no vendored sources or bulk imports in the tree Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
29 lines
1.2 KiB
Bash
29 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# Keep the invoking directory. Only the app command is exposed on PATH.
|
|
set -eu
|
|
builder_script=$0
|
|
while [ -L "$builder_script" ]; do
|
|
builder_directory=$(cd -P -- "$(dirname -- "$builder_script")" && pwd)
|
|
builder_link=$(readlink "$builder_script")
|
|
case "$builder_link" in /*) builder_script=$builder_link ;; *) builder_script=$builder_directory/$builder_link ;; esac
|
|
done
|
|
builder_directory=$(cd -P -- "$(dirname -- "$builder_script")" && pwd)
|
|
unset MAKEPAD_LOADER_EMAIL MAKEPAD_PACKAGE_DIR
|
|
if [ "$#" -gt 0 ]; then
|
|
case "$1" in -*) ;; *) set -- --cwd "$@" ;; esac
|
|
fi
|
|
if [ "$(uname -s)" = Darwin ]; then
|
|
# The shell command opens the invoking directory; Dock launches use the
|
|
# bundle's saved project. Keep the two entry points consistent.
|
|
for builder_app in "$builder_directory/"*.app; do
|
|
if [ -x "$builder_app/Contents/MacOS/@APP_BINARY@" ]; then
|
|
builder_has_cwd=0
|
|
for builder_arg in "$@"; do
|
|
[ "$builder_arg" != --cwd ] || builder_has_cwd=1
|
|
done
|
|
if [ "$builder_has_cwd" = 0 ]; then set -- --cwd "$PWD" "$@"; fi
|
|
exec "$builder_app/Contents/MacOS/@APP_BINARY@" "$@"
|
|
fi
|
|
done
|
|
fi
|
|
exec "$builder_directory/@APP_BINARY@.bin" "$@"
|