From 15ff51e8793ae7821b0c621b25d22dae01ae2656 Mon Sep 17 00:00:00 2001 From: jain-naman-sf Date: Tue, 18 Feb 2025 14:59:37 +0530 Subject: [PATCH] Fixed Merging Issue --- .../tasks/salesforce/check_components.py | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/cumulusci/tasks/salesforce/check_components.py b/cumulusci/tasks/salesforce/check_components.py index 636d943590..06d3a069f8 100644 --- a/cumulusci/tasks/salesforce/check_components.py +++ b/cumulusci/tasks/salesforce/check_components.py @@ -3,6 +3,7 @@ import shutil import tempfile from collections import defaultdict +from itertools import chain from xml.etree.ElementTree import ParseError from defusedxml.minidom import parseString @@ -116,11 +117,19 @@ def get_repo_existing_components(self, plan_or_flow_name, paths=""): components = metadata_tree.parse_package_xml_types( "name", source_xml_tree ) - response_messages = self._get_api_object_responce( package_xml_path, source_xml_tree.version.text ) - mdapi_components.update(components) + merged = {} + for key in set(components).union(mdapi_components): + merged[key] = list( + set( + chain( + components.get(key, []), mdapi_components.get(key, []) + ) + ) + ) + mdapi_components = merged mdapi_response_messages.extend(response_messages) continue self._copy_to_tempdir(path, temp_dir) @@ -132,7 +141,13 @@ def get_repo_existing_components(self, plan_or_flow_name, paths=""): # remove temp dir shutil.rmtree(temp_dir) - components.update(mdapi_components) + print(mdapi_components) + merged = {} + for key in set(components).union(mdapi_components): + merged[key] = list( + set(chain(components.get(key, []), mdapi_components.get(key, []))) + ) + components = merged api_retrieve_unpackaged_response.extend(mdapi_response_messages) return [components, api_retrieve_unpackaged_response]