-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathupdate_develop_version.sh
executable file
·36 lines (28 loc) · 1.63 KB
/
update_develop_version.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env sh
set -eu
if [ "$#" -eq "0" ]; then
echo "USAGE:\n $0 OLD_VERSION NEW_VERSION SPOOFAX_VERSION\n\nReplaces \${OLD_VERSION}-SNAPSHOT with \${NEW_VERSION}-SNAPSHOT, updates Spoofax to latest snapshot version. \n\${SPOOFAX_VERSION}-SNAPSHOT should also be this latest release version to update a file with that cannot be auto-updated with maven. "
exit 0
fi
OLD_VERSION=$1
OLD_VERSION_SNAPSHOT="$OLD_VERSION-SNAPSHOT"
NEW_VERSION=$2
NEW_VERSION_SNAPSHOT="$NEW_VERSION-SNAPSHOT"
SPOOFAX_VERSION="$3-SNAPSHOT"
PROJECTS="lang.java lang.java.test lang.java.javac lang.java.statics lang.java.statics.test lang.java.example"
for project in $PROJECTS; do
sed -i'' -e "s/$OLD_VERSION-SNAPSHOT/$NEW_VERSION/g" $project/metaborg.yaml
done
for project in . $PROJECTS; do
sed -i'' -e "s|<version>.*</version>|<version>$SPOOFAX_VERSION</version>|g" $project/.mvn/extensions.xml
done
sed -i'' -e "s/$OLD_VERSION.qualifier/$NEW_VERSION.qualifier/g" lang.java.eclipse.site/site.xml
sed -i'' -e "s/$OLD_VERSION.qualifier/$NEW_VERSION.qualifier/g" lang.java.eclipse.feature/feature.xml
sed -i'' -e "s/$OLD_VERSION.qualifier/$NEW_VERSION.qualifier/g" lang.java.eclipse/META-INF/MANIFEST.MF
# Update Spoofax to newest released version
for project in . $PROJECTS; do
mvn -f $project/pom.xml versions:update-parent -DgenerateBackupPoms=false
done
# Update java-front version to new version
mvn -f pom.xml versions:set -DnewVersion=$NEW_VERSION_SNAPSHOT -DprocessAllModules=true -DgenerateBackupPoms=false
mvn -f lang.java.statics.test/pom.xml versions:set -DnewVersion=$NEW_VERSION_SNAPSHOT -DgenerateBackupPoms=false # manual as long as disabled in pom.xml