@@ -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
225237func (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