Merged PR 126597: Merge from upstream release/2.1.3xx
Merge from upstream release/2.1.3xx Note: this conflicted with several cherry-picked commits that were already present in release/2.1.3xx-MSRC.
This commit is contained in:
commit
b7eb74ff6b
14 changed files with 64 additions and 22 deletions
|
@ -13,12 +13,11 @@
|
||||||
Condition="!Exists('$(DotnetToolsNuPkgPath)/$(TemplateFillInPackageName.ToLower())')">
|
Condition="!Exists('$(DotnetToolsNuPkgPath)/$(TemplateFillInPackageName.ToLower())')">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<DotnetToolsRestoreAdditionalParameters>--runtime any</DotnetToolsRestoreAdditionalParameters>
|
<DotnetToolsRestoreAdditionalParameters>--runtime any /p:RestoreProjectStyle=DotnetToolReference</DotnetToolsRestoreAdditionalParameters>
|
||||||
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TargetFramework=$(CliTargetFramework)</DotnetToolsRestoreAdditionalParameters>
|
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TargetFramework=$(CliTargetFramework)</DotnetToolsRestoreAdditionalParameters>
|
||||||
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageName=$(TemplateFillInPackageName)</DotnetToolsRestoreAdditionalParameters>
|
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageName=$(TemplateFillInPackageName)</DotnetToolsRestoreAdditionalParameters>
|
||||||
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion)</DotnetToolsRestoreAdditionalParameters>
|
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion)</DotnetToolsRestoreAdditionalParameters>
|
||||||
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:RestorePackagesPath=$(DotnetToolsLayoutDirectory)</DotnetToolsRestoreAdditionalParameters>
|
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:RestorePackagesPath=$(DotnetToolsLayoutDirectory)</DotnetToolsRestoreAdditionalParameters>
|
||||||
<DotnetToolsRestoreAdditionalParameters Condition=" $(DotnetToolsRestoreProjectStyle) != '' " >$(DotnetToolsRestoreAdditionalParameters) /p:RestoreProjectStyle=$(DotnetToolsRestoreProjectStyle)</DotnetToolsRestoreAdditionalParameters>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
||||||
|
|
|
@ -6,24 +6,21 @@
|
||||||
<!-- only the runtime OSX .pkgs have a `-internal` suffix -->
|
<!-- only the runtime OSX .pkgs have a `-internal` suffix -->
|
||||||
<InstallerStartSuffix Condition="'$(HostOSName)' == 'osx'">-internal</InstallerStartSuffix>
|
<InstallerStartSuffix Condition="'$(HostOSName)' == 'osx'">-internal</InstallerStartSuffix>
|
||||||
|
|
||||||
<!-- deb and rpm based installers have the `-upgrade` suffx -->
|
|
||||||
<InstallerEndSuffix Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">-upgrade</InstallerEndSuffix>
|
|
||||||
|
|
||||||
<!-- Downloaded Installers + Archives -->
|
<!-- Downloaded Installers + Archives -->
|
||||||
<DownloadedRuntimeDepsInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedRuntimeDepsInstallerFileName>
|
<DownloadedRuntimeDepsInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension)</DownloadedRuntimeDepsInstallerFileName>
|
||||||
<DownloadedRuntimeDepsInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName)</DownloadedRuntimeDepsInstallerFile>
|
<DownloadedRuntimeDepsInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName)</DownloadedRuntimeDepsInstallerFile>
|
||||||
|
|
||||||
<!-- Use the "x64" Rid when downloading Linux shared framework 'DEB' installer files. -->
|
<!-- Use the "x64" Rid when downloading Linux shared framework 'DEB' installer files. -->
|
||||||
<SharedFrameworkInstallerFileRid>$(CoreSetupRid)</SharedFrameworkInstallerFileRid>
|
<SharedFrameworkInstallerFileRid>$(CoreSetupRid)</SharedFrameworkInstallerFileRid>
|
||||||
<SharedFrameworkInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">x64</SharedFrameworkInstallerFileRid>
|
<SharedFrameworkInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">x64</SharedFrameworkInstallerFileRid>
|
||||||
|
|
||||||
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
|
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
|
||||||
<DownloadedSharedHostInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)</DownloadedSharedHostInstallerFile>
|
<DownloadedSharedHostInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)</DownloadedSharedHostInstallerFile>
|
||||||
|
|
||||||
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
|
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
|
||||||
<DownloadedHostFxrInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)</DownloadedHostFxrInstallerFile>
|
<DownloadedHostFxrInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)</DownloadedHostFxrInstallerFile>
|
||||||
|
|
||||||
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
|
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
|
||||||
<DownloadedSharedFrameworkInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)</DownloadedSharedFrameworkInstallerFile>
|
<DownloadedSharedFrameworkInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)</DownloadedSharedFrameworkInstallerFile>
|
||||||
|
|
||||||
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
|
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<DotnetSqlCachePackageVersion>2.1.0</DotnetSqlCachePackageVersion>
|
<DotnetSqlCachePackageVersion>2.1.0</DotnetSqlCachePackageVersion>
|
||||||
<DotnetUserSecretsPackageVersion>2.1.0</DotnetUserSecretsPackageVersion>
|
<DotnetUserSecretsPackageVersion>2.1.0</DotnetUserSecretsPackageVersion>
|
||||||
<DotnetWatchPackageVersion>2.1.0</DotnetWatchPackageVersion>
|
<DotnetWatchPackageVersion>2.1.0</DotnetWatchPackageVersion>
|
||||||
<MicrosoftNETCoreAppPackageVersion>2.1.1-rtm-26531-02</MicrosoftNETCoreAppPackageVersion>
|
<MicrosoftNETCoreAppPackageVersion>2.1.1-servicing-26605-02</MicrosoftNETCoreAppPackageVersion>
|
||||||
<MicrosoftNETCoreDotNetHostResolverPackageVersion>$(MicrosoftNETCoreAppPackageVersion)</MicrosoftNETCoreDotNetHostResolverPackageVersion>
|
<MicrosoftNETCoreDotNetHostResolverPackageVersion>$(MicrosoftNETCoreAppPackageVersion)</MicrosoftNETCoreDotNetHostResolverPackageVersion>
|
||||||
<MicrosoftBuildPackageVersion>15.7.179</MicrosoftBuildPackageVersion>
|
<MicrosoftBuildPackageVersion>15.7.179</MicrosoftBuildPackageVersion>
|
||||||
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildFrameworkPackageVersion>
|
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildFrameworkPackageVersion>
|
||||||
|
|
|
@ -116,6 +116,13 @@
|
||||||
<_AspNetCoreAllPackageVersion>$(MicrosoftAspNetCoreAllPackageVersion)</_AspNetCoreAllPackageVersion>
|
<_AspNetCoreAllPackageVersion>$(MicrosoftAspNetCoreAllPackageVersion)</_AspNetCoreAllPackageVersion>
|
||||||
<_AspNetCoreAppPackageVersion>$(MicrosoftAspNetCoreAppPackageVersion)</_AspNetCoreAppPackageVersion>
|
<_AspNetCoreAppPackageVersion>$(MicrosoftAspNetCoreAppPackageVersion)</_AspNetCoreAppPackageVersion>
|
||||||
|
|
||||||
|
<!-- Default aspnetcore patch versions, specified as a stabilized version -->
|
||||||
|
<_DefaultPatchVersionForAspNetCoreAll2_1>2.1.1</_DefaultPatchVersionForAspNetCoreAll2_1>
|
||||||
|
<_DefaultPatchVersionForAspNetCoreApp2_1>$(_DefaultPatchVersionForAspNetCoreAll2_1)</_DefaultPatchVersionForAspNetCoreApp2_1>
|
||||||
|
<!-- If we are currently building a prerelease of the version that we intend to lock to, set the default version to the ingested version instead of the stabilized version. -->
|
||||||
|
<_DefaultPatchVersionForAspNetCoreAll2_1 Condition="$(_AspNetCoreAllPackageVersion.StartsWith('$(_DefaultPatchVersionForAspNetCoreAll2_1)-'))">$(_AspNetCoreAllPackageVersion)</_DefaultPatchVersionForAspNetCoreAll2_1>
|
||||||
|
<_DefaultPatchVersionForAspNetCoreApp2_1 Condition="$(_AspNetCoreAppPackageVersion.StartsWith('$(_DefaultPatchVersionForAspNetCoreApp2_1)-'))">$(_AspNetCoreAppPackageVersion)</_DefaultPatchVersionForAspNetCoreApp2_1>
|
||||||
|
|
||||||
<!-- Use only major and minor in target framework version -->
|
<!-- Use only major and minor in target framework version -->
|
||||||
<_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1])</_NETCoreAppTargetFrameworkVersion>
|
<_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1])</_NETCoreAppTargetFrameworkVersion>
|
||||||
<_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1])</_NETStandardTargetFrameworkVersion>
|
<_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1])</_NETStandardTargetFrameworkVersion>
|
||||||
|
@ -170,6 +177,10 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<NETCoreSdkVersion>$(SdkVersion)</NETCoreSdkVersion>
|
<NETCoreSdkVersion>$(SdkVersion)</NETCoreSdkVersion>
|
||||||
<_NETCoreSdkIsPreview>$(_NETCoreSdkIsPreview)</_NETCoreSdkIsPreview>
|
<_NETCoreSdkIsPreview>$(_NETCoreSdkIsPreview)</_NETCoreSdkIsPreview>
|
||||||
|
|
||||||
|
<!-- Default patch versions for each minor version of ASP.NET Core -->
|
||||||
|
<DefaultPatchVersionForAspNetCoreAll2_1>$(_DefaultPatchVersionForAspNetCoreAll2_1)</DefaultPatchVersionForAspNetCoreAll2_1>
|
||||||
|
<DefaultPatchVersionForAspNetCoreApp2_1>$(_DefaultPatchVersionForAspNetCoreApp2_1)</DefaultPatchVersionForAspNetCoreApp2_1>
|
||||||
|
|
||||||
<!-- Latest patch versions for each minor version of .NET Core -->
|
<!-- Latest patch versions for each minor version of .NET Core -->
|
||||||
<LatestPatchVersionForNetCore1_0 Condition="'$(LatestPatchVersionForNetCore1_0)' == ''">1.0.11</LatestPatchVersionForNetCore1_0>
|
<LatestPatchVersionForNetCore1_0 Condition="'$(LatestPatchVersionForNetCore1_0)' == ''">1.0.11</LatestPatchVersionForNetCore1_0>
|
||||||
<LatestPatchVersionForNetCore1_1 Condition="'$(LatestPatchVersionForNetCore1_1)' == ''">1.1.8</LatestPatchVersionForNetCore1_1>
|
<LatestPatchVersionForNetCore1_1 Condition="'$(LatestPatchVersionForNetCore1_1)' == ''">1.1.8</LatestPatchVersionForNetCore1_1>
|
||||||
|
|
|
@ -54,6 +54,8 @@
|
||||||
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
||||||
<ForPublishing Include="$(PackagesDirectory)/VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.swr"
|
<ForPublishing Include="$(PackagesDirectory)/VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.swr"
|
||||||
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
||||||
|
<ForPublishing Include="$(PackagesDirectory)/nuGetPackagesArchive.lzma"
|
||||||
|
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<FinalArchive>$(SdkOutputDirectory)/nuGetPackagesArchive.lzma</FinalArchive>
|
<FinalArchive>$(SdkOutputDirectory)/nuGetPackagesArchive.lzma</FinalArchive>
|
||||||
|
<PackagesArchive>$(PackagesDirectory)/nuGetPackagesArchive.lzma</PackagesArchive>
|
||||||
<NugetPackagesArchiveName>nuGetPackagesArchive-$(AspNetCoreVersion).lzma</NugetPackagesArchiveName>
|
<NugetPackagesArchiveName>nuGetPackagesArchive-$(AspNetCoreVersion).lzma</NugetPackagesArchiveName>
|
||||||
<IntermediateArchive>$(IntermediateDirectory)/$(NugetPackagesArchiveName)</IntermediateArchive>
|
<IntermediateArchive>$(IntermediateDirectory)/$(NugetPackagesArchiveName)</IntermediateArchive>
|
||||||
<NugetPackagesArchiveBlobUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)</NugetPackagesArchiveBlobUrl>
|
<NugetPackagesArchiveBlobUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)</NugetPackagesArchiveBlobUrl>
|
||||||
|
@ -17,5 +18,6 @@
|
||||||
ContinueOnError="WarnAndContinue" />
|
ContinueOnError="WarnAndContinue" />
|
||||||
|
|
||||||
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(FinalArchive)" />
|
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(FinalArchive)" />
|
||||||
|
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(PackagesArchive)" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -89,8 +89,8 @@ if($Architecture.StartsWith("arm", [StringComparison]::OrdinalIgnoreCase))
|
||||||
$InstallArchitecture = "x64"
|
$InstallArchitecture = "x64"
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Output "$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.2.0-preview1-007799"" -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)
|
if ($LastExitCode -ne 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -162,7 +162,7 @@ if [[ $archlower == 'arm'* ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$STAGE0_SOURCE_DIR" == "" ]; then
|
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
|
else
|
||||||
echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR"
|
echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR"
|
||||||
cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR"
|
cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Microsoft.DotNet.Cli.Utils
|
namespace Microsoft.DotNet.Cli.Utils
|
||||||
|
@ -47,5 +48,35 @@ namespace Microsoft.DotNet.Cli.Utils
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Run Directory.Move and File.Move in Windows has a chance to get IOException with
|
||||||
|
/// HResult 0x80070005 due to Indexer. But this error is transient.
|
||||||
|
/// </summary>
|
||||||
|
internal static void RetryOnMoveAccessFailure(Action action)
|
||||||
|
{
|
||||||
|
const int ERROR_HRESULT_ACCESS_DENIED = unchecked((int)0x80070005);
|
||||||
|
int nextWaitTime = 10;
|
||||||
|
int remainRetry = 10;
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
action();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
catch (IOException e) when (e.HResult == ERROR_HRESULT_ACCESS_DENIED)
|
||||||
|
{
|
||||||
|
Thread.Sleep(nextWaitTime);
|
||||||
|
nextWaitTime *= 2;
|
||||||
|
remainRetry--;
|
||||||
|
if (remainRetry == 0)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ namespace Microsoft.DotNet.ShellShim
|
||||||
foreach (var file in GetShimFiles(commandName).Where(f => _fileSystem.File.Exists(f.Value)))
|
foreach (var file in GetShimFiles(commandName).Where(f => _fileSystem.File.Exists(f.Value)))
|
||||||
{
|
{
|
||||||
var tempPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
|
var tempPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
|
||||||
_fileSystem.File.Move(file.Value, tempPath);
|
FileAccessRetrier.RetryOnMoveAccessFailure(() => _fileSystem.File.Move(file.Value, tempPath));
|
||||||
files[file.Value] = tempPath;
|
files[file.Value] = tempPath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ namespace Microsoft.DotNet.ShellShim
|
||||||
rollback: () => {
|
rollback: () => {
|
||||||
foreach (var kvp in files)
|
foreach (var kvp in files)
|
||||||
{
|
{
|
||||||
_fileSystem.File.Move(kvp.Value, kvp.Key);
|
FileAccessRetrier.RetryOnMoveAccessFailure(() => _fileSystem.File.Move(kvp.Value, kvp.Key));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
using Microsoft.DotNet.Cli;
|
using Microsoft.DotNet.Cli;
|
||||||
|
using Microsoft.DotNet.Cli.Utils;
|
||||||
using Microsoft.DotNet.Configurer;
|
using Microsoft.DotNet.Configurer;
|
||||||
using Microsoft.DotNet.Tools;
|
using Microsoft.DotNet.Tools;
|
||||||
using Microsoft.Extensions.EnvironmentAbstractions;
|
using Microsoft.Extensions.EnvironmentAbstractions;
|
||||||
|
@ -82,7 +83,7 @@ namespace Microsoft.DotNet.ToolPackage
|
||||||
}
|
}
|
||||||
|
|
||||||
Directory.CreateDirectory(packageRootDirectory.Value);
|
Directory.CreateDirectory(packageRootDirectory.Value);
|
||||||
Directory.Move(stageDirectory.Value, packageDirectory.Value);
|
FileAccessRetrier.RetryOnMoveAccessFailure(() => Directory.Move(stageDirectory.Value, packageDirectory.Value));
|
||||||
rollbackDirectory = packageDirectory.Value;
|
rollbackDirectory = packageDirectory.Value;
|
||||||
|
|
||||||
return new ToolPackageInstance(_store, packageId, version, packageDirectory);
|
return new ToolPackageInstance(_store, packageId, version, packageDirectory);
|
||||||
|
|
|
@ -8,6 +8,7 @@ using Microsoft.Extensions.EnvironmentAbstractions;
|
||||||
using NuGet.ProjectModel;
|
using NuGet.ProjectModel;
|
||||||
using NuGet.Versioning;
|
using NuGet.Versioning;
|
||||||
using Microsoft.DotNet.Cli.Utils;
|
using Microsoft.DotNet.Cli.Utils;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
namespace Microsoft.DotNet.ToolPackage
|
namespace Microsoft.DotNet.ToolPackage
|
||||||
{
|
{
|
||||||
|
@ -79,7 +80,7 @@ namespace Microsoft.DotNet.ToolPackage
|
||||||
// Use the staging directory for uninstall
|
// Use the staging directory for uninstall
|
||||||
// This prevents cross-device moves when temp is mounted to a different device
|
// This prevents cross-device moves when temp is mounted to a different device
|
||||||
var tempPath = _store.GetRandomStagingDirectory().Value;
|
var tempPath = _store.GetRandomStagingDirectory().Value;
|
||||||
Directory.Move(PackageDirectory.Value, tempPath);
|
FileAccessRetrier.RetryOnMoveAccessFailure(() => Directory.Move(PackageDirectory.Value, tempPath));
|
||||||
tempPackageDirectory = tempPath;
|
tempPackageDirectory = tempPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +112,7 @@ namespace Microsoft.DotNet.ToolPackage
|
||||||
if (tempPackageDirectory != null)
|
if (tempPackageDirectory != null)
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(rootDirectory.Value);
|
Directory.CreateDirectory(rootDirectory.Value);
|
||||||
Directory.Move(tempPackageDirectory, PackageDirectory.Value);
|
FileAccessRetrier.RetryOnMoveAccessFailure(() => Directory.Move(tempPackageDirectory, PackageDirectory.Value));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,8 +30,7 @@
|
||||||
TemplateFillInPackageName=%(BundledDotnetTools.Identity);
|
TemplateFillInPackageName=%(BundledDotnetTools.Identity);
|
||||||
TemplateFillInPackageVersion=%(BundledDotnetTools.Version);
|
TemplateFillInPackageVersion=%(BundledDotnetTools.Version);
|
||||||
PreviousStageDirectory=$(PreviousStageDirectory);
|
PreviousStageDirectory=$(PreviousStageDirectory);
|
||||||
DotnetToolsLayoutDirectory=$(testAssetSourceRoot);
|
DotnetToolsLayoutDirectory=$(testAssetSourceRoot)
|
||||||
DotnetToolsRestoreProjectStyle=DotnetToolReference
|
|
||||||
</Properties>
|
</Properties>
|
||||||
</TestDotnetTools>
|
</TestDotnetTools>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -54,8 +54,7 @@
|
||||||
TemplateFillInPackageName=dotnet-watch;
|
TemplateFillInPackageName=dotnet-watch;
|
||||||
TemplateFillInPackageVersion=$(DotnetWatchPackageVersion);
|
TemplateFillInPackageVersion=$(DotnetWatchPackageVersion);
|
||||||
PreviousStageDirectory=$(PreviousStageDirectory);
|
PreviousStageDirectory=$(PreviousStageDirectory);
|
||||||
DotnetToolsLayoutDirectory=$(testAssetSourceRoot);
|
DotnetToolsLayoutDirectory=$(testAssetSourceRoot)
|
||||||
DotnetToolsRestoreProjectStyle=DotnetToolReference
|
|
||||||
</Properties>
|
</Properties>
|
||||||
</TestDotnetTools>
|
</TestDotnetTools>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
Loading…
Add table
Reference in a new issue