@@ -62,7 +62,7 @@ impl LocalLoader {
62
62
)
63
63
} ) ?;
64
64
let mut locked = self
65
- . load_manifest ( manifest)
65
+ . load_manifest ( manifest, self . profile ( ) )
66
66
. await
67
67
. with_context ( || format ! ( "Failed to load Spin app from {}" , quoted_path( path) ) ) ?;
68
68
@@ -82,8 +82,12 @@ impl LocalLoader {
82
82
}
83
83
84
84
// 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) ;
87
91
88
92
manifest. validate_dependencies ( ) ?;
89
93
@@ -165,34 +169,29 @@ impl LocalLoader {
165
169
166
170
let component_requires_service_chaining = requires_service_chaining ( & component) ;
167
171
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
-
178
172
let metadata = ValuesMapBuilder :: new ( )
179
- . string ( "description" , component. description . clone ( ) )
173
+ . string ( "description" , component. description )
180
174
. 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 ) ?
185
179
. take ( ) ;
186
180
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
+
187
186
let dependencies = self
188
187
. load_component_dependencies (
189
188
id,
190
189
component. dependencies_inherit_configuration ,
191
- & component. dependencies ( self . profile ( ) ) ,
190
+ & component. dependencies ,
192
191
)
193
192
. await ?;
194
193
195
- let env = component. environment ( self . profile ( ) ) . into_iter ( ) . collect ( ) ;
194
+ let env = component. environment . into_iter ( ) . collect ( ) ;
196
195
197
196
let files = if component. files . is_empty ( ) {
198
197
vec ! [ ]
0 commit comments