xref: /aosp_15_r20/system/chre/chre_api/archive_chre_api.sh (revision 84e339476a462649f82315436d70fd732297a399)
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