File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -266,6 +266,24 @@ impl Client {
266266
267267 layers. push ( layer) ;
268268
269+ let mut deps = BTreeMap :: default ( ) ;
270+ for ( dep_name, mut dep) in c. dependencies {
271+ let source = dep
272+ . source
273+ . content
274+ . source
275+ . context ( "dependency loaded from disk should contain a file source" ) ?;
276+ let source = parse_file_url ( source. as_str ( ) ) ?;
277+
278+ let layer = Self :: wasm_layer ( & source) . await ?;
279+
280+ dep. source . content = self . content_ref_for_layer ( & layer) ;
281+ deps. insert ( dep_name, dep) ;
282+
283+ layers. push ( layer) ;
284+ }
285+ c. dependencies = deps;
286+
269287 let mut files = Vec :: new ( ) ;
270288 for f in c. files {
271289 let source = f
@@ -292,6 +310,7 @@ impl Client {
292310 }
293311 }
294312 c. files = files;
313+
295314 components. push ( c) ;
296315 }
297316 locked. components = components;
Original file line number Diff line number Diff line change @@ -82,6 +82,12 @@ impl OciLoader {
8282 let wasm_path = cache. wasm_file ( wasm_digest) ?;
8383 component. source . content = content_ref ( wasm_path) ?;
8484
85+ for dep in & mut component. dependencies . values_mut ( ) {
86+ let dep_wasm_digest = content_digest ( & dep. source . content ) ?;
87+ let dep_wasm_path = cache. wasm_file ( dep_wasm_digest) ?;
88+ dep. source . content = content_ref ( dep_wasm_path) ?;
89+ }
90+
8591 if !component. files . is_empty ( ) {
8692 let mount_dir = self . working_dir . join ( "assets" ) . join ( & component. id ) ;
8793 for file in & mut component. files {
You can’t perform that action at this time.
0 commit comments