feat(scanner) separate func analize libraries (#1246)
* feat(scanner) separate func analize libraries * fix(scanner) fix typo
This commit is contained in:
		@@ -615,6 +615,15 @@ func (l *base) scanLibraries() (err error) {
 | 
			
		||||
		libFilemap[path] = bytes
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var libraryScanners []models.LibraryScanner
 | 
			
		||||
	if libraryScanners, err = AnalyzeLibraries(context.Background(), libFilemap); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	l.LibraryScanners = append(l.LibraryScanners, libraryScanners...)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AnalyzeLibraries(ctx context.Context, libFilemap map[string][]byte) (libraryScanners []models.LibraryScanner, err error) {
 | 
			
		||||
	disabledAnalyzers := []analyzer.Type{
 | 
			
		||||
		analyzer.TypeAlpine,
 | 
			
		||||
		analyzer.TypeAmazon,
 | 
			
		||||
@@ -642,24 +651,24 @@ func (l *base) scanLibraries() (err error) {
 | 
			
		||||
		var wg sync.WaitGroup
 | 
			
		||||
		result := new(analyzer.AnalysisResult)
 | 
			
		||||
		if err := anal.AnalyzeFile(
 | 
			
		||||
			context.Background(),
 | 
			
		||||
			ctx,
 | 
			
		||||
			&wg,
 | 
			
		||||
			semaphore.NewWeighted(1),
 | 
			
		||||
			result,
 | 
			
		||||
			path,
 | 
			
		||||
			&DummyFileInfo{},
 | 
			
		||||
			func() ([]byte, error) { return b, nil }); err != nil {
 | 
			
		||||
			return xerrors.Errorf("Failed to get libs. err: %w", err)
 | 
			
		||||
			return nil, xerrors.Errorf("Failed to get libs. err: %w", err)
 | 
			
		||||
		}
 | 
			
		||||
		wg.Wait()
 | 
			
		||||
 | 
			
		||||
		libscan, err := convertLibWithScanner(result.Applications)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return xerrors.Errorf("Failed to convert libs. err: %w", err)
 | 
			
		||||
			return nil, xerrors.Errorf("Failed to convert libs. err: %w", err)
 | 
			
		||||
		}
 | 
			
		||||
		l.LibraryScanners = append(l.LibraryScanners, libscan...)
 | 
			
		||||
		libraryScanners = append(libraryScanners, libscan...)
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
	return libraryScanners, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DummyFileInfo is a dummy struct for libscan
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user