diff --git a/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj b/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj
index 59cfc871f..611bb08eb 100644
--- a/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj
+++ b/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj
@@ -6,6 +6,6 @@
-
+
diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props
index 757d6ec36..d574b1789 100644
--- a/build/BuildDefaults.props
+++ b/build/BuildDefaults.props
@@ -10,7 +10,7 @@
($(Rid.StartsWith('rhel.6'))
OR $(Rid.StartsWith('linux-musl'))
OR $(Rid.StartsWith('fedora.27'))
- OR $(Rid.StartsWith('opensuse.43.2'))
+ OR $(Rid.StartsWith('opensuse.42.3'))
OR $(Rid.StartsWith('ubuntu.18.04')))">true
false
true
@@ -19,16 +19,18 @@
AND '$(Rid)' != 'rhel.6-x64'
AND '$(Rid)' != 'linux-musl-x64'
AND '$(Rid)' != 'fedora.27-x64'
- AND '$(Rid)' != 'opensuse.43.2-x64'
+ AND '$(Rid)' != 'opensuse.42.3-x64'
AND '$(Rid)' != 'ubuntu.18.04-x64'">true
true
true
-
+
- NU1701
+
+
+ NU1701;NU5104
true
diff --git a/build/BundledDotnetTools.proj b/build/BundledDotnetTools.proj
index 3c07a51f0..57837ea01 100644
--- a/build/BundledDotnetTools.proj
+++ b/build/BundledDotnetTools.proj
@@ -13,12 +13,11 @@
Condition="!Exists('$(DotnetToolsNuPkgPath)/$(TemplateFillInPackageName.ToLower())')">
- --runtime any
+ --runtime any /p:RestoreProjectStyle=DotnetToolReference
$(DotnetToolsRestoreAdditionalParameters) /p:TargetFramework=$(CliTargetFramework)
$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageName=$(TemplateFillInPackageName)
$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion)
$(DotnetToolsRestoreAdditionalParameters) /p:RestorePackagesPath=$(DotnetToolsLayoutDirectory)
- $(DotnetToolsRestoreAdditionalParameters) /p:RestoreProjectStyle=$(DotnetToolsRestoreProjectStyle)
-
-
-
-
-
+
+
+
+
+
diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props
index 40003b788..45234b98b 100644
--- a/build/BundledRuntimes.props
+++ b/build/BundledRuntimes.props
@@ -6,24 +6,21 @@
-internal
-
- -upgrade
-
- dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerEndSuffix)$(InstallerExtension)
+ dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName)
$(CoreSetupRid)
x64
- dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)
+ dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)
- dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)
+ dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)
- dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)
+ dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)
@@ -37,7 +34,7 @@
$(AspNetCoreSharedFxInstallerRid)
x64
- aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerEndSuffix)$(InstallerExtension)
+ aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension)
aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid).wixlib
$(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName)
diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props
index e1cb85a8f..108e19f92 100644
--- a/build/BundledTemplates.props
+++ b/build/BundledTemplates.props
@@ -7,5 +7,7 @@
+
+
diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props
index 232f93285..49bfc555a 100644
--- a/build/DependencyVersions.props
+++ b/build/DependencyVersions.props
@@ -3,14 +3,21 @@
2.2.0-preview1-34355
$(MicrosoftAspNetCoreAllPackageVersion)
+ 2.1.1
+ 2.1.1
+ 2.1.1
+ 2.1.1
+ 2.1.1
+ 2.1.1
+ 2.1.1
2.2.0-preview1-26609-02
$(MicrosoftNETCoreAppPackageVersion)
- 15.8.0-preview-000078
+ 15.8.0-preview-000138
$(MicrosoftBuildPackageVersion)
$(MicrosoftBuildPackageVersion)
$(MicrosoftBuildPackageVersion)
$(MicrosoftBuildPackageVersion)
- 10.1.4-rtm-180515-0
+ 10.2.0-rtm-180620-0
2.8.3-beta6-62923-07
$(MicrosoftCodeAnalysisCSharpPackageVersion)
$(MicrosoftCodeAnalysisCSharpPackageVersion)
@@ -19,12 +26,12 @@
1.0.0-preview1-62924-06
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftAspNetCoreAppPackageVersion)
- 2.1.300
+ 2.1.400-preview1-20180614-1774926
$(MicrosoftNETSdkWebPackageVersion)
$(MicrosoftNETSdkWebPackageVersion)
1.0.2-beta3
$(MicrosoftDotNetCommonItemTemplatesPackageVersion)
- 1.0.2-beta3
+ 1.0.2-beta3-20180614-1775839
1.0.2-beta3
$(MicrosoftTemplateEngineCliPackageVersion)
$(MicrosoftTemplateEngineCliPackageVersion)
@@ -36,7 +43,7 @@
1.3.1
$(MicrosoftDotNetProjectJsonMigrationPackageVersion)
0.2.0-beta-62628-01
- 4.8.0-preview3.5244
+ 4.8.0-preview3.5278
$(NuGetBuildTasksPackageVersion)
$(NuGetBuildTasksPackageVersion)
$(NuGetBuildTasksPackageVersion)
@@ -46,11 +53,12 @@
$(NuGetBuildTasksPackageVersion)
$(NuGetBuildTasksPackageVersion)
$(NuGetBuildTasksPackageVersion)
- 15.8.0-preview-20180510-03
+ 15.8.0-preview-20180605-02
$(MicrosoftNETTestSdkPackageVersion)
$(MicrosoftNETTestSdkPackageVersion)
0.2.0-beta-000042
0.2.0
+ 1.5.1
diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets
index 1ada841ca..f5365724a 100644
--- a/build/MSBuildExtensions.targets
+++ b/build/MSBuildExtensions.targets
@@ -116,6 +116,13 @@
<_AspNetCoreAllPackageVersion>$(MicrosoftAspNetCoreAllPackageVersion)
<_AspNetCoreAppPackageVersion>$(MicrosoftAspNetCoreAppPackageVersion)
+
+ <_DefaultPatchVersionForAspNetCoreAll2_1>2.1.1
+ <_DefaultPatchVersionForAspNetCoreApp2_1>$(_DefaultPatchVersionForAspNetCoreAll2_1)
+
+ <_DefaultPatchVersionForAspNetCoreAll2_1 Condition="$(_AspNetCoreAllPackageVersion.StartsWith('$(_DefaultPatchVersionForAspNetCoreAll2_1)-'))">$(_AspNetCoreAllPackageVersion)
+ <_DefaultPatchVersionForAspNetCoreApp2_1 Condition="$(_AspNetCoreAppPackageVersion.StartsWith('$(_DefaultPatchVersionForAspNetCoreApp2_1)-'))">$(_AspNetCoreAppPackageVersion)
+
<_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1])
<_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1])
@@ -125,6 +132,16 @@
<_NETCoreSdkIsPreview Condition=" '$(DropSuffix)' != 'true' ">true
+
+
+
+
+
@@ -163,6 +180,7 @@ Copyright (c) .NET Foundation. All rights reserved.
$(_NETCoreAppTargetFrameworkVersion)
$(_NETCoreAppPackageVersion)
+ $(_UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion)
$(_NETStandardTargetFrameworkVersion)
$(_NETStandardLibraryPackageVersion)
$(_NETCorePlatformsPackageVersion)
@@ -170,10 +188,14 @@ Copyright (c) .NET Foundation. All rights reserved.
$(SdkVersion)
<_NETCoreSdkIsPreview>$(_NETCoreSdkIsPreview)
+
+ $(_DefaultPatchVersionForAspNetCoreAll2_1)
+ $(_DefaultPatchVersionForAspNetCoreApp2_1)
+
- 1.0.11
- 1.1.8
- 2.0.7
+ 1.0.12
+ 1.1.9
+ 2.0.9
]]>
diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks
index 901a48f84..812c04925 100644
--- a/build/Microsoft.DotNet.Cli.tasks
+++ b/build/Microsoft.DotNet.Cli.tasks
@@ -23,6 +23,7 @@
+
diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets
index 894278c1f..adb6c3529 100644
--- a/build/NugetConfigFile.targets
+++ b/build/NugetConfigFile.targets
@@ -22,6 +22,8 @@
+
+
diff --git a/build/Publish.targets b/build/Publish.targets
index 70819a6b1..58d6057c1 100644
--- a/build/Publish.targets
+++ b/build/Publish.targets
@@ -54,6 +54,8 @@
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
+
diff --git a/build/Test.targets b/build/Test.targets
index 39cc79f83..9f4ce8778 100644
--- a/build/Test.targets
+++ b/build/Test.targets
@@ -89,7 +89,7 @@
-
diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets
index a1fa07e91..2d55fd502 100644
--- a/build/compile/LzmaArchive.targets
+++ b/build/compile/LzmaArchive.targets
@@ -3,6 +3,7 @@
$(SdkOutputDirectory)/nuGetPackagesArchive.lzma
+ $(PackagesDirectory)/nuGetPackagesArchive.lzma
nuGetPackagesArchive-$(AspNetCoreVersion).lzma
$(IntermediateDirectory)/$(NugetPackagesArchiveName)
$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)
@@ -17,5 +18,6 @@
ContinueOnError="WarnAndContinue" />
+
diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj
index 0e516f440..68390e2d7 100644
--- a/build/package/Installer.DEB.proj
+++ b/build/package/Installer.DEB.proj
@@ -94,12 +94,12 @@
UseHardlinksIfPossible="False" />
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets
index 349089d86..f6f9abfa9 100644
--- a/build/package/Installer.DEB.targets
+++ b/build/package/Installer.DEB.targets
@@ -30,7 +30,11 @@
$(MicrosoftNETCoreAppMajorMinorVersion)
dotnet-runtime-$(SharedFxDebianPackageFileVersion)
$(SharedFxDebianPackageFileName.ToLower())
- dotnet-runtime-$(SharedFxDebianPackageVersion)
+
+
+ dotnet-runtime-$(SharedFxDebianPackageFileVersion)
+
$(SharedFxDebianPackageName.ToLower())
$(HostFxrMajorMinorVersion)
dotnet-hostfxr-$(HostFxrDebianPackageVersion)
@@ -38,7 +42,11 @@
dotnet-host
aspnetcore-runtime-$(AspNetCoreVersion)
$(AspNetCoreSharedFxDebianPackageFileName.ToLower())
- aspnetcore-runtime-$(AspNetCoreMajorMinorVersion)
+
+
+ aspnetcore-runtime-$(AspNetCoreVersion)
+
$(AspNetCoreSharedFxDebianPackageName.ToLower())
diff --git a/build_projects/dotnet-cli-build/GetUseBundledVersionAsDefaultVersion.cs b/build_projects/dotnet-cli-build/GetUseBundledVersionAsDefaultVersion.cs
new file mode 100644
index 000000000..91d10694a
--- /dev/null
+++ b/build_projects/dotnet-cli-build/GetUseBundledVersionAsDefaultVersion.cs
@@ -0,0 +1,30 @@
+// 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 System;
+using System.IO;
+using Microsoft.Build.Utilities;
+using Microsoft.Build.Framework;
+using Microsoft.DotNet.Cli.Build.Framework;
+using NuGet.Versioning;
+
+namespace Microsoft.DotNet.Cli.Build
+{
+ public class GetUseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion : Task
+ {
+ [Required]
+ public string BundledNETCoreAppPackageVersion { get; set; }
+
+ [Output]
+ public string UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion { get; set; }
+
+ public override bool Execute()
+ {
+ var parsedVersion = NuGetVersion.Parse(BundledNETCoreAppPackageVersion);
+ UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion =
+ (parsedVersion.Patch == 0) && parsedVersion.IsPrerelease ? "true" : "false";
+
+ return true;
+ }
+ }
+}
diff --git a/netci.groovy b/netci.groovy
index c2283cd23..3d49daada 100644
--- a/netci.groovy
+++ b/netci.groovy
@@ -18,7 +18,9 @@ def platformList = [
'Linux:arm64:Debug',
'Linux-musl:x64:Debug',
'Linux:x64:Release',
- 'opensuse.43.2:x64:Debug',
+ 'Linux_NoSuffix:arm:Release',
+ 'Linux_NoSuffix:x64:Release',
+ 'opensuse.42.3:x64:Debug',
'OSX10.12:x64:Release',
'RHEL6:x64:Debug',
'RHEL7.2:x64:Release',
@@ -27,7 +29,8 @@ def platformList = [
'ubuntu.18.04:x64:Debug',
'Windows_NT:x64:Release',
'Windows_NT:x86:Debug',
- 'Windows_NT_ES:x64:Debug'
+ 'Windows_NT_ES:x64:Debug',
+ 'Windows_NT_NoSuffix:x64:Release'
]
def static getBuildJobName(def configuration, def os, def architecture) {
@@ -42,50 +45,62 @@ platformList.each { platform ->
// Calculate job name
def jobName = getBuildJobName(configuration, os, architecture)
- def buildCommand = '';
+ def baseBatchBuildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default";
+ def baseShellBuildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --targets Default";
// Calculate the build command
- if (os == 'Windows_NT') {
- buildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default"
+ if (os.startsWith("Windows_NT")) {
+ osUsedForMachineAffinity = 'Windows_NT'
+ buildCommand = "${baseBatchBuildCommand}"
+ if (os == 'Windows_NT_ES') {
+ buildCommand = """
+set DOTNET_CLI_UI_LANGUAGE=es
+${buildCommand}
+"""
+ }
+ else if (os == 'Windows_NT_NoSuffix') {
+ buildCommand = """
+set DropSuffix=true
+${buildCommand}
+"""
+ }
}
else if (os == 'Windows_2016') {
- buildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -RunInstallerTestsInDocker -Targets Default"
+ buildCommand = "${baseBatchBuildCommand} -RunInstallerTestsInDocker"
}
- else if (os == 'Windows_NT_ES') {
- osUsedForMachineAffinity = 'Windows_NT'
- buildCommand = """
-set DOTNET_CLI_UI_LANGUAGE=es
-.\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default
+ else if (os.startsWith("Linux")) {
+ osUsedForMachineAffinity = 'Ubuntu16.04';
+ if (os == 'Linux-musl') {
+ buildCommand = "${baseShellBuildCommand} --runtime-id linux-musl-x64 --docker alpine.3.6"
+ }
+ else
+ {
+ buildCommand = "${baseShellBuildCommand} --linux-portable"
+ if ((architecture == 'arm') || (architecture == 'arm64')) {
+ buildCommand = "${buildCommand} --architecture ${architecture} /p:CLIBUILD_SKIP_TESTS=true"
+ }
+ if (os == 'Linux_NoSuffix') {
+ buildCommand = """
+export DropSuffix=true
+${buildCommand}
"""
+ }
+ }
}
else if (os == 'Ubuntu') {
- buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --docker ubuntu.14.04 --targets Default"
- }
- else if (os == 'Linux') {
- osUsedForMachineAffinity = 'Ubuntu16.04';
- if ((architecture == 'arm') || (architecture == 'arm64')) {
- buildCommand = "./build.sh --linux-portable --skip-prereqs --architecture ${architecture} --configuration ${configuration} --targets Default /p:CLIBUILD_SKIP_TESTS=true"
- }
- else {
- buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --targets Default"
- }
+ buildCommand = "${baseShellBuildCommand} --docker ubuntu.14.04"
}
else if (os == 'RHEL6') {
osUsedForMachineAffinity = 'Ubuntu16.04';
- buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id rhel.6-x64 --docker rhel.6 --targets Default"
+ buildCommand = "${baseShellBuildCommand} --runtime-id rhel.6-x64 --docker rhel.6"
}
- else if (os == 'Linux-musl') {
- osUsedForMachineAffinity = 'Ubuntu16.04';
- buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id linux-musl-x64 --docker alpine.3.6 --targets Default"
- }
- else if (os == 'ubuntu.18.04' || os == 'fedora.27' || os == 'opensuse.43.2') {
+ else if (os == 'ubuntu.18.04' || os == 'fedora.27' || os == 'opensuse.42.3') {
osUsedForMachineAffinity = 'Ubuntu16.04'
osVersionUsedForMachineAffinity = 'latest-docker'
- buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --docker ${os} --targets Default"
+ buildCommand = "${baseShellBuildCommand} --docker ${os} --linux-portable"
}
else {
- // Jenkins non-Ubuntu CI machines don't have docker
- buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --targets Default"
+ buildCommand = "${baseShellBuildCommand}"
}
def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {
@@ -110,10 +125,10 @@ set DOTNET_CLI_UI_LANGUAGE=es
}
Utilities.addGithubPRTriggerForBranch(newJob, branch, "${os} ${architecture} ${configuration} Build")
- def archiveSettings = new ArchivalSettings()
- archiveSettings.addFiles("test/**/*.trx")
- archiveSettings.setFailIfNothingArchived()
- archiveSettings.setArchiveOnFailure()
+ def archiveSettings = new ArchivalSettings()
+ archiveSettings.addFiles("test/**/*.trx")
+ archiveSettings.setFailIfNothingArchived()
+ archiveSettings.setArchiveOnFailure()
Utilities.addArchival(newJob, archiveSettings)
}
diff --git a/run-build.ps1 b/run-build.ps1
index 30e495d03..344cf4374 100644
--- a/run-build.ps1
+++ b/run-build.ps1
@@ -89,8 +89,8 @@ if($Architecture.StartsWith("arm", [StringComparison]::OrdinalIgnoreCase))
$InstallArchitecture = "x64"
}
-Write-Output "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
-Invoke-Expression "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
+Write-Output "$dotnetInstallPath -version ""2.1.300"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
+Invoke-Expression "$dotnetInstallPath -version ""2.1.300"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
if ($LastExitCode -ne 0)
{
diff --git a/run-build.sh b/run-build.sh
index b22d4d1fc..1f2ed25a9 100755
--- a/run-build.sh
+++ b/run-build.sh
@@ -162,7 +162,7 @@ if [[ $archlower == 'arm'* ]]; then
fi
if [ "$STAGE0_SOURCE_DIR" == "" ]; then
- (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$INSTALL_ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS)
+ (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.1.300" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$INSTALL_ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS)
else
echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR"
cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR"
diff --git a/scripts/docker/alpine.3.6/Dockerfile b/scripts/docker/alpine.3.6/Dockerfile
index 746f1bd4b..2dc797963 100644
--- a/scripts/docker/alpine.3.6/Dockerfile
+++ b/scripts/docker/alpine.3.6/Dockerfile
@@ -9,6 +9,15 @@ FROM microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156
# This Dockerfile doesn't use the USER_ID, but the parameter needs to be declared to prevent docker
# from issuing a warning
ARG USER_ID=0
+RUN adduser code_executor -u ${USER_ID} -G root -D
+RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
+
+# With the User Change, we need to change permssions 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.43.2/Dockerfile b/scripts/docker/opensuse.42.3/Dockerfile
similarity index 100%
rename from scripts/docker/opensuse.43.2/Dockerfile
rename to scripts/docker/opensuse.42.3/Dockerfile
diff --git a/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs b/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs
index 3d578432e..c05177f61 100644
--- a/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs
+++ b/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs
@@ -10,8 +10,17 @@ namespace Microsoft.Extensions.EnvironmentAbstractions
{
public string Value { get; }
+ ///
+ /// Create DirectoryPath to repesent a absolute directory path. Note it may not exist.
+ ///
+ /// If the value is not rooted. Path.GetFullPath will be called during the consturctor.
public DirectoryPath(string value)
{
+ if (!Path.IsPathRooted(value))
+ {
+ value = Path.GetFullPath(value);
+ }
+
Value = value;
}
@@ -46,7 +55,7 @@ namespace Microsoft.Extensions.EnvironmentAbstractions
public DirectoryPath GetParentPath()
{
- return new DirectoryPath(Directory.GetParent(Path.GetFullPath(Value)).FullName);
+ return new DirectoryPath(Path.GetDirectoryName(Value));
}
}
}
diff --git a/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs b/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs
index 9dbbf8c83..7b7caee28 100644
--- a/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs
+++ b/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs
@@ -9,8 +9,17 @@ namespace Microsoft.Extensions.EnvironmentAbstractions
{
public string Value { get; }
+ ///
+ /// Create FilePath to repesent a absolute file path. Note it may not exist.
+ ///
+ /// If the value is not rooted. Path.GetFullPath will be called during the consturctor.
public FilePath(string value)
{
+ if (!Path.IsPathRooted(value))
+ {
+ value = Path.GetFullPath(value);
+ }
+
Value = value;
}
diff --git a/src/dotnet/Properties/AssemblyInfo.cs b/src/dotnet/Properties/AssemblyInfo.cs
index b5f0b8fe0..8b1c62cd5 100644
--- a/src/dotnet/Properties/AssemblyInfo.cs
+++ b/src/dotnet/Properties/AssemblyInfo.cs
@@ -9,6 +9,7 @@ using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("dotnet-add-package.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-add-reference.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-help.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("dotnet-publish.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-list-reference.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-remove-reference.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-remove-package.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs
index aa63ae8c7..1903d2f84 100644
--- a/src/dotnet/ToolPackage/ToolPackageInstaller.cs
+++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs
@@ -135,6 +135,7 @@ namespace Microsoft.DotNet.ToolPackage
var tempProjectContent = new XDocument(
new XElement("Project",
new XElement("PropertyGroup",
+ // due to https://github.com/Microsoft/msbuild/issues/1603 -- import SDK after setting MsBuildProjectExtensionsPath
new XElement("MsBuildProjectExtensionsPath", assetJsonOutputDirectory.Value)), // change the output directory of asset.json
new XElement(("Import"),
new XAttribute("Project", "Sdk.props"),
@@ -154,7 +155,7 @@ namespace Microsoft.DotNet.ToolPackage
new XElement("PackageReference",
new XAttribute("Include", packageId.ToString()),
new XAttribute("Version",
- versionRange?.ToString("S", new VersionRangeFormatter()) ?? "*"))), // nuget will restore latest stable for *
+ versionRange?.ToString("N", new VersionRangeFormatter()) ?? "*"))), // nuget will restore latest stable for * and format N is the normalization format
new XElement(("Import"),
new XAttribute("Project", "Sdk.targets"),
new XAttribute("Sdk", "Microsoft.NET.Sdk"))));
diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs b/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs
index 734892649..1f4dbfb35 100644
--- a/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs
+++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs
@@ -47,7 +47,11 @@ namespace Microsoft.DotNet.Cli
LocalizableStrings.CmdPackageDirectoryDescription,
Accept.ExactlyOneArgument()
.With(name: LocalizableStrings.CmdPackageDirectory)
- .ForwardAsSingle(o => $"--package-directory {o.Arguments.Single()}")));
+ .ForwardAsSingle(o => $"--package-directory {o.Arguments.Single()}")),
+ Create.Option("--interactive",
+ LocalizableStrings.CmdInteractiveRestoreDescription,
+ Accept.NoArguments()
+ .ForwardAs("--interactive")));
}
public static IEnumerable QueryNuGet(string match)
diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx b/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx
index 36320b010..ec8af6d18 100644
--- a/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx
+++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx
@@ -165,4 +165,7 @@
Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again.
+
+ Allows the command to stop and wait for user input or action (for example to complete authentication).
+
\ No newline at end of file
diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf
index d5c54d45c..baa0876b0 100644
--- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf
+++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf
@@ -82,6 +82,11 @@
Nejde generovat dočasný soubor pro projekt {0}. Není možné přidat odkaz na balíček. Vyprázdněte prosím dočasný adresář a zkuste to znovu.
+
+ Allows the command to stop and wait for user input or action (for example to complete authentication).
+ Allows the command to stop and wait for user input or action (for example to complete authentication).
+
+