pub async fn eval_selected(&self, nodes: &Vec<String>, progress_bar: TaskProgress) -> (NixResult<StoreDerivation<ProfileMap>>, Option<String>) {
        // FIXME: The return type is ugly...

        let nodes_expr = SerializedNixExpresssion::new(nodes);
        if let Err(e) = nodes_expr {
            return (Err(e), None);
        }
        let nodes_expr = nodes_expr.unwrap();

        let expr = format!("hive.buildSelected {{ names = {}; }}", nodes_expr.expression());

        let command = self.nix_instantiate(&expr).instantiate();
        let mut execution = CommandExecution::new(command);
        execution.set_progress_bar(progress_bar);

        let eval = execution
            .capture_store_path().await;

        let (_, stderr) = execution.get_logs();

        match eval {
            Ok(path) => {
                let drv = path.to_derivation()
                    .expect("The result should be a store derivation");

                (Ok(drv), stderr.cloned())
            }
            Err(e) => {
                (Err(e), stderr.cloned())
            }
        }
    }
/// Evaluates selected nodes.
///
/// Evaluation may take up a lot of memory, so we make it possible
/// to split up the evaluation process into chunks and run them
/// concurrently with other processes (e.g., build and apply).
Evaluates selected nodes.
Evaluation may take up a lot of memory, so we make it possible
to split up the evaluation process into chunks and run them
concurrently with other processes .
Evaluates selected nodes . Evaluation may take up a lot of memory so we make it possible to split up the evaluation process into chunks and run them concurrently with other processes .
pub async fn eval_selected(&self, nodes: &Vec<String>, progress_bar: TaskProgress) -> (NixResult<StoreDerivation<ProfileMap>>, Option<String>) {
        // FIXME: The return type is ugly...
        let nodes_expr = SerializedNixExpresssion::new(nodes);
        if let Err(e) = nodes_expr {
            return (Err(e), None);
        }
        let nodes_expr = nodes_expr.unwrap();
        let expr = format!("hive.buildSelected {{ names = {}; }}", nodes_expr.expression());
        let command = self.nix_instantiate(&expr).instantiate();
        let mut execution = CommandExecution::new(command);
        execution.set_progress_bar(progress_bar);
        let eval = execution
            .capture_store_path().await;
        let (_, stderr) = execution.get_logs();
        match eval {
            Ok(path) => {
                let drv = path.to_derivation()
                    .expect("The result should be a store derivation");
                (Ok(drv), stderr.cloned())
            }
            Err(e) => {
                (Err(e), stderr.cloned())
            }
        }
    }
pub async fn eval_selected ( & self , nodes : & Vec < String > , progress_bar : TaskProgress ) -> ( NixResult < StoreDerivation < ProfileMap > > , Option < String > ) { // FIXME: The return type is ugly... let nodes_expr = SerializedNixExpresssion :: new ( nodes ) ; if let Err ( e ) = nodes_expr { return ( Err ( e ) , None ) ; } let nodes_expr = nodes_expr . unwrap ( ) ; let expr = format ! ( " " nodes_expr expression ( ) ) ; let command = self . nix_instantiate ( & expr ) . instantiate ( ) ; let mut execution = CommandExecution :: new ( command ) ; execution . set_progress_bar ( progress_bar ) ; let eval = execution . capture_store_path ( ) . await ; let ( _ , stderr ) = execution . get_logs ( ) ; match eval { Ok ( path ) => { let drv = path . to_derivation ( ) . expect ( " " ) ; ( Ok ( drv ) , stderr . cloned ( ) ) } Err ( e ) => { ( Err ( e ) , stderr . cloned ( ) ) } } }
Evaluates selected nodes.
Evaluates selected nodes .
&self
nodes
&Vec<String>
progress_bar
TaskProgress