diff --git a/update-tutorials.sh b/update-tutorials.sh index f0c87441..84e4745b 100755 --- a/update-tutorials.sh +++ b/update-tutorials.sh @@ -1,36 +1,32 @@ #!/bin/bash set -eo pipefail -if [[ -z "$FROM_VERSION" || -z "$TO_VERSION" ]]; then +if [[ -z "$NEW_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 "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 "Must declare:" + echo "- The new version of the projects with NEW_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 NEW_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 -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 -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 "## Updating openvidu-tutorials to $NEW_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 @@ -52,55 +48,32 @@ MAVEN_TUTORIALS="openvidu-roles-java openvidu-basic-java openvidu-fault-tolerance" -COMPONENTS_TUTORIALS="openvidu-components/openvidu-additional-panels - openvidu-components/openvidu-admin-dashboard - openvidu-components/openvidu-custom-activities-panel - openvidu-components/openvidu-custom-chat-panel - openvidu-components/openvidu-custom-layout - openvidu-components/openvidu-custom-panels - openvidu-components/openvidu-custom-participant-panel-item - openvidu-components/openvidu-custom-participant-panel-item-elements - openvidu-components/openvidu-custom-participants-panel - openvidu-components/openvidu-custom-stream - openvidu-components/openvidu-custom-toolbar - openvidu-components/openvidu-custom-ui - openvidu-components/openvidu-toggle-hand - openvidu-components/openvidu-toolbar-buttons - openvidu-components/openvidu-toolbar-panel-buttons" - - # 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\"/" {} \; +find . -type f -name 'package.json' -exec sed -i "s/\"openvidu-browser\": \"$FROM_OPENVIDU_BROWSER_VERSION\"/\"openvidu-browser\": \"$TO_OPENVIDU_BROWSER_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\"/" {} \; +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_VERSION\"/\"openvidu-angular\": \"$TO_VERSION\"/" {} \; -find . -type f -name 'package.json' -exec sed -i "s/file:openvidu-angular-$FROM_VERSION.tgz/file:openvidu-angular-$TO_VERSION.tgz/" {} \; +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_VERSION.tgz/file:openvidu-react-native-adapter-$TO_VERSION.tgz/" {} \; +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/" {} \; -# 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-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-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_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 +# 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 @@ -109,63 +82,59 @@ for file in *.html *.ejs; do echo "Updating openvidu-browser