Generate cumulative archives for all platforms
- Add runtime store to cumulative archives
This commit is contained in:
parent
a07043457c
commit
96060d8b63
|
|
@ -29,11 +29,11 @@
|
|||
<DotNetAssetRootUrl Condition="'$(DotNetAssetRootUrl)'==''">$(PublicCoreFeedPrefix)</DotNetAssetRootUrl>
|
||||
|
||||
<DotnetRuntimePackageName>dotnet-runtime</DotnetRuntimePackageName>
|
||||
<DotnetRuntimeInstallerName>$(DotnetRuntimePackageName)-$(MicrosoftNETCoreApp21PackageVersion)</DotnetRuntimeInstallerName>
|
||||
<DotnetRuntimeInstallerArchiveName>$(DotnetRuntimeInstallerName)-linux-x64.tar.gz</DotnetRuntimeInstallerArchiveName>
|
||||
<RuntimeTargzLink>$(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreApp21PackageVersion)/$(DotnetRuntimeInstallerArchiveName)</RuntimeTargzLink>
|
||||
|
||||
<SharedFxLinuxIntermediateArchiveFilePath>$(_SharedFxSourceDir)$(SharedFxIntermediateArchiveBaseName)-$(PackageVersion)-linux-x64.tar.gz</SharedFxLinuxIntermediateArchiveFilePath>
|
||||
<DotnetRuntimeInstallerPrefix>$(DotnetRuntimePackageName)-$(MicrosoftNETCoreApp21PackageVersion)</DotnetRuntimeInstallerPrefix>
|
||||
<RuntimeArchiveLinkPrefix>$(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreApp21PackageVersion)/$(DotnetRuntimeInstallerPrefix)</RuntimeArchiveLinkPrefix>
|
||||
<RuntimeStoreArchiveLinkPrefix>$(DotNetAssetRootUrl)aspnetcore/store/2.0.3-125/</RuntimeStoreArchiveLinkPrefix>
|
||||
<RuntimeStoreArchiveFilename>Build.RS</RuntimeStoreArchiveFilename>
|
||||
<SharedFxIntermediateArchiveFilePrefix>$(_SharedFxSourceDir)$(SharedFxIntermediateArchiveBaseName)-$(PackageVersion)</SharedFxIntermediateArchiveFilePrefix>
|
||||
|
||||
<!-- installer metadata -->
|
||||
<MaintainerName>Microsoft</MaintainerName>
|
||||
|
|
@ -45,4 +45,10 @@
|
|||
<SharedFxSummary>Microsoft ASP.NET Core $(PackageVersion) Shared Framework</SharedFxSummary>
|
||||
<SharedFxDescription>Shared Framework for hosting of Microsoft ASP.NET Core applications. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/aspnet/home). We happily accept issues and PRs.</SharedFxDescription>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<WindowsSharedFxRIDs Include="win-x64;win-x86"/>
|
||||
<NonWindowsSharedFxRIDs Include="osx-x64;linux-x64"/>
|
||||
<AllSharedFxRIDs Include="@(WindowsSharedFxRIDs);@(NonWindowsSharedFxRIDs)"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -37,12 +37,8 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="PrepareForSharedFx">
|
||||
<ItemGroup>
|
||||
<_AcceptableSharedFxRIDs Include="win-x64;win-x86;osx-x64;linux-x64"/>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RIDIsAcceptable Condition="'%(_AcceptableSharedFxRIDs.Identity)' == '$(SharedFxRID)'">true</RIDIsAcceptable>
|
||||
<RIDIsAcceptable Condition="'%(AllSharedFxRIDs.Identity)' == '$(SharedFxRID)'">true</RIDIsAcceptable>
|
||||
</PropertyGroup>
|
||||
|
||||
<Error Text=""$(SharedFxRID)" not acceptable as a SharedFxRID, please specify an acceptable value: {@(_AcceptableSharedFxRIDs)}." Condition="'$(RIDIsAcceptable)' != 'true'"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<Project>
|
||||
<Target Name="BuildInstallers" DependsOnTargets="GenerateTargzs;GenerateRpms;GenerateDebs;GenerateRelabeledInstallers" />
|
||||
<Target Name="BuildInstallers" DependsOnTargets="GenerateCumulativeArchives;GenerateRpms;GenerateDebs;GenerateRelabeledInstallers" />
|
||||
|
||||
<Target Name="_EnsureInstallerPrerequisites">
|
||||
<MakeDir Directories="$(_InstallersOutputDir)" />
|
||||
|
|
@ -9,19 +9,47 @@
|
|||
<Output TaskParameter="ConsoleOutput" PropertyName="DockerHostOS" />
|
||||
</Exec>
|
||||
|
||||
<Error Text="Docker host must be using Linux containers." Condition="'$(DockerHostOS)' != 'linux'"/>
|
||||
<Error Text="Linux archive not found at $(SharedFxLinuxIntermediateArchiveFilePath)." Condition="!Exists('$(SharedFxLinuxIntermediateArchiveFilePath)')" />
|
||||
<Error
|
||||
Text="Docker host must be using Linux containers."
|
||||
Condition="'$(DockerHostOS)' != 'linux'"/>
|
||||
<Error
|
||||
Text="Expected archive missing at $(SharedFxIntermediateArchiveFilePrefix)-%(WindowsSharedFxRIDs.Identity).zip."
|
||||
Condition="!Exists('$(SharedFxIntermediateArchiveFilePrefix)-%(WindowsSharedFxRIDs.Identity).zip')" />
|
||||
<Error
|
||||
Text="Expected archive missing at $(SharedFxIntermediateArchiveFilePrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz."
|
||||
Condition="!Exists('$(SharedFxIntermediateArchiveFilePrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_DownloadInstallers">
|
||||
<!-- Download dotnet installers -->
|
||||
<MakeDir Directories="$(_InstallerSourceDir)" />
|
||||
<KoreBuild.Tasks.DownloadFile Uri="$(RuntimeTargzLink)$(DotNetAssetRootAccessTokenSuffix)" DestinationPath="$(_InstallerSourceDir)$(DotnetRuntimeInstallerArchiveName)" />
|
||||
<KoreBuild.Tasks.DownloadFile
|
||||
Uri="$(RuntimeArchiveLinkPrefix)-%(WindowsSharedFxRIDs.Identity).zip$(DotNetAssetRootAccessTokenSuffix)"
|
||||
DestinationPath="$(_InstallerSourceDir)$(DotnetRuntimeInstallerPrefix)-%(WindowsSharedFxRIDs.Identity).zip"
|
||||
Condition="!Exists('$(_InstallerSourceDir)$(DotnetRuntimeInstallerPrefix)-%(WindowsSharedFxRIDs.Identity).zip')" />
|
||||
<KoreBuild.Tasks.DownloadFile
|
||||
Uri="$(RuntimeArchiveLinkPrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz$(DotNetAssetRootAccessTokenSuffix)"
|
||||
DestinationPath="$(_InstallerSourceDir)$(DotnetRuntimeInstallerPrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz"
|
||||
Condition="!Exists('$(_InstallerSourceDir)$(DotnetRuntimeInstallerPrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz')" />
|
||||
|
||||
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
|
||||
<ItemGroup>
|
||||
<RuntimeStoreArchiveLinkSuffix Include=".linux.tar.gz;.osx.tar.gz;.winx64.zip;.winx86.zip" />
|
||||
</ItemGroup>
|
||||
<KoreBuild.Tasks.DownloadFile
|
||||
Uri="$(RuntimeStoreArchiveLinkPrefix)$(RuntimeStoreArchiveFilename)%(RuntimeStoreArchiveLinkSuffix.Identity)$(DotNetAssetRootAccessTokenSuffix)"
|
||||
DestinationPath="$(_InstallerSourceDir)$(RuntimeStoreArchiveFilename)%(RuntimeStoreArchiveLinkSuffix.Identity)"
|
||||
Condition="!Exists('$(_InstallerSourceDir)$(RuntimeStoreArchiveFilename)%(RuntimeStoreArchiveLinkSuffix.Identity)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateTargzs" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadInstallers">
|
||||
<Target Name="_GenerateCumulativeArchive">
|
||||
<PropertyGroup>
|
||||
<SharedFxArchiveName>$(SharedFxInstallerName)-$(PackageVersion)-linux-x64.tar.gz</SharedFxArchiveName>
|
||||
<ArchiveExtension>.tar.gz</ArchiveExtension>
|
||||
<ArchiveExtension Condition="$(SharedFxPlatform.StartsWith('win'))">.zip</ArchiveExtension>
|
||||
<RuntimeStoreArchiveLinkSuffix Condition="'$(SharedFxPlatform)' == 'win-x64'">.winx64.zip</RuntimeStoreArchiveLinkSuffix>
|
||||
<RuntimeStoreArchiveLinkSuffix Condition="'$(SharedFxPlatform)' == 'win-x86'">.winx86.zip</RuntimeStoreArchiveLinkSuffix>
|
||||
<RuntimeStoreArchiveLinkSuffix Condition="'$(SharedFxPlatform)' == 'osx-x64'">.osx.tar.gz</RuntimeStoreArchiveLinkSuffix>
|
||||
<RuntimeStoreArchiveLinkSuffix Condition="'$(SharedFxPlatform)' == 'linux-x64'">.linux.tar.gz</RuntimeStoreArchiveLinkSuffix>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Clear working directory -->
|
||||
|
|
@ -29,11 +57,48 @@
|
|||
<MakeDir Directories="$(_WorkRoot)" />
|
||||
|
||||
<!-- Create layout: Aspnet Runtime -->
|
||||
<Exec Command="tar -xzf $(SharedFxLinuxIntermediateArchiveFilePath) -C $(_WorkRoot)" />
|
||||
<Exec Command="tar -xzf $(_InstallerSourceDir)$(DotnetRuntimeInstallerArchiveName) -C $(_WorkRoot)" />
|
||||
<Exec
|
||||
Command="tar -xzf $(SharedFxIntermediateArchiveFilePrefix)-$(SharedFxPlatform)$(ArchiveExtension) -C $(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
|
||||
<Exec
|
||||
Command="tar -xzf $(_InstallerSourceDir)$(RuntimeStoreArchiveFilename)$(RuntimeStoreArchiveLinkSuffix) -C $(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<Exec
|
||||
Command="tar -xzf $(_InstallerSourceDir)$(DotnetRuntimeInstallerPrefix)-$(SharedFxPlatform)$(ArchiveExtension) -C $(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<UnzipArchive
|
||||
File="$(SharedFxIntermediateArchiveFilePrefix)-$(SharedFxPlatform)$(ArchiveExtension)"
|
||||
Destination="$(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'" />
|
||||
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
|
||||
<UnzipArchive
|
||||
File="$(_InstallerSourceDir)$(RuntimeStoreArchiveFilename)$(RuntimeStoreArchiveLinkSuffix)"
|
||||
Destination="$(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'" />
|
||||
<UnzipArchive
|
||||
File="$(_InstallerSourceDir)$(DotnetRuntimeInstallerPrefix)-$(SharedFxPlatform)$(ArchiveExtension)"
|
||||
Destination="$(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'" />
|
||||
|
||||
<!-- Create Aspnet Runtime tar.gz -->
|
||||
<Exec Command="tar -czf $(_InstallersOutputDir)$(SharedFxArchiveName) -C $(_WorkRoot) ."/>
|
||||
<ItemGroup>
|
||||
<SharedFxArchiveFiles Include="$(_WorkRoot)**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Create Aspnet Runtime archive -->
|
||||
<Exec
|
||||
Command="tar -czf $(_InstallersOutputDir)$(SharedFxInstallerName)-$(PackageVersion)-$(SharedFxPlatform)$(ArchiveExtension) -C $(_WorkRoot) ."
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<ZipArchive
|
||||
File="$(_InstallersOutputDir)$(SharedFxInstallerName)-$(PackageVersion)-$(SharedFxPlatform)$(ArchiveExtension)"
|
||||
SourceFiles="@(SharedFxArchiveFiles)"
|
||||
WorkingDirectory="$(_WorkRoot)"
|
||||
Overwrite="true"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateCumulativeArchives" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadInstallers">
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateCumulativeArchive" Properties="SharedFxPlatform=%(AllSharedFxRIDs.Identity)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_BuildDockerImage">
|
||||
|
|
@ -102,7 +167,7 @@
|
|||
<ItemGroup>
|
||||
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
|
||||
<RpmSharedFxDependencies Include="aspnetcore-store-2.0.3" Version="2.0.3" />
|
||||
<RpmSharedFxDependencies Include="$(DotnetRuntimeInstallerName)" Version="$(MicrosoftNETCoreApp21PackageVersion)" />
|
||||
<RpmSharedFxDependencies Include="$(DotnetRuntimeInstallerPrefix)" Version="$(MicrosoftNETCoreApp21PackageVersion)" />
|
||||
<RpmRHSharedFxDirectories Include="$(RHInstallRoot)/shared" />
|
||||
<RpmGenericSharedFxDirectories Include="$(InstallRoot)/shared" />
|
||||
</ItemGroup>
|
||||
|
|
@ -116,7 +181,7 @@
|
|||
<RpmCommonArguments>$(RpmCommonArguments);RpmMaintainerName=$(MaintainerName);RpmMaintainerEmail=$(MaintainerEmail)</RpmCommonArguments>
|
||||
<RpmCommonArguments>$(RpmCommonArguments);RpmHomepage=$(Homepage);RpmRevision=$(PackageRevision)</RpmCommonArguments>
|
||||
<RpmCommonArguments>$(RpmCommonArguments);RpmLicense=$(LicenseType)</RpmCommonArguments>
|
||||
<RpmCommonArguments>$(RpmCommonArguments);RpmInstallerPrefix=$(SharedFxInstallerName);SharedFxArchive=$(SharedFxLinuxIntermediateArchiveFilePath)</RpmCommonArguments>
|
||||
<RpmCommonArguments>$(RpmCommonArguments);RpmInstallerPrefix=$(SharedFxInstallerName);SharedFxArchive=$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz</RpmCommonArguments>
|
||||
<RpmCommonArguments>$(RpmCommonArguments);RpmMSummary=$(SharedFxSummary);RpmDescription=$(SharedFxDescription)</RpmCommonArguments>
|
||||
<RpmCommonGenericArguments>RpmFileSuffix=rhel.7-x64.rpm;RpmInstallRoot=$(InstallRoot)</RpmCommonGenericArguments>
|
||||
<RpmCommonRHArguments>RpmFileSuffix=rh.rhel.7-x64.rpm;RpmInstallRoot=$(RHInstallRoot)</RpmCommonRHArguments>
|
||||
|
|
@ -204,7 +269,7 @@
|
|||
<ItemGroup>
|
||||
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
|
||||
<_DebSharedFxDependencies Include="aspnetcore-store-2.0.3"/>
|
||||
<_DebSharedFxDependencies Include="$(DotnetRuntimeInstallerName)"/>
|
||||
<_DebSharedFxDependencies Include="$(DotnetRuntimeInstallerPrefix)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
|
@ -212,7 +277,7 @@
|
|||
|
||||
<CommonProps>Image=$(Image);DebVersion=$(Version)</CommonProps>
|
||||
<DebSharedFxProps>DebPrefix=$(SharedFxInstallerName);DebSummary=$(SharedFxSummary);DebDescription=$(SharedFxDescription)</DebSharedFxProps>
|
||||
<DebSharedFxProps>$(DebSharedFxProps);DebDependencies=$(DebSharedFxDependencies);SharedFxArchive=$(SharedFxLinuxIntermediateArchiveFilePath)</DebSharedFxProps>
|
||||
<DebSharedFxProps>$(DebSharedFxProps);DebDependencies=$(DebSharedFxDependencies);SharedFxArchive=$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz</DebSharedFxProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDeb" Properties="$(CommonProps);$(DebSharedFxProps)" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue