Skip to content

Commit fb6a0af

Browse files
committed
Moved uninstallToolRelease into the proper packagamanger method
1 parent be1a93f commit fb6a0af

File tree

4 files changed

+19
-23
lines changed

4 files changed

+19
-23
lines changed

arduino/cores/packagemanager/install_uninstall.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,20 +182,31 @@ func (pm *PackageManager) IsManagedToolRelease(toolRelease *cores.ToolRelease) b
182182
}
183183

184184
// UninstallTool remove a ToolRelease.
185-
func (pm *PackageManager) UninstallTool(toolRelease *cores.ToolRelease) error {
185+
func (pm *PackageManager) UninstallTool(toolRelease *cores.ToolRelease, taskCB rpc.TaskProgressCB) error {
186+
log := pm.Log.WithField("Tool", toolRelease)
187+
log.Info("Uninstalling tool")
188+
186189
if toolRelease.InstallDir == nil {
187190
return fmt.Errorf(tr("tool not installed"))
188191
}
189192

190193
// Safety measure
191194
if !pm.IsManagedToolRelease(toolRelease) {
192-
return fmt.Errorf(tr("tool %s is not managed by package manager"), toolRelease)
195+
err := &arduino.FailedUninstallError{Message: tr("tool %s is not managed by package manager", toolRelease)}
196+
log.WithError(err).Error("Error uninstalling")
197+
return err
193198
}
194199

195200
if err := toolRelease.InstallDir.RemoveAll(); err != nil {
196-
return fmt.Errorf(tr("removing tool files: %s"), err)
201+
err = &arduino.FailedUninstallError{Message: err.Error()}
202+
log.WithError(err).Error("Error uninstalling")
203+
return err
197204
}
205+
198206
toolRelease.InstallDir = nil
207+
208+
log.Info("Tool uninstalled")
209+
taskCB(&rpc.TaskProgress{Message: tr("Tool %s uninstalled", toolRelease), Completed: true})
199210
return nil
200211
}
201212

commands/core/install.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,9 @@ func installPlatform(pm *packagemanager.PackageManager,
163163

164164
// Uninstall unused tools
165165
for _, tool := range installedTools {
166+
taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s, tool is no more required", tool)})
166167
if !pm.IsToolRequired(tool) {
167-
uninstallToolRelease(pm, tool, taskCB)
168+
pm.UninstallTool(tool, taskCB)
168169
}
169170
}
170171

commands/core/uninstall.go

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t
5959

6060
for _, tool := range tools {
6161
if !pm.IsToolRequired(tool) {
62-
uninstallToolRelease(pm, tool, taskCB)
62+
taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s, tool is no more required", tool)})
63+
pm.UninstallTool(tool, taskCB)
6364
}
6465
}
6566

@@ -85,19 +86,3 @@ func uninstallPlatformRelease(pm *packagemanager.PackageManager, platformRelease
8586
taskCB(&rpc.TaskProgress{Message: tr("Platform %s uninstalled", platformRelease), Completed: true})
8687
return nil
8788
}
88-
89-
func uninstallToolRelease(pm *packagemanager.PackageManager, toolRelease *cores.ToolRelease, taskCB rpc.TaskProgressCB) error {
90-
log := pm.Log.WithField("Tool", toolRelease)
91-
92-
log.Info("Uninstalling tool")
93-
taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s, tool is no more required", toolRelease)})
94-
95-
if err := pm.UninstallTool(toolRelease); err != nil {
96-
log.WithError(err).Error("Error uninstalling")
97-
return &arduino.FailedUninstallError{Message: tr("Error uninstalling tool %s", toolRelease), Cause: err}
98-
}
99-
100-
log.Info("Tool uninstalled")
101-
taskCB(&rpc.TaskProgress{Message: tr("Tool %s uninstalled", toolRelease), Completed: true})
102-
return nil
103-
}

commands/instances.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -796,8 +796,7 @@ func Upgrade(ctx context.Context, req *rpc.UpgradeRequest, downloadCB rpc.Downlo
796796

797797
log.Info("Uninstalling tool")
798798
taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s: tool is no more required", toolRelease)})
799-
800-
if err := pm.UninstallTool(toolRelease); err != nil {
799+
if err := pm.UninstallTool(toolRelease, taskCB); err != nil {
801800
log.WithError(err).Error("Error uninstalling")
802801
return &arduino.FailedInstallError{Message: tr("Error uninstalling tool %s", toolRelease), Cause: err}
803802
}

0 commit comments

Comments
 (0)