- M0: libghostty SSH 终端(渲染/输入/连接)+ 白屏修复(OutputGate) + 会话状态机/自动重连 - M1: tsnet 用户态组网 + SSH-over-tsnet(fd 桥),shell 级真机验证;R5(Go+gvisor+C+++Swift 同进程) retire - M1.5: tmux -CC 原生 tab(MVP) - 结构: packages/(TXCore·TXTransport), apps/TerminalX, vendor/(libghostty-spm/libssh2/mbedtls/tsnet-bridge), artifacts/ - 文档: CLAUDE.md + docs/HANDOFF.md(新会话入口) - 环境: 认证代理→依赖 vendor 本地化;Go 在 ~/.local/go;仅模拟器/未签名 - 待续: M2 mosh, tmux 多 pane, M4 安全(host key/SE) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
1.8 KiB
Bash
Executable File
57 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
export CLANG_MODULE_CACHE_PATH="${CLANG_MODULE_CACHE_PATH:-/tmp/clang-module-cache}"
|
|
export SWIFTPM_MODULECACHE_OVERRIDE="${SWIFTPM_MODULECACHE_OVERRIDE:-/tmp/swiftpm-module-cache}"
|
|
|
|
format_output() {
|
|
if command -v xcbeautify >/dev/null 2>&1; then
|
|
xcbeautify
|
|
else
|
|
cat
|
|
fi
|
|
}
|
|
|
|
test_build() {
|
|
local scheme="$1"
|
|
local destination="$2"
|
|
local architecture=${3:-}
|
|
local command=(
|
|
xcodebuild
|
|
-scheme "$scheme"
|
|
-destination "$destination"
|
|
)
|
|
|
|
if [ -n "$architecture" ]; then
|
|
command+=("ARCHS=$architecture" "ONLY_ACTIVE_ARCH=YES")
|
|
fi
|
|
command+=(build)
|
|
|
|
echo "[*] build scheme=$scheme destination=$destination architecture=${architecture:-default}"
|
|
"${command[@]}" 2>&1 | format_output
|
|
local exit_code=${PIPESTATUS[0]}
|
|
if [ "$exit_code" -ne 0 ]; then
|
|
echo "[!] failed scheme=$scheme destination=$destination"
|
|
exit "$exit_code"
|
|
fi
|
|
}
|
|
|
|
test_build "GhosttyKit" "generic/platform=macOS"
|
|
test_build "GhosttyKit" "generic/platform=iOS"
|
|
test_build "GhosttyKit" "generic/platform=iOS Simulator"
|
|
test_build "GhosttyTerminal" "generic/platform=macOS"
|
|
test_build "GhosttyTerminal" "generic/platform=macOS,variant=Mac Catalyst"
|
|
test_build "GhosttyTerminal" "generic/platform=iOS"
|
|
test_build "GhosttyTerminal" "generic/platform=iOS Simulator"
|
|
test_build "GhosttyKit" "generic/platform=macOS" "arm64e"
|
|
test_build "GhosttyKit" "generic/platform=macOS,variant=Mac Catalyst" "arm64e"
|
|
test_build "GhosttyKit" "generic/platform=iOS" "arm64e"
|
|
test_build "GhosttyTerminal" "generic/platform=macOS" "arm64e"
|
|
test_build "GhosttyTerminal" "generic/platform=macOS,variant=Mac Catalyst" "arm64e"
|
|
test_build "GhosttyTerminal" "generic/platform=iOS" "arm64e"
|
|
|
|
echo "[*] all tests passed"
|