File tree 1 file changed +11
-19
lines changed
1 file changed +11
-19
lines changed Original file line number Diff line number Diff line change @@ -119,33 +119,25 @@ def __init__(self):
119
119
self .pkgs = {}
120
120
121
121
def detect_pkgs (self ):
122
-
122
+ deps_names = set (). union ( * [ pkg . depends for pkg in self . pkgs . values ()])
123
123
entry_points = list (iter_entry_points (group = "robotpybuild" , name = None ))
124
124
125
- def ingest ():
126
- deps_names = set ().union (* [pkg .depends for pkg in self .pkgs .values ()])
127
- for i in range (len (entry_points )):
128
- if (
129
- entry_points [i ].name not in deps_names
130
- and entry_points [i ].name != "robotpy-build"
131
- ):
125
+ run_loop = True
126
+ while run_loop :
127
+ run_loop = False
128
+ for ep in entry_points :
129
+ if ep .name in self .pkgs :
132
130
continue
133
- if entry_points [ i ] .name in self . pkgs :
131
+ if ep .name not in deps_names and ep . name != "robotpy-build" :
134
132
continue
135
133
try :
136
- pkg = PkgCfg (entry_points [ i ] )
134
+ pkg = PkgCfg (ep )
137
135
except Exception as e :
138
- warnings .warn (
139
- f"Error loading entry point { entry_points [i ].name } : { e } "
140
- )
136
+ warnings .warn (f"Error loading entry point { ep .name } : { e } " )
141
137
else :
142
138
self .add_pkg (pkg )
143
- entry_points .pop (i )
144
- return True
145
- return False
146
-
147
- while ingest ():
148
- pass
139
+ deps_names |= set (pkg .depends )
140
+ run_loop = True
149
141
150
142
def add_pkg (self , pkg : PkgCfg ) -> None :
151
143
self .pkgs [pkg .name ] = pkg
You can’t perform that action at this time.
0 commit comments