Skip to content

Commit 0893739

Browse files
committed
fix packages being added to the package manager even if they were not respecting the specification
1 parent 8e6f93f commit 0893739

File tree

2 files changed

+235
-231
lines changed

2 files changed

+235
-231
lines changed

arduino/cores/packagemanager/loader.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@ func (pm *PackageManager) LoadHardwareFromDirectory(path *paths.Path) []*status.
145145
statuses = append(statuses, errs...)
146146
}
147147
}
148+
// If the Package does not contain Platforms or Tools we remove it since does not contain anything valuable
149+
if len(targetPackage.Platforms) == 0 && len(targetPackage.Tools) == 0 {
150+
delete(pm.Packages, packager)
151+
}
148152
}
149153

150154
return statuses
@@ -262,7 +266,6 @@ func (pm *PackageManager) loadPlatform(targetPackage *cores.Package, platformPat
262266
// case: ARCHITECTURE/VERSION/boards.txt
263267
// let's dive into VERSION directories
264268

265-
platform := targetPackage.GetOrCreatePlatform(architecture)
266269
versionDirs, err := platformPath.ReadDir()
267270
if err != nil {
268271
return status.Newf(codes.FailedPrecondition, tr("reading dir %[1]s: %[2]s"), platformPath, err)
@@ -280,6 +283,7 @@ func (pm *PackageManager) loadPlatform(targetPackage *cores.Package, platformPat
280283
if err != nil {
281284
return status.Newf(codes.FailedPrecondition, tr("invalid version dir %[1]s: %[2]s"), versionDir, err)
282285
}
286+
platform := targetPackage.GetOrCreatePlatform(architecture)
283287
release := platform.GetOrCreateRelease(version)
284288
if err := pm.loadPlatformRelease(release, versionDir); err != nil {
285289
return status.Newf(codes.FailedPrecondition, tr("loading platform release %[1]s: %[2]s"), release, err)

0 commit comments

Comments
 (0)