83 lines
4.8 KiB
XML
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>
|