diff options
Diffstat (limited to 'tvix/derivation/src/validate.rs')
-rw-r--r-- | tvix/derivation/src/validate.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tvix/derivation/src/validate.rs b/tvix/derivation/src/validate.rs index c6cd2f8b9e3e..8a8c1b506911 100644 --- a/tvix/derivation/src/validate.rs +++ b/tvix/derivation/src/validate.rs @@ -4,7 +4,11 @@ use tvix_store::store_path::StorePath; impl Derivation { /// validate ensures a Derivation struct is properly populated, /// and returns a [ValidateDerivationError] if not. - pub fn validate(&self) -> Result<(), DerivationError> { + /// if `validate_output_paths` is set to false, the output paths are + /// excluded from validation. + /// This is helpful to validate struct population before invoking + /// [Derivation::calculate_output_paths]. + pub fn validate(&self, validate_output_paths: bool) -> Result<(), DerivationError> { // Ensure the number of outputs is > 1 if self.outputs.is_empty() { return Err(DerivationError::NoOutputs()); @@ -41,7 +45,7 @@ impl Derivation { break; } - if let Err(e) = output.validate() { + if let Err(e) = output.validate(validate_output_paths) { return Err(DerivationError::InvalidOutput(output_name.to_string(), e)); } } |