blob: e3a836a90ac12eaf87e098ae30e84f1bd01c62ef [file] [log] [blame]
fei.deng66b4e812022-04-14 12:23:01 +08001#!/bin/bash
2
fei.deng4475f642022-07-19 15:38:49 +08003#version rule:MAJORVERSION.MINORVERSION.COMMIT_COUNT-g(COMMIT_ID)
fei.deng66b4e812022-04-14 12:23:01 +08004
guoping.li77dcf202024-04-26 19:05:19 +08005OUT_DIR=
6if [ $# == 1 ];then
7 OUT_DIR=$1/
8 mkdir -p "${OUT_DIR}src"
9fi
10
fei.deng66b4e812022-04-14 12:23:01 +080011BASE=$(pwd)
12echo $BASE
13
14#major version
15MAJORVERSION=1
16
17#minor version
fei.dengd7c4c9c2022-10-18 19:01:19 +080018MINORVERSION=3
fei.deng66b4e812022-04-14 12:23:01 +080019
fei.dengb78aeac2022-11-22 23:28:49 +080020#release version commit id
21RELEASE_COMMIT_ID=d7c4c9c
fei.deng66b4e812022-04-14 12:23:01 +080022#modue name/
23MODULE_NAME=MM-module-name:avsync-lib
24
25#get all commit count
fei.dengb78aeac2022-11-22 23:28:49 +080026COMMIT_COUNT=$(git rev-list $RELEASE_COMMIT_ID..HEAD --count)
fei.deng66b4e812022-04-14 12:23:01 +080027echo commit count $COMMIT_COUNT
28
29#get current commit id
fei.deng4475f642022-07-19 15:38:49 +080030COMMIT_ID=$(git rev-parse --short HEAD)
fei.deng66b4e812022-04-14 12:23:01 +080031echo commit id $COMMIT_ID
32
guoping.li77dcf202024-04-26 19:05:19 +080033cp "src/aml_version.h.in" "${OUT_DIR}src/aml_version.h.tmp"
fei.deng66b4e812022-04-14 12:23:01 +080034#find the module name line
guoping.li77dcf202024-04-26 19:05:19 +080035MODULE_NAME_LINE=`sed -n '/\"MM-module-name/=' ${OUT_DIR}src/aml_version.h.tmp`
fei.deng66b4e812022-04-14 12:23:01 +080036#echo $VERSION_LINE
37
38#version rule string
fei.deng4475f642022-07-19 15:38:49 +080039VERSION_STRING=${MAJORVERSION}.${MINORVERSION}.${COMMIT_COUNT}-g${COMMIT_ID}
fei.deng66b4e812022-04-14 12:23:01 +080040
41#update the original version
42if [ ${MODULE_NAME_LINE} -gt 0 ]; then
guoping.li77dcf202024-04-26 19:05:19 +080043sed -i -e ${MODULE_NAME_LINE}s"/.*/\"${MODULE_NAME},version:${VERSION_STRING}\"\;/" ${OUT_DIR}src/aml_version.h.tmp
44fi
45
46#if version.h already exist, compare the content, if it's the same, using the original file, avoid rebuild
47if [ -e "${OUT_DIR}src/aml_version.h" ]; then
48 file1_hash=$(md5sum ${OUT_DIR}src/aml_version.h | awk '{print $1}')
49 file2_hash=$(md5sum ${OUT_DIR}src/aml_version.h.tmp | awk '{print $1}')
50
51 if [ "$file1_hash" == "$file2_hash" ]; then
52 echo "version file content is the same"
53 rm ${OUT_DIR}src/aml_version.h.tmp
54 else
55 echo "version file content is not the same, use the tmp file"
56 mv ${OUT_DIR}src/aml_version.h.tmp ${OUT_DIR}src/aml_version.h
57 fi
58else
59 echo "no version file, use the tmp version file"
60 mv ${OUT_DIR}src/aml_version.h.tmp ${OUT_DIR}src/aml_version.h
fei.deng66b4e812022-04-14 12:23:01 +080061fi