Skip to content

Commit

Permalink
Build: add git hashes to .px4 files
Browse files Browse the repository at this point in the history
  • Loading branch information
jschall committed Jan 23, 2015
1 parent af64a1e commit 910932b
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
51 changes: 51 additions & 0 deletions Tools/scripts/add_git_hashes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env python
import json
import sys
import os
import subprocess
import argparse

parser = argparse.ArgumentParser()

parser.add_argument('input_file')
parser.add_argument('output_file')

parser.add_argument('--ardupilot')
parser.add_argument('--px4')
parser.add_argument('--nuttx')
parser.add_argument('--uavcan')

args = parser.parse_args()

f = open(args.input_file,'r')
fw_json = json.load(f)
f.close()

if args.ardupilot is not None:
try:
fw_json["ardupilot_git_hash"] = subprocess.check_output(["git", "--git-dir", os.path.join(args.ardupilot,".git"), "rev-parse", "HEAD"]).strip().decode('ascii')
except:
print("Failed to get apm hash")

if args.px4 is not None:
try:
fw_json["px4_git_hash"] = subprocess.check_output(["git", "--git-dir", os.path.join(args.px4,".git"), "rev-parse", "HEAD"]).strip().decode('ascii')
except:
print("Failed to get px4 hash")

if args.nuttx is not None:
try:
fw_json["nuttx_git_hash"] = subprocess.check_output(["git", "--git-dir", os.path.join(args.nuttx,".git"), "rev-parse", "HEAD"]).strip().decode('ascii')
except:
print("Failed to get nuttx hash")

if args.uavcan is not None:
try:
fw_json["uavcan_git_hash"] = subprocess.check_output(["git", "--git-dir", os.path.join(args.uavcan,".git"), "rev-parse", "HEAD"]).strip().decode('ascii')
except:
print("Failed to get uavcan hash")

f=open(args.output_file,'w')
json.dump(fw_json,f,indent=4)
f.truncate()
f.close()
3 changes: 3 additions & 0 deletions mk/px4_targets.mk
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ px4-v1: $(BUILDROOT)/make.flags $(PX4_ROOT)/Archives/px4fmu-v1.export $(SKETCHCP
$(v) $(PX4_MAKE) px4fmu-v1_APM
$(v) /bin/rm -f $(SKETCH)-v1.px4
$(v) cp $(PX4_ROOT)/Images/px4fmu-v1_APM.px4 $(SKETCH)-v1.px4
$(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py --ardupilot $(SKETCHBOOK) --px4 $(PX4_ROOT) --nuttx $(NUTTX_SRC) --uavcan $(UAVCAN_DIR) $(SKETCH)-v2.px4 $(SKETCH)-v2.px4
$(v) echo "PX4 $(SKETCH) Firmware is in $(SKETCH)-v1.px4"

px4-v2: $(BUILDROOT)/make.flags $(PX4_ROOT)/Archives/px4fmu-v2.export $(SKETCHCPP) module_mk px4-io-v2
Expand All @@ -79,6 +80,8 @@ px4-v2: $(BUILDROOT)/make.flags $(PX4_ROOT)/Archives/px4fmu-v2.export $(SKETCHCP
$(PX4_MAKE) px4fmu-v2_APM
$(v) /bin/rm -f $(SKETCH)-v2.px4
$(v) cp $(PX4_ROOT)/Images/px4fmu-v2_APM.px4 $(SKETCH)-v2.px4
$(v) echo $(NUTTX_SRC)
$(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py --ardupilot $(SKETCHBOOK) --px4 $(PX4_ROOT) --nuttx $(NUTTX_SRC)/.. --uavcan $(UAVCAN_DIR) $(SKETCH)-v2.px4 $(SKETCH)-v2.px4
$(v) echo "PX4 $(SKETCH) Firmware is in $(SKETCH)-v2.px4"

px4: px4-v1 px4-v2
Expand Down

0 comments on commit 910932b

Please sign in to comment.