| #!/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 |