Declare build modes and the Enroll command for Dev Updater
modes: [release, debug], release first as the default; build-apk.sh already takes the mode as its last argument, which is how Dev Updater passes it. enroll: goes through server/enroll-link.sh rather than the binary directly, because the command is handed the app's mode too and because the server may have been built in either profile -- the wrapper ignores the word and takes whichever ai-server exists, release first. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
1656b058bf
commit
3c3b4e62fd
2 files changed
+27
No files matched your search
@@ -39,10 +39,20 @@ components: [
|
||||
),
|
||||
Apk(
|
||||
name: "app",
|
||||
// Release first: the first mode is the default, and the phone runs
|
||||
// the release build -- a debuggable one runs Compose at a fraction
|
||||
// of the speed. Each command below is run with the chosen mode as
|
||||
// its last argument, which is exactly build-apk.sh's interface.
|
||||
modes: ["release", "debug"],
|
||||
// Resolved against this directory, and run in `app/` -- the script
|
||||
// cds to its own directory anyway, so the cwd is here to say where
|
||||
// the app is rather than because the build needs it.
|
||||
build: "app/build-apk.sh",
|
||||
cwd: "app",
|
||||
// The Enroll button in this component's settings: prints the link
|
||||
// that enrols the phone against the server built here, for the
|
||||
// reinstalls -- a signing change, a new phone -- where nobody is at
|
||||
// the terminal the QR would be printed on.
|
||||
enroll: "server/enroll-link.sh",
|
||||
),
|
||||
],
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
# Prints an enrollment link for one more phone -- `ai-server --enroll-link`,
|
||||
# see that flag's help. This is what Dev Updater's Enroll button runs, from
|
||||
# the checkout root, with the *app's* build mode as a trailing argument
|
||||
# (every command a component declares gets it). The mode does not bear on
|
||||
# the server, so it is ignored: the link comes from whichever ai-server has
|
||||
# been built here, release first, and the message below is what the card
|
||||
# shows when neither exists.
|
||||
set -eu
|
||||
cd "$(dirname "$0")"
|
||||
for bin in target/release/ai-server target/debug/ai-server; do
|
||||
if [ -x "$bin" ]; then
|
||||
exec "$bin" --enroll-link
|
||||
fi
|
||||
done
|
||||
echo "ai-server is not built here yet -- update the server component first" >&2
|
||||
exit 1
|
||||
Reference in new issue
Block a user