1*84e33947SAndroid Build Coastguard Worker#!/bin/bash 2*84e33947SAndroid Build Coastguard Worker 3*84e33947SAndroid Build Coastguard Worker# Quit if any command produces an error. 4*84e33947SAndroid Build Coastguard Workerset -e 5*84e33947SAndroid Build Coastguard Worker 6*84e33947SAndroid Build Coastguard WorkerVERSION_FILE=include/chre_api/chre/version.h 7*84e33947SAndroid Build Coastguard Worker 8*84e33947SAndroid Build Coastguard Worker# Get the latest API version 9*84e33947SAndroid Build Coastguard WorkerCURRENT_VERSION=$(grep -E "^\#define CHRE_API_VERSION CHRE_API_VERSION_[0-9]+" $VERSION_FILE) 10*84e33947SAndroid Build Coastguard WorkerMAJOR_VERSION=$(echo $CURRENT_VERSION | cut -d "_" -f 6) 11*84e33947SAndroid Build Coastguard WorkerMINOR_VERSION=$(echo $CURRENT_VERSION | cut -d "_" -f 7) 12*84e33947SAndroid Build Coastguard WorkerARCHIVE_DIRECTORY=v${MAJOR_VERSION}_${MINOR_VERSION} 13*84e33947SAndroid Build Coastguard Workermkdir legacy/$ARCHIVE_DIRECTORY 14*84e33947SAndroid Build Coastguard Workercp -r include/chre_api/* legacy/$ARCHIVE_DIRECTORY 15*84e33947SAndroid Build Coastguard Worker 16*84e33947SAndroid Build Coastguard WorkerARCHIVED_VERSION=$(grep -n "^\#define CHRE_API_VERSION_${MAJOR_VERSION}_${MINOR_VERSION}" $VERSION_FILE) 17*84e33947SAndroid Build Coastguard WorkerLINE_NUMBER=$(($(echo $ARCHIVED_VERSION | cut -d ":" -f 1) + 2)) 18*84e33947SAndroid Build Coastguard WorkerARCHIVED_VERSION=$(echo $ARCHIVED_VERSION | cut -d ":" -f 2) 19*84e33947SAndroid Build Coastguard Worker 20*84e33947SAndroid Build Coastguard WorkerHEX_VERSION=$(echo $(echo $(echo $ARCHIVED_VERSION | cut -d "(" -f 2) | cut -d ")" -f 1) | cut -d "x" -f 2) 21*84e33947SAndroid Build Coastguard WorkerHEX_VERSION=$((16#$HEX_VERSION)) 22*84e33947SAndroid Build Coastguard WorkerBITSHIFT=$(($MINOR_VERSION << 16)) 23*84e33947SAndroid Build Coastguard WorkerHEX_VERSION=$(($HEX_VERSION - $BITSHIFT)) 24*84e33947SAndroid Build Coastguard WorkerMINOR_VERSION=$(($MINOR_VERSION + 1)) 25*84e33947SAndroid Build Coastguard WorkerBITSHIFT=$(($MINOR_VERSION<< 16)); 26*84e33947SAndroid Build Coastguard WorkerHEX_VERSION=$(($HEX_VERSION + $BITSHIFT)) 27*84e33947SAndroid Build Coastguard WorkerHEX_VERSION=$(printf "%x" $HEX_VERSION) 28*84e33947SAndroid Build Coastguard Worker 29*84e33947SAndroid Build Coastguard Workersed -i "${LINE_NUMBER}i#define CHRE_API_VERSION_${MAJOR_VERSION}_${MINOR_VERSION} UINT32_C(0x0${HEX_VERSION})\n" $VERSION_FILE 30*84e33947SAndroid Build Coastguard Workersed -i "s/${CURRENT_VERSION}/\#define CHRE_API_VERSION CHRE_API_VERSION_${MAJOR_VERSION}_${MINOR_VERSION}/g" $VERSION_FILE 31