Skip to content

Commit 48ebf2d

Browse files
author
Steve Lee (POWERSHELL HE/HIM) (from Dev Box)
committed
also insert adapters into resource list
1 parent 02bfe2b commit 48ebf2d

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

dsc_lib/src/discovery/command_discovery.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ impl ResourceDiscovery for CommandDiscovery {
201201
info!("{}", t!("discovery.commandDiscovery.discoverResources", kind = kind : {:?}, filter = filter));
202202

203203
// if kind is DscResource and DSC_RESOURCE_PATH is not defined, we need to discover extensions first
204-
if *kind == DiscoveryKind::Resource && env::var("DSC_RESOURCE_PATH").is_err() {
204+
if *kind == DiscoveryKind::Resource {
205205
self.discover(&DiscoveryKind::Extension, "*")?;
206206
}
207207

@@ -286,10 +286,9 @@ impl ResourceDiscovery for CommandDiscovery {
286286
if manifest.kind == Some(Kind::Adapter) {
287287
trace!("{}", t!("discovery.commandDiscovery.adapterFound", adapter = resource.type_name));
288288
insert_resource(&mut adapters, &resource, true);
289-
} else {
290-
trace!("{}", t!("discovery.commandDiscovery.resourceFound", resource = resource.type_name));
291-
insert_resource(&mut resources, &resource, true);
292289
}
290+
trace!("{}", t!("discovery.commandDiscovery.resourceFound", resource = resource.type_name));
291+
insert_resource(&mut resources, &resource, true);
293292
}
294293
}
295294
}
@@ -563,11 +562,9 @@ impl ResourceDiscovery for CommandDiscovery {
563562

564563
// TODO: This should be a BTreeMap of the resource name and a BTreeMap of the version and DscResource, this keeps it version sorted more efficiently
565564
fn insert_resource(resources: &mut BTreeMap<String, Vec<DscResource>>, resource: &DscResource, skip_duplicate_version: bool) {
566-
if resources.contains_key(&resource.type_name) {
567-
let Some(resource_versions) = resources.get_mut(&resource.type_name) else {
568-
resources.insert(resource.type_name.clone(), vec![resource.clone()]);
569-
return;
570-
};
565+
debug!("Inserting resource: {} version {} from {}", resource.type_name, resource.version, resource.directory);
566+
if let Some(resource_versions) = resources.get_mut(&resource.type_name) {
567+
debug!("Resource '{}' already exists, checking versions", resource.type_name);
571568
// compare the resource versions and insert newest to oldest using semver
572569
let mut insert_index = resource_versions.len();
573570
for (index, resource_instance) in resource_versions.iter().enumerate() {

0 commit comments

Comments
 (0)