Upgrade CLI, buildtools for RTM shared framework. (#7045)
authorDavis Goodin <dagood@users.noreply.github.com>
Tue, 20 Sep 2016 18:03:36 +0000 (13:03 -0500)
committerJan Kotas <jkotas@microsoft.com>
Tue, 20 Sep 2016 18:03:36 +0000 (11:03 -0700)
BuildToolsVersion.txt
DotnetCLIVersion.txt
init-tools.cmd
init-tools.sh

index acf5f59..0861864 100644 (file)
@@ -1 +1 @@
-1.0.26-prerelease-00719-02
\ No newline at end of file
+1.0.26-prerelease-00809-01
\ No newline at end of file
index dd7bc31..b0f8213 100644 (file)
@@ -1 +1 @@
-1.0.0-preview2-002733
\ No newline at end of file
+1.0.0-preview3-003223
\ No newline at end of file
index 1bdf2a8..33404f9 100644 (file)
@@ -6,7 +6,7 @@ set PACKAGES_DIR=%~dp0packages\
 set TOOLRUNTIME_DIR=%~dp0Tools
 set DOTNET_PATH=%TOOLRUNTIME_DIR%\dotnetcli\
 set DOTNET_CMD=%DOTNET_PATH%dotnet.exe
-if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://www.myget.org/F/dotnet-buildtools/
+if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json
 set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt"
 set BUILD_TOOLS_PATH=%PACKAGES_DIR%Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERSION%\lib\
 set PROJECT_JSON_PATH=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION%
@@ -45,7 +45,7 @@ echo Installing dotnet cli...
 if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%"
 set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
 if [%PROCESSOR_ARCHITECTURE%]==[x86] (set DOTNET_ZIP_NAME=dotnet-dev-win-x86.%DOTNET_VERSION%.zip) else (set DOTNET_ZIP_NAME=dotnet-dev-win-x64.%DOTNET_VERSION%.zip)
-set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
+set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
 set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME%
 echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%"
 powershell -NoProfile -ExecutionPolicy unrestricted -Command "$retryCount = 0; $success = $false; do { try { (New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); $success = $true; } catch { if ($retryCount -ge 6) { throw; } else { $retryCount++; Start-Sleep -Seconds (5 * $retryCount); } } } while ($success -eq $false); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%"
index e6966cc..7a799af 100755 (executable)
@@ -1,18 +1,5 @@
 #!/usr/bin/env bash
 
-initDistroName()
-{
-    if [ "$1" == "Linux" ]; then
-        if [ ! -e /etc/os-release ]; then
-            echo "WARNING: Can not determine runtime id for current distro."
-            export __DistroRid=""
-        else
-            source /etc/os-release
-            export __DistroRid="$ID.$VERSION_ID-x64"
-        fi
-    fi
-}
-
 __scriptpath=$(cd "$(dirname "$0")"; pwd -P)
 
 # CI_SPECIFIC - On CI machines, $HOME may not be set. In such a case, create a subfolder and set the variable to set.
@@ -29,53 +16,86 @@ __PACKAGES_DIR=$__scriptpath/packages
 __TOOLRUNTIME_DIR=$__scriptpath/Tools
 __DOTNET_PATH=$__TOOLRUNTIME_DIR/dotnetcli
 __DOTNET_CMD=$__DOTNET_PATH/dotnet
-if [ -z "$__BUILDTOOLS_SOURCE" ]; then __BUILDTOOLS_SOURCE=https://www.myget.org/F/dotnet-buildtools/; fi
+if [ -z "$__BUILDTOOLS_SOURCE" ]; then __BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json; fi
 __BUILD_TOOLS_PACKAGE_VERSION=$(cat $__scriptpath/BuildToolsVersion.txt)
 __DOTNET_TOOLS_VERSION=$(cat $__scriptpath/DotnetCLIVersion.txt)
 __BUILD_TOOLS_PATH=$__PACKAGES_DIR/Microsoft.DotNet.BuildTools/$__BUILD_TOOLS_PACKAGE_VERSION/lib
 __PROJECT_JSON_PATH=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION
 __PROJECT_JSON_FILE=$__PROJECT_JSON_PATH/project.json
 __PROJECT_JSON_CONTENTS="{ \"dependencies\": { \"Microsoft.DotNet.BuildTools\": \"$__BUILD_TOOLS_PACKAGE_VERSION\" }, \"frameworks\": { \"dnxcore50\": { } } }"
-__DistroRid=""
 
-OSName=$(uname -s)
-case $OSName in
-    Darwin)
-        OS=OSX
-        __DOTNET_PKG=dotnet-dev-osx-x64
-        ;;
-
-    Linux)
-        OS=Linux
-
-        if [ ! -e /etc/os-release ]; then
-            echo "Cannot determine Linux distribution, asuming Ubuntu 14.04."
-            __DOTNET_PKG=dotnet-dev-ubuntu.14.04-x64
-        else
-            source /etc/os-release
-            __DOTNET_PKG="dotnet-dev-$ID.$VERSION_ID-x64"
+# Extended version of platform detection logic from dotnet/cli/scripts/obtain/dotnet-install.sh 16692fc
+get_current_linux_name() {
+    # Detect Distro
+    if [ "$(cat /etc/*-release | grep -cim1 ubuntu)" -eq 1 ]; then
+        if [ "$(cat /etc/*-release | grep -cim1 16.04)" -eq 1 ]; then
+            echo "ubuntu.16.04"
+            return 0
+        fi
+        if [ "$(cat /etc/*-release | grep -cim1 16.10)" -eq 1 ]; then
+            echo "ubuntu.16.10"
+            return 0
         fi
-        ;;
-
-    *)
-        echo "Unsupported OS $OSName detected. Downloading ubuntu-x64 tools"
-        OS=Linux
-        __DOTNET_PKG=dotnet-dev-ubuntu.14.04-x64
-        ;;
-esac
 
