Skip to content

Commit 26acc28

Browse files
authored
feat: embed webui assets into the binary (#385)
1 parent f962ccd commit 26acc28

File tree

9 files changed

+241
-143
lines changed

9 files changed

+241
-143
lines changed

Cargo.lock

Lines changed: 152 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aw-client-rust/tests/test.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ mod test {
1212
use aw_client_rust::Event;
1313
use chrono::{DateTime, Duration, Utc};
1414
use serde_json::Map;
15-
use std::path::PathBuf;
1615
use std::sync::Mutex;
1716
use std::thread;
1817
use tokio_test::block_on;
@@ -38,10 +37,12 @@ mod test {
3837
}
3938

4039
fn setup_testserver() -> rocket::Shutdown {
40+
use aw_server::endpoints::AssetResolver;
4141
use aw_server::endpoints::ServerState;
42+
4243
let state = ServerState {
4344
datastore: Mutex::new(aw_datastore::Datastore::new_in_memory(false)),
44-
asset_path: PathBuf::from("."), // webui won't be used, so it's invalidly set
45+
asset_resolver: AssetResolver::new(None),
4546
device_id: "test_id".to_string(),
4647
};
4748
let mut aw_config = aw_server::config::AWConfig::default();

aw-server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ gethostname = "0.4"
2929
uuid = { version = "1.3", features = ["serde", "v4"] }
3030
clap = { version = "4.1", features = ["derive", "cargo"] }
3131
log-panics = { version = "2", features = ["with-backtrace"]}
32+
rust-embed = { version = "8.0.0", features = ["interpolate-folder-path"] }
3233

3334
aw-datastore = { path = "../aw-datastore" }
3435
aw-models = { path = "../aw-models" }

aw-server/build.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
use std::error::Error;
2+
3+
fn main() -> Result<(), Box<dyn Error>> {
4+
std::fs::create_dir_all("../aw-webui/dist").unwrap();
5+
println!("cargo:rustc-env=AW_WEBUI_DIR=../aw-webui/dist");
6+
7+
Ok(())
8+
}

0 commit comments

Comments
 (0)