@@ -60,9 +60,16 @@ pub async fn find_packages_for_purls(
6060 }
6161 }
6262 for nm_path in & nm_paths {
63- if let Ok ( packages) = npm_crawler. find_by_purls ( nm_path, npm_purls) . await {
64- for ( purl, pkg) in packages {
65- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
63+ match npm_crawler. find_by_purls ( nm_path, npm_purls) . await {
64+ Ok ( packages) => {
65+ for ( purl, pkg) in packages {
66+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
67+ }
68+ }
69+ Err ( e) => {
70+ if !silent {
71+ eprintln ! ( "Warning: Failed to scan {}: {}" , nm_path. display( ) , e) ;
72+ }
6673 }
6774 }
6875 }
@@ -90,11 +97,16 @@ pub async fn find_packages_for_purls(
9097 match python_crawler. get_site_packages_paths ( options) . await {
9198 Ok ( sp_paths) => {
9299 for sp_path in & sp_paths {
93- if let Ok ( packages) =
94- python_crawler. find_by_purls ( sp_path, & base_pypi_purls) . await
95- {
96- for ( purl, pkg) in packages {
97- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
100+ match python_crawler. find_by_purls ( sp_path, & base_pypi_purls) . await {
101+ Ok ( packages) => {
102+ for ( purl, pkg) in packages {
103+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
104+ }
105+ }
106+ Err ( e) => {
107+ if !silent {
108+ eprintln ! ( "Warning: Failed to scan {}: {}" , sp_path. display( ) , e) ;
109+ }
98110 }
99111 }
100112 }
@@ -121,11 +133,16 @@ pub async fn find_packages_for_purls(
121133 }
122134 }
123135 for src_path in & src_paths {
124- if let Ok ( packages) =
125- cargo_crawler. find_by_purls ( src_path, cargo_purls) . await
126- {
127- for ( purl, pkg) in packages {
128- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
136+ match cargo_crawler. find_by_purls ( src_path, cargo_purls) . await {
137+ Ok ( packages) => {
138+ for ( purl, pkg) in packages {
139+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
140+ }
141+ }
142+ Err ( e) => {
143+ if !silent {
144+ eprintln ! ( "Warning: Failed to scan {}: {}" , src_path. display( ) , e) ;
145+ }
129146 }
130147 }
131148 }
@@ -151,11 +168,16 @@ pub async fn find_packages_for_purls(
151168 }
152169 }
153170 for gem_path in & gem_paths {
154- if let Ok ( packages) =
155- ruby_crawler. find_by_purls ( gem_path, gem_purls) . await
156- {
157- for ( purl, pkg) in packages {
158- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
171+ match ruby_crawler. find_by_purls ( gem_path, gem_purls) . await {
172+ Ok ( packages) => {
173+ for ( purl, pkg) in packages {
174+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
175+ }
176+ }
177+ Err ( e) => {
178+ if !silent {
179+ eprintln ! ( "Warning: Failed to scan {}: {}" , gem_path. display( ) , e) ;
180+ }
159181 }
160182 }
161183 }
@@ -182,11 +204,16 @@ pub async fn find_packages_for_purls(
182204 }
183205 }
184206 for cache_path in & cache_paths {
185- if let Ok ( packages) =
186- go_crawler. find_by_purls ( cache_path, golang_purls) . await
187- {
188- for ( purl, pkg) in packages {
189- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
207+ match go_crawler. find_by_purls ( cache_path, golang_purls) . await {
208+ Ok ( packages) => {
209+ for ( purl, pkg) in packages {
210+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
211+ }
212+ }
213+ Err ( e) => {
214+ if !silent {
215+ eprintln ! ( "Warning: Failed to scan {}: {}" , cache_path. display( ) , e) ;
216+ }
190217 }
191218 }
192219 }
@@ -213,11 +240,16 @@ pub async fn find_packages_for_purls(
213240 }
214241 }
215242 for repo_path in & repo_paths {
216- if let Ok ( packages) =
217- maven_crawler. find_by_purls ( repo_path, maven_purls) . await
218- {
219- for ( purl, pkg) in packages {
220- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
243+ match maven_crawler. find_by_purls ( repo_path, maven_purls) . await {
244+ Ok ( packages) => {
245+ for ( purl, pkg) in packages {
246+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
247+ }
248+ }
249+ Err ( e) => {
250+ if !silent {
251+ eprintln ! ( "Warning: Failed to scan {}: {}" , repo_path. display( ) , e) ;
252+ }
221253 }
222254 }
223255 }
@@ -244,11 +276,16 @@ pub async fn find_packages_for_purls(
244276 }
245277 }
246278 for vendor_path in & vendor_paths {
247- if let Ok ( packages) =
248- composer_crawler. find_by_purls ( vendor_path, composer_purls) . await
249- {
250- for ( purl, pkg) in packages {
251- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
279+ match composer_crawler. find_by_purls ( vendor_path, composer_purls) . await {
280+ Ok ( packages) => {
281+ for ( purl, pkg) in packages {
282+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
283+ }
284+ }
285+ Err ( e) => {
286+ if !silent {
287+ eprintln ! ( "Warning: Failed to scan {}: {}" , vendor_path. display( ) , e) ;
288+ }
252289 }
253290 }
254291 }
@@ -275,11 +312,16 @@ pub async fn find_packages_for_purls(
275312 }
276313 }
277314 for pkg_path in & pkg_paths {
278- if let Ok ( packages) =
279- nuget_crawler. find_by_purls ( pkg_path, nuget_purls) . await
280- {
281- for ( purl, pkg) in packages {
282- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
315+ match nuget_crawler. find_by_purls ( pkg_path, nuget_purls) . await {
316+ Ok ( packages) => {
317+ for ( purl, pkg) in packages {
318+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
319+ }
320+ }
321+ Err ( e) => {
322+ if !silent {
323+ eprintln ! ( "Warning: Failed to scan {}: {}" , pkg_path. display( ) , e) ;
324+ }
283325 }
284326 }
285327 }
@@ -385,9 +427,16 @@ pub async fn find_packages_for_rollback(
385427 }
386428 }
387429 for nm_path in & nm_paths {
388- if let Ok ( packages) = npm_crawler. find_by_purls ( nm_path, npm_purls) . await {
389- for ( purl, pkg) in packages {
390- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
430+ match npm_crawler. find_by_purls ( nm_path, npm_purls) . await {
431+ Ok ( packages) => {
432+ for ( purl, pkg) in packages {
433+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
434+ }
435+ }
436+ Err ( e) => {
437+ if !silent {
438+ eprintln ! ( "Warning: Failed to scan {}: {}" , nm_path. display( ) , e) ;
439+ }
391440 }
392441 }
393442 }
@@ -414,19 +463,24 @@ pub async fn find_packages_for_rollback(
414463
415464 if let Ok ( sp_paths) = python_crawler. get_site_packages_paths ( options) . await {
416465 for sp_path in & sp_paths {
417- if let Ok ( packages ) =
418- python_crawler . find_by_purls ( sp_path , & base_pypi_purls ) . await
419- {
420- for ( base_purl , pkg ) in packages {
421- for qualified_purl in pypi_purls {
422- if strip_purl_qualifiers ( qualified_purl) == base_purl
423- && !all_packages . contains_key ( qualified_purl )
424- {
425- all_packages
426- . insert ( qualified_purl . clone ( ) , pkg . path . clone ( ) ) ;
466+ match python_crawler . find_by_purls ( sp_path , & base_pypi_purls ) . await {
467+ Ok ( packages ) => {
468+ for ( base_purl , pkg ) in packages {
469+ for qualified_purl in pypi_purls {
470+ if strip_purl_qualifiers ( qualified_purl ) == base_purl
471+ && !all_packages . contains_key ( qualified_purl)
472+ {
473+ all_packages
474+ . insert ( qualified_purl . clone ( ) , pkg . path . clone ( ) ) ;
475+ }
427476 }
428477 }
429478 }
479+ Err ( e) => {
480+ if !silent {
481+ eprintln ! ( "Warning: Failed to scan {}: {}" , sp_path. display( ) , e) ;
482+ }
483+ }
430484 }
431485 }
432486 }
@@ -446,11 +500,16 @@ pub async fn find_packages_for_rollback(
446500 }
447501 }
448502 for src_path in & src_paths {
449- if let Ok ( packages) =
450- cargo_crawler. find_by_purls ( src_path, cargo_purls) . await
451- {
452- for ( purl, pkg) in packages {
453- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
503+ match cargo_crawler. find_by_purls ( src_path, cargo_purls) . await {
504+ Ok ( packages) => {
505+ for ( purl, pkg) in packages {
506+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
507+ }
508+ }
509+ Err ( e) => {
510+ if !silent {
511+ eprintln ! ( "Warning: Failed to scan {}: {}" , src_path. display( ) , e) ;
512+ }
454513 }
455514 }
456515 }
@@ -476,11 +535,16 @@ pub async fn find_packages_for_rollback(
476535 }
477536 }
478537 for gem_path in & gem_paths {
479- if let Ok ( packages) =
480- ruby_crawler. find_by_purls ( gem_path, gem_purls) . await
481- {
482- for ( purl, pkg) in packages {
483- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
538+ match ruby_crawler. find_by_purls ( gem_path, gem_purls) . await {
539+ Ok ( packages) => {
540+ for ( purl, pkg) in packages {
541+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
542+ }
543+ }
544+ Err ( e) => {
545+ if !silent {
546+ eprintln ! ( "Warning: Failed to scan {}: {}" , gem_path. display( ) , e) ;
547+ }
484548 }
485549 }
486550 }
@@ -507,11 +571,16 @@ pub async fn find_packages_for_rollback(
507571 }
508572 }
509573 for cache_path in & cache_paths {
510- if let Ok ( packages) =
511- go_crawler. find_by_purls ( cache_path, golang_purls) . await
512- {
513- for ( purl, pkg) in packages {
514- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
574+ match go_crawler. find_by_purls ( cache_path, golang_purls) . await {
575+ Ok ( packages) => {
576+ for ( purl, pkg) in packages {
577+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
578+ }
579+ }
580+ Err ( e) => {
581+ if !silent {
582+ eprintln ! ( "Warning: Failed to scan {}: {}" , cache_path. display( ) , e) ;
583+ }
515584 }
516585 }
517586 }
@@ -538,11 +607,16 @@ pub async fn find_packages_for_rollback(
538607 }
539608 }
540609 for repo_path in & repo_paths {
541- if let Ok ( packages) =
542- maven_crawler. find_by_purls ( repo_path, maven_purls) . await
543- {
544- for ( purl, pkg) in packages {
545- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
610+ match maven_crawler. find_by_purls ( repo_path, maven_purls) . await {
611+ Ok ( packages) => {
612+ for ( purl, pkg) in packages {
613+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
614+ }
615+ }
616+ Err ( e) => {
617+ if !silent {
618+ eprintln ! ( "Warning: Failed to scan {}: {}" , repo_path. display( ) , e) ;
619+ }
546620 }
547621 }
548622 }
@@ -569,11 +643,16 @@ pub async fn find_packages_for_rollback(
569643 }
570644 }
571645 for vendor_path in & vendor_paths {
572- if let Ok ( packages) =
573- composer_crawler. find_by_purls ( vendor_path, composer_purls) . await
574- {
575- for ( purl, pkg) in packages {
576- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
646+ match composer_crawler. find_by_purls ( vendor_path, composer_purls) . await {
647+ Ok ( packages) => {
648+ for ( purl, pkg) in packages {
649+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
650+ }
651+ }
652+ Err ( e) => {
653+ if !silent {
654+ eprintln ! ( "Warning: Failed to scan {}: {}" , vendor_path. display( ) , e) ;
655+ }
577656 }
578657 }
579658 }
@@ -600,11 +679,16 @@ pub async fn find_packages_for_rollback(
600679 }
601680 }
602681 for pkg_path in & pkg_paths {
603- if let Ok ( packages) =
604- nuget_crawler. find_by_purls ( pkg_path, nuget_purls) . await
605- {
606- for ( purl, pkg) in packages {
607- all_packages. entry ( purl) . or_insert ( pkg. path ) ;
682+ match nuget_crawler. find_by_purls ( pkg_path, nuget_purls) . await {
683+ Ok ( packages) => {
684+ for ( purl, pkg) in packages {
685+ all_packages. entry ( purl) . or_insert ( pkg. path ) ;
686+ }
687+ }
688+ Err ( e) => {
689+ if !silent {
690+ eprintln ! ( "Warning: Failed to scan {}: {}" , pkg_path. display( ) , e) ;
691+ }
608692 }
609693 }
610694 }
0 commit comments