@@ -370,26 +370,16 @@ impl Client {
370370 let locked_url = write_locked_app ( & locked, working_dir) . await . unwrap ( ) ;
371371
372372 for mut c in locked. components {
373- // TODO: what if, instead of having a separate complicate that
374- // called the trigger, we had the trigger do the full compose
375- // (in the presence of extras)? The trigger already has logic
376- // for that...
377- let extras = c. metadata . get ( "trigger-extras" ) . and_then ( |e| e. as_object ( ) ) ;
373+ let extras = c. metadata . get ( "trigger-extras" ) . and_then ( |e| e. as_object ( ) ) ;
378374
379375 let composed = if extras. is_none_or ( |e| e. is_empty ( ) ) {
380376 spin_compose:: compose ( & ComponentSourceLoaderFs , & c, async |a| Ok ( a) ) . await ?
381377 } else {
382- compose_trigger_extras_2 ( & c, & locked_url, working_dir) . await ?
378+ // There are complications: we need to hand off to the trigger
379+ // to do the composition.
380+ precompose_using_trigger ( & c, & locked_url, working_dir) . await ?
383381 } ;
384382
385- // let complicate =
386- // |data: Vec<u8>| compose_trigger_extras(&c, &locked_url, working_dir, data);
387-
388- // let composed = spin_compose::compose(&ComponentSourceLoaderFs, &c, complicate)
389- // .await
390- // .with_context(|| {
391- // format!("failed to resolve dependencies for component {:?}", c.id)
392- // })?;
393383 let layer = ImageLayer :: new ( composed, WASM_LAYER_MEDIA_TYPE . to_string ( ) , None ) ;
394384 c. source . content = self . content_ref_for_layer ( & layer) ;
395385 c. dependencies . clear ( ) ;
@@ -950,73 +940,7 @@ fn add_inferred(map: &mut BTreeMap<String, String>, key: &str, value: Option<Str
950940const SPIN_LOCKED_URL : & str = "SPIN_LOCKED_URL" ;
951941const SPIN_WORKING_DIR : & str = "SPIN_WORKING_DIR" ;
952942
953- // async fn compose_trigger_extras(
954- // c: &LockedComponent,
955- // locked_url: &str,
956- // working_dir: &Path,
957- // data: Vec<u8>,
958- // ) -> Result<Vec<u8>, spin_compose::ComposeError> {
959- // use spin_compose::ComposeError;
960-
961- // let Some(resolve_extras_using) = c
962- // .metadata
963- // .get("resolve-extras-using")
964- // .and_then(|v| v.as_str())
965- // else {
966- // return Result::<_, ComposeError>::Ok(data);
967- // };
968-
969- // let resolver_subcmd = match resolve_extras_using {
970- // "http" | "redis" => vec!["trigger".into(), resolve_extras_using.into()],
971- // _ => vec![format!("trigger-{resolve_extras_using}")],
972- // };
973-
974- // let mut cmd = tokio::process::Command::new(std::env::current_exe().unwrap());
975- // cmd.args(resolver_subcmd)
976- // .args(["--resolve-extras-only", "--resolve-extras-component-id"])
977- // .arg(&c.id)
978- // // .stdin(std::process::Stdio::piped())
979- // .stdout(std::process::Stdio::piped())
980- // .stderr(std::process::Stdio::inherit())
981- // .env("SPIN_PLUGINS_SUPPRESS_COMPATIBILITY_WARNINGS", "1")
982- // .env(SPIN_LOCKED_URL, locked_url)
983- // .env(SPIN_WORKING_DIR, working_dir);
984-
985- // let child = cmd
986- // .spawn()
987- // .map_err(|e| ComposeError::PrepareError(e.into()))?;
988-
989- // // use tokio::io::AsyncWriteExt;
990-
991- // // let mut input = child.stdin.take().unwrap();
992- // // input
993- // // .write_all(&data)
994- // // .await
995- // // .map_err(|e| ComposeError::PrepareError(e.into()))?;
996- // // input
997- // // .flush()
998- // // .await
999- // // .map_err(|e| ComposeError::PrepareError(e.into()))?;
1000- // // drop(input);
1001-
1002- // let trigger_out = child
1003- // .wait_with_output()
1004- // .await
1005- // .map_err(|e| ComposeError::PrepareError(e.into()))?;
1006-
1007- // if !trigger_out.status.success() {
1008- // return Err(ComposeError::PrepareError(anyhow::anyhow!(
1009- // "unable to compose additional components for {} using `{}`",
1010- // c.id,
1011- // resolve_extras_using
1012- // )));
1013- // }
1014-
1015- // let complicated = trigger_out.stdout;
1016- // Ok(complicated)
1017- // }
1018-
1019- async fn compose_trigger_extras_2 (
943+ async fn precompose_using_trigger (
1020944 c : & LockedComponent ,
1021945 locked_url : & str ,
1022946 working_dir : & Path ,
@@ -1028,8 +952,7 @@ async fn compose_trigger_extras_2(
1028952 . get ( "resolve-extras-using" )
1029953 . and_then ( |v| v. as_str ( ) )
1030954 else {
1031- return spin_compose:: compose ( & ComponentSourceLoaderFs , & c, async |a| Ok ( a) ) . await ;
1032- // return Result::<_, ComposeError>::Ok(data);
955+ return spin_compose:: compose ( & ComponentSourceLoaderFs , c, async |a| Ok ( a) ) . await ;
1033956 } ;
1034957
1035958 let resolver_subcmd = match resolve_extras_using {
0 commit comments