@@ -47,6 +47,34 @@ def _run_task(self):
4747 paths = self .options .get ("paths" )
4848 plan_or_flow_name = self .options .get ("name" )
4949
50+ (
51+ components ,
52+ api_retrieve_unpackaged_response ,
53+ ) = self .get_repo_existing_components (plan_or_flow_name , paths )
54+
55+ if not components :
56+ self .logger .info ("No components found in deploy path" )
57+ raise TaskOptionsError ("No plan or paths options provided" )
58+
59+ self .logger .debug ("Components detected at source" )
60+ for component_type , component_names in components .items ():
61+ self .logger .debug (f"{ component_type } : { ', ' .join (component_names )} " )
62+ # check common components
63+ existing_components = process_common_components (
64+ api_retrieve_unpackaged_response , components
65+ )
66+
67+ if existing_components :
68+ self .logger .info ("Components exists in the target org:" )
69+ for component_type , component_names in existing_components .items ():
70+ self .logger .info (f"{ component_type } : { ', ' .join (component_names )} " )
71+ self .return_values ["existing_components" ] = existing_components
72+ else :
73+ self .logger .info (
74+ "No components from the deploy paths exist in the target org."
75+ )
76+
77+ def get_repo_existing_components (self , plan_or_flow_name , paths = "" ):
5078 if paths :
5179 paths = process_list_arg (paths )
5280 self .logger .info (f"Using provided paths: { paths } " )
@@ -71,7 +99,6 @@ def _run_task(self):
7199 self .logger .debug (
72100 f"deploy paths found in the plan or flow.{ self .deploy_paths } "
73101 )
74-
75102 # Temp dir to copy all deploy paths from task options
76103 temp_dir = tempfile .mkdtemp ()
77104 self .logger .info (f"Temporary deploy directory created: { temp_dir } " )
@@ -90,28 +117,7 @@ def _run_task(self):
90117
91118 # remove temp dir
92119 shutil .rmtree (temp_dir )
93-
94- if not components :
95- self .logger .info (f"No components found in deploy path{ path } " )
96- raise TaskOptionsError ("No plan or paths options provided" )
97-
98- self .logger .debug ("Components detected at source" )
99- for component_type , component_names in components .items ():
100- self .logger .debug (f"{ component_type } : { ', ' .join (component_names )} " )
101- # check common components
102- existing_components = process_common_components (
103- api_retrieve_unpackaged_response , components
104- )
105-
106- if existing_components :
107- self .logger .info ("Components exists in the target org:" )
108- for component_type , component_names in existing_components .items ():
109- self .logger .info (f"{ component_type } : { ', ' .join (component_names )} " )
110- self .return_values ["existing_components" ] = existing_components
111- else :
112- self .logger .info (
113- "No components from the deploy paths exist in the target org."
114- )
120+ return [components , api_retrieve_unpackaged_response ]
115121
116122 def _copy_to_tempdir (self , src_dir , temp_dir ):
117123 for item in os .listdir (src_dir ):
0 commit comments