Skip to content

Commit 890eae4

Browse files
committed
Improve error messages and avoid panic in case of missing tool
1 parent 380d482 commit 890eae4

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

indexes/indexes.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919
package indexes
2020

2121
import (
22+
"fmt"
2223
"net/url"
2324
"strings"
2425

2526
"github.com/arduino/arduino-cli/arduino/cores"
2627
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
28+
"github.com/arduino/arduino-fwuploader/cli/feedback"
2729
"github.com/arduino/arduino-fwuploader/indexes/download"
2830
"github.com/arduino/arduino-fwuploader/indexes/firmwareindex"
2931
"github.com/arduino/go-paths-helper"
@@ -43,11 +45,16 @@ func GetToolRelease(pm *packagemanager.PackageManager, toolID string) *cores.Too
4345

4446
pme, release := pm.NewExplorer()
4547
defer release()
46-
toolRelease := pme.FindToolDependency(&cores.ToolDependency{
48+
dep := &cores.ToolDependency{
4749
ToolName: toolName,
4850
ToolVersion: version,
4951
ToolPackager: packageName,
50-
})
52+
}
53+
logrus.WithField("dep", dep).Debug("Tool dependency to download")
54+
toolRelease := pme.FindToolDependency(dep)
55+
if toolRelease == nil {
56+
feedback.Fatal(fmt.Sprintf("Can't find tool %s in index", dep), feedback.ErrGeneric)
57+
}
5158
logrus.WithField("tool", toolRelease.String()).Debug("Tool release to download")
5259
return toolRelease
5360
}

0 commit comments

Comments
 (0)