@@ -158,47 +158,49 @@ def create_package_and_deps(codebase, **kwargs):
158158 for package_data in resource .package_data :
159159 try :
160160 package_data = PackageData .from_dict (package_data )
161- except Exception as e :
162- raise Exception (
163- 'create_package_and_deps: Failed to create PackageData:' ,
164- package_data ,
165- ) from e
166-
167- if TRACE :
168- logger_debug (' create_package_and_deps: package_data:' , package_data )
169-
170- # Find a handler for this package datasource to assemble collect
171- # packages and deps
172- handler = get_package_handler (package_data )
173- if TRACE :
174- logger_debug (' create_package_and_deps: handler:' , handler )
175- click .echo (f' create_package_and_deps: handler: { handler } ' )
176- items = handler .assemble (
177- package_data = package_data ,
178- resource = resource ,
179- codebase = codebase ,
180- )
181-
182- for item in items :
161+
183162 if TRACE :
184- logger_debug (' create_package_and_deps: item :' , item )
163+ logger_debug (' create_package_and_deps: package_data :' , package_data )
185164
186- if isinstance (item , Package ):
187- packages_top_level .append (item )
165+ # Find a handler for this package datasource to assemble collect
166+ # packages and deps
167+ handler = get_package_handler (package_data )
168+ if TRACE :
169+ logger_debug (' create_package_and_deps: handler:' , handler )
170+ click .echo (f' create_package_and_deps: handler: { handler } ' )
171+
172+ items = handler .assemble (
173+ package_data = package_data ,
174+ resource = resource ,
175+ codebase = codebase ,
176+ )
177+
178+ for item in items :
179+ if TRACE :
180+ logger_debug (' create_package_and_deps: item:' , item )
188181
189- elif isinstance (item , Dependency ):
190- dependencies_top_level .append (item )
182+ if isinstance (item , Package ):
183+ packages_top_level .append (item )
191184
192- elif isinstance (item , Resource ):
193- seen_resource_ids .add (item .rid )
194- if TRACE :
195- logger_debug (
196- ' create_package_and_deps: seen_resource_ids:' ,
197- seen_resource_ids ,
198- )
185+ elif isinstance (item , Dependency ):
186+ dependencies_top_level .append (item )
187+
188+ elif isinstance (item , Resource ):
189+ seen_resource_ids .add (item .rid )
190+ if TRACE :
191+ logger_debug (
192+ ' create_package_and_deps: seen_resource_ids:' ,
193+ seen_resource_ids ,
194+ )
195+
196+ else :
197+ raise Exception (f'Unknown package assembly item type: { item !r} ' )
198+
199+ except Exception as e :
200+ msg = f'create_package_and_deps: Failed to assemble PackageData: { package_data } : \n { e } '
201+ resource .scan_errors .append (msg )
202+ resource .save (codebase )
199203
200- else :
201- raise Exception (f'Unknown package assembly item type: { item !r} ' )
202204
203205 codebase .attributes .packages .extend (pkg .to_dict () for pkg in packages_top_level )
204206 codebase .attributes .dependencies .extend (dep .to_dict () for dep in dependencies_top_level )
0 commit comments