blob: 0095d5065de7cde264077de56e6201e4658bcfd7 [file] [log] [blame]
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
which versioner >/dev/null 2>&1
if [ $? -ne 0 ]; then
>&2 echo "versioner not in path; run mma in $DIR/versioner"
exit 1
fi
VERSION=$(git rev-parse --short HEAD)
git diff-index --quiet HEAD
DIRTY=$?
git branch -r --contains HEAD | grep -q aosp/master
SUBMITTED=$?
if [ $DIRTY -ne 0 ]; then
>&2 echo "Warning: bionic has uncommitted changes"
VERSION="${VERSION}-dirty"
elif [ $SUBMITTED -ne 0 ]; then
>&2 echo "Warning: current HEAD does not exist in aosp/master"
VERSION="${VERSION}-unsubmitted"
fi
PREBUILTS_DIR=$ANDROID_BUILD_TOP/prebuilts/ndk
BRANCH_NAME=$(git -C $PREBUILTS_DIR symbolic-ref --short -q HEAD)
if [ $? -ne 0 ]; then
BRANCH_NAME=update-bionic-headers-$VERSION
echo "prebuilts/ndk has detached head; creating branch $BRANCH_NAME"
repo start $BRANCH_NAME $PREBUILTS_DIR
else
echo "prebuilts/ndk already on branch $BRANCH_NAME"
fi
HEADERS_INSTALL=$PREBUILTS_DIR/headers
if [ -d "$HEADERS_INSTALL" ]; then
git -C $PREBUILTS_DIR rm -r --ignore-unmatch $HEADERS_INSTALL
if [ -d $HEADERS_INSTALL ]; then
rm -r $HEADERS_INSTALL
fi
fi
versioner -p versioner/platforms versioner/current versioner/dependencies \
-o $HEADERS_INSTALL
if [ $? -ne 0 ]; then
>&2 echo "Header preprocessing failed"
exit 1
fi
cp ../libc/NOTICE $PREBUILTS_DIR
git -C $PREBUILTS_DIR add $HEADERS_INSTALL $PREBUILTS_DIR/NOTICE
git -C $PREBUILTS_DIR commit -m "Update bionic headers to $VERSION."