1#!/bin/bash
2
3# Run this from the top directory of nanopb tree.
4# e.g. user@localhost:~/nanopb$ tools/set_version.sh nanopb-0.1.9-dev
5# It sets the version number in pb.h and generator/nanopb_generator.py.
6
7VERSION_NUMBER_ONLY=$(echo $1 | cut -d '-' -f 2)
8sed -i -e 's/nanopb_version\s*=\s*"[^"]*"/nanopb_version = "'$1'"/' generator/nanopb_generator.py
9sed -i -e 's/#define\s*NANOPB_VERSION\s*.*/#define NANOPB_VERSION "'$1'"/' pb.h
10sed -i -e 's/project(\s*nanopb\s*VERSION\s*[^)]*\s*LANGUAGES\s*C\s*)/project(nanopb VERSION '$VERSION_NUMBER_ONLY' LANGUAGES C)/' CMakeLists.txt
11
12VERSION_ONLY=$(echo $1 | sed 's/nanopb-//')
13if [[ $1 != *dev ]]
14then sed -i -e 's/"version":\s*"[^"]*"/"version": "'$VERSION_ONLY'"/' library.json
15fi
16
17sed -i -e 's/version =.*/version = "'$VERSION_ONLY'"/' conanfile.py
18sed -i -e 's/^version =.*/version = "'$VERSION_ONLY'"/' extra/poetry/pyproject.toml
19