-# Initialize Linux Distribution name and .NET CLI package name.
+        echo "ubuntu"
+        return 0
+    elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then
+        echo "centos"
+        return 0
+    elif [ "$(cat /etc/*-release | grep -cim1 rhel)" -eq 1 ]; then
+        echo "rhel"
+        return 0
+    elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then
+        echo "debian"
+        return 0
+    elif [ "$(cat /etc/*-release | grep -cim1 fedora)" -eq 1 ]; then
+        if [ "$(cat /etc/*-release | grep -cim1 23)" -eq 1 ]; then
+            echo "fedora.23"
+            return 0
+        fi
+        if [ "$(cat /etc/*-release | grep -cim1 24)" -eq 1 ]; then
+            echo "fedora.24"
+            return 0
+        fi
+    elif [ "$(cat /etc/*-release | grep -cim1 opensuse)" -eq 1 ]; then
+        if [ "$(cat /etc/*-release | grep -cim1 13.2)" -eq 1 ]; then
+            echo "opensuse.13.2"
+            return 0
+        fi
+        if [ "$(cat /etc/*-release | grep -cim1 42.1)" -eq 1 ]; then
+            echo "opensuse.42.1"
+            return 0
+        fi
+    fi
 
-initDistroName $OS
+    # Cannot determine Linux distribution, assuming Ubuntu 14.04.
+    echo "ubuntu"
+    return 0
+}
 
-# Work around mac build issue 
-if [ "$OS" == "OSX" ]; then
-  echo Raising file open limit - otherwise Mac build may fail
-  echo ulimit -n 2048
-  ulimit -n 2048
+if [ -z "$__DOTNET_PKG" ]; then
+OSName=$(uname -s)
+    case $OSName in
+        Darwin)
+            OS=OSX
+            __DOTNET_PKG=dotnet-dev-osx-x64
+            ulimit -n 2048
+            ;;
+
+        Linux)
+            __DOTNET_PKG="dotnet-dev-$(get_current_linux_name)-x64"
+            OS=Linux
+            ;;
+
+        *)
+            echo "Unsupported OS '$OSName' detected. Downloading ubuntu-x64 tools."
+            OS=Linux
+            __DOTNET_PKG=dotnet-dev-ubuntu-x64
+            ;;
+  esac
 fi
 
-__CLIDownloadURL=https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz
+__CLIDownloadURL=https://dotnetcli.blob.core.windows.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz
 echo ".NET CLI will be downloaded from $__CLIDownloadURL"
 echo "Locating $__PROJECT_JSON_FILE to see if we already downloaded .NET CLI tools..."