From 3c340b28bdc812b9c13393c9e2bb378ba7dd9ec8 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sat, 2 Sep 2023 21:16:35 +0300 Subject: refactor(tvix/{cli,store}): move TvixStoreIO to tvix-cli crate This trait is eval-specific, there's no point in dealing with these things in tvix-store. This implements the EvalIO interface for a Tvix store. The proper place for this glue code (for now) is tvix-cli, which knows about both tvix-store and tvix-eval. There's one annoyance with this move: The `tvix-store import` subcommand previously also used the TvixStoreIO implementation (because it conveniently did what we wanted). Some of this code had to be duplicated, mostly logic to calculate the NAR-based output path and create the PathInfo object. Some, but potentially more of this can be extracted into helper functions in a shared crate, and then be used from both TvixStoreIO in tvix-cli as well as the tvix-store CLI entrypoint. Change-Id: Ia7515e83c1b54f95baf810fbd8414c5521382d40 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9212 Tested-by: BuildkiteCI Reviewed-by: tazjin Autosubmit: flokli --- tvix/Cargo.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tvix/Cargo.nix') diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index 9c81aa7b2070..2ca478167ea6 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -8050,6 +8050,10 @@ rec { name = "thiserror"; packageId = "thiserror"; } + { + name = "tracing"; + packageId = "tracing"; + } { name = "tvix-eval"; packageId = "tvix-eval"; @@ -8392,10 +8396,6 @@ rec { packageId = "tracing-subscriber"; features = [ "json" ]; } - { - name = "tvix-eval"; - packageId = "tvix-eval"; - } { name = "url"; packageId = "url"; -- cgit 1.4.1