about summary refs log tree commit diff
path: root/tvix/derivation/src/derivation.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-01-04T18·26+0100
committerflokli <flokli@flokli.de>2023-01-04T21·58+0000
commit407a9cd90f3a1ea3bb0cf4ced85cfacb29881b0c (patch)
tree410abc93db13321114090a855e58b070c9a4069f /tvix/derivation/src/derivation.rs
parent77cc6a1f785caad0c5fb84457013177a99aaf158 (diff)
chore(tvix/derivation): align json serialization with nix output r/5590
Use the #[serde(rename = "…")] field attributes to match the field names
that Nix uses in its JSON output (nix show-derivation).

This allows us to just re-use the exact same fixtures from go-nix,
without manual post-massaging.

Change-Id: Ifd5c08e43cd4f50d5e02903eccd8cb37230b70a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7757
Reviewed-by: jrhahn <mail.jhahn@gmail.com>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Diffstat (limited to 'tvix/derivation/src/derivation.rs')
-rw-r--r--tvix/derivation/src/derivation.rs22
1 files changed, 16 insertions, 6 deletions
diff --git a/tvix/derivation/src/derivation.rs b/tvix/derivation/src/derivation.rs
index bed2cc74b29b..a1a05abea601 100644
--- a/tvix/derivation/src/derivation.rs
+++ b/tvix/derivation/src/derivation.rs
@@ -9,13 +9,23 @@ use tvix_store::nixpath::STORE_DIR;
 
 #[derive(Serialize, Deserialize)]
 pub struct Derivation {
-    pub outputs: BTreeMap<String, Output>,
-    pub input_sources: Vec<String>,
-    pub input_derivations: BTreeMap<String, Vec<String>>,
-    pub platform: String,
-    pub builder: String,
+    #[serde(rename = "args")]
     pub arguments: Vec<String>,
+
+    pub builder: String,
+
+    #[serde(rename = "env")]
     pub environment: BTreeMap<String, String>,
+
+    #[serde(rename = "inputDrvs")]
+    pub input_derivations: BTreeMap<String, Vec<String>>,
+
+    #[serde(rename = "inputSrcs")]
+    pub input_sources: Vec<String>,
+
+    pub outputs: BTreeMap<String, Output>,
+
+    pub system: String,
 }
 
 impl Derivation {
@@ -26,7 +36,7 @@ impl Derivation {
         write::write_outputs(writer, &self.outputs)?;
         write::write_input_derivations(writer, &self.input_derivations)?;
         write::write_input_sources(writer, &self.input_sources)?;
-        write::write_platfrom(writer, &self.platform)?;
+        write::write_system(writer, &self.system)?;
         write::write_builder(writer, &self.builder)?;
         write::write_arguments(writer, &self.arguments)?;
         write::write_enviroment(writer, &self.environment)?;