#!/bin/bash set -eo pipefail if [[ -z "$VERSION" || -z "$FROM_OPENVIDU_BROWSER_VERSION" || -z "$TO_OPENVIDU_BROWSER_VERSION" || -z "$FROM_OPENVIDU_NODE_CLIENT_VERSION" || -z "$TO_OPENVIDU_NODE_CLIENT_VERSION" || -z "$TO_OPENVIDU_JAVA_CLIENT_VERSION" ]]; then echo echo "Must declare:" echo "- The new version of the projects with VERSION" echo "- The previous and new version of openvidu-browser (and related libraries) with FROM_OPENVIDU_BROWSER_VERSION and TO_OPENVIDU_BROWSER_VERSION" echo "- The previous and new version of openvidu-node-client with FROM_OPENVIDU_NODE_CLIENT_VERSION and TO_OPENVIDU_NODE_CLIENT_VERSION" echo "- The new version of openvidu-java-client with TO_OPENVIDU_JAVA_CLIENT_VERSION" echo echo "Example of use:" echo echo "export VERSION=2.26.0" echo "export FROM_OPENVIDU_BROWSER_VERSION=2.25.0" echo "export TO_OPENVIDU_BROWSER_VERSION=2.26.0" echo "export FROM_OPENVIDU_NODE_CLIENT_VERSION=2.25.0" echo "export TO_OPENVIDU_NODE_CLIENT_VERSION=2.26.0" echo "export TO_OPENVIDU_JAVA_CLIENT_VERSION=2.26.0" echo "${0}" echo exit 1 fi echo echo "## Updating openvidu-tutorials to $VERSION" echo "## - From openvidu-browser $FROM_OPENVIDU_BROWSER_VERSION to $TO_OPENVIDU_BROWSER_VERSION" echo "## - From openvidu-node-client $FROM_OPENVIDU_NODE_CLIENT_VERSION to $TO_OPENVIDU_NODE_CLIENT_VERSION" echo "## - To openvidu-java-client $TO_OPENVIDU_JAVA_CLIENT_VERSION" echo NPM_TUTORIALS="openvidu-angular openvidu-react openvidu-library-react openvidu-ionic openvidu-ionic/electron openvidu-ionic-cordova openvidu-roles-node openvidu-recording-node openvidu-react-native openvidu-electron openvidu-vue openvidu-basic-node" MAVEN_TUTORIALS="openvidu-roles-java openvidu-recording-java openvidu-ipcameras openvidu-basic-java openvidu-fault-tolerance" # 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_OPENVIDU_BROWSER_VERSION\"/\"openvidu-browser\": \"$TO_OPENVIDU_BROWSER_VERSION\"/" {} \; ## TODO: change this when OpenVidu Components for React is released # Updating openvidu-react dependencies in package.json files [openvidu-library-react] # find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-react\": \"$FROM_OPENVIDU_BROWSER_VERSION\"/\"openvidu-react\": \"$TO_OPENVIDU_BROWSER_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_OPENVIDU_BROWSER_VERSION\"/\"openvidu-angular\": \"$TO_OPENVIDU_BROWSER_VERSION\"/" {} \; find . -type f -name 'package.json' -exec sed -i "s/file:openvidu-angular-$FROM_OPENVIDU_BROWSER_VERSION.tgz/file:openvidu-angular-$TO_OPENVIDU_BROWSER_VERSION.tgz/" {} \; # 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_OPENVIDU_BROWSER_VERSION.tgz/file:openvidu-react-native-adapter-$TO_OPENVIDU_BROWSER_VERSION.tgz/" {} \; # Updating openvidu-node-client dependencies in package.json files [openvidu-roles-node, openvidu-recording-node, openvidu-basic-node] find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-node-client\": \"$FROM_OPENVIDU_NODE_CLIENT_VERSION\"/\"openvidu-node-client\": \"$TO_OPENVIDU_NODE_CLIENT_VERSION\"/" {} \; # 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_OPENVIDU_JAVA_CLIENT_VERSION -DforceVersion=true cd .. done # Update every import in every *.html or *.ejs file (15 files changed) for file in *.html *.ejs; do echo echo "###############################" echo "Updating openvidu-browser