about summary refs log tree commit diff
path: root/tvix/cli
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-01-16T11·14+0200
committerflokli <flokli@flokli.de>2024-01-18T14·30+0000
commit501827db59eb9e67ef9c637483efa5a0e5d09c06 (patch)
tree67789854b7b4984685fad4f40295a523cf0e09cf /tvix/cli
parent12ae96cff2e925f502cee8afb4f8dcf54aba27d8 (diff)
refactor(tvix/glue): add BuildService to TvixStoreIO r/7411
TvixStoreIO triggers builds whenever IO into a not-yet-built store path
is requested, if it knows how to build that path.

Change-Id: If30e9db6be2f2a30cbc9d0576f357f3ecfa0d35a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10645
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/cli')
-rw-r--r--tvix/cli/Cargo.toml1
-rw-r--r--tvix/cli/src/main.rs3
2 files changed, 4 insertions, 0 deletions
diff --git a/tvix/cli/Cargo.toml b/tvix/cli/Cargo.toml
index a9bdba254f..f8101300b1 100644
--- a/tvix/cli/Cargo.toml
+++ b/tvix/cli/Cargo.toml
@@ -9,6 +9,7 @@ path = "src/main.rs"
 
 [dependencies]
 nix-compat = { path = "../nix-compat" }
+tvix-build = { path = "../build" }
 tvix-castore = { path = "../castore" }
 tvix-store = { path = "../store", default-features = false, features = []}
 tvix-eval = { path = "../eval" }
diff --git a/tvix/cli/src/main.rs b/tvix/cli/src/main.rs
index 1e54d094b5..7683ad4c59 100644
--- a/tvix/cli/src/main.rs
+++ b/tvix/cli/src/main.rs
@@ -1,7 +1,9 @@
 use clap::Parser;
 use rustyline::{error::ReadlineError, Editor};
 use std::rc::Rc;
+use std::sync::Arc;
 use std::{fs, path::PathBuf};
+use tvix_build::buildservice::DummyBuildService;
 use tvix_eval::builtins::impure_builtins;
 use tvix_eval::observer::{DisassemblingObserver, TracingObserver};
 use tvix_eval::{EvalIO, Value};
@@ -88,6 +90,7 @@ fn interpret(code: &str, path: Option<PathBuf>, args: &Args, explain: bool) -> b
         blob_service.clone(),
         directory_service.clone(),
         path_info_service.into(),
+        Arc::<DummyBuildService>::default(),
         tokio_runtime.handle().clone(),
     ));