diff options
Diffstat (limited to 'src/config.rs')
| -rw-r--r-- | src/config.rs | 22 |
1 files changed, 22 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, +} |
