blob: 2d23107e9b70505e3b4f0b9b1e5a43140a3ae7c0 [file] [log] [blame] [edit]
#!/bin/bash
# Quit if any command produces an error.
set -e
VERSION_FILE=include/chre_api/chre/version.h
# Get the latest API version
CURRENT_VERSION=$(grep -E "^\#define CHRE_API_VERSION CHRE_API_VERSION_[0-9]+" $VERSION_FILE)
MAJOR_VERSION=$(echo $CURRENT_VERSION | cut -d "_" -f 6)
MINOR_VERSION=$(echo $CURRENT_VERSION | cut -d "_" -f 7)
ARCHIVE_DIRECTORY=v${MAJOR_VERSION}_${MINOR_VERSION}
mkdir legacy/$ARCHIVE_DIRECTORY
cp -r include/chre_api/* legacy/$ARCHIVE_DIRECTORY
ARCHIVED_VERSION=$(grep -n "^\#define CHRE_API_VERSION_${MAJOR_VERSION}_${MINOR_VERSION}" $VERSION_FILE)
LINE_NUMBER=$(($(echo $ARCHIVED_VERSION | cut -d ":" -f 1) + 2))
ARCHIVED_VERSION=$(echo $ARCHIVED_VERSION | cut -d ":" -f 2)
HEX_VERSION=$(echo $(echo $(echo $ARCHIVED_VERSION | cut -d "(" -f 2) | cut -d ")" -f 1) | cut -d "x" -f 2)
HEX_VERSION=$((16#$HEX_VERSION))
BITSHIFT=$(($MINOR_VERSION << 16))
HEX_VERSION=$(($HEX_VERSION - $BITSHIFT))
MINOR_VERSION=$(($MINOR_VERSION + 1))
BITSHIFT=$(($MINOR_VERSION<< 16));
HEX_VERSION=$(($HEX_VERSION + $BITSHIFT))
HEX_VERSION=$(printf "%x" $HEX_VERSION)
sed -i "${LINE_NUMBER}i#define CHRE_API_VERSION_${MAJOR_VERSION}_${MINOR_VERSION} UINT32_C(0x0${HEX_VERSION})\n" $VERSION_FILE
sed -i "s/${CURRENT_VERSION}/\#define CHRE_API_VERSION CHRE_API_VERSION_${MAJOR_VERSION}_${MINOR_VERSION}/g" $VERSION_FILE