diff --git a/CHANGES.md b/CHANGES.md index 86606407..3e005aa8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,7 @@ # Rojo Change Log ## Current Master -*No changes* +* Rojo now throws an error if no project file is found. ([#63](https://github.com/LPGhatguy/rojo/issues/63)) ## 0.4.4 (April 7, 2018) * Fix small regression introduced in 0.4.3 diff --git a/server/src/commands/serve.rs b/server/src/commands/serve.rs index 998001ba..7d5a117a 100644 --- a/server/src/commands/serve.rs +++ b/server/src/commands/serve.rs @@ -14,10 +14,6 @@ use web; pub fn serve(project_path: &PathBuf, verbose: bool, port: Option) { let server_id = rand::random::(); - if verbose { - println!("Attempting to locate project at {}...", project_path.display()); - } - let project = match Project::load(project_path) { Ok(v) => { println!("Using project from {}", project_path.display()); @@ -26,27 +22,23 @@ pub fn serve(project_path: &PathBuf, verbose: bool, port: Option) { Err(err) => { match err { ProjectLoadError::InvalidJson(serde_err) => { - eprintln!( - "Found invalid JSON!\nProject in: {}\nError: {}", - project_path.display(), - serde_err, - ); + eprintln!("Project contained invalid JSON!"); + eprintln!("{}", project_path.display()); + eprintln!("Error: {}", serde_err); process::exit(1); }, ProjectLoadError::FailedToOpen | ProjectLoadError::FailedToRead => { eprintln!("Found project file, but failed to read it!"); - eprintln!( - "Check the permissions of the project file at\n{}", - project_path.display(), - ); + eprintln!("Check the permissions of the project file at {}", project_path.display()); process::exit(1); }, - _ => { - // Any other error is fine; use the default project. - println!("Found no project file, using default project..."); - Project::default() + ProjectLoadError::DidNotExist => { + eprintln!("Found no project file! Create one using 'rojo init'"); + eprintln!("Checked for a project at {}", project_path.display()); + + process::exit(1); }, } },