From 916a19c4936d92b92b5fbef2b801dba9c125d0db Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 18:13:14 -0800 Subject: [PATCH 01/10] Add support for Fedora 24, OpenSUSE 42.1 and Ubuntu 16.10 --- build/Microsoft.DotNet.Cli.Prepare.targets | 21 +++++-- .../CheckIfAllBuildsHavePublished.cs | 5 +- .../Utils/Monikers.cs | 6 ++ .../update-dependencies.csproj | 2 +- run-build.ps1 | 4 +- run-build.sh | 4 +- scripts/docker/fedora.24/Dockerfile | 28 +++++++++ scripts/docker/opensuse.42.1/Dockerfile | 50 +++++++++++++++ scripts/docker/ubuntu.16.10/Dockerfile | 63 +++++++++++++++++++ tools/Archiver/Archiver.csproj | 2 +- 10 files changed, 174 insertions(+), 11 deletions(-) create mode 100644 scripts/docker/fedora.24/Dockerfile create mode 100644 scripts/docker/opensuse.42.1/Dockerfile create mode 100644 scripts/docker/ubuntu.16.10/Dockerfile diff --git a/build/Microsoft.DotNet.Cli.Prepare.targets b/build/Microsoft.DotNet.Cli.Prepare.targets index fd3c45a5b..acf561e95 100644 --- a/build/Microsoft.DotNet.Cli.Prepare.targets +++ b/build/Microsoft.DotNet.Cli.Prepare.targets @@ -95,7 +95,12 @@ $(InstallerExtension) $(InstallerExtension) - $(Rid) + $(Rid) $(OSName)-$(Architecture) lib @@ -127,8 +132,16 @@ dotnet-$(ProductMonikerRid).$(SharedFrameworkVersion)$(ArchiveExtension) - + true + true + false + + + + preview 1.0.4 1.0.1 @@ -193,7 +206,7 @@ - + $(CoreSetupBlobRootUrl)$(AdditionalCoreSetupChannel) $(AdditionalCoreSetupBlobRootUrlWithChannel)/Binaries/$(AdditionalSharedFrameworkVersion) $(AdditionalCoreSetupBlobRootUrlWithChannel)/Installers @@ -201,7 +214,7 @@ $(AdditionalCoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive - + <_DownloadAndExtractItem Include="AdditionalCombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(AdditionalCombinedSharedHostAndFrameworkArchive)')"> $(AdditionalSharedFrameworkArchiveBlobRootUrl)/$(AdditionalCombinedFrameworkHostCompressedFileName) diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index cfeb125a1..89da24932 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -50,12 +50,15 @@ namespace Microsoft.DotNet.Cli.Build { "Windows_x64", false }, { "Ubuntu_x64", false }, { "Ubuntu_16_04_x64", false }, + { "Ubuntu_16_10_x64", false }, { "RHEL_x64", false }, { "OSX_x64", false }, { "Debian_x64", false }, { "CentOS_x64", false }, { "Fedora_23_x64", false }, - { "openSUSE_13_2_x64", false } + { "Fedora_24_x64", false }, + { "openSUSE_13_2_x64", false }, + { "openSUSE_42_1_x64", false }, }; var versionBadgeName = $"{Monikers.GetBadgeMoniker()}"; diff --git a/build_projects/shared-build-targets-utils/Utils/Monikers.cs b/build_projects/shared-build-targets-utils/Utils/Monikers.cs index 2c4b8e69e..2f5d86557 100644 --- a/build_projects/shared-build-targets-utils/Utils/Monikers.cs +++ b/build_projects/shared-build-targets-utils/Utils/Monikers.cs @@ -15,10 +15,16 @@ namespace Microsoft.DotNet.Cli.Build { case "ubuntu.16.04-x64": return "Ubuntu_16_04_x64"; + case "ubuntu.16.10-x64": + return "Ubuntu_16_10_x64"; case "fedora.23-x64": return "Fedora_23_x64"; + case "fedora.24-x64": + return "Fedora_24_x64"; case "opensuse.13.2-x64": return "openSUSE_13_2_x64"; + case "opensuse.42.1-x64": + return "openSUSE_42_1_x64"; } return $"{CurrentPlatform.Current}_{CurrentArchitecture.Current}"; diff --git a/build_projects/update-dependencies/update-dependencies.csproj b/build_projects/update-dependencies/update-dependencies.csproj index 42c4d52f2..b7cad0eb9 100644 --- a/build_projects/update-dependencies/update-dependencies.csproj +++ b/build_projects/update-dependencies/update-dependencies.csproj @@ -6,7 +6,7 @@ netcoreapp1.0 update-dependencies Exe - win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 + win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64 diff --git a/run-build.ps1 b/run-build.ps1 index f70516668..4b34e5163 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -103,8 +103,8 @@ if ($LastExitCode -ne 0) # install the post-PJnistic stage0 $dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1" -Write-Host "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 8ca76a05b..e1e79c360 100755 --- a/run-build.sh +++ b/run-build.sh @@ -163,8 +163,8 @@ if [ $? != 0 ]; then fi # now execute the script -echo "installing CLI: $dotnetInstallPath --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" -$dotnetInstallPath --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" +echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004834\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" +$dotnetInstallPath --version "1.0.0-rc4-004834" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2 exit $? diff --git a/scripts/docker/fedora.24/Dockerfile b/scripts/docker/fedora.24/Dockerfile new file mode 100644 index 000000000..bc33dd00c --- /dev/null +++ b/scripts/docker/fedora.24/Dockerfile @@ -0,0 +1,28 @@ +FROM fedora:24 + +RUN dnf install -y bash git cmake wget which python clang-3.8.0-1.fc24.x86_64 llvm-devel-3.8.0-1.fc24.x86_64 make libicu-devel lldb-devel.x86_64 \ + libunwind-devel.x86_64 lttng-ust-devel.x86_64 uuid-devel libuuid-devel tar glibc-locale-source zlib-devel libcurl-devel \ + krb5-devel openssl-devel autoconf libtool hostname + +RUN dnf upgrade -y nss + +RUN dnf clean all + +# Set a different rid to publish buildtools for, until we update to a version which +# natively supports fedora.24-x64 +ENV __PUBLISH_RID=fedora.23-x64 + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code diff --git a/scripts/docker/opensuse.42.1/Dockerfile b/scripts/docker/opensuse.42.1/Dockerfile new file mode 100644 index 000000000..d175339a4 --- /dev/null +++ b/scripts/docker/opensuse.42.1/Dockerfile @@ -0,0 +1,50 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +FROM opensuse:42.1 + +# Install the base toolchain we need to build anything (clang, cmake, make and the like) +# this does not include libraries that we need to compile different projects, we'd like +# them in a different layer. +RUN zypper -n install binutils \ + cmake \ + which \ + gcc \ + llvm-clang \ + tar \ + ncurses-utils \ + curl \ + git \ + sudo && \ + ln -s /usr/bin/clang++ /usr/bin/clang++-3.5 && \ + zypper clean -a + +# Dependencies of CoreCLR and CoreFX. + +RUN zypper -n install --force-resolution \ + libunwind \ + libicu \ + lttng-ust \ + libuuid1 \ + libopenssl1_0_0 \ + libcurl4 \ + krb5 && \ + zypper clean -a + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/scripts/docker/ubuntu.16.10/Dockerfile b/scripts/docker/ubuntu.16.10/Dockerfile new file mode 100644 index 000000000..dba98ed7b --- /dev/null +++ b/scripts/docker/ubuntu.16.10/Dockerfile @@ -0,0 +1,63 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM ubuntu:16.10 + +# Misc Dependencies for build +RUN apt-get update && \ + apt-get -qqy install \ + curl \ + unzip \ + gettext \ + sudo && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# This could become a "microsoft/coreclr" image, since it just installs the dependencies for CoreCLR (and stdlib) +RUN apt-get update && \ + apt-get -qqy install \ + libunwind8 \ + libkrb5-3 \ + libicu57 \ + liblttng-ust0 \ + libssl1.0.0 \ + zlib1g \ + libuuid1 \ + liblldb-3.5 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Install Build Prereqs +RUN apt-get update && \ + apt-get -qqy install \ + debhelper \ + build-essential \ + devscripts \ + git \ + cmake \ + clang-3.5 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Use clang as c++ compiler +RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100 +RUN update-alternatives --set c++ /usr/bin/clang++-3.5 + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g sudo +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/tools/Archiver/Archiver.csproj b/tools/Archiver/Archiver.csproj index bebe500cd..f6b41c00c 100644 --- a/tools/Archiver/Archiver.csproj +++ b/tools/Archiver/Archiver.csproj @@ -4,7 +4,7 @@ netcoreapp1.1 Exe - win7-x64;win7-x86;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64;osx.10.10-x64;rhel.7-x64 + win7-x64;win7-x86;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64;osx.10.10-x64;rhel.7-x64 From 9b7150e701faa805a99249ee40a7794013bad929 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 20:25:12 -0600 Subject: [PATCH 02/10] Add new platforms to netci.groovy --- netci.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netci.groovy b/netci.groovy index 8a2698aab..92e043f05 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'Fedora23:x64:Debug', 'OpenSUSE13.2:x64:Debug'] +def platformList = ['Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'Ubuntu16.10:x64:Debug', 'OSX:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'Fedora23:x64:Debug', 'Fedora24:x64:Release', 'OpenSUSE13.2:x64:Debug', 'OpenSUSE42.1:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() From 077f9107bf56f8e055ceefcd97939531990c5c7e Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 20:40:30 -0600 Subject: [PATCH 03/10] Change stage0PJ version to preview2.1, which supports the new platforms. --- .cliversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cliversion b/.cliversion index 70482ffac..36471cf6b 100644 --- a/.cliversion +++ b/.cliversion @@ -1 +1 @@ -1.0.0-preview3-003930 +1.0.0-preview2-1-003177 From 592c7fa4266694ed9f4bd770def2db68467a2427 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 23:12:37 -0800 Subject: [PATCH 04/10] Add build_tools diagnostics --- run-build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run-build.sh b/run-build.sh index e1e79c360..1706bcc16 100755 --- a/run-build.sh +++ b/run-build.sh @@ -155,7 +155,8 @@ if [ ! -f $bootStrapperPath ]; then chmod u+x $bootStrapperPath fi -$bootStrapperPath --repositoryRoot "$REPOROOT" --toolsLocalPath "$toolsLocalPath" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE > bootstrap.log +echo "installing build_tools: $bootStrapperPath --repositoryRoot \"$REPOROOT\" --toolsLocalPath \"$toolsLocalPath\" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE" +$bootStrapperPath --repositoryRoot "$REPOROOT" --toolsLocalPath "$toolsLocalPath" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE --verbose if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping failed with exit code $?, see bootstrap.log for more information." >&2 From a96693bb95f22b419dba0fc9afcac82ade051123 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 23:52:00 -0800 Subject: [PATCH 05/10] Update buildtools to 1.0.27-prerelease-01316-08 --- .toolversions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.toolversions b/.toolversions index adc296916..d7f7f5ac7 100644 --- a/.toolversions +++ b/.toolversions @@ -1,2 +1,2 @@ -microsoft.dotnet.buildtools=1.0.26-prerelease-00926-02 +microsoft.dotnet.buildtools=1.0.27-prerelease-01316-08 microsoft.dotnet.buildtools.run=1.0.0-prerelease-00807-04 \ No newline at end of file From 6d7d84cb7e1c28375208140715e81d362ad368da Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 17 Feb 2017 11:37:29 -0800 Subject: [PATCH 06/10] Upgrade vstest.console to run on netcoreapp1.1 --- src/redist/redist.csproj | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index d9a4fa8d1..ac5d914ae 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -1,6 +1,7 @@  - + + $(CliVersionPrefix) netcoreapp1.1 @@ -36,7 +37,16 @@ - - $(DefineConstants);RELEASE - + + + + $(PublishDir)/vstest.console.runtimeconfig.json + + + \ No newline at end of file From 3458aa38ba4c70c9c75fe9e361e863fa690ffb51 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 17 Feb 2017 11:54:32 -0800 Subject: [PATCH 07/10] Update Stage0 to build 004840 --- run-build.ps1 | 4 ++-- run-build.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 4b34e5163..eb28d3c35 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -103,8 +103,8 @@ if ($LastExitCode -ne 0) # install the post-PJnistic stage0 $dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1" -Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004840"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004840"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 1706bcc16..7c66e5f5f 100755 --- a/run-build.sh +++ b/run-build.sh @@ -164,8 +164,8 @@ if [ $? != 0 ]; then fi # now execute the script -echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004834\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" -$dotnetInstallPath --version "1.0.0-rc4-004834" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" +echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004840\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" +$dotnetInstallPath --version "1.0.0-rc4-004840" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2 exit $? From 996d458e302e229e5a85b581af0373f0b07e789d Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Sat, 18 Feb 2017 09:34:50 -0800 Subject: [PATCH 08/10] Support Ubuntu16.10 installer Since Ubuntu16.10 doesn't have a 1.0 shared framework, only install the 1.1 shared framework. --- build/Microsoft.DotNet.Cli.Monikers.props | 8 +++---- .../Microsoft.DotNet.Cli.Installer.DEB.proj | 21 ++++++++++++------- ...Microsoft.DotNet.Cli.Installer.DEB.targets | 9 ++++++-- packaging/deb/dotnet-debian_config.json | 2 +- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/build/Microsoft.DotNet.Cli.Monikers.props b/build/Microsoft.DotNet.Cli.Monikers.props index cf5e3e790..474ce7d1d 100644 --- a/build/Microsoft.DotNet.Cli.Monikers.props +++ b/build/Microsoft.DotNet.Cli.Monikers.props @@ -2,13 +2,13 @@ .NET Core SDK 1.0.1 ($(Architecture)) Installer - Microsoft .NET Core 1.0.4 - Runtime + Microsoft .NET Core 1.1.1 - Runtime Microsoft .NET Core 1.1.0 - Host Microsoft .NET Core 1.1.0 - Host FX Resolver - Microsoft .NET Core 1.1.1 - Runtime - Microsoft .NET Core 1.1.0 - Host - Microsoft .NET Core 1.1.0 - Host FX Resolver + Microsoft .NET Core 1.0.4 - Runtime + Microsoft .NET Core 1.0.1 - Host + Microsoft .NET Core 1.0.1 - Host FX Resolver Microsoft.NETCore.App diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj index b1b375a98..ede1fecff 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj @@ -75,8 +75,10 @@ - - + + @@ -90,9 +92,12 @@ Outputs="$(DebianTestResultsXmlFile)" > - - - + + + @@ -113,8 +118,10 @@ - - + + diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets index ca94cf99f..3bf265a98 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets @@ -93,8 +93,13 @@ $(SharedFxDebianPackageName) - - $(AdditionalSharedFxDebianPackageName) + + "$(AdditionalSharedFxDebianPackageName)" : {} + + + $(SdkVersion) diff --git a/packaging/deb/dotnet-debian_config.json b/packaging/deb/dotnet-debian_config.json index 8aa795ffd..4caa326c9 100644 --- a/packaging/deb/dotnet-debian_config.json +++ b/packaging/deb/dotnet-debian_config.json @@ -30,6 +30,6 @@ "debian_dependencies":{ "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}, - "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME_ADDITIONAL%" : {} + %SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY% } } From 8aaffc22381204d882708da74eb1c6d1872275ca Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Mon, 20 Feb 2017 10:01:29 -0600 Subject: [PATCH 09/10] Fix tests on netcoreapp1.1 only platforms --- .../AppWithProjTool2Fx/App.csproj | 13 ++----- .../AppWithRedirectsAndConfig.csproj | 1 + .../AppWithRedirectsNoConfig.csproj | 1 + .../LibWithProjTool2Fx/Lib.csproj | 3 +- .../App/AppThrowingException.csproj | 8 +---- .../AppDependingOnOtherAsTool.csproj | 9 ++--- .../AppWithDepOnTool/AppWithDepOnTool.csproj | 4 +-- .../ToolWithRandomPackageName.csproj | 6 +--- .../ToolWithOutputName.csproj | 13 ++----- .../dotnet-dependency-tool-invoker.csproj | 12 ++----- .../dotnet-desktop-and-portable.csproj | 10 ++---- .../dotnet-portable/dotnet-portable.csproj | 13 ++----- .../AppWithDepOnToolWithOutputName.csproj | 6 ++-- .../AppWithDirectAndToolDep.csproj | 6 ++-- .../AppWithDirectDepWithOutputName.csproj | 13 +++---- ...ldAppWithMultipleFrameworksAndTools.csproj | 1 + .../AppWithToolDependency.csproj | 13 ++----- ...ldAppWithMultipleFrameworksAndTools.csproj | 1 + .../MSBuildTestApp/MSBuildTestApp.csproj | 5 +-- .../TestAppWithProjDepTool.csproj | 8 ++--- .../VSTestDotNetCore/VSTestDotNetCore.csproj | 6 ++-- .../VSTestXunitDotNetCore.csproj | 6 ++-- .../CommandResolution/IProject.cs | 3 ++ .../CommandResolution/MSBuildProject.cs | 21 +++++++++++ .../ProjectToolsCommandResolver.cs | 36 +++++++++++++------ test/EndToEnd/GivenDotNetUsesMSBuild.cs | 4 +-- ...GivenAProjectDependenciesCommandFactory.cs | 4 +-- .../GivenAProjectDependencyCommandResolver.cs | 8 ++--- .../GivenAProjectToolsCommandResolver.cs | 3 +- .../EnvironmentInfo.cs | 27 ++++++++++++++ .../RequiresSpecificFrameworkFactAttribute.cs | 18 ++++++++++ .../GivenDotnetBuildBuildsCsproj.cs | 11 ++++-- ...venThatIWantToMigrateDeprecatedProjects.cs | 18 ++++++++++ .../GivenThatIWantToMigrateTestApps.cs | 10 ++++-- .../GivenThatIWantANewAppWithSpecifiedType.cs | 7 ++++ .../GivenDotnetPublishPublishesProjects.cs | 12 +++---- .../GivenDotnetRunRunsCsProj.cs | 4 +-- ...enDotnetTestBuildsAndRunsTestfromCsproj.cs | 2 +- test/dotnet-vstest.Tests/VSTestTests.cs | 2 +- test/dotnet.Tests/PackagedCommandTests.cs | 6 ++-- 40 files changed, 203 insertions(+), 151 deletions(-) create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs diff --git a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj index a5487baba..e8dc22e76 100644 --- a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj +++ b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj @@ -1,9 +1,10 @@  - netcoreapp1.0;net451 + netcoreapp1.1;net451 Exe - $(PackageTargetFallback);portable-net45+win8;dnxcore50 + $(PackageTargetFallback);portable-net45+win8;dnxcore50 win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 + netcoreapp1.1 @@ -11,11 +12,6 @@ 1.0.0-* - - - 1.0.3 - - @@ -25,7 +21,4 @@ 1.0.0-* - - $(DefineConstants);RELEASE - \ No newline at end of file diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj index 35f2ba2b2..a4e21096e 100644 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj +++ b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj @@ -4,6 +4,7 @@ AppWithRedirectsAndConfig Exe win7-x64;win7-x86 + netcoreapp1.1 diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj index dd8d8b537..deb339723 100644 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj +++ b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj @@ -4,6 +4,7 @@ AppWithRedirectsNoConfig Exe win7-x64;win7-x86 + netcoreapp1.1 diff --git a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj index e621006e9..478e8bcec 100644 --- a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj +++ b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj @@ -2,7 +2,8 @@ netstandard1.6;net451 Library - $(PackageTargetFallback);portable-net45+win8;dnxcore50;netcoreapp1.0 + $(PackageTargetFallback);portable-net45+win8;dnxcore50;netcoreapp1.1 + netcoreapp1.1 diff --git a/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj b/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj index 366798fca..cd5488919 100644 --- a/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj +++ b/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp1.0 + netcoreapp1.1 dotnet-throwingtool $(AssemblyName) @@ -13,10 +13,4 @@ - - - 1.0.3 - - - diff --git a/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj b/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj index 04b137131..eca57f6ba 100644 --- a/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj +++ b/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj @@ -2,15 +2,10 @@ Exe - netcoreapp1.0 + netcoreapp1.1 + netcoreapp1.1 - - - 1.0.3 - - - 1.0.0 diff --git a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj index de60f199d..0858955a9 100644 --- a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj +++ b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj @@ -2,12 +2,12 @@ Exe - netcoreapp1.0 + netcoreapp1.1 random-name + netcoreapp1.1 - 1.0.0 diff --git a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj index 592c7bfcb..e5bc95294 100644 --- a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj +++ b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp1.0 + netcoreapp1.1 random-name $(GeneratedPackageId) dotnet-randompackage @@ -14,8 +14,4 @@ - - - - diff --git a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj index 59a2ee3db..6621ee746 100644 --- a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj +++ b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj @@ -1,6 +1,6 @@ - + - netcoreapp1.0 + netcoreapp1.1 dotnet-tool-with-output-name ToolWithOutputName Exe @@ -12,13 +12,4 @@ - - - 1.0.4 - - - - - $(DefineConstants);RELEASE - diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj index 627218965..d5c8399c2 100644 --- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj @@ -3,10 +3,11 @@ 1.0.0-rc - netcoreapp1.0 + netcoreapp1.1 dotnet-dependency-tool-invoker Exe - $(PackageTargetFallback);portable-net45+win8;dnxcore50 + $(PackageTargetFallback);portable-net45+win8;dnxcore50 + false @@ -22,9 +23,6 @@ - - 1.0.4 - $(CLI_NuGet_Version) @@ -32,8 +30,4 @@ $(SdkNugetVersion) - - - $(DefineConstants);RELEASE - diff --git a/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj b/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj index 41da0203f..016898139 100644 --- a/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj +++ b/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj @@ -1,24 +1,18 @@  1.0.0-rc - netcoreapp1.0;net451 + netcoreapp1.1;net451 dotnet-desktop-and-portable Exe win7-x64;win7-x86 - + $(ProjectRuntimeConfigFilePath) - - - 1.0.4 - - - diff --git a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj index 65e89e284..3a9af687a 100644 --- a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj +++ b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj @@ -2,9 +2,10 @@ - netcoreapp1.0 + netcoreapp1.1 dotnet-portable Exe + false @@ -12,14 +13,4 @@ $(ProjectRuntimeConfigFilePath) - - - - 1.0.4 - - - - - $(DefineConstants);RELEASE - diff --git a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj index 1c2ecdf95..3dd51b956 100755 --- a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj @@ -2,6 +2,7 @@ netcoreapp1.0 Exe + netcoreapp1.1 @@ -14,7 +15,4 @@ 1.0.0 - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj index eb4dbed83..20673d265 100755 --- a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj @@ -2,6 +2,7 @@ netcoreapp1.1 Exe + netcoreapp1.1 @@ -17,7 +18,4 @@ 1.0.0 - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj index 877cce870..d5d712460 100755 --- a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj @@ -1,23 +1,18 @@ - + - netcoreapp1.0 + netcoreapp1.1 Exe + netcoreapp1.1 1.0.0 - - 1.0.3 - 1.0.0-* - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 8c58766c2..ce33c13c5 100644 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -2,6 +2,7 @@ Exe net451;netcoreapp1.0 + netcoreapp1.1 diff --git a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj index a5eb7a585..2c982a0ac 100755 --- a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj @@ -1,14 +1,10 @@  - netcoreapp1.0 + netcoreapp1.1 Exe + netcoreapp1.1 - - - 1.0.3 - - 1.0.0 @@ -17,7 +13,4 @@ 1.0.0 - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 8c58766c2..ce33c13c5 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -2,6 +2,7 @@ Exe net451;netcoreapp1.0 + netcoreapp1.1 diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index f4bc3f4d1..f616e532d 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -1,8 +1,9 @@ Exe - netcoreapp1.0 - win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 + netcoreapp1.1 + win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64 + netcoreapp1.1 diff --git a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj index f252d7975..7df4efa22 100644 --- a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj +++ b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj @@ -1,13 +1,11 @@ - + Exe - netcoreapp1.0 + netcoreapp1.1 + netcoreapp1.1 - - 1.0.3 - 1.0.0 All diff --git a/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj b/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj index 97230db7a..e8bf2f08b 100644 --- a/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj +++ b/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj @@ -2,13 +2,11 @@ Exe - netcoreapp1.0 + netcoreapp1.1 + false - - 1.0.3 - 1.0.6-preview diff --git a/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj b/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj index 491c84b0b..09f5f8a56 100644 --- a/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj +++ b/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj @@ -2,13 +2,11 @@ Exe - netcoreapp1.0 + netcoreapp1.1 + false - - 1.0.3 - $(CLI_TestPlatform_Version) diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs index 89d22bbbf..18fddedb1 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.Collections.Generic; +using NuGet.Frameworks; using NuGet.ProjectModel; namespace Microsoft.DotNet.Cli.Utils @@ -22,6 +23,8 @@ namespace Microsoft.DotNet.Cli.Utils string FullOutputPath { get; } + NuGetFramework DotnetCliToolTargetFramework { get; } + Dictionary EnvironmentVariables { get; } } } \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs index 4b6cda0e4..3969e9aa8 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs @@ -13,6 +13,8 @@ namespace Microsoft.DotNet.Cli.Utils { internal class MSBuildProject : IProject { + private static readonly NuGetFramework s_toolPackageFramework = FrameworkConstants.CommonFrameworks.NetCoreApp10; + private Project _project; private string _projectRoot; @@ -60,6 +62,25 @@ namespace Microsoft.DotNet.Cli.Utils } } + public NuGetFramework DotnetCliToolTargetFramework + { + get + { + var frameworkString = _project + .AllEvaluatedProperties + .FirstOrDefault(p => p.Name.Equals("DotnetCliToolTargetFramework")) + ?.EvaluatedValue; + + if (string.IsNullOrEmpty(frameworkString)) + { + return s_toolPackageFramework; + } + + return NuGetFramework.Parse(frameworkString); + } + } + + public Dictionary EnvironmentVariables { get diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs index d3dd03ce6..0e7a48beb 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs @@ -18,8 +18,6 @@ namespace Microsoft.DotNet.Cli.Utils { private const string ProjectToolsCommandResolverName = "projecttoolscommandresolver"; - private static readonly NuGetFramework s_toolPackageFramework = FrameworkConstants.CommonFrameworks.NetCoreApp10; - private static readonly CommandResolutionStrategy s_commandResolutionStrategy = CommandResolutionStrategy.ProjectToolsPackage; @@ -133,8 +131,14 @@ namespace Microsoft.DotNet.Cli.Utils ProjectToolsCommandResolverName, string.Join(Environment.NewLine, possiblePackageRoots.Select((p) => $"- {p}")))); + var toolPackageFramework = project.DotnetCliToolTargetFramework; + string nugetPackagesRoot; - var toolLockFile = GetToolLockFile(toolLibraryRange, possiblePackageRoots, out nugetPackagesRoot); + var toolLockFile = GetToolLockFile( + toolLibraryRange, + toolPackageFramework, + possiblePackageRoots, + out nugetPackagesRoot); if (toolLockFile == null) { @@ -147,7 +151,7 @@ namespace Microsoft.DotNet.Cli.Utils toolLockFile.Path)); var toolLibrary = toolLockFile.Targets - .FirstOrDefault(t => s_toolPackageFramework == t.TargetFramework) + .FirstOrDefault(t => toolPackageFramework == t.TargetFramework) ?.Libraries.FirstOrDefault( l => StringComparer.OrdinalIgnoreCase.Equals(l.Name, toolLibraryRange.Name)); if (toolLibrary == null) @@ -161,7 +165,11 @@ namespace Microsoft.DotNet.Cli.Utils var depsFileRoot = Path.GetDirectoryName(toolLockFile.Path); - var depsFilePath = GetToolDepsFilePath(toolLibraryRange, toolLockFile, depsFileRoot); + var depsFilePath = GetToolDepsFilePath( + toolLibraryRange, + toolPackageFramework, + toolLockFile, + depsFileRoot); var normalizedNugetPackagesRoot = PathUtility.EnsureNoTrailingDirectorySeparator(nugetPackagesRoot); @@ -203,12 +211,13 @@ namespace Microsoft.DotNet.Cli.Utils private LockFile GetToolLockFile( SingleProjectInfo toolLibrary, + NuGetFramework framework, IEnumerable possibleNugetPackagesRoot, out string nugetPackagesRoot) { foreach (var packagesRoot in possibleNugetPackagesRoot) { - if (TryGetToolLockFile(toolLibrary, packagesRoot, out LockFile lockFile)) + if (TryGetToolLockFile(toolLibrary, framework, packagesRoot, out LockFile lockFile)) { nugetPackagesRoot = packagesRoot; return lockFile; @@ -221,11 +230,12 @@ namespace Microsoft.DotNet.Cli.Utils private bool TryGetToolLockFile( SingleProjectInfo toolLibrary, + NuGetFramework framework, string nugetPackagesRoot, out LockFile lockFile) { lockFile = null; - var lockFilePath = GetToolLockFilePath(toolLibrary, nugetPackagesRoot); + var lockFilePath = GetToolLockFilePath(toolLibrary, framework, nugetPackagesRoot); if (!File.Exists(lockFilePath)) { @@ -248,6 +258,7 @@ namespace Microsoft.DotNet.Cli.Utils private string GetToolLockFilePath( SingleProjectInfo toolLibrary, + NuGetFramework framework, string nugetPackagesRoot) { var toolPathCalculator = new ToolPathCalculator(nugetPackagesRoot); @@ -255,11 +266,12 @@ namespace Microsoft.DotNet.Cli.Utils return toolPathCalculator.GetBestLockFilePath( toolLibrary.Name, VersionRange.Parse(toolLibrary.Version), - s_toolPackageFramework); + framework); } private string GetToolDepsFilePath( SingleProjectInfo toolLibrary, + NuGetFramework framework, LockFile toolLockFile, string depsPathRoot) { @@ -272,24 +284,26 @@ namespace Microsoft.DotNet.Cli.Utils ProjectToolsCommandResolverName, depsJsonPath)); - EnsureToolJsonDepsFileExists(toolLockFile, depsJsonPath, toolLibrary); + EnsureToolJsonDepsFileExists(toolLockFile, framework, depsJsonPath, toolLibrary); return depsJsonPath; } private void EnsureToolJsonDepsFileExists( LockFile toolLockFile, + NuGetFramework framework, string depsPath, SingleProjectInfo toolLibrary) { if (!File.Exists(depsPath)) { - GenerateDepsJsonFile(toolLockFile, depsPath, toolLibrary); + GenerateDepsJsonFile(toolLockFile, framework, depsPath, toolLibrary); } } internal void GenerateDepsJsonFile( LockFile toolLockFile, + NuGetFramework framework, string depsPath, SingleProjectInfo toolLibrary) { @@ -298,7 +312,7 @@ namespace Microsoft.DotNet.Cli.Utils depsPath)); var dependencyContext = new DepsJsonBuilder() - .Build(toolLibrary, null, toolLockFile, s_toolPackageFramework, null); + .Build(toolLibrary, null, toolLockFile, framework, null); var tempDepsFile = Path.GetTempFileName(); using (var fileStream = File.Open(tempDepsFile, FileMode.Open, FileAccess.Write)) diff --git a/test/EndToEnd/GivenDotNetUsesMSBuild.cs b/test/EndToEnd/GivenDotNetUsesMSBuild.cs index 2e08f9891..e8eb1056c 100644 --- a/test/EndToEnd/GivenDotNetUsesMSBuild.cs +++ b/test/EndToEnd/GivenDotNetUsesMSBuild.cs @@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd { string projectDirectory = directory.Path; - string newArgs = "console --debug:ephemeral-hive"; + string newArgs = "console -f netcoreapp1.1 --debug:ephemeral-hive"; new NewCommandShim() .WithWorkingDirectory(projectDirectory) .Execute(newArgs) @@ -112,7 +112,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd new DotnetCommand() .WithWorkingDirectory(testProjectDirectory) .ExecuteWithCapturedOutput( - $"-d dependency-tool-invoker -c {configuration} -f netcoreapp1.0 portable") + $"-d dependency-tool-invoker -c {configuration} -f netcoreapp1.1 portable") .Should().Pass() .And.HaveStdOutContaining("Hello Portable World!");; } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs index ba8194a21..acb2c7b33 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs @@ -201,7 +201,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests .Should().Pass(); var factory = new ProjectDependenciesCommandFactory( - FrameworkConstants.CommonFrameworks.NetCoreApp10, + FrameworkConstants.CommonFrameworks.NetCoreApp11, configuration, null, null, @@ -210,7 +210,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests var command = factory.Create("dotnet-tool-with-output-name", null); command.CommandArgs.Should().Contain( - Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp1.0", "dotnet-tool-with-output-name.dll")); + Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp1.1", "dotnet-tool-with-output-name.dll")); } } } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs index cd0d47d4a..54bd5b49f 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs @@ -47,7 +47,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10 + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -83,7 +83,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10 + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -109,7 +109,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "nonexistent-command", CommandArguments = null, ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10 + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -135,7 +135,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = testInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10, + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11, OutputPath = outputDir.FullName }; diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 92b4970c1..44ce24766 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -18,7 +18,7 @@ namespace Microsoft.DotNet.Tests public class GivenAProjectToolsCommandResolver : TestBase { private static readonly NuGetFramework s_toolPackageFramework = - FrameworkConstants.CommonFrameworks.NetCoreApp10; + FrameworkConstants.CommonFrameworks.NetCoreApp11; private const string TestProjectName = "AppWithToolDependency"; @@ -279,6 +279,7 @@ namespace Microsoft.DotNet.Tests var projectToolsCommandResolver = SetupProjectToolsCommandResolver(); projectToolsCommandResolver.GenerateDepsJsonFile( lockFile, + s_toolPackageFramework, depsJsonFile, new SingleProjectInfo("dotnet-portable", "1.0.0", Enumerable.Empty())); diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs new file mode 100644 index 000000000..a99c8ef60 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.PlatformAbstractions; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public static class EnvironmentInfo + { + public static bool HasSharedFramework(string framework) + { + if (framework == "netcoreapp1.0") + { + string rid = RuntimeEnvironment.GetRuntimeIdentifier(); + switch (rid) + { + case "fedora.24-x64": + case "opensuse.42.1-x64": + case "ubuntu.16.10-x64": + return false; + } + } + + return true; + } + } +} \ No newline at end of file diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs new file mode 100644 index 000000000..30712d5bc --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Xunit; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public class RequiresSpecificFrameworkFactAttribute : FactAttribute + { + public RequiresSpecificFrameworkFactAttribute(string framework) + { + if (!EnvironmentInfo.HasSharedFramework(framework)) + { + this.Skip = $"This test requires a shared framework that isn't present: {framework}"; + } + } + } +} \ No newline at end of file diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index 781f7c985..3ab1a0d36 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -28,7 +28,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp1.0") + var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp1.1") .GetFile($"{testAppName}.dll"); var outputRunCommand = new TestCommand("dotnet"); @@ -46,7 +46,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -o \"{rootPath}\" --debug:ephemeral-hive"; + string newArgs = $"console -f netcoreapp1.1 -o \"{rootPath}\" --debug:ephemeral-hive"; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) @@ -65,7 +65,12 @@ namespace Microsoft.DotNet.Cli.Build.Tests .Execute() .Should().Pass(); - var outputDll = Directory.EnumerateFiles(Path.Combine(rootPath, "bin"), "*.dll", SearchOption.AllDirectories).Single(); + var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; + + var outputDll = Directory.EnumerateFiles( + Path.Combine(rootPath, "bin", configuration, "netcoreapp1.1"), "*.dll", + SearchOption.TopDirectoryOnly) + .Single(); var outputRunCommand = new TestCommand("dotnet"); diff --git a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs index 5c6813bc8..92b05a9f7 100644 --- a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs +++ b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs @@ -431,6 +431,12 @@ namespace Microsoft.DotNet.Migration.Tests .Execute("build -c Debug") .Should().Pass(); + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the app requires netcoreapp1.0 + return; + } + var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("run -c Debug"); @@ -483,6 +489,12 @@ namespace Microsoft.DotNet.Migration.Tests .Execute("build -c Debug") .Should().Pass(); + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the app requires netcoreapp1.0 + return; + } + var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("run -c Debug"); @@ -534,6 +546,12 @@ namespace Microsoft.DotNet.Migration.Tests .Execute("build -c Debug") .Should().Pass(); + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the app requires netcoreapp1.0 + return; + } + var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("run -c Debug"); diff --git a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs index 339019b29..f9d4aba1d 100644 --- a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs +++ b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs @@ -492,7 +492,7 @@ namespace Microsoft.DotNet.Migration.Tests } outputsIdentical.Should().BeTrue(); - + VerifyAllMSBuildOutputsRunnable(projectDirectory); } @@ -543,7 +543,7 @@ namespace Microsoft.DotNet.Migration.Tests .And.Contain("Migration failed."); } - [Fact] + [RequiresSpecificFrameworkFact("netcoreapp1.0")] public void ItMigratesAndPublishesProjectsWithRuntimes() { var projectName = "PJTestAppSimple"; @@ -745,6 +745,12 @@ namespace Microsoft.DotNet.Migration.Tests private void VerifyAllMSBuildOutputsRunnable(DirectoryInfo projectDirectory) { + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the apps requires netcoreapp1.0 + return; + } + var dllFileName = Path.GetFileName(projectDirectory.FullName) + ".dll"; var runnableDlls = projectDirectory diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index 3588bc3fc..d631abdf0 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -30,6 +30,13 @@ namespace Microsoft.DotNet.New.Tests string projectType, bool useNuGetConfigForAspNet) { + if (language == "F#" && !EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // F# requires netcoreapp1.0 to be present in order to build + // https://github.com/dotnet/netcorecli-fsc/issues/76 + return; + } + string rootPath = TestAssetsManager.CreateTestDirectory(identifier: $"{language}_{projectType}").Path; new TestCommand("dotnet") { WorkingDirectory = rootPath } diff --git a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs index 13d5374d2..620d6973b 100644 --- a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs +++ b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs @@ -29,11 +29,11 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .Execute("--framework netcoreapp1.0") + .Execute("--framework netcoreapp1.1") .Should().Pass(); var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp1.0", "publish", $"{testAppName}.dll"); + var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp1.1", "publish", $"{testAppName}.dll"); new TestCommand("dotnet") .ExecuteWithCapturedOutput(outputDll) @@ -56,7 +56,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var rid = DotnetLegacyRuntimeIdentifiers.InferLegacyRestoreRuntimeIdentifier(); new PublishCommand() - .WithFramework("netcoreapp1.0") + .WithFramework("netcoreapp1.1") .WithRuntime(rid) .WithWorkingDirectory(testProjectDirectory) //Workaround for https://github.com/dotnet/cli/issues/4501 @@ -67,7 +67,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputProgram = testProjectDirectory - .GetDirectory("bin", configuration, "netcoreapp1.0", rid, "publish", $"{testAppName}{Constants.ExeSuffix}") + .GetDirectory("bin", configuration, "netcoreapp1.1", rid, "publish", $"{testAppName}{Constants.ExeSuffix}") .FullName; new TestCommand(outputProgram) @@ -85,7 +85,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -o \"{rootPath}\""; + string newArgs = $"console -f netcoreapp1.1 -o \"{rootPath}\""; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) @@ -107,7 +107,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputProgram = rootDir - .GetDirectory("bin", configuration, "netcoreapp1.0", "publish", $"{rootDir.Name}.dll") + .GetDirectory("bin", configuration, "netcoreapp1.1", "publish", $"{rootDir.Name}.dll") .FullName; new TestCommand(outputProgram) diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 2ef0f627f..0d7f90004 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -72,7 +72,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests new RunCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp1.0") + .ExecuteWithCapturedOutput("--framework netcoreapp1.1") .Should().Pass() .And.HaveStdOutContaining("Hello World!"); } @@ -123,7 +123,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -o \"{rootPath}\""; + string newArgs = $"console -f netcoreapp1.1 -o \"{rootPath}\""; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs index 402ea295a..9fabcff33 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs @@ -87,7 +87,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests string configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; string expectedError = Path.Combine(testProjectDirectory, "bin", - configuration, "netcoreapp1.0", "VSTestDotNetCore.dll"); + configuration, "netcoreapp1.1", "VSTestDotNetCore.dll"); expectedError = "The test source file " + "\"" + expectedError + "\"" + " provided was not found."; // Call test diff --git a/test/dotnet-vstest.Tests/VSTestTests.cs b/test/dotnet-vstest.Tests/VSTestTests.cs index 3c85c2c7b..65aad1f89 100644 --- a/test/dotnet-vstest.Tests/VSTestTests.cs +++ b/test/dotnet-vstest.Tests/VSTestTests.cs @@ -31,7 +31,7 @@ namespace Microsoft.DotNet.Cli.VSTest.Tests .Should().Pass(); var outputDll = testRoot - .GetDirectory("bin", configuration, "netcoreapp1.0") + .GetDirectory("bin", configuration, "netcoreapp1.1") .GetFile($"{testAppName}.dll"); var argsForVstest = $"\"{outputDll.FullName}\" {TestBase.ConsoleLoggerOutputNormal}"; diff --git a/test/dotnet.Tests/PackagedCommandTests.cs b/test/dotnet.Tests/PackagedCommandTests.cs index 52d58a9e7..f097f6891 100644 --- a/test/dotnet.Tests/PackagedCommandTests.cs +++ b/test/dotnet.Tests/PackagedCommandTests.cs @@ -109,7 +109,7 @@ namespace Microsoft.DotNet.Tests .WithSourceFiles() .WithRestoreFiles(); - const string framework = ".NETCoreApp,Version=v1.0"; + const string framework = ".NETCoreApp,Version=v1.1"; new BuildCommand() .WithProjectDirectory(testInstance.Root) @@ -289,7 +289,7 @@ namespace Microsoft.DotNet.Tests .WithRestoreFiles(); var assetsFile = new DirectoryInfo(new RepoDirectoriesProvider().NugetPackages) - .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.0") + .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.1") .GetFile("project.assets.json"); var stopWatch = Stopwatch.StartNew(); @@ -319,7 +319,7 @@ namespace Microsoft.DotNet.Tests .WithRestoreFiles(); var assetsFile = new DirectoryInfo(new RepoDirectoriesProvider().NugetPackages) - .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.0") + .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.1") .GetFile("project.assets.json"); var stopWatch = Stopwatch.StartNew(); From 7036fa1aefee72163fba7371992029a35e367389 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Wed, 22 Feb 2017 11:55:36 -0600 Subject: [PATCH 10/10] Update dotnet-deb-tool-consumer to use the latest dotnet-deb-tool. The latest deb-tool will use the CLI's runtime, which is required on distros that don't have .NET Core 1.0 installed. --- Microsoft.DotNet.Cli.sln | 1 + .../Microsoft.DotNet.Cli.Installer.DEB.proj | 22 ++++++++----------- ...Microsoft.DotNet.Cli.Installer.DEB.targets | 14 +----------- build/package/dotnet-deb-tool-consumer.csproj | 8 +++++++ 4 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 build/package/dotnet-deb-tool-consumer.csproj diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 6f974fa00..b75c5e5e7 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -37,6 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "package", "package", "{FD7D515A-D10F-4F49-B8AE-21CF7ED071AE}" ProjectSection(SolutionItems) = preProject + build\package\dotnet-deb-tool-consumer.csproj = build\package\dotnet-deb-tool-consumer.csproj build\package\Microsoft.DotNet.Cli.Archive.targets = build\package\Microsoft.DotNet.Cli.Archive.targets build\package\Microsoft.DotNet.Cli.Installer.DEB.proj = build\package\Microsoft.DotNet.Cli.Installer.DEB.proj build\package\Microsoft.DotNet.Cli.Installer.DEB.targets = build\package\Microsoft.DotNet.Cli.Installer.DEB.targets diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj index ede1fecff..6eb7a304f 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj @@ -49,7 +49,7 @@ ReplacementStrings="@(DebianConfigTokenValues -> '%(ReplacementString)')" /> - + DependsOnTargets="WriteDotnetDebToolProject"> - + - + - + - diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets index 3bf265a98..5102f1ad5 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets @@ -4,22 +4,10 @@ DependsOnTargets="Init"> - dotnet-deb-tool - 1.0.0-* - dotnet-deb-tool-consumer + dotnet-deb-tool-consumer.csproj $(IntermediateDirectory)/$(DotnetDebToolConsumerProjectName) - - - - - - - - - - /usr/share/dotnet diff --git a/build/package/dotnet-deb-tool-consumer.csproj b/build/package/dotnet-deb-tool-consumer.csproj new file mode 100644 index 000000000..26b7aa79d --- /dev/null +++ b/build/package/dotnet-deb-tool-consumer.csproj @@ -0,0 +1,8 @@ + + + netcoreapp1.1 + + + + +