@@ -528,21 +528,25 @@ def main():
528
528
529
529
# Find the latest version directory
530
530
if os .path .exists (platform_base ):
531
- versions = [d for d in os .listdir (platform_base ) if os .path .isdir (os .path .join (platform_base , d ))]
532
- ColorPrint .print_info (f"Found versions: { versions } " )
533
- if versions :
534
- # Sort versions and take the latest (could be improved with proper version sorting)
535
- latest_version = sorted (versions )[- 1 ]
536
- platform_path = os .path .join (platform_base , latest_version )
537
-
538
- dest_path = os .path .join (platform_path , "boards.local.txt" )
539
- shutil .copyfile (boards_local_txt , dest_path )
540
- ColorPrint .print_info (f"Copied boards.local.txt to { dest_path } " )
541
- elif os .path .exists (os .path .join (platform_base , "boards.txt" )):
531
+ if os .path .exists (os .path .join (platform_base , "boards.txt" )):
542
532
shutil .copyfile (boards_local_txt , os .path .join (platform_base , "boards.local.txt" ))
543
533
ColorPrint .print_info (f"Copied boards.local.txt to { os .path .join (platform_base , 'boards.local.txt' )} " )
544
534
else :
545
- ColorPrint .print_warn (f"No version directories found in { platform_base } " )
535
+ versions = [d for d in os .listdir (platform_base ) if os .path .isdir (os .path .join (platform_base , d ))]
536
+ ColorPrint .print_info (f"Found versions: { versions } " )
537
+ # Filter out non-version directories (e.g., 'tools', 'libraries') while supporting 1.0-dev 1.0.0-offline-mode.102 etc
538
+ versions = [v for v in versions if re .match (r'^(v)?\d+\.\d+(\.\d+(-\w+)?)?(\.\d+)?$' , v )]
539
+ if versions :
540
+ # Sort versions and take the latest (could be improved with proper version sorting)
541
+ latest_version = sorted (versions )[- 1 ]
542
+ platform_path = os .path .join (platform_base , latest_version )
543
+
544
+ dest_path = os .path .join (platform_path , "boards.local.txt" )
545
+ shutil .copyfile (boards_local_txt , dest_path )
546
+ ColorPrint .print_info (f"Copied boards.local.txt to { dest_path } " )
547
+
548
+ else :
549
+ ColorPrint .print_warn (f"No version directories found in { platform_base } " )
546
550
else :
547
551
ColorPrint .print_warn (f"Platform path { platform_base } does not exist" )
548
552
0 commit comments