@@ -510,8 +510,8 @@ fn load_manifest(path: &Path) -> Result<DscResource, DscError> {
510
510
511
511
fn sort_adapters_based_on_lookup_table ( unsorted_adapters : & BTreeMap < String , Vec < DscResource > > , needed_resource_types : & Vec < String > ) -> LinkedHashMap < String , Vec < DscResource > >
512
512
{
513
- let mut result: LinkedHashMap < String , Vec < DscResource > > = LinkedHashMap :: new ( ) ;
514
- let lookup_table: HashMap < String , String > = load_adapted_resources_lookup_table ( ) ;
513
+ let mut result = LinkedHashMap :: < String , Vec < DscResource > > :: new ( ) ;
514
+ let lookup_table = load_adapted_resources_lookup_table ( ) ;
515
515
// first add adapters (for needed types) that can be found in the lookup table
516
516
for needed_resource in needed_resource_types {
517
517
if let Some ( adapter_name) = lookup_table. get ( needed_resource) {
@@ -534,11 +534,14 @@ fn sort_adapters_based_on_lookup_table(unsorted_adapters: &BTreeMap<String, Vec<
534
534
535
535
fn add_resources_to_lookup_table ( adapted_resources : & BTreeMap < String , Vec < DscResource > > )
536
536
{
537
- let mut lookup_table: HashMap < String , String > = load_adapted_resources_lookup_table ( ) ;
537
+ let mut lookup_table = load_adapted_resources_lookup_table ( ) ;
538
538
539
539
for ( resource_name, res_vec) in adapted_resources {
540
- let adapter_name = & res_vec[ 0 ] . require_adapter . as_ref ( ) . unwrap ( ) ;
541
- lookup_table. insert ( resource_name. to_string ( ) . to_lowercase ( ) , ( * adapter_name) . to_string ( ) ) ;
540
+ if let Some ( adapter_name) = & res_vec[ 0 ] . require_adapter {
541
+ lookup_table. insert ( resource_name. to_string ( ) . to_lowercase ( ) , adapter_name. to_string ( ) ) ;
542
+ } else {
543
+ debug ! ( "Resource '{resource_name}' in 'adapted_resources' is missing 'require_adapter' field." ) ;
544
+ }
542
545
} ;
543
546
544
547
save_adapted_resources_lookup_table ( & lookup_table) ;
0 commit comments