Compare commits

..

No commits in common. "19a21b8cdfa9703e6f6cb251cc4524000cf1d637" and "a107d9e283d7e23eec15d1a3a08f14ef94871659" have entirely different histories.

2 changed files with 36 additions and 19 deletions

34
build.rs 100644
View File

@ -0,0 +1,34 @@
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.");
// }
// }
}

View File

@ -18,10 +18,6 @@ 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};
@ -98,7 +94,7 @@ fn rocket() -> _
.merge(Yaml::file("Rb.yaml").nested())
.merge(Env::prefixed("RB_").global());
let mut instance = rocket::custom(figment)
rocket::custom(figment)
.attach(RbDbConn::fairing())
.attach(AdHoc::try_on_ignite(
"Run database migrations",
@ -116,18 +112,5 @@ 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]);
// 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
.mount("/api/posts", routes![posts::get, posts::create])
}