fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
fei.deng | 88db305 | 2022-07-19 15:32:21 +0800 | [diff] [blame] | 3 | #version rule:MAJORVERSION.MINORVERSION.COMMIT_COUNT-g(COMMIT_ID) |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 4 | |
guoping.li | 575a5b6 | 2024-05-08 16:34:04 +0800 | [diff] [blame] | 5 | OUT_DIR= |
| 6 | if [ $# == 1 ];then |
| 7 | OUT_DIR=$1/ |
| 8 | mkdir -p "${OUT_DIR}src" |
| 9 | fi |
| 10 | |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 11 | BASE=$(pwd) |
| 12 | echo $BASE |
| 13 | |
| 14 | #major version |
| 15 | MAJORVERSION=1 |
| 16 | |
fei.deng | 456deec | 2023-06-28 02:26:39 +0000 | [diff] [blame] | 17 | #current minor version,if release a new version,please update it |
| 18 | MINORVERSION=3 |
| 19 | |
| 20 | #last release version commit id,please store commit id here every release version |
| 21 | RELEASE_COMMIT_ID=bcd880e8 |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 22 | |
| 23 | #modue name/ |
| 24 | MODULE_NAME=MM-module-name:gst-plugin-video-sink |
| 25 | |
fei.deng | 456deec | 2023-06-28 02:26:39 +0000 | [diff] [blame] | 26 | #get all commit count from last release version |
| 27 | COMMIT_COUNT=$(git rev-list $RELEASE_COMMIT_ID..HEAD --count) |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 28 | echo commit count $COMMIT_COUNT |
| 29 | |
| 30 | #get current commit id |
fei.deng | 88db305 | 2022-07-19 15:32:21 +0800 | [diff] [blame] | 31 | COMMIT_ID=$(git rev-parse --short HEAD) |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 32 | echo commit id $COMMIT_ID |
| 33 | |
guoping.li | 575a5b6 | 2024-05-08 16:34:04 +0800 | [diff] [blame] | 34 | cp "src/aml_version.h.in" "${OUT_DIR}src/aml_version.h.tmp" |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 35 | #find the module name line |
guoping.li | 575a5b6 | 2024-05-08 16:34:04 +0800 | [diff] [blame] | 36 | MODULE_NAME_LINE=`sed -n '/\"MM-module-name/=' ${OUT_DIR}src/aml_version.h.tmp` |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 37 | #echo $VERSION_LINE |
| 38 | |
| 39 | #version rule string |
fei.deng | 88db305 | 2022-07-19 15:32:21 +0800 | [diff] [blame] | 40 | VERSION_STRING=${MAJORVERSION}.${MINORVERSION}.${COMMIT_COUNT}-g${COMMIT_ID} |
fei.deng | 456deec | 2023-06-28 02:26:39 +0000 | [diff] [blame] | 41 | echo version: $VERSION_STRING |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 42 | |
| 43 | #update the original version |
| 44 | if [ ${MODULE_NAME_LINE} -gt 0 ]; then |
guoping.li | 575a5b6 | 2024-05-08 16:34:04 +0800 | [diff] [blame] | 45 | sed -i -e ${MODULE_NAME_LINE}s"/.*/\"${MODULE_NAME},version:${VERSION_STRING}\"\;/" ${OUT_DIR}src/aml_version.h.tmp |
| 46 | fi |
| 47 | |
| 48 | #if version.h already exist, compare the content, if it's the same, using the original file, avoid rebuild |
| 49 | if [ -e "${OUT_DIR}src/aml_version.h" ]; then |
| 50 | file1_hash=$(md5sum ${OUT_DIR}src/aml_version.h | awk '{print $1}') |
| 51 | file2_hash=$(md5sum ${OUT_DIR}src/aml_version.h.tmp | awk '{print $1}') |
| 52 | |
| 53 | if [ "$file1_hash" == "$file2_hash" ]; then |
| 54 | echo "version file content is the same" |
| 55 | rm ${OUT_DIR}src/aml_version.h.tmp |
| 56 | else |
| 57 | echo "version file content is not the same, use the tmp file" |
| 58 | mv ${OUT_DIR}src/aml_version.h.tmp ${OUT_DIR}src/aml_version.h |
| 59 | fi |
| 60 | else |
| 61 | echo "no version file, use the tmp version file" |
| 62 | mv ${OUT_DIR}src/aml_version.h.tmp ${OUT_DIR}src/aml_version.h |
fei.deng | e3847f8 | 2022-04-14 13:47:42 +0800 | [diff] [blame] | 63 | fi |