angular-cn/scripts/install-dart-sdk.sh

69 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e -o pipefail
[[ -z "$NGIO_ENV_DEFS" ]] && . ./scripts/env-set.sh
if [[ -z "$(type -t dart)" ]]; then
travis_fold start install.dart
echo INSTALLING Dart SDK and Dartium ...
# URLs for sdk and dartium:
# https://storage.googleapis.com/dart-archive/channels/stable/release/latest/sdk/dartsdk-linux-x64-release.zip
# https://storage.googleapis.com/dart-archive/channels/stable/release/latest/dartium/dartium-macos-x64-release.zip
DART_ARCHIVE=https://storage.googleapis.com/dart-archive/channels
VERS=stable/release/latest
# VERS=stable/release/1.18.1 # If necessary, pin a specific version like this
mkUrl() {
local dir=$1
local pkg=$2
local arch=$3
local zip=$pkg-$_OS_NAME-$arch-release.zip
echo "$DART_ARCHIVE/$VERS/$dir/$zip";
}
getAndInstall() {
local dir=$1
local pkg=${2:-$dir};
local arch=${3:-x64}
local URL=$(mkUrl $dir $pkg $arch)
local exitStatus=0;
local zip=$(basename $URL)
echo "Getting $pkg from:"
echo " $URL"
[[ ! -d "$TMP" ]] && mkdir "$TMP"
[[ ! -d "$PKG" ]] && mkdir "$PKG"
curl $URL > "$TMP/$zip" # 2> /dev/null
if [[ "1000" -lt "$(wc -c $TMP/$zip | awk '{print $1}')" ]]; then
unzip "$TMP/$zip" -d "$PKG" > /dev/null
rm -f "$TMP/$zip"
# PATH is set in ./scripts/env-set.sh
else
echo FAILED to download Dart $pkg. Check URL.
exitStatus=1;
fi
}
if getAndInstall sdk dartsdk; then
# Install Dartium
if [[ "$_OS_NAME" == "macos" ]]; then
getAndInstall dartium dartium ia32
else
getAndInstall dartium
fi
echo
dart --version
fi
travis_fold end install.dart
else
echo Dart SDK appears to be installed: `type dart`
# PATH is set in ./scripts/env-set.sh
dart --version
fi