Skip to content

Commit ac9b669

Browse files
committed
add script that updates the release number
1 parent b6dd3db commit ac9b669

File tree

1 file changed

+49
-2
lines changed

1 file changed

+49
-2
lines changed

Tools/update_release.sh

100644100755
Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,52 @@
11
#!/usr/bin/env bash
22

3-
# This script check
4-
release_number=`git describe --tags`
3+
# This script updates release version number in all source files.
4+
#
5+
# updates occurences like "version = '??.??'" where ??.?? is the version number
6+
# updates occurences like "WarpX v??.??" where ??.?? is the version number
7+
#
8+
# Requirements:
9+
# - gnu grep (default grep on MacOS does not have same -P option)
10+
# - gnu sed (default grep on MacOS does not have same -i option)
511

12+
set -e
13+
14+
# Get old tag number from git
15+
git_tag=`git describe --tags`
16+
old_release_number="${git_tag%%-*}"
17+
18+
# Construct new tag number from current date
19+
d=`date +%Y.%m`
20+
new_release_number=${d:2}
21+
22+
echo "Replace release number $old_release_number by $new_release_number"
23+
24+
# Loop over files and sed patterns with version number
25+
pattern="\.c$|\.cpp$|\.F90$|\.h$|\.H$|\.ini$|\.md$|\.py$|"\
26+
"\.rst$|\.sh$|\.tex$|\.txt$|\.xml$|\.yml$|"\
27+
"CMakeLists\.txt|inputs"
28+
for i in $(find .. \
29+
-not -path "../.git/*" \
30+
-not -path "../.idea/*" \
31+
-not -path "../Docs/source/api/*" \
32+
-not -path "../Docs/build/*" \
33+
-not -path "../Docs/doxyxml/*" \
34+
-not -path "*wp_parse*" \
35+
-not -path "../tmp_build_dir/*" \
36+
-type f | \
37+
grep -P "${pattern}")
38+
do
39+
echo $i
40+
# update occurences like "version = '??.??'" where ??.?? is the version number
41+
# Note: sleep is required due to a bug in sed: without, the file
42+
# permissions are modified
43+
sed -i "s/version = "\'"$old_release_number"\'"/version = "\'"$new_release_number"\'"/g" $i && sleep .001
44+
# update occurences like "WarpX v??.??" where ??.?? is the version number
45+
sed -i "s/WarpX v$old_release_number/WarpX v$new_release_number/g" $i && sleep .001
46+
done
47+
48+
echo ""
49+
echo "WARNING: Remaining occurences of $old_release_number are listed below."
50+
echo " Is this expected? Or should these be updated too?"
51+
echo ""
52+
git grep "$old_release_number" .

0 commit comments

Comments
 (0)