Skip to content

Commit 81e17b0

Browse files
committed
FIXME: when walking through core folders, skip if one doesn't contain boards.txt
1 parent 2753c2f commit 81e17b0

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

cores/packagemanager/loader.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,13 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageFol
185185
// case: ARCHITECTURE/boards.txt
186186
// this is an unversioned Platform
187187

188+
// FIXME: this check is duplicated, find a better way to handle this
189+
if _, err := os.Stat(filepath.Join(platformPath, "boards.txt")); err != nil && !os.IsNotExist(err) {
190+
return fmt.Errorf("opening boards.txt: %s", err)
191+
} else if os.IsNotExist(err) {
192+
continue
193+
}
194+
188195
platform := targetPackage.GetOrCreatePlatform(architecure)
189196
release := platform.GetOrCreateRelease("")
190197
if err := pm.loadPlatformRelease(release, platformPath); err != nil {
@@ -206,9 +213,14 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageFol
206213
if !versionDir.IsDir() || strings.HasPrefix(version, ".") {
207214
continue
208215
}
209-
release := platform.GetOrCreateRelease(version)
210216
platformWithVersionPath := filepath.Join(platformPath, version)
217+
if _, err := os.Stat(filepath.Join(platformWithVersionPath, "boards.txt")); err != nil && !os.IsNotExist(err) {
218+
return fmt.Errorf("opening boards.txt: %s", err)
219+
} else if os.IsNotExist(err) {
220+
continue
221+
}
211222

223+
release := platform.GetOrCreateRelease(version)
212224
if err := pm.loadPlatformRelease(release, platformWithVersionPath); err != nil {
213225
return fmt.Errorf("loading platform release %s: %s", version, err)
214226
}
@@ -223,11 +235,6 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageFol
223235
}
224236

225237
func (pm *PackageManager) loadPlatformRelease(platform *cores.PlatformRelease, folder string) error {
226-
if _, err := os.Stat(filepath.Join(folder, "boards.txt")); err != nil && !os.IsNotExist(err) {
227-
return fmt.Errorf("opening boards.txt: %s", err)
228-
} else if os.IsNotExist(err) {
229-
return fmt.Errorf("invalid platform directory %s: boards.txt not found", folder)
230-
}
231238
platform.Folder = folder
232239

233240
// Some useful paths

0 commit comments

Comments
 (0)