66 "github.com/murphysecurity/murphysec/errors"
77 "github.com/murphysecurity/murphysec/infra/logctx"
88 "github.com/murphysecurity/murphysec/model"
9+ "github.com/murphysecurity/murphysec/scanerr"
910 "github.com/murphysecurity/murphysec/utils"
1011 "go.uber.org/zap"
1112 "os"
@@ -29,26 +30,48 @@ func (Inspector) CheckDir(ctx context.Context, dir string) bool {
2930 utils .IsFile (filepath .Join (dir , "conan.py" ))
3031}
3132func (Inspector ) InspectProject (ctx context.Context ) error {
33+ task := model .UseInspectionTask (ctx )
34+ registeredAutoBuild := task .RegisterAutoBuild ()
3235 if env .DoNotBuild {
36+ scanerr .Add (ctx , scanerr.Param {Kind : scanerr .KindBuildDisabled })
37+ registeredAutoBuild .MarkDisabled ()
3338 return nil
3439 }
35- task := model .UseInspectionTask (ctx )
3640 logger := logctx .Use (ctx )
3741 cmdInfo , e := getConanInfo (ctx )
3842 if e != nil {
43+ registeredAutoBuild .MarkFailed ()
44+ kind := scanerr .KindConanFailed
45+ if errors .Is (e , ErrConanNotFound ) {
46+ kind = scanerr .KindConanNotFound
47+ }
48+ scanerr .Add (ctx , scanerr.Param {
49+ Kind : kind ,
50+ Content : e .Error (),
51+ })
3952 return e
4053 }
4154 jsonFilePath , e := ExecuteConanInfoCmd (ctx , cmdInfo .Path , task .Dir ())
4255
4356 var conanErr conanError
4457 if errors .As (e , & conanErr ) {
58+ registeredAutoBuild .MarkFailed ()
59+ scanerr .Add (ctx , scanerr.Param {
60+ Kind : scanerr .KindConanFailed ,
61+ Content : conanErr .Error (),
62+ })
4563 if ! env .ScannerScan {
4664 badConanView (ctx )
4765 printConanError (ctx , & conanErr )
4866 }
4967 return e
5068 }
5169 if e != nil {
70+ registeredAutoBuild .MarkFailed ()
71+ scanerr .Add (ctx , scanerr.Param {
72+ Kind : scanerr .KindConanFailed ,
73+ Content : e .Error (),
74+ })
5275 return e
5376 }
5477 defer func () {
@@ -58,10 +81,20 @@ func (Inspector) InspectProject(ctx context.Context) error {
5881 }()
5982 var conanJson _ConanInfoJsonFile
6083 if e := conanJson .ReadFromFile (jsonFilePath ); e != nil {
84+ registeredAutoBuild .MarkFailed ()
85+ scanerr .Add (ctx , scanerr.Param {
86+ Kind : scanerr .KindConanFailed ,
87+ Content : e .Error (),
88+ })
6189 return e
6290 }
6391 t , e := conanJson .Tree ()
6492 if e != nil {
93+ registeredAutoBuild .MarkFailed ()
94+ scanerr .Add (ctx , scanerr.Param {
95+ Kind : scanerr .KindConanFailed ,
96+ Content : e .Error (),
97+ })
6598 return e
6699 }
67100 task .AddModule (model.Module {
0 commit comments