Files
ArduinoJson/extras/scripts/publish.sh

65 lines
1.9 KiB
Bash
Raw Normal View History

2018-08-31 16:57:14 +02:00
#!/usr/bin/env bash
2018-08-31 17:04:15 +02:00
set -eu
2018-08-31 16:57:14 +02:00
cd "$(dirname "$0")/../.."
2018-08-31 16:57:14 +02:00
VERSION="$1"
DATE=$(date +%F)
TAG="v$VERSION"
VERSION_REGEX="[0-9a-z\\.\\-]+"
2018-08-31 16:57:14 +02:00
update_version_in_source () {
IFS=".-" read MAJOR MINOR REVISION EXTRA < <(echo "$VERSION")
UNDERLINE=$(printf -- '-%.0s' $(seq 1 ${#TAG}))
sed -i~ -bE "s/version=$VERSION_REGEX/version=$VERSION/; s|ardu-badge.com/ArduinoJson/$VERSION_REGEX|ardu-badge.com/ArduinoJson/$VERSION|; " README.md
2020-05-15 09:26:06 +02:00
rm README.md~
2018-08-31 16:57:14 +02:00
sed -i~ -bE "4s/HEAD/$TAG ($DATE)/; 5s/-+/$UNDERLINE/" CHANGELOG.md
2020-05-15 09:26:06 +02:00
rm CHANGELOG.md~
2019-03-04 12:20:30 +01:00
sed -i~ -bE "s/(project\\s*\\(ArduinoJson\\s+VERSION\\s+).*?\\)/\\1$MAJOR.$MINOR.$REVISION)/" CMakeLists.txt
2020-05-15 09:26:06 +02:00
rm CMakeLists.txt~
2018-08-31 16:57:14 +02:00
sed -i~ -bE "s/\"version\":.*$/\"version\": \"$VERSION\",/" library.json
2020-05-15 09:26:06 +02:00
rm library.json~
2018-08-31 16:57:14 +02:00
sed -i~ -bE "s/version=.*$/version=$VERSION/" library.properties
2020-05-15 09:26:06 +02:00
rm library.properties~
2018-08-31 16:57:14 +02:00
2019-03-04 12:20:30 +01:00
sed -i~ -bE "s/version: .*$/version: $VERSION.{build}/" appveyor.yml
2020-05-15 09:26:06 +02:00
rm appveyor.yml~
2019-03-04 12:20:30 +01:00
2018-08-31 16:57:14 +02:00
sed -i~ -bE \
-e "s/ARDUINOJSON_VERSION .*$/ARDUINOJSON_VERSION \"$VERSION\"/" \
-e "s/ARDUINOJSON_VERSION_MAJOR .*$/ARDUINOJSON_VERSION_MAJOR $MAJOR/" \
-e "s/ARDUINOJSON_VERSION_MINOR .*$/ARDUINOJSON_VERSION_MINOR $MINOR/" \
-e "s/ARDUINOJSON_VERSION_REVISION .*$/ARDUINOJSON_VERSION_REVISION $REVISION/" \
src/ArduinoJson/version.hpp
rm src/ArduinoJson/version.hpp*~
}
commit_new_version () {
git add src/ArduinoJson/version.hpp README.md CHANGELOG.md library.json library.properties appveyor.yml CMakeLists.txt
2018-08-31 16:57:14 +02:00
git commit -m "Set version to $VERSION"
}
add_tag () {
CHANGES=$(awk '/\* /{ FOUND=1; print; next } { if (FOUND) exit}' CHANGELOG.md)
2018-08-31 17:04:15 +02:00
git tag -m "ArduinoJson $VERSION"$'\n'"$CHANGES" "$TAG"
}
push () {
git push --follow-tags
2018-08-31 16:57:14 +02:00
}
update_version_in_source
commit_new_version
add_tag
2018-08-31 17:04:15 +02:00
push
2019-09-05 09:36:18 +02:00
extras/scripts/build-arduino-package.sh
extras/scripts/build-single-header.sh
extras/scripts/wandbox/publish.sh "../ArduinoJson-$TAG.h"