81 lines
4.3 KiB
XML
81 lines
4.3 KiB
XML
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<ItemGroup>
|
|
<BundledManifests Include="Microsoft.NET.Workload.Android" Version="$(XamarinAndroidWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.Android" />
|
|
<BundledManifests Include="Microsoft.NET.Workload.iOS" Version="$(XamarinIOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.iOS" />
|
|
<BundledManifests Include="Microsoft.NET.Workload.MacCatalyst" Version="$(XamarinMacCatalystWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.MacCatalyst" />
|
|
<BundledManifests Include="Microsoft.NET.Workload.macOS" Version="$(XamarinMacOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.macOS" />
|
|
<BundledManifests Include="Microsoft.NET.Workload.tvOS" Version="$(XamarinTvOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.tvOS" />
|
|
<BundledManifests Include="Microsoft.NET.Sdk.BlazorWebAssembly.AOT" Version="$(BlazorWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.BlazorWebAssembly" />
|
|
</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="%(WorkloadManifestId)/"/>
|
|
|
|
<ManifestContent Include="%(BundledManifests.RestoredNupkgContentPath)\**\*.json;%(BundledManifests.RestoredNupkgContentPath)\**\*.targets"
|
|
Condition="!Exists('%(BundledManifests.RestoredNupkgContentPath)\data')"
|
|
DestinationPath="%(BundledManifests.WorkloadManifestId)/"/>
|
|
</ItemGroup>
|
|
|
|
<Error Text="No workload manifest content found." Condition="'@(ManifestContent->Count())' == '0'" />
|
|
</Target>
|
|
|
|
</Project>
|