roblox-cs / dotnet /sdk /8.0.402 /Sdks /Microsoft.NET.Sdk /targets /Microsoft.NET.ApiCompat.Common.targets
asynchronousai's picture
Upload 2613 files
090629c verified
<!--
***********************************************************************************************
Microsoft.NET.ApiCompat.Common.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
Copyright (c) .NET Foundation. All rights reserved.
***********************************************************************************************
-->
<Project>
<!-- Expose the tasks for SDK consumption and for external use cases. -->
<UsingTask TaskName="Microsoft.DotNet.ApiCompat.Task.ValidateAssembliesTask" AssemblyFile="$(DotNetApiCompatTaskAssembly)" />
<UsingTask TaskName="Microsoft.DotNet.ApiCompat.Task.ValidatePackageTask" AssemblyFile="$(DotNetApiCompatTaskAssembly)" />
<Target Name="CollectApiCompatInputs">
<PropertyGroup Condition="'$(RoslynAssembliesPath)' == ''">
<!-- If a custom roslyn assemblies path isn't provided, the opt-in switch 'ApiCompatUseRoslynToolsetPackagePath' is set to true and
the roslyn toolset package is referenced, use the assemblies from that package. -->
<_UseRoslynToolsetPackage Condition="'$(ApiCompatUseRoslynToolsetPackagePath)' == 'true' and '@(PackageReference->AnyHaveMetadataValue('Identity', 'Microsoft.Net.Compilers.Toolset'))' == 'true'">true</_UseRoslynToolsetPackage>
<!-- CSharpCoreTargetsPath and VisualBasicCoreTargetsPath point to the same location, Microsoft.CodeAnalysis.CSharp and Microsoft.CodeAnalysis.VisualBasic
are on the same directory as Microsoft.CodeAnalysis. So there is no need to distinguish between csproj or vbproj. -->
<RoslynAssembliesPath Condition="'$(_UseRoslynToolsetPackage)' == 'true'">$([System.IO.Path]::GetDirectoryName('$(CSharpCoreTargetsPath)'))</RoslynAssembliesPath>
<!-- Otherwise, default to the roslyn compiler provided by the SDK / Visual Studio. -->
<RoslynAssembliesPath Condition="'$(_UseRoslynToolsetPackage)' != 'true'">$(RoslynTargetsPath)</RoslynAssembliesPath>
<!-- The SDK stores the roslyn assemblies in the 'bincore' subdirectory. -->
<RoslynAssembliesPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([System.IO.Path]::Combine('$(RoslynAssembliesPath)', 'bincore'))</RoslynAssembliesPath>
</PropertyGroup>
<!-- Respect legacy property and item names. -->
<PropertyGroup>
<ApiCompatGenerateSuppressionFile Condition="'$(ApiCompatGenerateSuppressionFile)' == ''">$(GenerateCompatibilitySuppressionFile)</ApiCompatGenerateSuppressionFile>
</PropertyGroup>
<ItemGroup>
<ApiCompatSuppressionFile Include="$(CompatibilitySuppressionFilePath)"
Condition="'@(ApiCompatSuppressionFile)' == '' and '$(CompatibilitySuppressionFilePath)' != ''" />
</ItemGroup>
<!-- END: Respect legacy property and item names. -->
<PropertyGroup>
<_apiCompatDefaultProjectSuppressionFile>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', 'CompatibilitySuppressions.xml'))</_apiCompatDefaultProjectSuppressionFile>
<!-- Pass in a default suppression output file if non is supplied, and ApiCompatGenerateSuppressionFile is true. -->
<ApiCompatSuppressionOutputFile Condition="'$(ApiCompatSuppressionOutputFile)' == '' and '$(ApiCompatGenerateSuppressionFile)' == 'true'">$(_apiCompatDefaultProjectSuppressionFile)</ApiCompatSuppressionOutputFile>
</PropertyGroup>
<!-- Pass in a default suppression file, if it exists. -->
<ItemGroup Condition="'@(ApiCompatSuppressionFile)' == ''">
<ApiCompatSuppressionFile Include="$(_apiCompatDefaultProjectSuppressionFile)"
Condition="Exists($(_apiCompatDefaultProjectSuppressionFile))" />
</ItemGroup>
</Target>
</Project>