1b77c10cd938f895234f3799212fd3ffde441fd1
[platform/core/ml/nnfw.git] / tools / update_version / update-version
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 all version information"
12   echo ""
13   echo "Options:"
14   echo "    -h   show this help"
15   echo ""
16   echo "Examples:"
17   echo "    $progname 1.6.0"
18   exit 1
19 }
20
21 if [ $# -eq 0 ]; then
22   echo "For help, type $progname -h"
23   exit 1
24 fi
25
26 while getopts "ho:" OPTION; do
27 case "${OPTION}" in
28     h) usage;;
29     ?) exit 1;;
30 esac
31 done
32
33 shift $((OPTIND-1))
34
35 if [ $# -ne 1 ]; then
36   echo "error: wrong argument (no argument or too many arguments)."
37   echo "For help, type $progname -h"
38   exit 1
39 fi
40
41 version=$1
42
43 perl -pi -e "s/^release = .*/release = \'$version\'/" ${nnfw_root}/docs/conf.py
44
45 perl -pi -e "s/^Version: .*/Version: $version/" ${nnfw_root}/packaging/nnfw.spec
46
47 IFS=. read M m p <<< "$version"
48 hex=$(printf '0x%08x' $(( (($M << 24)) | (($m << 8)) | $p )))
49 perl -pi -e "s/^#define NNFW_VERSION.*/#define NNFW_VERSION $hex/" ${nnfw_root}/runtime/onert/api/include/nnfw_version.h
50
51 perl -pi -e "s/versionName .*$/versionName \"$version\"/" ${nnfw_root}/runtime/contrib/android/api/build.gradle