Skip to content

Commit 88cad2b

Browse files
committed
Moved 'alread-installed' check in the proper place
1 parent 6d5b666 commit 88cad2b

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

commands/core/install.go

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,18 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest,
4949
return nil, &arduino.PlatformNotFoundError{Platform: ref.String(), Cause: err}
5050
}
5151

52-
didInstall, err := installPlatform(pm, platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall())
53-
if err != nil {
52+
// Prerequisite checks before install
53+
if platformRelease.IsInstalled() {
54+
taskCB(&rpc.TaskProgress{Name: tr("Platform %s already installed", platformRelease), Completed: true})
55+
return &rpc.PlatformInstallResponse{}, nil
56+
}
57+
58+
if err := installPlatform(pm, platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall()); err != nil {
5459
return nil, err
5560
}
5661

57-
if didInstall {
58-
if err := commands.Init(&rpc.InitRequest{Instance: req.Instance}, nil); err != nil {
59-
return nil, err
60-
}
62+
if err := commands.Init(&rpc.InitRequest{Instance: req.Instance}, nil); err != nil {
63+
return nil, err
6164
}
6265

6366
return &rpc.PlatformInstallResponse{}, nil
@@ -66,15 +69,10 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest,
6669
func installPlatform(pm *packagemanager.PackageManager,
6770
platformRelease *cores.PlatformRelease, requiredTools []*cores.ToolRelease,
6871
downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB,
69-
skipPostInstall bool) (bool, error) {
72+
skipPostInstall bool) error {
7073
log := pm.Log.WithField("platform", platformRelease)
7174

7275
// Prerequisite checks before install
73-
if platformRelease.IsInstalled() {
74-
log.Warn("Platform already installed")
75-
taskCB(&rpc.TaskProgress{Name: tr("Platform %s already installed", platformRelease), Completed: true})
76-
return false, nil
77-
}
7876
toolsToInstall := []*cores.ToolRelease{}
7977
for _, tool := range requiredTools {
8078
if tool.IsInstalled() {
@@ -89,18 +87,18 @@ func installPlatform(pm *packagemanager.PackageManager,
8987
taskCB(&rpc.TaskProgress{Name: tr("Downloading packages")})
9088
for _, tool := range toolsToInstall {
9189
if err := downloadTool(pm, tool, downloadCB); err != nil {
92-
return false, err
90+
return err
9391
}
9492
}
9593
if err := downloadPlatform(pm, platformRelease, downloadCB); err != nil {
96-
return false, err
94+
return err
9795
}
9896
taskCB(&rpc.TaskProgress{Completed: true})
9997

10098
// Install tools first
10199
for _, tool := range toolsToInstall {
102100
if err := commands.InstallToolRelease(pm, tool, taskCB); err != nil {
103-
return false, err
101+
return err
104102
}
105103
}
106104

@@ -126,14 +124,14 @@ func installPlatform(pm *packagemanager.PackageManager,
126124
var err error
127125
_, installedTools, err = pm.FindPlatformReleaseDependencies(platformRef)
128126
if err != nil {
129-
return false, &arduino.NotFoundError{Message: tr("Can't find dependencies for platform %s", platformRef), Cause: err}
127+
return &arduino.NotFoundError{Message: tr("Can't find dependencies for platform %s", platformRef), Cause: err}
130128
}
131129
}
132130

133131
// Install
134132
if err := pm.InstallPlatform(platformRelease); err != nil {
135133
log.WithError(err).Error("Cannot install platform")
136-
return false, &arduino.FailedInstallError{Message: tr("Cannot install platform"), Cause: err}
134+
return &arduino.FailedInstallError{Message: tr("Cannot install platform"), Cause: err}
137135
}
138136

139137
// If upgrading remove previous release
@@ -151,7 +149,7 @@ func installPlatform(pm *packagemanager.PackageManager,
151149
taskCB(&rpc.TaskProgress{Message: tr("Error rolling-back changes: %s", err)})
152150
}
153151

154-
return false, &arduino.FailedInstallError{Message: tr("Cannot upgrade platform"), Cause: uninstallErr}
152+
return &arduino.FailedInstallError{Message: tr("Cannot upgrade platform"), Cause: uninstallErr}
155153
}
156154

157155
// Uninstall unused tools
@@ -177,5 +175,5 @@ func installPlatform(pm *packagemanager.PackageManager,
177175

178176
log.Info("Platform installed")
179177
taskCB(&rpc.TaskProgress{Message: tr("Platform %s installed", platformRelease), Completed: true})
180-
return true, nil
178+
return nil
181179
}

commands/core/upgrade.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func upgradePlatform(pm *packagemanager.PackageManager, platformRef *packagemana
7474
if err != nil {
7575
return &arduino.PlatformNotFoundError{Platform: platformRef.String()}
7676
}
77-
if _, err := installPlatform(pm, platformRelease, tools, downloadCB, taskCB, skipPostInstall); err != nil {
77+
if err := installPlatform(pm, platformRelease, tools, downloadCB, taskCB, skipPostInstall); err != nil {
7878
return err
7979
}
8080

0 commit comments

Comments
 (0)