From ce97f36c182e02c95873ebde6783b28c5d186f6f Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Tue, 12 Oct 2021 16:47:05 +0200 Subject: [PATCH 1/2] Removed unnecessary build.rs --- build.rs | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 build.rs diff --git a/build.rs b/build.rs deleted file mode 100644 index 23d08af..0000000 --- a/build.rs +++ /dev/null @@ -1,34 +0,0 @@ -use std::{env, process::Command}; - -fn main() -{ - if env::var_os("CARGO_FEATURE_WEB").is_some() { - println!("cargo:rerun-if-changed=web"); - - let status = Command::new("yarn") - .arg("build") - .current_dir("web") - .status() - .expect("Failed to build frontend."); - - if status.code().unwrap() != 0 { - panic!("Building frontend failed."); - } - } - - // This currently isn't possible because cargo doc requires a lock on the Cargo.lock file that - // can't be provided - - // if env::var_os("CARGO_FEATURE_DOCS").is_some() { - // println!("cargo:rerun-if-changed=src"); - - // let status = Command::new(env::var("CARGO").unwrap()) - // .args(["doc", "--no-deps"]) - // .status() - // .expect("Failed to build docs."); - - // if status.code().unwrap() != 0 { - // panic!("Failed to build docs."); - // } - // } -} From 19a21b8cdfa9703e6f6cb251cc4524000cf1d637 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Tue, 12 Oct 2021 17:05:21 +0200 Subject: [PATCH 2/2] Added docs & web FileServer routes --- src/main.rs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 03d84d5..e644965 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,6 +18,10 @@ use rocket::{ serde::json::{json, Value}, Build, Orbit, Request, Rocket, }; + +#[cfg(any(feature = "web", feature="docs"))] +use rocket::fs; + use rocket_sync_db_pools::database; use serde::{Deserialize, Serialize}; @@ -94,7 +98,7 @@ fn rocket() -> _ .merge(Yaml::file("Rb.yaml").nested()) .merge(Env::prefixed("RB_").global()); - rocket::custom(figment) + let mut instance = rocket::custom(figment) .attach(RbDbConn::fairing()) .attach(AdHoc::try_on_ignite( "Run database migrations", @@ -112,5 +116,18 @@ fn rocket() -> _ routes![admin::create_user, admin::get_user_info], ) .mount("/api/sections", routes![sections::create_section]) - .mount("/api/posts", routes![posts::get, posts::create]) + .mount("/api/posts", routes![posts::get, posts::create]); + + // It's weird that this is allowed, but the line on its own isn't + #[cfg(feature = "web")] + { + instance = instance.mount("/", fs::FileServer::new("/var/www/html/web", fs::Options::Index | fs::Options::NormalizeDirs)); + } + + #[cfg(feature = "docs")] + { + instance = instance.mount("/docs", fs::FileServer::new("/var/www/html/docs", fs::Options::Index | fs::Options::NormalizeDirs)); + } + + instance }