Added simple dependency mechanism which recursively builds dependent overlay bundles.
This commit is contained in:
parent
299b2aebfa
commit
48f12342df
@ -7,6 +7,11 @@ cd ..
|
|||||||
MAIN_SRC_DIR=$(pwd)
|
MAIN_SRC_DIR=$(pwd)
|
||||||
cd $SRC_DIR
|
cd $SRC_DIR
|
||||||
|
|
||||||
|
if [ "$1" = "--skip-clean" ] ; then
|
||||||
|
SKIP_CLEAN=true
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$1" = "" ] ; then
|
if [ "$1" = "" ] ; then
|
||||||
# Read the 'OVERLAY_BUNDLES' property from '.config'
|
# Read the 'OVERLAY_BUNDLES' property from '.config'
|
||||||
OVERLAY_BUNDLES="$(grep -i ^OVERLAY_BUNDLES $MAIN_SRC_DIR/.config | cut -f2 -d'=')"
|
OVERLAY_BUNDLES="$(grep -i ^OVERLAY_BUNDLES $MAIN_SRC_DIR/.config | cut -f2 -d'=')"
|
||||||
@ -19,7 +24,9 @@ if [ "$OVERLAY_BUNDLES" = "" ] ; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
time ./overlay_clean.sh
|
if [ ! "$SKIP_CLEAN" = "true" ] ; then
|
||||||
|
./overlay_clean.sh
|
||||||
|
fi
|
||||||
|
|
||||||
BUNDLES_LIST="$(echo $OVERLAY_BUNDLES | tr ',' ' ')"
|
BUNDLES_LIST="$(echo $OVERLAY_BUNDLES | tr ',' ' ')"
|
||||||
|
|
||||||
@ -29,20 +36,43 @@ do
|
|||||||
|
|
||||||
if [ ! -d $BUNDLE_DIR ] ; then
|
if [ ! -d $BUNDLE_DIR ] ; then
|
||||||
echo "Error - cannot find overlay bundle directory '$BUNDLE_DIR'."
|
echo "Error - cannot find overlay bundle directory '$BUNDLE_DIR'."
|
||||||
continue
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Deal with dependencies BEGIN
|
||||||
|
if [ -f $BUNDLE_DIR/mll_deps ] ; then
|
||||||
|
echo "Overlay bundle '$BUNDLE' depends on the following overlay bundles:"
|
||||||
|
cat $BUNDLE_DIR/mll_deps
|
||||||
|
|
||||||
|
while read line; do
|
||||||
|
# Trim all white spaces in bundle name
|
||||||
|
BUNDLE_DEP=`echo $line | awk '{print $1}'`
|
||||||
|
|
||||||
|
if [ "$BUNDLE_DEP" = "" ] ; then
|
||||||
|
continue
|
||||||
|
elif [ -d $MAIN_SRC_DIR/work/overlay/$BUNDLE_DEP ] ; then
|
||||||
|
echo "Overlay bundle '$BUNDLE_DEP' has already been prepared."
|
||||||
|
else
|
||||||
|
echo "Preparing overlay bundle '$BUNDLE_DEP'..."
|
||||||
|
cd $SRC_DIR
|
||||||
|
./overlay_build.sh --skip-clean $BUNDLE_DEP
|
||||||
|
echo "Overlay bundle '$BUNDLE_DEP' has been prepared."
|
||||||
|
fi
|
||||||
|
done < $BUNDLE_DIR/mll_deps
|
||||||
|
fi
|
||||||
|
# Deal with dependencies END
|
||||||
|
|
||||||
BUNDLE_SCRIPT=$BUNDLE_DIR/bundle.sh
|
BUNDLE_SCRIPT=$BUNDLE_DIR/bundle.sh
|
||||||
|
|
||||||
if [ ! -f $BUNDLE_SCRIPT ] ; then
|
if [ ! -f $BUNDLE_SCRIPT ] ; then
|
||||||
echo "Error - cannot find overlay bundle script file '$BUNDLE_SCRIPT'."
|
echo "Error - cannot find overlay bundle script file '$BUNDLE_SCRIPT'."
|
||||||
continue
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $BUNDLE_DIR
|
cd $BUNDLE_DIR
|
||||||
|
|
||||||
echo "Building overlay bundle '$BUNDLE'..."
|
echo "Building overlay bundle '$BUNDLE'..."
|
||||||
time $BUNDLE_SCRIPT
|
$BUNDLE_SCRIPT
|
||||||
|
|
||||||
cd $SRC_DIR
|
cd $SRC_DIR
|
||||||
done
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user