Compare commits
2 Commits
a107d9e283
...
19a21b8cdf
| Author | SHA1 | Date |
|---|---|---|
|
|
19a21b8cdf | |
|
|
ce97f36c18 |
34
build.rs
34
build.rs
|
|
@ -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.");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
21
src/main.rs
21
src/main.rs
|
|
@ -18,6 +18,10 @@ use rocket::{
|
||||||
serde::json::{json, Value},
|
serde::json::{json, Value},
|
||||||
Build, Orbit, Request, Rocket,
|
Build, Orbit, Request, Rocket,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#[cfg(any(feature = "web", feature="docs"))]
|
||||||
|
use rocket::fs;
|
||||||
|
|
||||||
use rocket_sync_db_pools::database;
|
use rocket_sync_db_pools::database;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
|
@ -94,7 +98,7 @@ fn rocket() -> _
|
||||||
.merge(Yaml::file("Rb.yaml").nested())
|
.merge(Yaml::file("Rb.yaml").nested())
|
||||||
.merge(Env::prefixed("RB_").global());
|
.merge(Env::prefixed("RB_").global());
|
||||||
|
|
||||||
rocket::custom(figment)
|
let mut instance = rocket::custom(figment)
|
||||||
.attach(RbDbConn::fairing())
|
.attach(RbDbConn::fairing())
|
||||||
.attach(AdHoc::try_on_ignite(
|
.attach(AdHoc::try_on_ignite(
|
||||||
"Run database migrations",
|
"Run database migrations",
|
||||||
|
|
@ -112,5 +116,18 @@ fn rocket() -> _
|
||||||
routes![admin::create_user, admin::get_user_info],
|
routes![admin::create_user, admin::get_user_info],
|
||||||
)
|
)
|
||||||
.mount("/api/sections", routes![sections::create_section])
|
.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
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in New Issue