diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/config.rs | 22 | ||||
| -rw-r--r-- | src/main.rs | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..f27f5f9 --- /dev/null +++ b/src/config.rs @@ -0,0 +1,22 @@ +use anyhow::Context; +use serde::Deserialize; + +fn read_config(path: &str) -> anyhow::Result<Config> { + let toml = std::fs::read(path) + .with_context(|| format!("Failed to read config file at {path}"))?; + let config = toml::from_slice(&toml) + .with_context(|| format!("Failed to parse config file at {path}"))?; + Ok(config) +} + +#[derive(Deserialize)] +pub struct Config { + repositories: Vec<RepoConfig>, +} + +#[derive(Deserialize)] +pub struct RepoConfig { + remote_git_repo: String, + local_git_repo: String, + remote_package_repo: String, +} diff --git a/src/main.rs b/src/main.rs index af7b49a..2c4d073 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,7 @@ #[macro_use] extern crate rocket; +mod config; + #[launch] fn rocket() -> _ { rocket::build().mount("/", routes![index]) |
