Skip to content
Snippets Groups Projects
Commit 2b5ababe authored by Virgile Prevosto's avatar Virgile Prevosto
Browse files

[dev] script to update version numbers when preparing a release

parent cabf62ca
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
FCLANG_NEXT=$1
FC_NEXT=$2
FC_NEXT_NAME=$3
if ! test -f frama-clang.opam.template; then
echo "This script must be run from Frama-Clang root directory"
exit 2;
fi
if test -z "$FCLANG_NEXT" -o -z "$FC_NEXT" -o -z "$FC_NEXT_NAME"; then
echo "Missing argument. Usage is:"
echo "./bin/set-version.sh fclang-version fc-version"
exit 2;
fi
if command -v gsed &>/dev/null; then
SED=gsed
else
if sed --version 2>/dev/null | grep -q GNU; then
SED=sed
else
echo "GNU sed required"
exit 1
fi
fi
FC_NEXT_ROOT=$($SED -e "s/^\\([0-9]*\.[0-9]*\\).*/\\1/" <<< $FC_NEXT)
FC_NEXT_MAJOR=$($SED -e "s/^\\([0-9]*\\)\..*/\\1/" <<< $FC_NEXT)
if test -z "$FC_NEXT_ROOT" -o -z "FC_NEXT_MAJOR"; then
echo "Unrecognized fc-version number (expecting X.Y)"
exit 2;
fi
FC_NEXT_NEXT_MAJOR=$(($FC_NEXT_MAJOR + 1))
$SED -i -e "s/^ *version: .*/version: \"$FCLANG_NEXT\"/" frama-clang.opam.template
$SED -i -e "s/^ *version: .*/version: \"$FCLANG_NEXT\"/" frama-clang.opam
$SED -i -e "s/(\"frama-c\" .*/(\"frama-c\" (and (>= $FC_NEXT_ROOT~) (< $FC_NEXT_NEXT_MAJOR.0~)))/" dune-project
echo $FCLANG_NEXT > doc/userman/FCLANG_VERSION
echo $FC_NEXT > doc/userman/FC_VERSION
echo $FC_NEXT_NAME > doc/userman/FC_VERSION_NAME
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment