update_dart_sdk.sh 1.39 KB
Newer Older
1 2 3 4 5
#!/bin/bash
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

6 7
set -e

8 9
FLUTTER_ROOT=$(dirname $(dirname $(dirname "${BASH_SOURCE[0]}")))

10 11 12 13 14
DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk"
DART_SDK_STAMP_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk.stamp"
DART_SDK_VERSION=`cat "$FLUTTER_ROOT/bin/cache/dart-sdk.version"`

if [ ! -f "$DART_SDK_STAMP_PATH" ] || [ "$DART_SDK_VERSION" != `cat "$DART_SDK_STAMP_PATH"` ]; then
15
  echo "Downloading Dart SDK $DART_SDK_VERSION..."
16 17 18 19 20 21 22 23 24 25 26 27 28 29

  case "$(uname -s)" in
    Darwin)
      DART_ZIP_NAME="dartsdk-macos-x64-release.zip"
      ;;
    Linux)
      DART_ZIP_NAME="dartsdk-linux-x64-release.zip"
      ;;
    *)
      echo "Unknown operating system. Cannot install Dart SDK."
      exit 1
      ;;
  esac

30 31 32 33 34 35 36 37
  DART_CHANNEL="stable"

  if [[ $DART_SDK_VERSION == *"-dev."* ]]
  then
    DART_CHANNEL="dev"
  fi

  DART_SDK_URL="http://storage.googleapis.com/dart-archive/channels/$DART_CHANNEL/raw/$DART_SDK_VERSION/sdk/$DART_ZIP_NAME"
38

39 40
  rm -rf -- "$DART_SDK_PATH"
  mkdir -p -- "$DART_SDK_PATH"
41 42
  DART_SDK_ZIP="$FLUTTER_ROOT/bin/cache/dart-sdk.zip"

43
  curl --progress-bar -continue-at=- --location --output "$DART_SDK_ZIP" "$DART_SDK_URL"
44
  unzip -o -q "$DART_SDK_ZIP" -d "$FLUTTER_ROOT/bin/cache"
45 46
  rm -f -- "$DART_SDK_ZIP"
  echo "$DART_SDK_VERSION" > "$DART_SDK_STAMP_PATH"
47
fi