From 31973890a9ee60f50c1426ef7173bd4238234268 Mon Sep 17 00:00:00 2001 From: Jürgen Hahn Date: Mon, 2 Jan 2023 21:00:59 +0100 Subject: refactor(tvix/derivation): refactor the derivation serialization This refactors the code to serialize a derivation. The original code has beed moved to seperate crates for better code structure. Change-Id: I3b1a6b134428fcbc9930c330bced8ec3610cfb4c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7733 Tested-by: BuildkiteCI Reviewed-by: flokli --- tvix/derivation/src/output.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tvix/derivation/src/output.rs (limited to 'tvix/derivation/src/output.rs') diff --git a/tvix/derivation/src/output.rs b/tvix/derivation/src/output.rs new file mode 100644 index 0000000000..0d764011fc --- /dev/null +++ b/tvix/derivation/src/output.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +// This function is required by serde to deserialize files +// with missing keys. +fn default_resource() -> String { + "".to_string() +} + +#[derive(Serialize, Deserialize)] +pub struct Output { + pub path: String, + #[serde(default = "default_resource")] + pub hash_algorithm: String, + #[serde(default = "default_resource")] + pub hash: String, +} -- cgit 1.4.1