#!/bin/bash set -eo pipefail if [[ -z "$FROM_VERSION" || -z "$TO_VERSION" ]]; then echo echo "Examples of use: " echo " export FROM_VERSION=2.12.0; export TO_VERSION=2.13.0; ${0}" echo " export FROM_VERSION=2.12.0; export TO_VERSION=2.13.0; export FROM_VERSION_SDK=2.12.0; export TO_VERSION_SDK=2.13.0; ${0}" echo exit 1 fi if [[ -z "$FROM_VERSION_SDK" || -z "$TO_VERSION_SDK" ]]; then echo echo "No FROM_VERSION_SDK and TO_VERSION_SDK properties provided. Server SDKs depdendencies won't be updated." echo "To update also server SDKs dependencies, run the script like this:" echo " export FROM_VERSION=2.12.0; export TO_VERSION=2.13.0; export FROM_VERSION_SDK=2.12.0; export TO_VERSION_SDK=2.13.0; ${0}" echo read -p "Do you still want to continue? [Y/N]" -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then : else echo "Aborted" exit 1 fi fi echo "## Updating openvidu-tutorials" echo "## From $FROM_VERSION to $TO_VERSION" if [[ ! -z "$FROM_VERSION_SDK" || ! -z "$TO_VERSION_SDK" ]]; then echo "## From SDK $FROM_VERSION_SDK to SDK $TO_VERSION_SDK" fi echo NPM_TUTORIALS="openvidu-angular openvidu-react openvidu-library-react openvidu-ionic openvidu-js-node openvidu-mvc-node openvidu-recording-node openvidu-react-native openvidu-electron openvidu-vue openvidu-call/openvidu-call-front openvidu-call/openvidu-call-back" MAVEN_TUTORIALS="openvidu-js-java openvidu-mvc-java openvidu-recording-java openvidu-ipcameras" # Delete all package-lock.json and node_modules find -type f -name 'package-lock.json' -exec rm {} \; find -type d -name 'node_modules' -prune -exec rm -rf {} \; # Updating openvidu-browser dependencies in package.json files [openvidu-angular, openvidu-react, openvidu-ionic, openvidu-vue] find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-browser\": \"$FROM_VERSION\"/\"openvidu-browser\": \"$TO_VERSION\"/" {} \; # Updating openvidu-react dependencies in package.json files [openvidu-library-react] find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-react\": \"$FROM_VERSION\"/\"openvidu-react\": \"$TO_VERSION\"/" {} \; # Updating openvidu-angular dependencies in package.json files [openvidu-call, openvidu-components/*] find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-angular\": \"$FROM_VERSION\"/\"openvidu-angular\": \"$TO_VERSION\"/" {} \; # Updating openvidu-react-native-adapter dependencies in package.json files [openvidu-react-native] find . -type f -name 'package.json' -exec sed -i "s/file:openvidu-react-native-adapter-$FROM_VERSION.tgz/file:openvidu-react-native-adapter-$TO_VERSION.tgz/" {} \; # If server SDKs must be udpated if [[ -n "$FROM_VERSION_SDK" && -n "$TO_VERSION_SDK" ]]; then # Updating openvidu-node-client dependencies in package.json files [openvidu-js-node, openvidu-mvc-node, openvidu-recording-node] find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-node-client\": \"$FROM_VERSION_SDK\"/\"openvidu-node-client\": \"$TO_VERSION_SDK\"/" {} \; # Updating openvidu-java-client dependencies in pom.xml files for tutorial in ${MAVEN_TUTORIALS} do cd $tutorial mvn --batch-mode versions:use-dep-version -Dincludes=io.openvidu:openvidu-java-client -DdepVersion=$TO_VERSION_SDK -DforceVersion=true cd .. done fi # Update every import in every *.html or *.ejs file (14 files changed) for file in *.html *.ejs; do echo echo "###############################" echo "Updating openvidu-browser