155 lines
8.4 KiB
XML
155 lines
8.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup>
|
|
<PkgIntermediateDirectory>$(IntermediateDirectory)/pkgs/$(SdkVersion)</PkgIntermediateDirectory>
|
|
|
|
<!-- Properties for pkg build -->
|
|
<SharedHostComponentId>com.microsoft.dotnet.sharedhost.$(SharedHostVersion).component.osx.x64</SharedHostComponentId>
|
|
<HostFxrComponentId>com.microsoft.dotnet.hostfxr.$(HostFxrVersion).component.osx.x64</HostFxrComponentId>
|
|
<SharedFrameworkComponentId>com.microsoft.dotnet.sharedframework.$(SharedFrameworkNugetName).$(MicrosoftNETCoreAppPackageVersion).component.osx.x64</SharedFrameworkComponentId>
|
|
<SdkComponentId>com.microsoft.dotnet.dev.$(SdkVersion).component.osx.x64</SdkComponentId>
|
|
<SdkProductArchiveId>com.microsoft.dotnet.dev.$(SdkVersion).osx.x64</SdkProductArchiveId>
|
|
|
|
<PkgInstallDirectory>/usr/local/share/dotnet</PkgInstallDirectory>
|
|
|
|
<SdkPkgSourcesRootDirectory>$(RepoRoot)/packaging/osx/clisdk</SdkPkgSourcesRootDirectory>
|
|
<SdkPkgScriptsDirectory>$(SdkPkgSourcesRootDirectory)/scripts</SdkPkgScriptsDirectory>
|
|
<SdkPkgScriptTemplateFile>$(SdkPkgScriptsDirectory)/postinstall</SdkPkgScriptTemplateFile>
|
|
<SdkPkgDestinationScriptsDirectory>$(PkgIntermediateDirectory)/scripts</SdkPkgDestinationScriptsDirectory>
|
|
<SdkPkgScriptFile>$(SdkPkgDestinationScriptsDirectory)/postinstall</SdkPkgScriptFile>
|
|
<SdkProductArchiveResourcesDirectory>$(SdkPkgSourcesRootDirectory)/resources</SdkProductArchiveResourcesDirectory>
|
|
|
|
<SdkProductArchiveDistributionTemplateFile>$(SdkPkgSourcesRootDirectory)/Distribution-Template</SdkProductArchiveDistributionTemplateFile>
|
|
<SdkProductArchiveDistributionFile>$(PkgIntermediateDirectory)/CLI-SDK-Formatted-Distribution-Template.xml</SdkProductArchiveDistributionFile>
|
|
|
|
<SdkPkgIntermediatePath>$(PkgIntermediateDirectory)/$(SdkComponentId).pkg</SdkPkgIntermediatePath>
|
|
<SharedFrameworkPkgIntermediatePath>$(PkgIntermediateDirectory)/$(SharedFrameworkComponentId).pkg</SharedFrameworkPkgIntermediatePath>
|
|
<SharedHostPkgIntermediatePath>$(PkgIntermediateDirectory)/$(SharedHostComponentId).pkg</SharedHostPkgIntermediatePath>
|
|
<HostFxrPkgIntermediatePath>$(PkgIntermediateDirectory)/$(HostFxrComponentId).pkg</HostFxrPkgIntermediatePath>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="SetupPkgInputsOutputs">
|
|
<ItemGroup>
|
|
<DistributionTemplateReplacement Include="{SharedFxComponentId}">
|
|
<ReplacementString>$(SharedFrameworkComponentId)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{SharedHostComponentId}">
|
|
<ReplacementString>$(SharedHostComponentId)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{HostFxrComponentId}">
|
|
<ReplacementString>$(HostFxrComponentId)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{CLISdkComponentId}">
|
|
<ReplacementString>$(SdkComponentId)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{CLISdkNugetVersion}">
|
|
<ReplacementString>$(SdkVersion)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{CLISdkBrandName}">
|
|
<ReplacementString>$(SdkBrandName)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{SharedFxBrandName}">
|
|
<ReplacementString>$(SharedFrameworkBrandName)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{SharedHostBrandName}">
|
|
<ReplacementString>$(SharedHostBrandName)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
<DistributionTemplateReplacement Include="{HostFxrBrandName}">
|
|
<ReplacementString>$(HostFxrBrandName)</ReplacementString>
|
|
</DistributionTemplateReplacement>
|
|
|
|
<PostInstallScriptReplacement Include="%SDK_VERSION%">
|
|
<ReplacementString>$(SdkVersion)</ReplacementString>
|
|
</PostInstallScriptReplacement>
|
|
</ItemGroup>
|
|
|
|
<!-- Consumed By Publish -->
|
|
<ItemGroup>
|
|
<GeneratedInstallers Include="$(SdkInstallerFile);$(CombinedFrameworkSdkHostInstallerFile)" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<GenerateSdkPkgInputs Include="$(SdkLayoutOutputDirectory)/**/*" />
|
|
<GenerateSdkPkgInputs Include="$(SdkPkgScriptsDirectory)/**/*" />
|
|
|
|
<GenerateSdkProductArchiveInputs Include="$(SdkInstallerFile)" />
|
|
<GenerateSdkProductArchiveInputs Include="$(DownloadedSharedFrameworkInstallerFile)" />
|
|
<GenerateSdkProductArchiveInputs Include="$(DownloadedHostFxrInstallerFile)" />
|
|
<GenerateSdkProductArchiveInputs Include="$(DownloadedSharedHostInstallerFile)" />
|
|
<GenerateSdkProductArchiveInputs Include="$(SdkProductArchiveDistributionTemplateFile)" />
|
|
<GenerateSdkProductArchiveInputs Include="$(SdkProductArchiveResourcesDirectory)/**/*" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="GenerateSdkPkg"
|
|
Inputs="@(GenerateSdkPkgInputs)"
|
|
Outputs="$(SdkInstallerFile)"
|
|
DependsOnTargets="Init;Layout;SetupPkgInputsOutputs"
|
|
Condition=" '$(OSName)' == 'osx' ">
|
|
|
|
<Copy SourceFiles="@(AspNetRuntimeFilesInput)"
|
|
DestinationFiles="@(AspNetRuntimeFilesInput->'$(SdkLayoutOutputDirectory)/%(RecursiveDir)%(FileName)%(Extension)')" />
|
|
|
|
<ReplaceFileContents
|
|
InputFile="$(SdkPkgScriptTemplateFile)"
|
|
DestinationFile="$(SdkPkgScriptFile)"
|
|
ReplacementPatterns="@(PostInstallScriptReplacement -> '%(Identity)')"
|
|
ReplacementStrings="@(PostInstallScriptReplacement -> '%(ReplacementString)')" />
|
|
|
|
<Chmod
|
|
Glob="$(SdkPkgScriptFile)"
|
|
Mode="ugo+x" />
|
|
|
|
<Exec Command="pkgbuild
|
|
--root '$(SdkLayoutOutputDirectory)'
|
|
--identifier '$(SdkComponentId)'
|
|
--version '$(SdkVersion)'
|
|
--install-location '$(PkgInstallDirectory)'
|
|
--scripts '$(SdkPkgDestinationScriptsDirectory)'
|
|
'$(SdkInstallerFile)'" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateSdkProductArchive"
|
|
Inputs="@(GenerateSdkProductArchiveInputs)"
|
|
Outputs="$(CombinedFrameworkSdkHostInstallerFile)"
|
|
DependsOnTargets="GenerateSdkPkg"
|
|
Condition=" '$(OSName)' == 'osx' ">
|
|
<ItemGroup>
|
|
<PkgComponentsSourceFiles Include="$(SdkInstallerFile);
|
|
$(DownloadedSharedFrameworkInstallerFile);
|
|
$(DownloadedHostFxrInstallerFile);
|
|
$(DownloadedSharedHostInstallerFile)" />
|
|
<PkgComponentsDestinationFiles Include="$(SdkPkgIntermediatePath);
|
|
$(SharedFrameworkPkgIntermediatePath);
|
|
$(HostFxrPkgIntermediatePath);
|
|
$(SharedHostPkgIntermediatePath)" />
|
|
</ItemGroup>
|
|
|
|
<!-- Move ProductArchive pkg components into place with component ids in the filenames -->
|
|
<Copy SourceFiles="@(PkgComponentsSourceFiles)" DestinationFiles="@(PkgComponentsDestinationFiles)" />
|
|
|
|
<!-- Fill out parameters in the Distribution Template -->
|
|
<ReplaceFileContents
|
|
InputFile="$(SdkProductArchiveDistributionTemplateFile)"
|
|
DestinationFile="$(SdkProductArchiveDistributionFile)"
|
|
ReplacementPatterns="@(DistributionTemplateReplacement -> '%(Identity)')"
|
|
ReplacementStrings="@(DistributionTemplateReplacement -> '%(ReplacementString)')" />
|
|
|
|
<Exec Command="productbuild
|
|
--version '$(SdkVersion)'
|
|
--identifier '$(SdkProductArchiveId)'
|
|
--package-path '$(PkgIntermediateDirectory)'
|
|
--resources '$(SdkProductArchiveResourcesDirectory)'
|
|
--distribution '$(SdkProductArchiveDistributionFile)'
|
|
'$(CombinedFrameworkSdkHostInstallerFile)'" />
|
|
</Target>
|
|
|
|
<Target Name="GeneratePkgs"
|
|
DependsOnTargets="Init;
|
|
Layout;
|
|
SetupPkgInputsOutputs;
|
|
GenerateSdkPkg;
|
|
GenerateSdkProductArchive"
|
|
Condition=" '$(OSName)' == 'osx' " />
|
|
|
|
</Project>
|