File tree Expand file tree Collapse file tree 5 files changed +10
-12
lines changed Expand file tree Collapse file tree 5 files changed +10
-12
lines changed Original file line number Diff line number Diff line change 25
25
ErrUnknownOS = xerrors .New ("Unknown OS" )
26
26
// ErrPkgAnalysis occurs when the analysis of packages is failed.
27
27
ErrPkgAnalysis = xerrors .New ("Failed to analyze packages" )
28
+ // ErrNoPkgsDetected occurs when the required files for an OS package manager are not detected
29
+ ErrNoPkgsDetected = xerrors .New ("No packages detected" )
28
30
)
29
31
30
32
type OSAnalyzer interface {
@@ -158,10 +160,12 @@ func GetOS(filesMap extractor.FileMap) (OS, error) {
158
160
func GetPackages (filesMap extractor.FileMap ) ([]Package , error ) {
159
161
for _ , analyzer := range pkgAnalyzers {
160
162
pkgs , err := analyzer .Analyze (filesMap )
161
- if err != nil {
163
+
164
+ // Differentiate between a package manager not being found and another error
165
+ if err != nil && err == ErrNoPkgsDetected {
162
166
continue
163
167
}
164
- return pkgs , nil
168
+ return pkgs , err
165
169
}
166
170
return nil , ErrPkgAnalysis
167
171
}
Original file line number Diff line number Diff line change 5
5
"bytes"
6
6
"log"
7
7
8
- "github.com/pkg/errors"
9
-
10
8
"github.com/knqyf263/fanal/analyzer"
11
9
"github.com/knqyf263/fanal/extractor"
12
10
@@ -33,7 +31,7 @@ func (a alpinePkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.P
33
31
detected = true
34
32
}
35
33
if ! detected {
36
- return pkgs , errors . New ( "No package detected" )
34
+ return pkgs , analyzer . ErrNoPkgsDetected
37
35
}
38
36
return pkgs , nil
39
37
}
Original file line number Diff line number Diff line change 8
8
"strings"
9
9
10
10
mapset "github.com/deckarep/golang-set"
11
- "golang.org/x/xerrors"
12
11
13
12
"github.com/knqyf263/fanal/analyzer"
14
13
"github.com/knqyf263/fanal/extractor"
@@ -39,7 +38,7 @@ func (a debianPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.P
39
38
detected = true
40
39
}
41
40
if ! detected {
42
- return pkgs , xerrors . New ( "no package detected" )
41
+ return pkgs , analyzer . ErrNoPkgsDetected
43
42
}
44
43
return pkgs , nil
45
44
}
Original file line number Diff line number Diff line change 5
5
"os"
6
6
"path/filepath"
7
7
8
- "golang.org/x/xerrors"
9
-
10
8
"github.com/knqyf263/fanal/analyzer"
11
9
"github.com/knqyf263/fanal/extractor"
12
10
rpmdb "github.com/knqyf263/go-rpmdb/pkg"
@@ -31,7 +29,7 @@ func (a rpmPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.Pack
31
29
detected = true
32
30
}
33
31
if ! detected {
34
- return nil , xerrors . New ( "No package detected" )
32
+ return nil , analyzer . ErrNoPkgsDetected
35
33
}
36
34
return pkgs , err
37
35
}
Original file line number Diff line number Diff line change @@ -2,7 +2,6 @@ package rpmcmd
2
2
3
3
import (
4
4
"bufio"
5
- "errors"
6
5
"io/ioutil"
7
6
"os"
8
7
"os/exec"
@@ -35,7 +34,7 @@ func (a rpmCmdPkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.P
35
34
detected = true
36
35
}
37
36
if ! detected {
38
- return pkgs , errors . New ( "No package detected" )
37
+ return pkgs , analyzer . ErrNoPkgsDetected
39
38
}
40
39
return pkgs , err
41
40
}
You can’t perform that action at this time.
0 commit comments