mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-03 06:28:27 -04:00
a46ea1d5c5
this will ensure that all future stable releases are kept for users to select with the GCS
51 lines
1.6 KiB
Python
Executable File
51 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
'''
|
|
create stable-x.y.z directories so we keep all past stable releases for users to download
|
|
'''
|
|
|
|
import os
|
|
import shutil
|
|
|
|
VEHICLES = ['AntennaTracker', 'Copter', 'Plane', 'Rover', 'Sub']
|
|
|
|
|
|
def make_stable(basedir, vehicle):
|
|
'''make stable version for a vehicle'''
|
|
stable_dir = os.path.join(basedir, vehicle, 'stable')
|
|
if not os.path.exists(stable_dir):
|
|
print("Missing %s" % stable_dir)
|
|
return
|
|
for b in sorted(os.listdir(stable_dir)):
|
|
if not os.path.isdir(os.path.join(stable_dir, b)):
|
|
continue
|
|
vfile = os.path.join(stable_dir, b, "firmware-version.txt")
|
|
if not os.path.exists(vfile):
|
|
print("Missing %s" % vfile)
|
|
continue
|
|
vstr = open(vfile).read()
|
|
version = vstr.split('-')[0]
|
|
new_dir_parent = os.path.join(basedir, vehicle, 'stable-%s' % version)
|
|
new_dir = os.path.join(new_dir_parent, b)
|
|
if os.path.exists(new_dir):
|
|
continue
|
|
if not os.path.exists(new_dir_parent):
|
|
os.mkdir(new_dir_parent)
|
|
print('Creating %s' % new_dir)
|
|
old_dir = os.path.join(stable_dir, b)
|
|
shutil.copytree(old_dir, new_dir)
|
|
|
|
|
|
def make_all_stable(basedir):
|
|
'''make stable directory for all vehicles'''
|
|
for v in VEHICLES:
|
|
make_stable(basedir, v)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import argparse
|
|
parser = argparse.ArgumentParser(description='gen_stable.py')
|
|
parser.add_argument('basedir', type=str, default="-", help='base binaries directory')
|
|
args = parser.parse_args()
|
|
|
|
make_all_stable(args.basedir)
|