@@ -62,7 +62,7 @@ impl LocalLoader {
6262            ) 
6363        } ) ?; 
6464        let  mut  locked = self 
65-             . load_manifest ( manifest) 
65+             . load_manifest ( manifest,   self . profile ( ) ) 
6666            . await 
6767            . with_context ( || format ! ( "Failed to load Spin app from {}" ,  quoted_path( path) ) ) ?; 
6868
@@ -82,8 +82,12 @@ impl LocalLoader {
8282    } 
8383
8484    // Load the given manifest into a LockedApp, ready for execution. 
85-     pub ( crate )  async  fn  load_manifest ( & self ,  mut  manifest :  AppManifest )  -> Result < LockedApp >  { 
86-         spin_manifest:: normalize:: normalize_manifest ( & mut  manifest) ; 
85+     pub ( crate )  async  fn  load_manifest ( 
86+         & self , 
87+         mut  manifest :  AppManifest , 
88+         profile :  Option < & str > , 
89+     )  -> Result < LockedApp >  { 
90+         spin_manifest:: normalize:: normalize_manifest ( & mut  manifest,  profile) ; 
8791
8892        manifest. validate_dependencies ( ) ?; 
8993
@@ -165,34 +169,29 @@ impl LocalLoader {
165169
166170        let  component_requires_service_chaining = requires_service_chaining ( & component) ; 
167171
168-         let  source = self 
169-             . load_component_source ( id,  component. source ( self . profile ( ) ) . clone ( ) ) 
170-             . await 
171-             . with_context ( || { 
172-                 format ! ( 
173-                     "Failed to load Wasm source {}" , 
174-                     component. source( self . profile( ) ) 
175-                 ) 
176-             } ) ?; 
177- 
178172        let  metadata = ValuesMapBuilder :: new ( ) 
179-             . string ( "description" ,  component. description . clone ( ) ) 
173+             . string ( "description" ,  component. description ) 
180174            . string_array ( "allowed_outbound_hosts" ,  allowed_outbound_hosts) 
181-             . string_array ( "key_value_stores" ,  component. key_value_stores . clone ( ) ) 
182-             . string_array ( "databases" ,  component. sqlite_databases . clone ( ) ) 
183-             . string_array ( "ai_models" ,  component. ai_models . clone ( ) ) 
184-             . serializable ( "build" ,  component. build ( self . profile ( ) ) ) ?
175+             . string_array ( "key_value_stores" ,  component. key_value_stores ) 
176+             . string_array ( "databases" ,  component. sqlite_databases ) 
177+             . string_array ( "ai_models" ,  component. ai_models ) 
178+             . serializable ( "build" ,  component. build ) ?
185179            . take ( ) ; 
186180
181+         let  source = self 
182+             . load_component_source ( id,  component. source . clone ( ) ) 
183+             . await 
184+             . with_context ( || format ! ( "Failed to load Wasm source {}" ,  component. source) ) ?; 
185+ 
187186        let  dependencies = self 
188187            . load_component_dependencies ( 
189188                id, 
190189                component. dependencies_inherit_configuration , 
191-                 & component. dependencies ( self . profile ( ) ) , 
190+                 & component. dependencies , 
192191            ) 
193192            . await ?; 
194193
195-         let  env = component. environment ( self . profile ( ) ) . into_iter ( ) . collect ( ) ; 
194+         let  env = component. environment . into_iter ( ) . collect ( ) ; 
196195
197196        let  files = if  component. files . is_empty ( )  { 
198197            vec ! [ ] 
0 commit comments