summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-02-22 10:24:10 +0100
committerMatthias Beyer <matthias.beyer@atos.net>2021-02-22 14:49:11 +0100
commit88abd90bc6d30c67d7fba883322ed89a13ee81cb (patch)
tree85ce16fed7c8e5948c7accc2892e5cf8ec725b63
parentcc395116613dfb8469d6a4e5ec9fce6a96772a7c (diff)
Add required "release_stores" configuration
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r--config.toml8
-rw-r--r--src/config/not_validated.rs10
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!(