Imported Upstream version 1.9.0
[platform/core/ml/nnfw.git] / tools / release_tool / onert_version.sh
1 #!/bin/bash
2
3 set -eu
4
5 progname=$(basename "${BASH_SOURCE[0]}")
6 script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
7 nnfw_root="$( cd "${script_dir%*/*/*}" && pwd )"
8
9 usage() {
10   echo "Usage: $progname version"
11   echo "Update or show onert version information"
12   echo ""
13   echo "Options:"
14   echo "    -h   show this help"
15   echo "    -s   set onert  version"
16   echo ""
17   echo "Examples:"
18   echo "    $progname           => show current onert version"
19   echo "    $progname -s 1.6.0  => set onert version info in all sources"
20   exit 1
21 }
22
23 show_version() {
24   version_line=$(cat ${nnfw_root}/packaging/nnfw.spec | grep "Version:")
25   echo ${version_line#"Version:"}
26
27   exit 0
28 }
29
30 set_version() {
31   version=$1
32   perl -pi -e "s/^release = .*/release = \'$version\'/" ${nnfw_root}/docs/conf.py
33   perl -pi -e "s/^Version: .*/Version: $version/" ${nnfw_root}/packaging/nnfw.spec
34
35   IFS=. read M m p <<< "$version"
36   hex=$(printf '0x%08x' $(( (($M << 24)) | (($m << 8)) | $p )))
37   perl -pi -e "s/^#define NNFW_VERSION.*/#define NNFW_VERSION $hex/" ${nnfw_root}/runtime/onert/api/include/nnfw_version.h
38
39   perl -pi -e "s/versionName .*$/versionName \"$version\"/" ${nnfw_root}/runtime/contrib/android/api/build.gradle
40 }
41
42 if [ $# -eq 0 ]; then
43   show_version
44 fi
45
46 while getopts "hs:" OPTION; do
47 case "${OPTION}" in
48     h) usage;;
49     s) set_version "$OPTARG";;
50     ?) exit 1;;
51 esac
52 done
53
54 shift $((OPTIND-1))