@@ -89,20 +89,22 @@ def run(self):
8989 g = Graph (len (self .options .process_group_configs ))
9090 # replace depends_on string with actual process object
9191 for config in (self .options .process_group_configs ):
92- if config .process_configs [0 ].depends_on is not None :
93- processes = []
94- # split to get all processes in case there are multiple dependencies
95- dependent_processes = (config .process_configs [0 ].depends_on ).split ()
96- for process in dependent_processes :
97- # this can be of form group:process or simply process
98- try :
99- dependent_group , dependent_process = process .split (":" )
100- except :
101- dependent_group = dependent_process = process
102- g .addEdge (config .process_configs [0 ].name , dependent_process )
103- print (f'adding edge { config .process_configs [0 ].name , dependent_process } ' )
104- processes .append (self .process_groups [dependent_group ].processes [dependent_process ])
105- config .process_configs [0 ].depends_on = processes
92+ # check dependencies for all programs in group:
93+ for conf in enumerate (config .process_configs ):
94+ if config .process_configs [conf [0 ]].depends_on is not None :
95+ processes = []
96+ # split to get all processes in case there are multiple dependencies
97+ dependent_processes = (config .process_configs [conf [0 ]].depends_on ).split ()
98+ for process in dependent_processes :
99+ # this can be of form group:process or simply process
100+ try :
101+ dependent_group , dependent_process = process .split (":" )
102+ except :
103+ dependent_group = dependent_process = process
104+ g .addEdge (config .process_configs [conf [0 ]].name , dependent_process )
105+ print (f'adding edge { config .process_configs [conf [0 ]].name , dependent_process } ' )
106+ processes .append (self .process_groups [dependent_group ].processes [dependent_process ])
107+ config .process_configs [conf [0 ]].depends_on = processes
106108 # check for cyclical process dependencies
107109 if g .cyclic () == 1 :
108110 raise AttributeError ('Process config contains dependeny cycle(s)! Check config files again!' )
0 commit comments