Update SdkResolver layout to work for Desktop and Core MSBuild (#18505)
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
This commit is contained in:
parent
162e7d45bc
commit
3242c17f66
4 changed files with 25 additions and 14 deletions
|
@ -153,6 +153,8 @@
|
||||||
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'ArcadeBootstrapPackage'))</ArcadeBootstrapPackageDir>
|
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'ArcadeBootstrapPackage'))</ArcadeBootstrapPackageDir>
|
||||||
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(NuGetPackageRoot)</ArcadeBootstrapPackageDir>
|
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(NuGetPackageRoot)</ArcadeBootstrapPackageDir>
|
||||||
|
|
||||||
|
<VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir>
|
||||||
|
|
||||||
<!-- Shared output and intermediate output path folders that are architecture and configuration specific. -->
|
<!-- Shared output and intermediate output path folders that are architecture and configuration specific. -->
|
||||||
<SharedOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedOutputPath>
|
<SharedOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedOutputPath>
|
||||||
<SharedIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedIntermediateOutputPath>
|
<SharedIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedIntermediateOutputPath>
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())" />
|
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())" />
|
||||||
|
|
||||||
<MSBuild Projects="tasks\SourceBuild.MSBuildSdkResolver\SourceBuild.MSBuildSdkResolver.csproj"
|
<MSBuild Projects="tasks\SourceBuild.MSBuildSdkResolver\SourceBuild.MSBuildSdkResolver.csproj"
|
||||||
Targets="Build;InstallResolver" />
|
Targets="Build" />
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)BuildMSBuildSdkResolver.complete" AlwaysCreate="true">
|
<Touch Files="$(BaseIntermediateOutputPath)BuildMSBuildSdkResolver.complete" AlwaysCreate="true">
|
||||||
|
@ -75,6 +75,10 @@
|
||||||
</Touch>
|
</Touch>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<SourceBuildMSBuildSdkResolverManifestPath>$([MSBuild]::NormalizePath('$(VSMSBuildSdkResolversDir)', 'SourceBuild.MSBuildSdkResolver', 'SourceBuild.MSBuildSdkResolver.xml'))</SourceBuildMSBuildSdkResolverManifestPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Build msbuild tasks. -->
|
<!-- Build msbuild tasks. -->
|
||||||
<Target Name="BuildXPlatTasks"
|
<Target Name="BuildXPlatTasks"
|
||||||
DependsOnTargets="UnpackTarballs;BuildMSBuildSdkResolver"
|
DependsOnTargets="UnpackTarballs;BuildMSBuildSdkResolver"
|
||||||
|
|
|
@ -4,20 +4,23 @@
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="InstallResolver">
|
|
||||||
<PropertyGroup>
|
|
||||||
<SourceBuildMSBuildSdkResolverPath>$([MSBuild]::NormalizePath('$(DotNetRoot)', 'sdk', '$(NETCoreSdkVersion)', 'SdkResolvers', '$(MSBuildProjectName)', '$(MSBuildProjectName).dll'))</SourceBuildMSBuildSdkResolverPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<Copy SourceFiles="$(TargetPath)" DestinationFiles="$(SourceBuildMSBuildSdkResolverPath)" />
|
|
||||||
<Message Text="Adding resolver to SDK: $(MSBuildProjectName) -> $(SourceBuildMSBuildSdkResolverPath)" Importance="High" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime"/>
|
||||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<SourceBuildMSBuildSdkResolverManifestPath>$([MSBuild]::NormalizePath('$(VSMSBuildSdkResolversDir)', '$(MSBuildProjectName)', '$(MSBuildProjectName).xml'))</SourceBuildMSBuildSdkResolverManifestPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Target Name="InstallResolver" BeforeTargets="PrepareForRun">
|
||||||
|
<WriteLinesToFile
|
||||||
|
File="$(SourceBuildMSBuildSdkResolverManifestPath)"
|
||||||
|
Lines="<SdkResolver><Path>$(TargetPath)</Path></SdkResolver>"
|
||||||
|
Overwrite="true"
|
||||||
|
WriteOnlyWhenDifferent="true" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -586,6 +586,8 @@
|
||||||
<Target Name="SetSourceBuiltSdkOverrides"
|
<Target Name="SetSourceBuiltSdkOverrides"
|
||||||
Condition="'@(SourceBuiltSdkOverride)' != ''">
|
Condition="'@(SourceBuiltSdkOverride)' != ''">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<!-- Set the environment variables for MSBuild to look for our additional SDK Resolvers and or our resolver to find our source-built SDKs. -->
|
||||||
|
<EnvironmentVariables Include="MSBUILDADDITIONALSDKRESOLVERSFOLDER=$(VSMSBuildSdkResolversDir)" />
|
||||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" />
|
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" />
|
||||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" />
|
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" />
|
||||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" />
|
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue