diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-02-22 10:24:10 +0100 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-02-22 14:49:11 +0100 |
commit | 88abd90bc6d30c67d7fba883322ed89a13ee81cb (patch) | |
tree | 85ce16fed7c8e5948c7accc2892e5cf8ec725b63 | |
parent | cc395116613dfb8469d6a4e5ec9fce6a96772a7c (diff) |
Add required "release_stores" configuration
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r-- | config.toml | 8 | ||||
-rw-r--r-- | src/config/not_validated.rs | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/config.toml b/config.toml index e9242ea..c47f6c5 100644 --- a/config.toml +++ b/config.toml @@ -81,7 +81,13 @@ script_highlight_theme = "Solarized (dark)" #package_print_format = "" # The position of the release binaries -releases = "/tmp/releases" +releases_root = "/tmp/releases" + +# You can have several release stores, but you need to have at least one +# All release stores exist under "$releases/" +release_stores = [ + "default" +] # The position of the staging binaries staging = "/tmp/staging" diff --git a/src/config/not_validated.rs b/src/config/not_validated.rs index 7b206e9..756a15e 100644 --- a/src/config/not_validated.rs +++ b/src/config/not_validated.rs @@ -60,10 +60,14 @@ pub struct NotValidatedConfiguration { #[getset(get = "pub")] shebang: String, - #[serde(rename = "releases")] + #[serde(rename = "releases_root")] #[getset(get = "pub")] releases_directory: PathBuf, + #[serde(rename = "release_stores")] + #[getset(get = "pub")] + release_stores: Vec<String>, + #[serde(rename = "staging")] #[getset(get = "pub")] staging_directory: PathBuf, @@ -142,6 +146,10 @@ impl NotValidatedConfiguration { )); } + if self.release_stores.is_empty() { + return Err(anyhow!("You need at least one release store in 'release_stores'")) + } + // Error if source_cache_root is not a directory if !self.source_cache_root.is_dir() { return Err(anyhow!( |