@@ -188,42 +188,33 @@ func getToolName(toolName string, version string) string {
188188 return toolName
189189}
190190
191- func runEslintAnalysis (workDirectory string , pathsToCheck []string , autoFix bool , outputFile string , outputFormat string ) {
191+ func runEslintAnalysis (workDirectory string , pathsToCheck []string , autoFix bool , outputFile string , outputFormat string ) error {
192192 eslint := config .Config .Tools ()["eslint" ]
193193 eslintInstallationDirectory := eslint .InstallDir
194194 nodeRuntime := config .Config .Runtimes ()["node" ]
195195 nodeBinary := nodeRuntime .Binaries ["node" ]
196196
197- tools .RunEslint (workDirectory , eslintInstallationDirectory , nodeBinary , pathsToCheck , autoFix , outputFile , outputFormat )
197+ return tools .RunEslint (workDirectory , eslintInstallationDirectory , nodeBinary , pathsToCheck , autoFix , outputFile , outputFormat )
198198}
199199
200- func runTrivyAnalysis (workDirectory string , pathsToCheck []string , outputFile string , outputFormat string ) {
200+ func runTrivyAnalysis (workDirectory string , pathsToCheck []string , outputFile string , outputFormat string ) error {
201201 trivy := config .Config .Tools ()["trivy" ]
202202 trivyBinary := trivy .Binaries ["trivy" ]
203203
204- err := tools .RunTrivy (workDirectory , trivyBinary , pathsToCheck , outputFile , outputFormat )
205- if err != nil {
206- log .Fatalf ("Error running Trivy: %v" , err )
207- }
204+ return tools .RunTrivy (workDirectory , trivyBinary , pathsToCheck , outputFile , outputFormat )
208205}
209206
210- func runPmdAnalysis (workDirectory string , pathsToCheck []string , outputFile string , outputFormat string ) {
207+ func runPmdAnalysis (workDirectory string , pathsToCheck []string , outputFile string , outputFormat string ) error {
211208 pmd := config .Config .Tools ()["pmd" ]
212209 pmdBinary := pmd .Binaries ["pmd" ]
213210
214- err := tools .RunPmd (workDirectory , pmdBinary , pathsToCheck , outputFile , outputFormat , config .Config )
215- if err != nil {
216- log .Fatalf ("Error running PMD: %v" , err )
217- }
211+ return tools .RunPmd (workDirectory , pmdBinary , pathsToCheck , outputFile , outputFormat , config .Config )
218212}
219213
220- func runPylintAnalysis (workDirectory string , pathsToCheck []string , outputFile string , outputFormat string ) {
214+ func runPylintAnalysis (workDirectory string , pathsToCheck []string , outputFile string , outputFormat string ) error {
221215 pylint := config .Config .Tools ()["pylint" ]
222216
223- err := tools .RunPylint (workDirectory , pylint , pathsToCheck , outputFile , outputFormat )
224- if err != nil {
225- log .Fatalf ("Error running Pylint: %v" , err )
226- }
217+ return tools .RunPylint (workDirectory , pylint , pathsToCheck , outputFile , outputFormat )
227218}
228219
229220var analyzeCmd = & cobra.Command {
@@ -265,7 +256,9 @@ var analyzeCmd = &cobra.Command{
265256 for toolName := range toolsToRun {
266257 log .Printf ("Running %s...\n " , toolName )
267258 tmpFile := filepath .Join (tmpDir , fmt .Sprintf ("%s.sarif" , toolName ))
268- runTool (workDirectory , toolName , args , tmpFile )
259+ if err := runTool (workDirectory , toolName , args , tmpFile ); err != nil {
260+ log .Printf ("Tool failed to run: %s: %v\n " , toolName , err )
261+ }
269262 sarifOutputs = append (sarifOutputs , tmpFile )
270263 }
271264
@@ -296,23 +289,25 @@ var analyzeCmd = &cobra.Command{
296289 // Run tools without merging outputs
297290 for toolName := range toolsToRun {
298291 log .Printf ("Running %s...\n " , toolName )
299- runTool (workDirectory , toolName , args , outputFile )
292+ if err := runTool (workDirectory , toolName , args , outputFile ); err != nil {
293+ log .Printf ("Tool failed to run: %s: %v\n " , toolName , err )
294+ }
300295 }
301296 }
302297 },
303298}
304299
305- func runTool (workDirectory string , toolName string , args []string , outputFile string ) {
300+ func runTool (workDirectory string , toolName string , args []string , outputFile string ) error {
306301 switch toolName {
307302 case "eslint" :
308- runEslintAnalysis (workDirectory , args , autoFix , outputFile , outputFormat )
303+ return runEslintAnalysis (workDirectory , args , autoFix , outputFile , outputFormat )
309304 case "trivy" :
310- runTrivyAnalysis (workDirectory , args , outputFile , outputFormat )
305+ return runTrivyAnalysis (workDirectory , args , outputFile , outputFormat )
311306 case "pmd" :
312- runPmdAnalysis (workDirectory , args , outputFile , outputFormat )
307+ return runPmdAnalysis (workDirectory , args , outputFile , outputFormat )
313308 case "pylint" :
314- runPylintAnalysis (workDirectory , args , outputFile , outputFormat )
309+ return runPylintAnalysis (workDirectory , args , outputFile , outputFormat )
315310 default :
316- log . Printf ( "Warning: Unsupported tool: %s\n " , toolName )
311+ return fmt . Errorf ( "unsupported tool: %s" , toolName )
317312 }
318313}
0 commit comments