mirror of
https://github.com/EyeTrackVR/OpenIris.git
synced 2025-09-26 23:29:14 +08:00
62 lines
2.4 KiB
Bash
62 lines
2.4 KiB
Bash
#!/bin/bash
|
|
|
|
sudo apt-get install -y jq
|
|
|
|
nextReleaseVersion=$1
|
|
|
|
# parse all letters a-z and A-Z and replace with nothing
|
|
# this will remove all letters from the version string
|
|
# this is to ensure that the version string is a valid semver
|
|
|
|
# check if there is a letter in the version string
|
|
# if there is a letter, then remove it
|
|
# if there is no letter, then do nothing
|
|
if [[ $nextReleaseVersion =~ [a-zA-Z] ]]; then
|
|
nextReleaseVersion=$(echo $nextReleaseVersion | sed 's/[a-zA-Z]//g')
|
|
|
|
# check if there is a dash in the version string
|
|
# if there is a dash, then replace it with a dot
|
|
# if there is no dash, then do nothing
|
|
if [[ $nextReleaseVersion =~ "-" ]]; then
|
|
# parse all dashes and replace with dots
|
|
# this is to ensure that the version string is a valid semver
|
|
nextReleaseVersion=$(echo $nextReleaseVersion | sed 's/-/./g')
|
|
|
|
# remove everything after the third dot and the dot itself
|
|
# this is to ensure that the version string is a valid semver
|
|
nextReleaseVersion=$(echo $nextReleaseVersion | sed 's/\.[0-9]*$//g')
|
|
# remove the last dot
|
|
nextReleaseVersion=$(echo $nextReleaseVersion | sed 's/\.$//g')
|
|
fi
|
|
fi
|
|
|
|
printf "[prepareCMD.sh]: Next version: ${nextReleaseVersion}\n"
|
|
printf "[prepareCMD.sh]: Executing prepareCMD.sh on remote host \n"
|
|
printf "[prepareCMD.sh]: Updating the version in the library.json file \n"
|
|
|
|
# make a temp file
|
|
tmp=$(mktemp)
|
|
|
|
jq --arg a "$nextReleaseVersion" '.version = $a' ./ESP/lib/library.json > "$tmp" && mv "$tmp" ./ESP/lib/library.json -f
|
|
|
|
printf "[prepareCMD.sh]: Done, moving on to next files \n"
|
|
|
|
sed -i -e "/^\[env\]/,/^\[.*\]/ s|^\(custom_firmware_version[ \t]*=[ \t]*\).*$|\1$nextReleaseVersion|" "./ESP/ini/dev_config.ini"
|
|
|
|
printf "[prepareCMD.sh]: Updating the version in the dev_config.ini file \n"
|
|
printf "[prepareCMD.sh]: Mass renaming files in the ./build sub folders \n"
|
|
|
|
buildPaths=($(ls ./build))
|
|
# loop through all the sub folders in the build folder
|
|
for buildPath in "${buildPaths[@]}"
|
|
do
|
|
printf "[prepareCMD.sh]: Build Path: ${buildPath} \n"
|
|
fileToRename=$(ls ./build/${buildPath})
|
|
newFileName=$(echo $fileToRename | sed "s/v[0-9]*\.[0-9]*\.[0-9]*/v${nextReleaseVersion}/g")
|
|
printf "[prepareCMD.sh]: Renaming file: ${fileToRename} to ${newFileName} \n"
|
|
mv ./build/${buildPath}/${fileToRename} ./build/${buildPath}/${newFileName}
|
|
done
|
|
|
|
printf "[prepareCMD.sh]: Done, continuing with release. \n"
|
|
|