From 3b35c0c9fce3d3f74a045b07c7e7d30e5f75a024 Mon Sep 17 00:00:00 2001 From: Devon Carew Date: Thu, 20 Jul 2017 21:34:27 -0700 Subject: [PATCH] copy the dart sdk directory when we're upgrading it (#11331) --- bin/internal/update_dart_sdk.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bin/internal/update_dart_sdk.sh b/bin/internal/update_dart_sdk.sh index 80e8f6e4ed7..5c8614ece08 100755 --- a/bin/internal/update_dart_sdk.sh +++ b/bin/internal/update_dart_sdk.sh @@ -17,6 +17,7 @@ set -e FLUTTER_ROOT="$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")" DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk" +DART_SDK_PATH_OLD="$DART_SDK_PATH.old" DART_SDK_STAMP_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk.stamp" DART_SDK_VERSION=`cat "$FLUTTER_ROOT/bin/internal/dart-sdk.version"` @@ -48,6 +49,13 @@ if [ ! -f "$DART_SDK_STAMP_PATH" ] || [ "$DART_SDK_VERSION" != `cat "$DART_SDK_S DART_SDK_URL="https://storage.googleapis.com/dart-archive/channels/$DART_CHANNEL/raw/$DART_SDK_VERSION/sdk/$DART_ZIP_NAME" + # if the sdk path exists, copy it to a temporary location + if [ -d "$DART_SDK_PATH" ]; then + rm -rf "$DART_SDK_PATH_OLD" + mv "$DART_SDK_PATH" "$DART_SDK_PATH_OLD" + fi + + # install the new sdk rm -rf -- "$DART_SDK_PATH" mkdir -p -- "$DART_SDK_PATH" DART_SDK_ZIP="$FLUTTER_ROOT/bin/cache/dart-sdk.zip" @@ -64,4 +72,9 @@ if [ ! -f "$DART_SDK_STAMP_PATH" ] || [ "$DART_SDK_VERSION" != `cat "$DART_SDK_S } rm -f -- "$DART_SDK_ZIP" echo "$DART_SDK_VERSION" > "$DART_SDK_STAMP_PATH" + + # delete any temporary sdk path + if [ -d "$DART_SDK_PATH_OLD" ]; then + rm -rf "$DART_SDK_PATH_OLD" + fi fi