dotnet-installer/src/redist/targets/BundledManifests.targets
2021-07-07 09:35:42 -07:00

83 lines
4.8 KiB
XML

<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<BundledManifests Include="Microsoft.NET.Sdk.Android.Manifest-6.0.100" Version="$(XamarinAndroidWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.Android" />
<BundledManifests Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.100" Version="$(XamarinIOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.iOS" />
<BundledManifests Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.100" Version="$(XamarinMacCatalystWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.MacCatalyst" />
<BundledManifests Include="Microsoft.NET.Sdk.macOS.Manifest-6.0.100" Version="$(XamarinMacOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.macOS" />
<BundledManifests Include="Microsoft.NET.Sdk.Maui.Manifest-6.0.100" Version="$(MauiWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.Maui" />
<BundledManifests Include="Microsoft.NET.Sdk.tvOS.Manifest-6.0.100" Version="$(XamarinTvOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.tvOS" />
<BundledManifests Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-6.0.100" Version="$(MonoWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.Mono.ToolChain" />
<BundledManifests Include="Microsoft.NET.Workload.Emscripten.Manifest-6.0.100" Version="$(EmscriptenWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.Emscripten" />
</ItemGroup>
<!-- Restore workload manifests via PackageReference -->
<ItemGroup>
<BundledManifestsForPackageDownload Include="@(BundledManifests)" >
<Version>[%(Version)]</Version>
</BundledManifestsForPackageDownload>
<PackageDownload Include="@(BundledManifestsForPackageDownload)" />
</ItemGroup>
<ItemGroup>
<BundledManifests Update="@(BundledManifests)" >
<RestoredNupkgContentPath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())</RestoredNupkgContentPath>
</BundledManifests>
</ItemGroup>
<Target Name="LayoutManifests"
DependsOnTargets="LayoutManifestsForSDK;LayoutManifestsForMSI" />
<Target Name="LayoutManifestsForSDK"
DependsOnTargets="SetupBundledComponents;GenerateManifestVersions">
<Copy SourceFiles="@(ManifestContent)"
DestinationFolder="$(RedistLayoutPath)sdk-manifests/$(CliProductBandVersion)00/%(DestinationPath)"/>
</Target>
<Target Name="LayoutManifestsForMSI"
DependsOnTargets="SetupBundledComponents;GenerateManifestVersions"
Condition="$(ProductMonikerRid.StartsWith('win')) And '$(Architecture)' != 'arm'">
<Copy SourceFiles="@(ManifestContent)"
DestinationFolder="$(BaseOutputPath)$(Configuration)\sdk-manifests\sdk-manifests/$(CliProductBandVersion)00/%(DestinationPath)"/>
</Target>
<Target Name="GenerateManifestVersions">
<PropertyGroup>
<ManifestsMSIInstallerFile>$(ArtifactsNonShippingPackagesDir)dotnet-sdkmanifests-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)</ManifestsMSIInstallerFile>
<ManifestsDependencyKeyName>SDK_Manifests_$([MSBuild]::ValueOrDefault('$(Version)', '').Replace('-', '_'))</ManifestsDependencyKeyName>
<ManifestsBrandName>Microsoft .NET SDK Workload Manifests $(Version)</ManifestsBrandName>
<ManifestsLayoutPath>$(BaseOutputPath)$(Configuration)\sdk-manifests</ManifestsLayoutPath>
</PropertyGroup>
<GenerateMsiVersion BuildNumber="$(CombinedBuildNumberAndRevision)"
Major="$(VersionMajor)"
Minor="$(VersionMinor)"
Patch="$(VersionFeature)">
<Output TaskParameter="MsiVersion" PropertyName="ManifestMsiVersion" />
</GenerateMsiVersion>
<GenerateGuidFromName Name="$(ManifestsMSIInstallerFile)">
<Output TaskParameter="GeneratedGuid"
PropertyName="ManifestsInstallerUpgradeCode" />
</GenerateGuidFromName>
<ItemGroup>
<ManifestContent Include="%(BundledManifests.RestoredNupkgContentPath)\data\**\*"
Condition="Exists('%(RestoredNupkgContentPath)\data')"
DestinationPath="$([MSBuild]::ValueOrDefault('%(WorkloadManifestId)', '').ToLower())/"/>
<ManifestContent Include="%(BundledManifests.RestoredNupkgContentPath)\**\*.json;%(BundledManifests.RestoredNupkgContentPath)\**\*.targets"
Condition="!Exists('%(BundledManifests.RestoredNupkgContentPath)\data')"
DestinationPath="$([MSBuild]::ValueOrDefault('%(BundledManifests.WorkloadManifestId)', '').ToLower())/"/>
</ItemGroup>
<Error Text="No workload manifest content found." Condition="'@(ManifestContent->Count())' == '0'" />
</Target>
</Project>