Skip to content

Commit 632b84d

Browse files
committed
Extracted subrotuine loadToolReleaseFromDirectory
1 parent 36596f2 commit 632b84d

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

arduino/cores/packagemanager/loader.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -618,19 +618,28 @@ func (pm *PackageManager) loadToolReleasesFromTool(tool *cores.Tool, toolPath *p
618618
toolVersions.FilterDirs()
619619
toolVersions.FilterOutHiddenFiles()
620620
for _, versionPath := range toolVersions {
621-
if toolReleasePath, err := versionPath.Abs(); err == nil {
622-
version := semver.ParseRelaxed(versionPath.Base())
623-
release := tool.GetOrCreateRelease(version)
624-
release.InstallDir = toolReleasePath
625-
pm.Log.WithField("tool", release).Infof("Loaded tool")
626-
} else {
621+
version := semver.ParseRelaxed(versionPath.Base())
622+
if err := pm.loadToolReleaseFromDirectory(tool, version, versionPath); err != nil {
627623
return err
628624
}
629625
}
630626

631627
return nil
632628
}
633629

630+
func (pm *PackageManager) loadToolReleaseFromDirectory(tool *cores.Tool, version *semver.RelaxedVersion, toolReleasePath *paths.Path) error {
631+
if absToolReleasePath, err := toolReleasePath.Abs(); err != nil {
632+
return errors.New(tr("error opening %s", absToolReleasePath))
633+
} else if !absToolReleasePath.IsDir() {
634+
return errors.New(tr("%s is not a directory", absToolReleasePath))
635+
} else {
636+
toolRelease := tool.GetOrCreateRelease(version)
637+
toolRelease.InstallDir = absToolReleasePath
638+
pm.Log.WithField("tool", toolRelease).Infof("Loaded tool")
639+
return nil
640+
}
641+
}
642+
634643
// LoadToolsFromBundleDirectories FIXMEDOC
635644
func (pm *PackageManager) LoadToolsFromBundleDirectories(dirs paths.PathList) []error {
636645
var merr []error

0 commit comments

Comments
 (0)