Skip to content

Commit 022b948

Browse files
committed
continue package if no files found
1 parent f997015 commit 022b948

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

analyzer/pkg/apk/apk.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55
"bytes"
66
"log"
77

8+
"github.com/pkg/errors"
9+
810
"github.com/coreos/clair/ext/versionfmt"
911
clairDpkg "github.com/coreos/clair/ext/versionfmt/dpkg"
1012

@@ -20,6 +22,7 @@ type alpinePkgAnalyzer struct{}
2022

2123
func (a alpinePkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.Package, err error) {
2224
var parsedPkgs []analyzer.Package
25+
detected := false
2326
for _, filename := range a.RequiredFiles() {
2427
file, ok := fileMap[filename]
2528
if !ok {
@@ -28,8 +31,12 @@ func (a alpinePkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.P
2831
scanner := bufio.NewScanner(bytes.NewBuffer(file))
2932
parsedPkgs, err = a.parseApkInfo(scanner)
3033
pkgs = append(pkgs, parsedPkgs...)
34+
detected = true
35+
}
36+
if !detected {
37+
return pkgs, errors.New("No package detected")
3138
}
32-
return pkgs, err
39+
return pkgs, nil
3340
}
3441

3542
func (a alpinePkgAnalyzer) parseApkInfo(scanner *bufio.Scanner) (pkgs []analyzer.Package, err error) {

analyzer/pkg/dpkg/dpkg.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package dpkg
33
import (
44
"bufio"
55
"bytes"
6+
"errors"
7+
"fmt"
68
"log"
79
"regexp"
810
"strings"
@@ -28,15 +30,21 @@ func init() {
2830
type debianPkgAnalyzer struct{}
2931

3032
func (a debianPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.Package, err error) {
33+
detected := false
3134
for _, filename := range a.RequiredFiles() {
3235
file, ok := fileMap[filename]
36+
fmt.Println(filename)
3337
if !ok {
3438
continue
3539
}
3640
scanner := bufio.NewScanner(bytes.NewBuffer(file))
3741
pkgs = a.parseDpkginfo(scanner)
42+
detected = true
3843
}
39-
return pkgs, err
44+
if !detected {
45+
return pkgs, errors.New("No package detected")
46+
}
47+
return pkgs, nil
4048
}
4149

4250
func (a debianPkgAnalyzer) parseDpkginfo(scanner *bufio.Scanner) (pkgs []analyzer.Package) {
@@ -88,6 +96,7 @@ func (a debianPkgAnalyzer) parseDpkgPkg(scanner *bufio.Scanner) (binPkg *analyze
8896
if line == "" {
8997
break
9098
}
99+
fmt.Println(line)
91100

92101
if strings.HasPrefix(line, "Package: ") {
93102
name = strings.TrimSpace(strings.TrimPrefix(line, "Package: "))

analyzer/pkg/rpm/rpm.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package rpm
22

33
import (
44
"bufio"
5+
"errors"
56
"io/ioutil"
67
"os"
78
"os/exec"
@@ -22,13 +23,18 @@ type rpmPkgAnalyzer struct{}
2223

2324
func (a rpmPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.Package, err error) {
2425
var parsedPkgs []analyzer.Package
26+
detected := false
2527
for _, filename := range a.RequiredFiles() {
2628
file, ok := fileMap[filename]
2729
if !ok {
2830
continue
2931
}
3032
parsedPkgs, err = a.parsePkgInfo(file)
3133
pkgs = append(pkgs, parsedPkgs...)
34+
detected = true
35+
}
36+
if !detected {
37+
return pkgs, errors.New("No package detected")
3238
}
3339
return pkgs, err
3440
}

0 commit comments

Comments
 (0)