Skip to content

Commit 5ba6d35

Browse files
authored
Update build.hl
1 parent e7bd916 commit 5ba6d35

1 file changed

Lines changed: 188 additions & 3 deletions

File tree

build.hl

Lines changed: 188 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,198 @@
1-
// make
1+
#!/usr/bin/hl
22
// npm
33
// cargo
44
// rustc
55

6-
> make
7-
86
;; install mising dependeces
97
;; > sudo apt install libwebkit2gtk-4.1-dev
108
;; > sudo apt install libsoup-3.0-dev
119
;; > sudo apt install libinput-dev
1210
;; > sudo apt install libgbm-dev
1311
;; > sudo apt install libseat-dev
12+
13+
using <gen 2>
14+
15+
# <main/colors>
16+
17+
% PREFIX: str = /usr/local
18+
% BUILD_DIR: str = build
19+
% FRONTEND: str = source-code/frontend
20+
% BACKEND: str = source-code/backend/src-tauri
21+
22+
;; Nadpisanie PREFIX z argumentów / środowiska (opcjonalne)
23+
> printenv PREFIX |> @env_prefix
24+
? ok
25+
% PREFIX = @env_prefix
26+
done
27+
28+
: log def
29+
~> [make.hl] @msg
30+
done
31+
32+
: help def
33+
~> Dostępne targety:
34+
~> all - frontend + backend (release)
35+
~> frontend - zbuduj Solid.js + TypeScript
36+
~> backend - cargo build --release --workspace
37+
~> backend-dev - cargo build --workspace
38+
~> dev - uruchom Tauri w trybie deweloperskim
39+
~> test - testy jednostkowe
40+
~> check - cargo check + npm check
41+
~> check-comphwde - sprawdź czy comphwde jest w PATH
42+
~> install - instalacja systemowa
43+
~> uninstall - odinstalowanie
44+
~> clean - wyczyść artefakty
45+
done
46+
47+
: frontend def
48+
-- log
49+
~> Building frontend (Solid.js + TypeScript)...
50+
> cd @FRONTEND && npm install && npm run build
51+
? err
52+
::red Frontend build failed
53+
> exit 1
54+
done
55+
::green Frontend OK
56+
done
57+
58+
: backend def
59+
-- frontend
60+
-- log
61+
~> Building backend (Tauri + ipcctl) --release...
62+
> cargo build --release --workspace
63+
? err
64+
::red Backend build failed
65+
> exit 1
66+
done
67+
::green Backend OK
68+
done
69+
70+
: backend-dev def
71+
-- frontend
72+
-- log
73+
~> Building backend (dev)...
74+
> cargo build --workspace
75+
? err
76+
::red Backend-dev build failed
77+
> exit 1
78+
done
79+
::green Backend-dev OK
80+
done
81+
82+
: all def
83+
-- frontend
84+
-- backend
85+
::green all: finished
86+
done
87+
88+
: dev def
89+
-- frontend
90+
-- log
91+
~> Starting Tauri in dev mode...
92+
> cargo run -p hacker-mode -- dev
93+
done
94+
95+
: test def
96+
-- log
97+
~> Running tests...
98+
> cargo test -p hacker-mode-ipc
99+
> cargo test -p hacker-mode
100+
? err
101+
::red Tests failed
102+
> exit 1
103+
done
104+
::green Tests OK
105+
done
106+
107+
: check def
108+
-- log
109+
~> Checking...
110+
> cargo check --workspace
111+
> cd @FRONTEND && npm run check
112+
? err
113+
::red Check failed
114+
> exit 1
115+
done
116+
::green Check OK
117+
done
118+
119+
: check-comphwde def
120+
::which comphwde
121+
? err
122+
::red Brak 'comphwde' w PATH - zainstaluj projekt HWDE (patrz README, sekcja 'Zależność: comphwde') przed uruchomieniem sesji Hacker Mode.
123+
::red Budowa samego Hacker Mode ('hl make.hl all') tego nie wymaga.
124+
> exit 1
125+
done
126+
::green comphwde found in PATH
127+
done
128+
129+
: install def
130+
-- all
131+
-- log
132+
~> Installing...
133+
134+
> install -Dm755 target/release/hacker-mode $(DESTDIR)@PREFIX/bin/hacker-mode
135+
> install -Dm755 target/release/hacker-mode-ipcctl $(DESTDIR)@PREFIX/bin/hacker-mode-ipcctl
136+
> install -Dm755 scripts/hacker-mode-session $(DESTDIR)@PREFIX/bin/hacker-mode-session
137+
> install -Dm644 scripts/hacker-mode.desktop $(DESTDIR)/usr/share/wayland-sessions/hacker-mode.desktop
138+
139+
::green Zainstalowano. Sesję 'Hacker Mode' powinno być widać na ekranie logowania (SDDM/GDM/LightDM).
140+
::yellow Do uruchomienia sesji potrzebna jest jeszcze binarka 'comphwde' (projekt HWDE) w PATH - patrz README.
141+
::yellow ('hl make.hl check-comphwde' sprawdzi).
142+
done
143+
144+
: uninstall def
145+
-- log
146+
~> Uninstalling...
147+
> rm -f $(DESTDIR)@PREFIX/bin/hacker-mode
148+
> rm -f $(DESTDIR)@PREFIX/bin/hacker-mode-ipcctl
149+
> rm -f $(DESTDIR)@PREFIX/bin/hacker-mode-session
150+
> rm -f $(DESTDIR)/usr/share/wayland-sessions/hacker-mode.desktop
151+
::green Uninstalled
152+
done
153+
154+
: clean def
155+
-- log
156+
~> Cleaning...
157+
> cargo clean
158+
> rm -rf @FRONTEND/dist @FRONTEND/node_modules
159+
::green Clean done
160+
done
161+
162+
;; === Dispatcher ===
163+
% target: str = help
164+
165+
? @argc > 0
166+
% target = @arg0
167+
done
168+
169+
? switch @target
170+
| all
171+
-- all
172+
| frontend
173+
-- frontend
174+
| backend
175+
-- backend
176+
| backend-dev
177+
-- backend-dev
178+
| dev
179+
-- dev
180+
| test
181+
-- test
182+
| check
183+
-- check
184+
| check-comphwde
185+
-- check-comphwde
186+
| install
187+
-- install
188+
| uninstall
189+
-- uninstall
190+
| clean
191+
-- clean
192+
| help
193+
-- help
194+
| *
195+
::red Unknown target: @target
196+
-- help
197+
> exit 1
198+
done

0 commit comments

Comments
 (0)