@@ -185,6 +185,13 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageFol
185
185
// case: ARCHITECTURE/boards.txt
186
186
// this is an unversioned Platform
187
187
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
+
188
195
platform := targetPackage .GetOrCreatePlatform (architecure )
189
196
release := platform .GetOrCreateRelease ("" )
190
197
if err := pm .loadPlatformRelease (release , platformPath ); err != nil {
@@ -206,9 +213,14 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageFol
206
213
if ! versionDir .IsDir () || strings .HasPrefix (version , "." ) {
207
214
continue
208
215
}
209
- release := platform .GetOrCreateRelease (version )
210
216
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
+ }
211
222
223
+ release := platform .GetOrCreateRelease (version )
212
224
if err := pm .loadPlatformRelease (release , platformWithVersionPath ); err != nil {
213
225
return fmt .Errorf ("loading platform release %s: %s" , version , err )
214
226
}
@@ -223,11 +235,6 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageFol
223
235
}
224
236
225
237
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
- }
231
238
platform .Folder = folder
232
239
233
240
// Some useful paths
0 commit comments