mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-08 03:27:04 +09:00

* Multi-target LoggerMessageGenerator between Roslyn v3.11 and v4.0 * Include a .targets file in NuGet packages which will select the correct analyzer assembly depending on which Roslyn version will be used to compile. * Multi-target JsonSourceGenerator between Roslyn v3.11 and v4.0 * Fix restore * Update NuGet package MSBuild logic to detect when SupportsRoslynComponentVersioning is not available, and use the lowest analyzer available. * Handle non-SDK projects by running after ResolveNuGetPackageAssets * Respond to PR feedback - Name .cs and .csproj files with Roslyn in the name - Upgrade to Roslyn 3.11 so IsExplicitlyNamedTupleElement API is available - Fix some references to the test projects - Fix incremental pack of the analyzer targets
31 lines
1.2 KiB
Text
31 lines
1.2 KiB
Text
<Project>
|
|
<Target Name="_{TargetPrefix}GatherAnalyzers">
|
|
|
|
<ItemGroup>
|
|
<_{TargetPrefix}Analyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == '{NuGetPackageId}'" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="_{TargetPrefix}AnalyzerMultiTargeting"
|
|
Condition="'$(SupportsRoslynComponentVersioning)' != 'true'"
|
|
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
|
|
DependsOnTargets="_{TargetPrefix}GatherAnalyzers">
|
|
|
|
<ItemGroup>
|
|
<!-- Remove our analyzers targeting roslyn4.x -->
|
|
<Analyzer Remove="@(_{TargetPrefix}Analyzer)"
|
|
Condition="$([System.String]::Copy('%(_{TargetPrefix}Analyzer.Identity)').IndexOf('roslyn4')) >= 0"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="_{TargetPrefix}RemoveAnalyzers"
|
|
Condition="'$({DisableSourceGeneratorPropertyName})' == 'true'"
|
|
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
|
|
DependsOnTargets="_{TargetPrefix}GatherAnalyzers">
|
|
|
|
<!-- Remove all our analyzers -->
|
|
<ItemGroup>
|
|
<Analyzer Remove="@(_{TargetPrefix}Analyzer)" />
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|