68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/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 | ||
|  | 
 | ||
|  |     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 |