Merge branch 'release/3.1.2xx'
This commit is contained in:
commit
4e1ba631b8
9 changed files with 130 additions and 60 deletions
|
@ -12,7 +12,9 @@
|
|||
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
|
||||
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
|
||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
|
||||
<add key="msbuild" value="https://dotnet.myget.org/F/msbuild/api/v3/index.json" />
|
||||
<add key="nuget-build" value="https://dotnet.myget.org/F/nuget-build/api/v3/index.json" />
|
||||
|
||||
<add key="dotnet3-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-transport/nuget/v3/index.json" />
|
||||
<add key="dotnet3.1-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" />
|
||||
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
|
||||
|
|
|
@ -67,9 +67,9 @@
|
|||
<Uri>https://github.com/aspnet/AspNetCore</Uri>
|
||||
<Sha>2bbf66ad44de54898f6cfe210bcbe079e62fbfc9</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.3.1" Version="1.0.2-beta4.19465.1">
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.3.1" Version="1.0.2-beta4.19570.1">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>6ae8a6e7dd862c9447771c108d43fb9028f22c22</Sha>
|
||||
<Sha>5117d3d9d7dfd3583f0c42a639efaf092f957b7b</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="5.0.0-alpha1.19566.1" CoherentParentDependency="Microsoft.Dotnet.Toolset.Internal">
|
||||
<Uri>https://github.com/dotnet/templating</Uri>
|
||||
|
|
|
@ -43,7 +43,7 @@ phases:
|
|||
- _SignType: test
|
||||
- _DOTNETCLIMSRC_READ_SAS_TOKEN: ''
|
||||
|
||||
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), contains(variables['Build.SourceBranch'], 'internal')) }}:
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- group: DotNet-MSRC-Storage
|
||||
- _DOTNETCLIMSRC_READ_SAS_TOKEN: $(dotnetclimsrc-read-sas-token)
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ function AddCredential($creds, $source, $username, $password) {
|
|||
$passwordElement.SetAttribute("value", $Password)
|
||||
}
|
||||
|
||||
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Password) {
|
||||
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $Password) {
|
||||
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
|
||||
|
||||
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
|
||||
|
@ -123,19 +123,21 @@ if ($creds -eq $null) {
|
|||
$doc.DocumentElement.AppendChild($creds) | Out-Null
|
||||
}
|
||||
|
||||
$userName = "dn-bot"
|
||||
|
||||
# Insert credential nodes for Maestro's private feeds
|
||||
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Password $Password
|
||||
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -Password $Password
|
||||
|
||||
$dotnet3Source = $sources.SelectSingleNode("add[@key='dotnet3']")
|
||||
if ($dotnet3Source -ne $null) {
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
}
|
||||
|
||||
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
|
||||
if ($dotnet31Source -ne $null) {
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
}
|
||||
|
||||
$doc.Save($filename)
|
||||
|
|
|
@ -29,6 +29,10 @@ stages:
|
|||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
||||
- task: NuGetAuthenticate@0
|
||||
displayName: 'Authenticate to AzDO Feeds'
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Blob Artifacts
|
||||
inputs:
|
||||
|
|
|
@ -54,6 +54,12 @@ stages:
|
|||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
||||
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
|
||||
# otherwise it'll complain about accessing a private feed.
|
||||
- task: NuGetAuthenticate@0
|
||||
displayName: 'Authenticate to AzDO Feeds'
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Package Artifacts
|
||||
inputs:
|
||||
|
|
|
@ -143,7 +143,7 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \
|
|||
-e BUILD_BUILDNUMBER \
|
||||
-e BUILD_SOURCEVERSION \
|
||||
-e SYSTEM_TEAMPROJECT \
|
||||
-e DOTNECLIMSRC_READ_SAS_TOKEN \
|
||||
-e DOTNETCLIMSRC_READ_SAS_TOKEN \
|
||||
-e AGENT_JOBNAME \
|
||||
-e AGENT_OS \
|
||||
-e VSS_NUGET_URI_PREFIXES \
|
||||
|
|
|
@ -3,23 +3,39 @@
|
|||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build
|
||||
{
|
||||
public class DownloadFile : Task
|
||||
public class DownloadFile : Microsoft.Build.Utilities.Task
|
||||
{
|
||||
[Required]
|
||||
public string Uri { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If this field is set and the task fail to download the file from `Uri`, with a NotFound
|
||||
/// status, it will try to download the file from `PrivateUri`.
|
||||
/// </summary>
|
||||
public string PrivateUri { get; set; }
|
||||
|
||||
public int MaxRetries { get; set; } = 5;
|
||||
|
||||
[Required]
|
||||
public string DestinationPath { get; set; }
|
||||
|
||||
public bool Overwrite { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
return ExecuteAsync().GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task<bool> ExecuteAsync()
|
||||
{
|
||||
string destinationDir = Path.GetDirectoryName(DestinationPath);
|
||||
if (!Directory.Exists(destinationDir))
|
||||
|
@ -39,31 +55,84 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
var filePath = Uri.Substring(FileUriProtocol.Length);
|
||||
Log.LogMessage($"Copying '{filePath}' to '{DestinationPath}'");
|
||||
File.Copy(filePath, DestinationPath);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
List<string> errorMessages = new List<string>();
|
||||
bool? downloadStatus = await DownloadWithRetriesAsync(Uri, DestinationPath, errorMessages);
|
||||
|
||||
if (downloadStatus == false && !string.IsNullOrEmpty(PrivateUri))
|
||||
{
|
||||
Log.LogMessage(MessageImportance.High, $"Downloading '{Uri}' to '{DestinationPath}'");
|
||||
downloadStatus = await DownloadWithRetriesAsync(PrivateUri, DestinationPath, errorMessages);
|
||||
}
|
||||
|
||||
using (var httpClient = new HttpClient())
|
||||
if (downloadStatus != true)
|
||||
{
|
||||
foreach (var error in errorMessages)
|
||||
{
|
||||
var getTask = httpClient.GetStreamAsync(Uri);
|
||||
|
||||
try
|
||||
{
|
||||
using (var outStream = File.Create(DestinationPath))
|
||||
{
|
||||
getTask.Result.CopyTo(outStream);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
File.Delete(DestinationPath);
|
||||
throw;
|
||||
}
|
||||
Log.LogError(error);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return downloadStatus == true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Attempt to download file from `source` with retries when response error is different of FileNotFound and Success.
|
||||
/// </summary>
|
||||
/// <param name="source">URL to the file to be downloaded.</param>
|
||||
/// <param name="target">Local path where to put the downloaded file.</param>
|
||||
/// <returns>true: Download Succeeded. false: Download failed with 404. null: Download failed but is retriable.</returns>
|
||||
private async Task<bool?> DownloadWithRetriesAsync(string source, string target, List<string> errorMessages)
|
||||
{
|
||||
Random rng = new Random();
|
||||
|
||||
Log.LogMessage(MessageImportance.High, $"Attempting download '{source}' to '{target}'");
|
||||
|
||||
using (var httpClient = new HttpClient())
|
||||
{
|
||||
for (int retryNumber = 0; retryNumber < MaxRetries; retryNumber++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var httpResponse = await httpClient.GetAsync(source);
|
||||
|
||||
Log.LogMessage(MessageImportance.High, $"{source} -> {httpResponse.StatusCode}");
|
||||
|
||||
// The Azure Storage REST API returns '400 - Bad Request' in some cases
|
||||
// where the resource is not found on the storage.
|
||||
// https://docs.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes
|
||||
if (httpResponse.StatusCode == HttpStatusCode.NotFound ||
|
||||
httpResponse.ReasonPhrase.IndexOf("The requested URI does not represent any resource on the server.", StringComparison.OrdinalIgnoreCase) == 0)
|
||||
{
|
||||
errorMessages.Add($"Problems downloading file from '{source}'. Does the resource exist on the storage? {httpResponse.StatusCode} : {httpResponse.ReasonPhrase}");
|
||||
return false;
|
||||
}
|
||||
|
||||
httpResponse.EnsureSuccessStatusCode();
|
||||
|
||||
using (var outStream = File.Create(target))
|
||||
{
|
||||
await httpResponse.Content.CopyToAsync(outStream);
|
||||
}
|
||||
|
||||
Log.LogMessage(MessageImportance.High, $"returning true {source} -> {httpResponse.StatusCode}");
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.LogMessage(MessageImportance.High, $"returning error in {source} ");
|
||||
errorMessages.Add($"Problems downloading file from '{source}'. {e.Message} {e.StackTrace}");
|
||||
File.Delete(target);
|
||||
}
|
||||
|
||||
await System.Threading.Tasks.Task.Delay(rng.Next(1000, 10000));
|
||||
}
|
||||
}
|
||||
|
||||
Log.LogMessage(MessageImportance.High, $"giving up {source} ");
|
||||
errorMessages.Add($"Giving up downloading the file from '{source}' after {MaxRetries} retries.");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,21 +21,16 @@
|
|||
<WindowsDesktopTargetingPackBlobVersion>$(WindowsDesktopBlobVersion)</WindowsDesktopTargetingPackBlobVersion>
|
||||
<NETStandardTargetingPackBlobVersion>3.0.0</NETStandardTargetingPackBlobVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<Target Name="SetupBundledComponents" DependsOnTargets="GetCurrentRuntimeInformation;SetupFileExtensions;SetSdkVersionInfo;SetBuildDefaults">
|
||||
<PropertyGroup>
|
||||
<SdkOutputDirectory>$(RedistLayoutPath)sdk\$(SdkVersion)\</SdkOutputDirectory>
|
||||
|
||||
<InternalBuild Condition="$(SYSTEM_TEAMPROJECT) == 'internal' and $(BUILD_SOURCEBRANCH.ToLower().contains('internal'))">true</InternalBuild>
|
||||
<CoreSetupBlobAccessTokenParam Condition="'$(InternalBuild)' == 'true'">$(DOTNETCLIMSRC_READ_SAS_TOKEN)</CoreSetupBlobAccessTokenParam>
|
||||
|
||||
<CoreSetupBlobRootUrl Condition="'$(CoreSetupBlobRootUrl)' == '' and '$(InternalBuild)' == 'true'">https://dotnetclimsrc.blob.core.windows.net/dotnet/</CoreSetupBlobRootUrl>
|
||||
<InternalBuild Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">true</InternalBuild>
|
||||
<InternalBaseURL Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">https://dotnetclimsrc.blob.core.windows.net/dotnet/</InternalBaseURL>
|
||||
|
||||
<CoreSetupBlobRootUrl Condition="'$(CoreSetupBlobRootUrl)' == ''">https://dotnetcli.blob.core.windows.net/dotnet/</CoreSetupBlobRootUrl>
|
||||
|
||||
<DotnetExtensionsBlobRootUrl Condition="'$(DotnetExtensionsBlobRootUrl)' == '' and '$(InternalBuild)' == 'true'">https://dotnetclimsrc.blob.core.windows.net/dotnet/</DotnetExtensionsBlobRootUrl>
|
||||
<DotnetExtensionsBlobRootUrl Condition="'$(DotnetExtensionsBlobRootUrl)' == ''">https://dotnetcli.blob.core.windows.net/dotnet/</DotnetExtensionsBlobRootUrl>
|
||||
|
||||
<DotnetToolsetBlobRootUrl Condition="'$(DotnetToolsetBlobRootUrl)' == '' and '$(InternalBuild)' == 'true'">https://dotnetclimsrc.blob.core.windows.net/dotnet/</DotnetToolsetBlobRootUrl>
|
||||
<DotnetToolsetBlobRootUrl Condition="'$(DotnetToolsetBlobRootUrl)' == ''">https://dotnetfeed.blob.core.windows.net/dotnet-toolset/</DotnetToolsetBlobRootUrl>
|
||||
|
||||
<CoreSetupRid Condition="'$(CoreSetupRid)' == ''">$(HostRid)</CoreSetupRid>
|
||||
|
@ -113,7 +108,6 @@
|
|||
<BundledLayoutComponent Include="CombinedSharedHostAndFrameworkArchive">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(CombinedFrameworkHostArchiveFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
<RelativeLayoutPath></RelativeLayoutPath>
|
||||
</BundledLayoutComponent>
|
||||
|
||||
|
@ -170,35 +164,30 @@
|
|||
Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedRuntimeDepsInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedSharedFrameworkInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedSharedFrameworkInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedSharedHostInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedSharedHostInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedHostFxrInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedHostFxrInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedNetCoreAppTargetingPackInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(NETCoreAppTargetingPackBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedNetCoreAppTargetingPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedNetStandardTargetingPackInstallerFile"
|
||||
|
@ -206,35 +195,30 @@
|
|||
<BaseUrl>$(CoreSetupRootUrl)$(NETCoreAppTargetingPackBlobVersion)</BaseUrl>
|
||||
<BaseUrl>$(CoreSetupRootUrl)3.0.0</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedNetStandardTargetingPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedNetCoreAppHostPackInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedNetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedAlternateNetCoreAppHostPackInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedAlternateNetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedArmNetCoreAppHostPackInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedArmNetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedArm64NetCoreAppHostPackInstallerFile"
|
||||
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedArm64NetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedWindowsDesktopTargetingPackInstallerFile"
|
||||
|
@ -247,7 +231,6 @@
|
|||
<BundledLayoutComponent Include="ToolsetArchive">
|
||||
<BaseUrl>$(DotnetToolsetBlobRootUrl)Toolset/$(MicrosoftDotnetToolsetInternalPackageVersion)</BaseUrl>
|
||||
<DownloadFileName>dotnet-toolset-internal-$(MicrosoftDotnetToolsetInternalPackageVersion).zip</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
<RelativeLayoutPath>sdk/$(SdkVersion)</RelativeLayoutPath>
|
||||
</BundledLayoutComponent>
|
||||
</ItemGroup>
|
||||
|
@ -256,7 +239,6 @@
|
|||
<BundledLayoutComponent Include="DownloadedAspNetCoreSharedFxArchiveFile">
|
||||
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(AspNetCoreSharedFxArchiveFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
<RelativeLayoutPath></RelativeLayoutPath>
|
||||
</BundledLayoutComponent>
|
||||
|
||||
|
@ -266,7 +248,6 @@
|
|||
Condition="'$(InstallerExtension)' == '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreTargetingPackBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(AspNetTargetingPackArchiveFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
<RelativeLayoutPath></RelativeLayoutPath>
|
||||
</BundledLayoutComponent>
|
||||
|
||||
|
@ -274,14 +255,12 @@
|
|||
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreTargetingPackBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedAspNetTargetingPackInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedAspNetCoreSharedFxInstallerFile"
|
||||
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(DownloadedAspNetCoreSharedFxInstallerFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
|
||||
<BundledInstallerComponent Include="DownloadedAspNetCoreSharedFxWixLibFile"
|
||||
|
@ -302,7 +281,6 @@
|
|||
Condition="!$(Architecture.StartsWith('arm'))">
|
||||
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
||||
<DownloadFileName>$(AspNetCoreSharedFxBaseRuntimeVersionFileName)</DownloadFileName>
|
||||
<AccessToken>$(CoreSetupBlobAccessTokenParam)</AccessToken>
|
||||
</BundledInstallerComponent>
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -346,11 +324,20 @@
|
|||
</BundledInstallerComponent>
|
||||
<ComponentToDownload Include="@(BundledLayoutComponent);@(BundledInstallerComponent)">
|
||||
<ShouldDownload Condition="!Exists('%(DownloadDestination)')">true</ShouldDownload>
|
||||
|
||||
<!--
|
||||
Replaces the public base url with the private one.
|
||||
-->
|
||||
<PrivateBaseUrl>%(BaseUrl)</PrivateBaseUrl>
|
||||
<PrivateBaseUrl Condition="'$(InternalBuild)' == 'true'">$([System.String]::new('%(ComponentToDownload.PrivateBaseUrl)').Replace('$(CoreSetupBlobRootUrl)', '$(InternalBaseURL)'))</PrivateBaseUrl>
|
||||
<PrivateBaseUrl Condition="'$(InternalBuild)' == 'true'">$([System.String]::new('%(ComponentToDownload.PrivateBaseUrl)').Replace('$(DotnetExtensionsBlobRootUrl)', '$(InternalBaseURL)'))</PrivateBaseUrl>
|
||||
<PrivateBaseUrl Condition="'$(InternalBuild)' == 'true'">$([System.String]::new('%(ComponentToDownload.PrivateBaseUrl)').Replace('$(DotnetToolsetBlobRootUrl)', '$(InternalBaseURL)'))</PrivateBaseUrl>
|
||||
</ComponentToDownload>
|
||||
</ItemGroup>
|
||||
|
||||
<DownloadFile Condition=" '@(ComponentToDownload)' != '' And '%(ComponentToDownload.ShouldDownload)' == 'true'"
|
||||
Uri="%(ComponentToDownload.BaseUrl)/%(ComponentToDownload.DownloadFileName)%(ComponentToDownload.AccessToken)"
|
||||
Uri="%(ComponentToDownload.BaseUrl)/%(ComponentToDownload.DownloadFileName)"
|
||||
PrivateUri="%(ComponentToDownload.PrivateBaseUrl)/%(ComponentToDownload.DownloadFileName)$(DOTNETCLIMSRC_READ_SAS_TOKEN)"
|
||||
DestinationPath="%(ComponentToDownload.DownloadDestination)" />
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -374,7 +361,7 @@
|
|||
<BundledLayoutPackage>
|
||||
<LoweredPackageName>$([MSBuild]::ValueOrDefault('%(BundledLayoutPackage.PackageName)', '').ToLower())</LoweredPackageName>
|
||||
</BundledLayoutPackage>
|
||||
|
||||
|
||||
<BundledLayoutPackageDownloadFiles Include="$(NuGetPackageRoot)\%(BundledLayoutPackage.LoweredPackageName)\%(BundledLayoutPackage.PackageVersion)\**\*.*">
|
||||
<RelativeLayoutPath>%(BundledLayoutPackage.RelativeLayoutPath)</RelativeLayoutPath>
|
||||
<LayoutPackageDescription>%(BundledLayoutPackage.Identity)</LayoutPackageDescription>
|
||||
|
@ -439,7 +426,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="LayoutAppHostTemplate" DependsOnTargets="RunResolvePackageDependencies">
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<NETCoreAppHostPackageName>Microsoft.NETCore.App.Host.$(SharedFrameworkRid)</NETCoreAppHostPackageName>
|
||||
<AppHostRestorePath>$(IntermediateOutputPath)AppHostRestore\</AppHostRestorePath>
|
||||
|
@ -465,7 +452,7 @@
|
|||
BuildInParallel="False"
|
||||
Projects="@(AppHostTemplateDownloadPackageProject)">
|
||||
</MSBuild>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<AppHostExecutableName>AppHost$(ExeExtension)</AppHostExecutableName>
|
||||
</PropertyGroup>
|
||||
|
@ -512,7 +499,7 @@
|
|||
|
||||
<RemoveDir Directories="$(SdkInternalLayoutPath)" />
|
||||
<MakeDir Directories="$(SdkInternalLayoutPath)" />
|
||||
|
||||
|
||||
<!-- Create "SDK Internal" layout to create the MSI to bundle -->
|
||||
<ItemGroup>
|
||||
<SdkInternalFiles Include="$(RedistLayoutPath)sdk/$(SdkVersion)/**/*.*"/>
|
||||
|
|
Loading…
Reference in a new issue