Browse Source

Tools: added mav-firmware-version-str to manifest

this allows beta version to be displayed
gps-1.3.1
Andrew Tridgell 3 years ago
parent
commit
d46f4ba974
  1. 19
      Tools/scripts/generate_manifest.py

19
Tools/scripts/generate_manifest.py

@ -95,6 +95,7 @@ class Firmware(): @@ -95,6 +95,7 @@ class Firmware():
self.atts["vehicletype"] = vehicletype
self.atts["filepath"] = filepath
self.atts["git_sha"] = git_sha
self.atts["firmware-version-str"] = ""
self.atts["frame"] = frame
self.atts["release-type"] = None
self.atts["firmware-version"] = None
@ -163,6 +164,17 @@ class ManifestGenerator(): @@ -163,6 +164,17 @@ class ManifestGenerator():
"filepath (%s) does not contain a git sha" % (filepath,))
return m.group("sha")
def fwversion_from_git_version(self, filepath):
'''parses get-version.txt (as emitted by build_binaries.py, returns
git sha from it'''
content = open(filepath).read()
sha_regex = re.compile("APMVERSION: \S+\s+(\S+)")
m = sha_regex.search(content)
if m is None:
raise Exception(
"filepath (%s) does not contain an APMVERSION" % (filepath,))
return m.group(1)
def add_USB_IDs_PX4(self, firmware):
'''add USB IDs to a .px4 firmware'''
url = firmware['url']
@ -319,6 +331,11 @@ class ManifestGenerator(): @@ -319,6 +331,11 @@ class ManifestGenerator():
except Exception as ex:
print("Failed to parse %s" % git_version_txt, ex, file=sys.stderr)
continue
try:
fwversion_str = self.fwversion_from_git_version(git_version_txt)
except Exception as ex:
print("Failed to parse APMVERSION %s" % git_version_txt, ex, file=sys.stderr)
continue
# we require a firmware-version.txt. These files have been added to
# old builds that didn't have them
@ -399,6 +416,7 @@ class ManifestGenerator(): @@ -399,6 +416,7 @@ class ManifestGenerator():
firmware["platform"] = file_platform
firmware["vehicletype"] = vehicletype
firmware["git_sha"] = git_sha
firmware["firmware-version-str"] = fwversion_str
firmware["frame"] = frame
firmware["timestamp"] = os.path.getctime(firmware["filepath"])
firmware["format"] = firmware_format
@ -478,6 +496,7 @@ class ManifestGenerator(): @@ -478,6 +496,7 @@ class ManifestGenerator():
"url": url,
"mav-type": self.frame_map(firmware["frame"]),
"mav-firmware-version-type": version_type,
"mav-firmware-version-str": firmware["firmware-version-str"],
"latest": firmware["latest"],
"format": firmware["format"],
})

Loading…
Cancel
Save