WIP: Epiphany Refactor (#85)

This commit is contained in:
Lucien Greathouse
2018-08-26 01:03:53 -07:00
committed by GitHub
parent 80b9b7594b
commit 72bc77f1d5
52 changed files with 1145 additions and 2157 deletions

View File

@@ -13,4 +13,4 @@ pub fn init(project_path: &PathBuf) {
process::exit(1);
},
}
}
}

View File

@@ -2,4 +2,4 @@ mod serve;
mod init;
pub use self::serve::*;
pub use self::init::*;
pub use self::init::*;

View File

@@ -1,40 +1,39 @@
use std::path::PathBuf;
use std::process;
use std::fs;
use std::{
path::Path,
process,
sync::Arc,
};
use rand;
use ::{
project::Project,
web::Server,
session::Session,
roblox_studio,
};
use project::Project;
use web::{self, WebConfig};
use session::Session;
use roblox_studio;
pub fn serve(project_dir: &PathBuf, override_port: Option<u64>) {
let server_id = rand::random::<u64>();
let project = match Project::load(project_dir) {
Ok(v) => {
println!("Using project from {}", fs::canonicalize(project_dir).unwrap().display());
v
},
Err(err) => {
eprintln!("{}", err);
pub fn serve(fuzzy_project_location: &Path) {
let project = match Project::load_fuzzy(fuzzy_project_location) {
Ok(project) => project,
Err(error) => {
eprintln!("Fatal: {}", error);
process::exit(1);
},
};
let port = override_port.unwrap_or(project.serve_port);
println!("Found project at {}", project.file_location.display());
println!("Using project {:#?}", project);
roblox_studio::install_bundled_plugin().unwrap();
let mut session = Session::new(project.clone());
session.start();
let session = Arc::new({
let mut session = Session::new(project);
session.start().unwrap();
session
});
let web_config = WebConfig::from_session(server_id, port, &session);
let server = Server::new(Arc::clone(&session));
println!("Server listening on port {}", port);
println!("Server listening on port 34872");
web::start(web_config);
}
server.listen(34872);
}