Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
97 lines (75 loc) · 3.76 KB
/
Copy pathMakefile
File metadata and controls
97 lines (75 loc) · 3.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
.PHONY: doctor install-client dev web server check check-client check-rust check-server check-ssh check-terminal-webkit check-terminal-native check-instances-browser check-lifecycle-native check-linux-server check-linux-client
.DEFAULT_GOAL := doctor
doctor:
node scripts/doctor.mjs
install-client:
npm --prefix apps/client install
dev:
npm --prefix apps/client run tauri dev
web:
npm --prefix apps/client run dev
server:
cargo run -p vmanyware-server
.PHONY: tui check-tui
tui:
cargo run --locked -p vmanyware-tui -- tui
check-tui:
cargo fmt -p vmanyware-tui -- --check
cargo clippy --locked -p vmanyware-tui --all-targets -- -D warnings
cargo test --locked -p vmanyware-tui
cargo build --locked -p vmanyware-tui
python3 scripts/check-tui.py
check: check-client check-rust
check-client:
npm --prefix apps/client run build
npm --prefix apps/client test
# Opt-in Linux Firefox check with a disposable profile and simulated native IPC.
check-instances-browser: check-client
node experiments/instances-browser/check.mjs
# Opt-in Linux real WebView/IPC/control-plane flow, confined to generated HTTPS fixtures.
check-lifecycle-native: check-client
test -n "$(NATIVE_TEST_PREFIX)"
PKG_CONFIG_PATH="$(NATIVE_TEST_PREFIX)/sysroot/usr/lib/pkgconfig" LD_LIBRARY_PATH="$(NATIVE_TEST_PREFIX)/sysroot/usr/lib" LIBRARY_PATH="$(NATIVE_TEST_PREFIX)/sysroot/usr/lib" cargo build --locked -p vmanyware-client --example lifecycle_smoke --features tauri/custom-protocol
cargo build --locked -p vmanyware-server
python3 experiments/lifecycle-native/check.py --prefix "$(NATIVE_TEST_PREFIX)"
# Opt-in macOS renderer smoke; simulated IPC, never a user agent or real SSH host.
check-terminal-webkit: check-client
node experiments/terminal-webkit/check.mjs
# Real bundled Tauri/IPC/agent/shell fixture. macOS GUI session required.
check-terminal-native: check-client
cargo build --locked --release -p vmanyware-client --example terminal_smoke --features tauri/custom-protocol
node experiments/terminal-native/check.mjs
check-rust:
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
# Opt-in local Docker Linux arm64 check of committed source, with no credentials.
check-linux-server:
node scripts/check-linux.mjs server
check-linux-client:
node scripts/check-linux.mjs client
check-server:
cargo fmt -p vmanyware-server -- --check
cargo clippy -p vmanyware-server --all-targets -- -D warnings
cargo test -p vmanyware-server
# Isolated localhost experiment; intentionally outside the application workspace.
check-ssh:
cargo fmt --manifest-path experiments/ssh/Cargo.toml -- --check
cargo clippy --locked --manifest-path experiments/ssh/Cargo.toml --all-targets -- -D warnings
cargo test --locked --manifest-path experiments/ssh/Cargo.toml
# Local artifact only; no account, configuration or running service is changed.
.PHONY: package-server
package-server:
cargo build --locked --release -p vmanyware-server
python3 scripts/package-server.py
# Pass an explicit archive; checks use temporary paths and localhost processes only.
.PHONY: check-server-package
check-server-package:
@test -n "$(SERVER_PACKAGE)" || (echo 'Set SERVER_PACKAGE=/absolute/path/to/archive.tar.gz' >&2; exit 2)
python3 scripts/check-server-package.py "$(SERVER_PACKAGE)"
# Explicit owned Android/signing/Gradle paths; builds and verifies, never installs.
.PHONY: package-android
package-android:
@test -n "$(JAVA_HOME)" -a -n "$(ANDROID_HOME)" -a -n "$(NDK_HOME)" -a -n "$(ANDROID_USER_HOME)" -a -n "$(GRADLE_USER_HOME)" || (echo 'Configure an owned JDK/SDK/NDK, ANDROID_USER_HOME and GRADLE_USER_HOME first.' >&2; exit 2)
npm --prefix apps/client run tauri -- android build --debug --apk --target x86_64 aarch64 --split-per-abi --ci
python3 scripts/package-android.py --sdk "$(ANDROID_HOME)"