The id of the package we produce will be Microsoft.NET.Workload.Mono.ToolChain.Manifest-<sdk-band>
<MajorVersion>6</MajorVersion>
<MinorVersion>0</MinorVersion>
<PatchVersion>0</PatchVersion>
+ <SdkBandVersion>6.0.100</SdkBandVersion>
<PreReleaseVersionLabel>preview</PreReleaseVersionLabel>
<PreReleaseVersionIteration>5</PreReleaseVersionIteration>
<!-- Set assembly version to align with major and minor version,
-->
<RidAgnosticNupkgToPublishFile
Include="
- $(DownloadDirectory)**\Microsoft.NET.Sdk.Mono.Toolchain.Manifest.*.nupkg;
+ $(DownloadDirectory)**\Microsoft.NET.Workload.Mono.Toolchain.Manifest-*.nupkg;
$(DownloadDirectory)*\$(PublishRidAgnosticPackagesFromPlatform)\**\*.nupkg;
$(DownloadDirectory)*\*AllConfigurations\**\*.nupkg"
Exclude="@(RuntimeNupkgFile);@(DownloadedSymbolNupkgFile)" />
<SkipIndexCheck>true</SkipIndexCheck>
<!-- Central place to set the versions of all nuget packages produced in the repo -->
- <PackageVersion Condition="'$(PackageVersion)' == ''">6.0.0</PackageVersion>
+ <PackageVersion Condition="'$(ProductVersion)' == ''">6.0.0</PackageVersion>
<StableVersion Condition="'$(StabilizePackageVersion)' == 'true' and '$(StableVersion)' == ''">$(PackageVersion)</StableVersion>
</PropertyGroup>
</PropertyGroup>
<Target Name="_PrepareForPack" BeforeTargets="GetPackageFiles" Returns="@(PackageFile)">
+ <!-- Override the id to include the sdk band as per the workload installer spec -->
+ <PropertyGroup>
+ <Id>Microsoft.NET.Workload.Mono.ToolChain.Manifest-$(SdkBandVersion)</Id>
+ </PropertyGroup>
+
<PropertyGroup>
<WorkloadManifestPath>$(IntermediateOutputPath)WorkloadManifest.json</WorkloadManifestPath>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <PackageFile Include="$(WorkloadManifestPath)" TargetPath="data" />
+ <PackageFile Include="WorkloadManifest.targets" TargetPath="data" />
+ </ItemGroup>
+ </Target>
+
+ <!-- Running this target ensures we have the fully evaluated PackageVersion -->
+ <Target Name="_WriteManifestValues" AfterTargets="CalculatePackageVersion">
+ <PropertyGroup>
<PackagePathVersion>PackageVersion=$(PackageVersion);</PackagePathVersion>
</PropertyGroup>
<ItemGroup>
+ <_WorkloadManifestValues Include="WorkloadVersion" Value="$(PackageVersion)" />
<_WorkloadManifestValues Include="PackageVersion" Value="$(PackageVersion)" />
<_WorkloadManifestValues Include="EmscriptenVersion" Value="$(MicrosoftNETRuntimeEmscriptenVersion)" />
</ItemGroup>
TemplateFile="WorkloadManifest.json.in"
Properties="@(_WorkloadManifestValues)"
OutputPath="$(WorkloadManifestPath)" />
-
- <ItemGroup>
- <PackageFile Include="$(WorkloadManifestPath)" TargetPath="data" />
- <PackageFile Include="WorkloadManifest.targets" TargetPath="data" />
- </ItemGroup>
</Target>
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets))" />
{
- "version": 1,
+ "version": "${WorkloadVersion}",
"workloads": {
"microsoft-net-runtime-browser-native": {
"description": "Browser Runtime native performance tools",
</ItemGroup>
<ItemGroup Condition="'$(TargetsMobile)' == 'true'">
- <ProjectReference Include="Microsoft.NET.Sdk.Mono.Toolchain.Manifest\Microsoft.NET.Sdk.Mono.Toolchain.Manifest.pkgproj" />
+ <ProjectReference Include="Microsoft.NET.Workload.Mono.Toolchain.Manifest\Microsoft.NET.Workload.Mono.Toolchain.Manifest.pkgproj" />
<ProjectReference Include="Microsoft.NET.Runtime.MonoAOTCompiler.Task\Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj" />
<ProjectReference Include="Microsoft.NET.Runtime.RuntimeConfigParser.Task\Microsoft.NET.Runtime.RuntimeConfigParser.Task.pkgproj" />
</ItemGroup>