xref: /aosp_15_r20/development/scripts/codegen (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker#!/usr/bin/env bash
2*90c8c64dSAndroid Build Coastguard Worker
3*90c8c64dSAndroid Build Coastguard Workertop="$(dirname $0)/../.."
4*90c8c64dSAndroid Build Coastguard Worker
5*90c8c64dSAndroid Build Coastguard Workerfunction buildCodegen() {
6*90c8c64dSAndroid Build Coastguard Worker	$top/build/soong/soong_ui.bash --build-mode --all-modules --dir="$PWD" -j codegen_cli 1>&2
7*90c8c64dSAndroid Build Coastguard Worker}
8*90c8c64dSAndroid Build Coastguard Worker
9*90c8c64dSAndroid Build Coastguard Workerif ! command -v codegen_cli 2>&1 >/dev/null; then
10*90c8c64dSAndroid Build Coastguard Worker	# First time running codegen
11*90c8c64dSAndroid Build Coastguard Worker	buildCodegen
12*90c8c64dSAndroid Build Coastguard Workerelse
13*90c8c64dSAndroid Build Coastguard Worker	latestVersion=$(cat $top/frameworks/base/tools/codegen/src/com/android/codegen/SharedConstants.kt | grep 'CODEGEN_VERSION =' | awk '{ print $5 }' | tr -d '"')
14*90c8c64dSAndroid Build Coastguard Worker	if [[ $(codegen_cli --version) != $latestVersion ]]; then
15*90c8c64dSAndroid Build Coastguard Worker		# Update codegen
16*90c8c64dSAndroid Build Coastguard Worker		buildCodegen
17*90c8c64dSAndroid Build Coastguard Worker	fi
18*90c8c64dSAndroid Build Coastguard Workerfi
19*90c8c64dSAndroid Build Coastguard Worker
20*90c8c64dSAndroid Build Coastguard Workerexec codegen_cli "$@"
21