From 37ec1ec8defd67a76e476944123ed43006516dad Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 3 Feb 2015 20:27:51 +0100 Subject: [PATCH] Improve submodule checking --- Makefile | 7 ++--- Tools/check_submodules.sh | 59 +++++++++++++++++++++++++++++++++------ 2 files changed, 53 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index af93504eef..05e0d90a25 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2012, 2013 PX4 Development Team. All rights reserved. +# Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -161,7 +161,7 @@ $(foreach config,$(FMU_CONFIGS),$(eval $(call FMU_DEP,$(config)))) # NUTTX_ARCHIVES = $(foreach board,$(BOARDS),$(ARCHIVE_DIR)$(board).export) .PHONY: archives -archives: $(NUTTX_ARCHIVES) +archives: checksubmodules $(NUTTX_ARCHIVES) # We cannot build these parallel; note that we also force -j1 for the # sub-make invocations. @@ -211,8 +211,7 @@ menuconfig: @$(ECHO) "" endif -$(NUTTX_SRC): - $(Q) ($(PX4_BASE)/Tools/check_submodules.sh) +$(NUTTX_SRC): checksubmodules $(UAVCAN_DIR): $(Q) (./Tools/check_submodules.sh) diff --git a/Tools/check_submodules.sh b/Tools/check_submodules.sh index 3904a27753..5e6e571644 100755 --- a/Tools/check_submodules.sh +++ b/Tools/check_submodules.sh @@ -12,17 +12,16 @@ if [ -d NuttX/nuttx ]; if [ -z "$STATUSRETVAL" ]; then echo "Checked NuttX submodule, correct version found" else + echo "" + echo "" + echo "New commits required:" + echo "$(git submodule summary)" echo "" echo "" echo " NuttX sub repo not at correct version. Try 'git submodule update'" echo " or follow instructions on http://pixhawk.org/dev/git/submodules" echo "" echo " DO NOT FORGET TO RUN 'make distclean && make archives' AFTER EACH NUTTX UPDATE!" - echo "" - echo "" - echo "New commits required:" - echo "$(git submodule summary)" - echo "" exit 1 fi else @@ -37,15 +36,14 @@ if [ -d mavlink/include/mavlink/v1.0 ]; if [ -z "$STATUSRETVAL" ]; then echo "Checked mavlink submodule, correct version found" else - echo "" - echo "" - echo "mavlink sub repo not at correct version. Try 'git submodule update'" - echo "or follow instructions on http://pixhawk.org/dev/git/submodules" echo "" echo "" echo "New commits required:" echo "$(git submodule summary)" echo "" + echo "" + echo "mavlink sub repo not at correct version. Try 'git submodule update'" + echo "or follow instructions on http://pixhawk.org/dev/git/submodules" exit 1 fi else @@ -61,15 +59,58 @@ then then echo "Checked uavcan submodule, correct version found" else + echo "" + echo "" + echo "New commits required:" + echo "$(git submodule summary)" echo "" echo "" echo "uavcan sub repo not at correct version. Try 'git submodule update'" echo "or follow instructions on http://pixhawk.org/dev/git/submodules" + exit 1 + fi +else + git submodule init; + git submodule update; +fi + +if [ -d Tools/gencpp ] +then + STATUSRETVAL=$(git submodule summary | grep -A20 -i gencpp | grep "<") + if [ -z "$STATUSRETVAL" ] + then + echo "Checked gencpp submodule, correct version found" + else echo "" echo "" echo "New commits required:" echo "$(git submodule summary)" echo "" + echo "" + echo "gencpp sub repo not at correct version. Try 'git submodule update'" + echo "or follow instructions on http://pixhawk.org/dev/git/submodules" + exit 1 + fi +else + git submodule init; + git submodule update; +fi + +if [ -d Tools/genmsg ] +then + STATUSRETVAL=$(git submodule summary | grep -A20 -i genmsg | grep "<") + if [ -z "$STATUSRETVAL" ] + then + echo "Checked genmsg submodule, correct version found" + else + echo "" + echo "" + echo "New commits required:" + echo "$(git submodule summary)" + echo "" + echo "" + echo "genmsg sub repo not at correct version. Try 'git submodule update'" + echo "or follow instructions on http://pixhawk.org/dev/git/submodules" exit 1 fi else