Skip to content

Commit 684a37b

Browse files
committed
Removing dependency commands->formatter
1 parent 824c82a commit 684a37b

File tree

1 file changed

+19
-23
lines changed

1 file changed

+19
-23
lines changed

commands/core/download.go

+19-23
Original file line numberDiff line numberDiff line change
@@ -22,51 +22,51 @@ import (
2222
"fmt"
2323
"time"
2424

25-
"go.bug.st/downloader"
26-
semver "go.bug.st/relaxed-semver"
27-
2825
"github.com/arduino/arduino-cli/arduino/cores"
2926
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
3027
"github.com/arduino/arduino-cli/commands"
31-
"github.com/arduino/arduino-cli/common/formatter"
3228
"github.com/arduino/arduino-cli/rpc"
29+
"go.bug.st/downloader"
30+
semver "go.bug.st/relaxed-semver"
3331
)
3432

3533
func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadReq, progressCallback func(*rpc.DownloadProgress)) (*rpc.PlatformDownloadResp, error) {
36-
version, err := semver.Parse(req.Version)
37-
if err != nil {
38-
formatter.PrintError(err, "Error in version parsing")
39-
return nil, fmt.Errorf("parse from string error: %s", err)
34+
var version *semver.Version
35+
if v, err := semver.Parse(req.Version); err == nil {
36+
version = v
37+
} else {
38+
return nil, fmt.Errorf("invalid version: %s", err)
4039
}
41-
ref := &packagemanager.PlatformReference{
40+
41+
pm := commands.GetPackageManager(req)
42+
platform, tools, err := pm.FindPlatformReleaseDependencies(&packagemanager.PlatformReference{
4243
Package: req.PlatformPackage,
4344
PlatformArchitecture: req.Architecture,
44-
PlatformVersion: version}
45-
pm := commands.GetPackageManager(req)
46-
platform, tools, err := pm.FindPlatformReleaseDependencies(ref)
45+
PlatformVersion: version,
46+
})
4747
if err != nil {
48-
formatter.PrintError(err, "Could not determine platform dependencies")
49-
return nil, fmt.Errorf("find platform dependencies error: %s", err)
48+
return nil, fmt.Errorf("find platform dependencies: %s", err)
5049
}
50+
5151
err = downloadPlatform(pm, platform, progressCallback)
5252
if err != nil {
5353
return nil, err
5454
}
55+
5556
for _, tool := range tools {
5657
err := downloadTool(pm, tool, progressCallback)
5758
if err != nil {
58-
formatter.PrintError(err, "Could not determine platform dependencies")
59-
return nil, fmt.Errorf("find platform dependencies error: %s", err)
59+
return nil, fmt.Errorf("downloading tool %s: %s", tool, err)
6060
}
6161
}
62+
6263
return &rpc.PlatformDownloadResp{}, nil
6364
}
6465

6566
func downloadPlatform(pm *packagemanager.PackageManager, platformRelease *cores.PlatformRelease, progressCallback func(*rpc.DownloadProgress)) error {
6667
// Download platform
6768
resp, err := pm.DownloadPlatformRelease(platformRelease)
6869
if err != nil {
69-
formatter.PrintError(err, "Error downloading "+platformRelease.String())
7070
return err
7171
}
7272
return download(resp, platformRelease.String(), progressCallback)
@@ -75,8 +75,7 @@ func downloadPlatform(pm *packagemanager.PackageManager, platformRelease *cores.
7575
func downloadTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, progressCallback func(*rpc.DownloadProgress)) error {
7676
// Check if tool has a flavor available for the current OS
7777
if tool.GetCompatibleFlavour() == nil {
78-
formatter.PrintErrorMessage("The tool " + tool.String() + " is not available for the current OS")
79-
return fmt.Errorf("The tool " + tool.String() + " is not available")
78+
return fmt.Errorf("tool %s not available for the current OS", tool)
8079
}
8180

8281
return DownloadToolRelease(pm, tool, progressCallback)
@@ -86,16 +85,14 @@ func downloadTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, pr
8685
func DownloadToolRelease(pm *packagemanager.PackageManager, toolRelease *cores.ToolRelease, progressCallback func(*rpc.DownloadProgress)) error {
8786
resp, err := pm.DownloadToolRelease(toolRelease)
8887
if err != nil {
89-
formatter.PrintError(err, "Error downloading "+toolRelease.String())
9088
return err
9189
}
9290
return download(resp, toolRelease.String(), progressCallback)
9391
}
9492

95-
// TODO: Refactor this into output.*?
9693
func download(d *downloader.Downloader, label string, progressCallback func(*rpc.DownloadProgress)) error {
9794
if d == nil {
98-
// TODO: Already downloaded
95+
// This signal means that the file is already downloaded
9996
progressCallback(&rpc.DownloadProgress{
10097
File: label,
10198
Completed: true,
@@ -111,7 +108,6 @@ func download(d *downloader.Downloader, label string, progressCallback func(*rpc
111108
progressCallback(&rpc.DownloadProgress{Downloaded: downloaded})
112109
}, 250*time.Millisecond)
113110
if d.Error() != nil {
114-
formatter.PrintError(d.Error(), "Error downloading "+label)
115111
return d.Error()
116112
}
117113
progressCallback(&rpc.DownloadProgress{Completed: true})

0 commit comments

Comments
 (0)