Create timestamp free cumulative archives

This commit is contained in:
John Luo 2017-10-24 11:34:56 -07:00 committed by =
parent 4da6565d5b
commit 386483b9ef
1 changed files with 83 additions and 10 deletions

View File

@ -22,10 +22,11 @@
<CoreFeedPrefix Condition="'$(KOREBUILD_DOTNET_FEED_UNCACHED)'!=''">$(KOREBUILD_DOTNET_FEED_UNCACHED)</CoreFeedPrefix>
<CoreFeedPrefix Condition="'$(CoreFeedPrefix)'==''">$(PublicCoreFeedPrefix)</CoreFeedPrefix>
<RuntimeStore200TargzLink>$(PublicCoreFeedPrefix)/aspnetcore/store/2.0.0-26452/Build.RS.linux.tar.gz</RuntimeStore200TargzLink>
<RuntimeStore200LinkPrefix>$(PublicCoreFeedPrefix)/aspnetcore/store/2.0.0-26452/Build.RS.</RuntimeStore200LinkPrefix>
<RuntimeTargzLink>$(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz</RuntimeTargzLink>
<TimestampRSArchive>$(_TimestampRSSource)aspnetcore-store-$(PackageVersion)-linux-x64.tar.gz</TimestampRSArchive>
<TimestampFreeRSArchive>$(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)-linux-x64.tar.gz</TimestampFreeRSArchive>
<TimestampFreeRSArchivePrefix>$(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)-</TimestampFreeRSArchivePrefix>
<TimestampFreeLinuxRSArchive>$(TimestampFreeRSArchivePrefix)linux-x64.tar.gz</TimestampFreeLinuxRSArchive>
</PropertyGroup>
<Target Name="BuildInstallers" DependsOnTargets="GenerateTargzs;GenerateRpms;GenerateDebs;GenerateRelabledInstallers" />
@ -44,11 +45,25 @@
Text="Timestamp linux archive not found. Expected it to exist in $(TimestampRSArchive)."
Condition="!Exists('$(TimestampRSArchive)')" />
<Error
Text="Non-timestamp linux archive not found. Expected it to exist in $(TimestampFreeRSArchive)."
Condition="!Exists('$(TimestampFreeRSArchive)')" />
Text="Non-timestamp linux archive not found. Expected it to exist in $(TimestampFreeLinuxRSArchive)."
Condition="!Exists('$(TimestampFreeLinuxRSArchive)')" />
<Error
Text="Non-timestamp osx archive not found. Expected it to exist in $(TimestampFreeRSArchivePrefix)osx-x64.tar.gz."
Condition="!Exists('$(TimestampFreeRSArchivePrefix)osx-x64.tar.gz')" />
<Error
Text="Non-timestamp winx64 archive not found. Expected it to exist in $(TimestampFreeRSArchivePrefix)win7-x64.zip."
Condition="!Exists('$(TimestampFreeRSArchivePrefix)win7-x64.zip')" />
<Error
Text="Non-timestamp winx86 archive not found. Expected it to exist in $(TimestampFreeRSArchivePrefix)win7-x86.zip."
Condition="!Exists('$(TimestampFreeRSArchivePrefix)win7-x86.zip')" />
</Target>
<Target Name="_DownloadInstallers">
<Target Name="_EnsureInstallerDirectory" >
<!-- Download dotnet installers -->
<MakeDir Directories="$(_InstallerSource)" />
</Target>
<Target Name="_DownloadInstallers" DependsOnTargets="_EnsureInstallerDirectory">
<!-- Download dotnet installers -->
<MakeDir Directories="$(_InstallerSource)" />
<!--
@ -57,7 +72,7 @@
so we'll let bash do it instead.
-->
<Exec Command="curl --fail -sSL &quot;$(RuntimeTargzLink)$KOREBUILD_DOTNET_FEED_CREDENTIAL&quot; -o $(_InstallerSource)dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200TargzLink)&quot; -o $(_InstallerSource)Build.RS.linux.tar.gz" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)linux.tar.gz&quot; -o $(_InstallerSource)Build.RS.linux.tar.gz" />
</Target>
<Target Name="_GenerateTargz">
@ -78,6 +93,28 @@
<Exec Command="tar -czvf $(_InstallersOutputDir)$(HostingArchiveName) ." WorkingDirectory="$(_WorkRoot)"/>
</Target>
<Target Name="_GenerateZip">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout -->
<UnzipArchive File="$(RSArchive)" Destination="$(_WorkRoot)" />
<ItemGroup>
<Archives Include="$(DependentArchives)" />
</ItemGroup>
<UnzipArchive File="%(Archives.Identity)" Destination="$(_WorkRoot)" />
<ItemGroup>
<ArchiveFiles Include="$(_WorkRoot)**\*" />
</ItemGroup>
<!-- Create Zip -->
<ZipArchive File="$(_InstallersOutputDir)$(HostingArchiveName)" SourceFiles="@(ArchiveFiles)" WorkingDirectory="$(_WorkRoot)" Overwrite="true" />
</Target>
<Target Name="GenerateTargzs" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadInstallers">
<ItemGroup>
<_DependentArchives Include="$(_InstallerSource)dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz" />
@ -99,7 +136,43 @@
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateTargz"
Properties="DependentArchives=$(DependentArchives);RSArchive=$(TimestampFreeRSArchive);HostingArchiveName=$(TimestampFreeHostingArchiveName)" />
Properties="DependentArchives=$(DependentArchives);RSArchive=$(TimestampFreeLinuxRSArchive);HostingArchiveName=$(TimestampFreeHostingArchiveName)" />
</Target>
<Target Name="_DownloadAdditionalRSZips" DependsOnTargets="_EnsureInstallerDirectory">
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)osx.tar.gz&quot; -o $(_InstallerSource)Build.RS.osx.tar.gz" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)winx64.zip&quot; -o $(_InstallerSource)Build.RS.winx64.zip" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)winx86.zip&quot; -o $(_InstallerSource)Build.RS.winx86.zip" />
</Target>
<Target Name="GenerateCumulativeArchives" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadAdditionalRSZips">
<!-- Temporary: Generate time stamp free cumulative zips with old naming scheme -->
<ItemGroup>
<TargzArchives Include="Build.RS.linux.tar.gz">
<RSArchive>$(TimestampFreeRSArchivePrefix)linux-x64.tar.gz</RSArchive>
</TargzArchives>
<TargzArchives Include="Build.RS.osx.tar.gz">
<RSArchive>$(TimestampFreeRSArchivePrefix)osx-x64.tar.gz</RSArchive>
</TargzArchives>
<ZipArchives Include="Build.RS.winx64.zip">
<RSArchive>$(TimestampFreeRSArchivePrefix)win7-x64.zip</RSArchive>
</ZipArchives>
<ZipArchives Include="Build.RS.winx86.zip">
<RSArchive>$(TimestampFreeRSArchivePrefix)win7-x86.zip</RSArchive>
</ZipArchives>
</ItemGroup>
<!-- Targz -->
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateTargz"
Properties="DependentArchives=$(_InstallerSource)%(TargzArchives.Identity);RSArchive=%(TargzArchives.RSArchive);HostingArchiveName=%(TargzArchives.Identity)" />
<!-- Targz -->
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateZip"
Properties="DependentArchives=$(_InstallerSource)%(ZipArchives.Identity);RSArchive=%(ZipArchives.RSArchive);HostingArchiveName=%(ZipArchives.Identity)" />
</Target>
<Target Name="_BuildDockerImage">
@ -273,7 +346,7 @@
<TimestampRSArguments>$(TimestampRSArguments);RSArchive=$(TimestampRSArchive);RPMVersion=$(PackageVersion);RPMArguments=$(GenericRSArguments)</TimestampRSArguments>
<TimestampFreeRSArguments>$(CommonArguments);$(CommonGenericArguments);$(CommonRSArguments)</TimestampFreeRSArguments>
<TimestampFreeRSArguments>$(TimestampFreeRSArguments);RSArchive=$(TimestampFreeRSArchive);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(GenericRSArguments)</TimestampFreeRSArguments>
<TimestampFreeRSArguments>$(TimestampFreeRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(GenericRSArguments)</TimestampFreeRSArguments>
<TimestampHostingArguments>$(CommonArguments);$(CommonGenericArguments);$(CommonHostingArguments)</TimestampHostingArguments>
<TimestampHostingArguments>$(TimestampHostingArguments);RPMVersion=$(PackageVersion);RPMArguments=$(HostingFPMArguments)</TimestampHostingArguments>
@ -285,7 +358,7 @@
<RHTimestampRSArguments>$(RHTimestampRSArguments);RSArchive=$(TimestampRSArchive);RPMVersion=$(PackageVersion);RPMArguments=$(RHRSArguments)</RHTimestampRSArguments>
<RHTimestampFreeRSArguments>$(CommonArguments);$(CommonRHArguments);$(CommonRSArguments)</RHTimestampFreeRSArguments>
<RHTimestampFreeRSArguments>$(RHTimestampFreeRSArguments);RSArchive=$(TimestampFreeRSArchive);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(RHRSArguments)</RHTimestampFreeRSArguments>
<RHTimestampFreeRSArguments>$(RHTimestampFreeRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(RHRSArguments)</RHTimestampFreeRSArguments>
<RHTimestampHostingArguments>$(CommonArguments);$(CommonRHArguments);$(CommonHostingArguments)</RHTimestampHostingArguments>
<RHTimestampHostingArguments>$(RHTimestampHostingArguments);RPMVersion=$(PackageVersion);RPMArguments=$(HostingFPMArguments)</RHTimestampHostingArguments>
@ -395,7 +468,7 @@
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateDeb"
Properties="$(CommonRSArguments);RSArchive=$(TimestampFreeRSArchive);DebVersion=$(PackageVersionNoTimestamp)" />
Properties="$(CommonRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);DebVersion=$(PackageVersionNoTimestamp)" />
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateDeb"