Merge pull request #4656 from livarcocc/improve_lzma_build
Changing the lzma generation
This commit is contained in:
commit
5f3885cff4
3 changed files with 64 additions and 18 deletions
|
@ -19,7 +19,7 @@
|
||||||
SetupStage;
|
SetupStage;
|
||||||
CompileStage;
|
CompileStage;
|
||||||
BuildProjectsForNuGetPackages;
|
BuildProjectsForNuGetPackages;
|
||||||
GenerateNuGetPackagesArchive" />
|
GetNuGetPackagesArchive" />
|
||||||
|
|
||||||
<Target Name="SetupStage"
|
<Target Name="SetupStage"
|
||||||
DependsOnTargets="Prepare">
|
DependsOnTargets="Prepare">
|
||||||
|
|
|
@ -1,9 +1,56 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Target Name="GetNuGetPackagesArchive"
|
||||||
|
DependsOnTargets="SetupNuGetPackagesArchiveInputsOutputs;
|
||||||
|
DownloadNuGetPackagesArchive;
|
||||||
|
GenerateNuGetPackagesArchive;
|
||||||
|
UploadNuGetPackagesArchiveToAzure"
|
||||||
|
Inputs="$(IntermediateArchive)"
|
||||||
|
Outputs="$(FinalArchive)">
|
||||||
|
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(FinalArchive)" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="UploadNuGetPackagesArchiveToAzure"
|
||||||
|
DependsOnTargets="SetupNuGetPackagesArchiveInputsOutputs;
|
||||||
|
SetupAzureBlobInformation;
|
||||||
|
GenerateNuGetPackagesArchive"
|
||||||
|
Condition=" 'UploadNuGetPackagesArchiveToAzure' == 'true' And '$(PUBLISH_TO_AZURE_BLOB)' != '' ">
|
||||||
|
<ItemGroup>
|
||||||
|
<NuGetPackagesArchiveToUpload Include="$(IntermediateArchive)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<NuGetPackagesArchiveToUpload>
|
||||||
|
<RelativeBlobPath>$(CoreSetupChannel)/Binaries/$(SharedFrameworkVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/'))</RelativeBlobPath>
|
||||||
|
</NuGetPackagesArchiveToUpload>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<UploadToAzure
|
||||||
|
AccountKey="$(ArtifactCloudDropAccessToken)"
|
||||||
|
AccountName="$(ArtifactCloudDropAccountName)"
|
||||||
|
ContainerName="$(ArtifactContainerName)"
|
||||||
|
Items="@(NuGetPackagesArchiveToUpload)"
|
||||||
|
Overwrite="false"
|
||||||
|
ContinueOnError="WarnAndContinue" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="DownloadNuGetPackagesArchive"
|
||||||
|
DependsOnTargets="SetupNuGetPackagesArchiveInputsOutputs"
|
||||||
|
Inputs="$(IntermediateArchive)"
|
||||||
|
Outputs="$(IntermediateArchive)">
|
||||||
|
<DownloadFile Uri="$(NugetPackagesArchiveBlobUrl)"
|
||||||
|
DestinationPath="$(IntermediateArchive)"
|
||||||
|
ContinueOnError="WarnAndContinue" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
<Target Name="GenerateNuGetPackagesArchive"
|
<Target Name="GenerateNuGetPackagesArchive"
|
||||||
DependsOnTargets="SetupNuGetPackagesArchiveInputsOutputs"
|
DependsOnTargets="SetupNuGetPackagesArchiveInputsOutputs"
|
||||||
Inputs="@(GenerateNuGetPackagesArchiveInputs)"
|
Inputs="$(IntermediateArchive)"
|
||||||
Outputs="$(FinalArchive)">
|
Outputs="$(IntermediateArchive)">
|
||||||
|
<PropertyGroup>
|
||||||
|
<UploadNuGetPackagesArchiveToAzure>true</UploadNuGetPackagesArchiveToAzure>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<FilesToClean Include="$(NuGetPackagesArchiveProject)/**/*" />
|
<FilesToClean Include="$(NuGetPackagesArchiveProject)/**/*" />
|
||||||
<FilesToClean Include="$(NuGetPackagesArchiveFolder)/**/*" />
|
<FilesToClean Include="$(NuGetPackagesArchiveFolder)/**/*" />
|
||||||
|
@ -31,28 +78,18 @@
|
||||||
Configuration="$(Configuration)" />
|
Configuration="$(Configuration)" />
|
||||||
|
|
||||||
<Exec Command="$(DotnetStage0) $(ArchiverDll) -a $(IntermediateArchive) $(NuGetPackagesArchiveFolder)" />
|
<Exec Command="$(DotnetStage0) $(ArchiverDll) -a $(IntermediateArchive) $(NuGetPackagesArchiveFolder)" />
|
||||||
|
|
||||||
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(FinalArchive)" />
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="SetupNuGetPackagesArchiveInputsOutputs"
|
<Target Name="SetupNuGetPackagesArchiveInputsOutputs"
|
||||||
DependsOnTargets="Prepare;SetupStage">
|
DependsOnTargets="Prepare;SetupStage">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<NugetPackagesArchiveName>nuGetPackagesArchive.$(SharedFrameworkVersion).lzma</NugetPackagesArchiveName>
|
||||||
<NuGetPackagesArchiveProject>$(IntermediateDirectory)/NuGetPackagesArchiveProject</NuGetPackagesArchiveProject>
|
<NuGetPackagesArchiveProject>$(IntermediateDirectory)/NuGetPackagesArchiveProject</NuGetPackagesArchiveProject>
|
||||||
<NuGetPackagesArchiveFolder>$(IntermediateDirectory)/NuGetPackagesArchiveFolder</NuGetPackagesArchiveFolder>
|
<NuGetPackagesArchiveFolder>$(IntermediateDirectory)/NuGetPackagesArchiveFolder</NuGetPackagesArchiveFolder>
|
||||||
<ArchiverDll>$(ToolsOutputDirectory)/Archiver.dll</ArchiverDll>
|
<ArchiverDll>$(ToolsOutputDirectory)/Archiver.dll</ArchiverDll>
|
||||||
<IntermediateArchive>$(IntermediateDirectory)/nuGetPackagesArchive.lzma</IntermediateArchive>
|
<IntermediateArchive>$(IntermediateDirectory)/$(NugetPackagesArchiveName)</IntermediateArchive>
|
||||||
<FinalArchive>$(Stage2Directory)/sdk/$(SdkVersion)/nuGetPackagesArchive.lzma</FinalArchive>
|
<FinalArchive>$(Stage2Directory)/sdk/$(SdkVersion)/nuGetPackagesArchive.lzma</FinalArchive>
|
||||||
|
<NugetPackagesArchiveBlobUrl>$(SharedFrameworkArchiveBlobRootUrl)/$(NugetPackagesArchiveName)</NugetPackagesArchiveBlobUrl>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<GenerateNuGetPackagesArchiveInputs Include="$(_DotNetNewFolder)/CSharp_Console/**/*" />
|
|
||||||
<GenerateNuGetPackagesArchiveInputs Include="$(SrcDirectory)/dotnet-archive/**/*"
|
|
||||||
Exclude="$(SrcDirectory)/dotnet-archive/**/bin/**/*;
|
|
||||||
$(SrcDirectory)/dotnet-archive/**/obj/**/*" />
|
|
||||||
<GenerateNuGetPackagesArchiveInputs Include="$(SrcDirectory)/Microsoft.DotNet.Archive/**/*"
|
|
||||||
Exclude="$(SrcDirectory)/Microsoft.DotNet.Archive/**/bin/**/*;
|
|
||||||
$(SrcDirectory)/Microsoft.DotNet.Archive/**/obj/**/*" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,6 +1,7 @@
|
||||||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
// 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.
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using Microsoft.Build.Framework;
|
using Microsoft.Build.Framework;
|
||||||
|
@ -33,9 +34,17 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
{
|
{
|
||||||
var getTask = httpClient.GetStreamAsync(Uri);
|
var getTask = httpClient.GetStreamAsync(Uri);
|
||||||
|
|
||||||
using (var outStream = File.Create(DestinationPath))
|
try
|
||||||
{
|
{
|
||||||
getTask.Result.CopyTo(outStream);
|
using (var outStream = File.Create(DestinationPath))
|
||||||
|
{
|
||||||
|
getTask.Result.CopyTo(outStream);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
File.Delete(DestinationPath);
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue