curl = "0.4.38"
indexmap = { version = "1.7.0", features = ["serde"] }
serde = { version = "1.0.125", features = ["derive"] }
-serde_json = "1.0.59"
+serde_json = { version = "1.0.59", features = ["preserve_order"] }
toml = "0.5.7"
#[derive(Debug, serde::Serialize, serde::Deserialize)]
struct Config {
dist_server: String,
- artifacts_server: String,
- artifacts_with_llvm_assertions_server: String,
- git_merge_commit_email: String,
+ // There are other fields in the configuration, which will be read by src/bootstrap or other
+ // tools consuming stage0.json. To avoid the need to update bump-stage0 every time a new field
+ // is added, we collect all the fields in an untyped Value and serialize them back with the
+ // same order and structure they were deserialized in.
+ #[serde(flatten)]
+ other: serde_json::Value,
}
#[derive(Debug, serde::Serialize, serde::Deserialize)]