Microsoft.CodeAnalysis.Analyzers.targets 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. <Project>
  2. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" BeforeTargets="CoreCompile" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true'">
  3. <!-- PropertyGroup to compute global analyzer config file to be used -->
  4. <PropertyGroup>
  5. <!-- Set the default analysis mode, if not set by the user -->
  6. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers>$(AnalysisLevelSuffix)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers>
  7. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers)' == ''">$(AnalysisMode)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers>
  8. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers>
  9. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers>
  10. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers>
  11. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  12. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  13. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  14. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  15. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers_WarnAsErrorSuffix>
  16. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  17. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers Condition="'$(MicrosoftCodeAnalysisAnalyzersRulesVersion)' != ''">AnalysisLevel_$(MicrosoftCodeAnalysisAnalyzersRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzers)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers>
  18. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers>
  19. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzers Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzers)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzers>
  20. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzers Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzers)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzers)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzers>
  21. </PropertyGroup>
  22. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzers)')">
  23. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzers)" />
  24. </ItemGroup>
  25. </Target>
  26. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersCorrectness" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelCorrectness)' != '' or '$(AnalysisModeCorrectness)' != '')">
  27. <!-- PropertyGroup to compute global analyzer config file to be used -->
  28. <PropertyGroup>
  29. <!-- Set the default analysis mode, if not set by the user -->
  30. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness>$(AnalysisLevelSuffixCorrectness)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness>
  31. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness)' == ''">$(AnalysisModeCorrectness)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness>
  32. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness>
  33. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness>
  34. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness>
  35. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  36. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  37. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  38. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  39. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness_WarnAsErrorSuffix>
  40. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersCorrectnessRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  41. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(MicrosoftCodeAnalysisAnalyzersCorrectnessRulesVersion)' != ''">AnalysisLevelCorrectness_$(MicrosoftCodeAnalysisAnalyzersCorrectnessRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersCorrectness)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness>
  42. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness>
  43. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersCorrectness)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersCorrectness>
  44. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersCorrectness Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersCorrectness)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersCorrectness)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersCorrectness>
  45. </PropertyGroup>
  46. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersCorrectness)')">
  47. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersCorrectness)" />
  48. </ItemGroup>
  49. </Target>
  50. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersLibrary" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelLibrary)' != '' or '$(AnalysisModeLibrary)' != '')">
  51. <!-- PropertyGroup to compute global analyzer config file to be used -->
  52. <PropertyGroup>
  53. <!-- Set the default analysis mode, if not set by the user -->
  54. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary>$(AnalysisLevelSuffixLibrary)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary>
  55. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary)' == ''">$(AnalysisModeLibrary)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary>
  56. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary>
  57. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary>
  58. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary>
  59. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  60. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  61. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  62. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  63. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary_WarnAsErrorSuffix>
  64. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersLibraryRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  65. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(MicrosoftCodeAnalysisAnalyzersLibraryRulesVersion)' != ''">AnalysisLevelLibrary_$(MicrosoftCodeAnalysisAnalyzersLibraryRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersLibrary)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary>
  66. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary>
  67. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersLibrary)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersLibrary>
  68. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersLibrary Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersLibrary)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersLibrary)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersLibrary>
  69. </PropertyGroup>
  70. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersLibrary)')">
  71. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersLibrary)" />
  72. </ItemGroup>
  73. </Target>
  74. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisCompatibility)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisCompatibility)' != '')">
  75. <!-- PropertyGroup to compute global analyzer config file to be used -->
  76. <PropertyGroup>
  77. <!-- Set the default analysis mode, if not set by the user -->
  78. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>$(AnalysisLevelSuffixMicrosoftCodeAnalysisCompatibility)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  79. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)' == ''">$(AnalysisModeMicrosoftCodeAnalysisCompatibility)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  80. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  81. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  82. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  83. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  84. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  85. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  86. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  87. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility_WarnAsErrorSuffix>
  88. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibilityRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  89. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibilityRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisCompatibility_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibilityRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  90. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  91. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  92. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility>
  93. </PropertyGroup>
  94. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)')">
  95. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCompatibility)" />
  96. </ItemGroup>
  97. </Target>
  98. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisCorrectness)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisCorrectness)' != '')">
  99. <!-- PropertyGroup to compute global analyzer config file to be used -->
  100. <PropertyGroup>
  101. <!-- Set the default analysis mode, if not set by the user -->
  102. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>$(AnalysisLevelSuffixMicrosoftCodeAnalysisCorrectness)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  103. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)' == ''">$(AnalysisModeMicrosoftCodeAnalysisCorrectness)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  104. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  105. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  106. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  107. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  108. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  109. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  110. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  111. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness_WarnAsErrorSuffix>
  112. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectnessRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  113. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectnessRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisCorrectness_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectnessRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  114. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  115. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  116. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness>
  117. </PropertyGroup>
  118. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)')">
  119. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisCorrectness)" />
  120. </ItemGroup>
  121. </Target>
  122. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisDesign)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisDesign)' != '')">
  123. <!-- PropertyGroup to compute global analyzer config file to be used -->
  124. <PropertyGroup>
  125. <!-- Set the default analysis mode, if not set by the user -->
  126. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>$(AnalysisLevelSuffixMicrosoftCodeAnalysisDesign)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  127. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)' == ''">$(AnalysisModeMicrosoftCodeAnalysisDesign)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  128. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  129. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  130. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  131. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  132. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  133. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  134. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  135. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign_WarnAsErrorSuffix>
  136. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesignRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  137. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesignRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisDesign_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesignRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  138. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  139. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  140. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign>
  141. </PropertyGroup>
  142. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)')">
  143. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDesign)" />
  144. </ItemGroup>
  145. </Target>
  146. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisDocumentation)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisDocumentation)' != '')">
  147. <!-- PropertyGroup to compute global analyzer config file to be used -->
  148. <PropertyGroup>
  149. <!-- Set the default analysis mode, if not set by the user -->
  150. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>$(AnalysisLevelSuffixMicrosoftCodeAnalysisDocumentation)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  151. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)' == ''">$(AnalysisModeMicrosoftCodeAnalysisDocumentation)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  152. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  153. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  154. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  155. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  156. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  157. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  158. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  159. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation_WarnAsErrorSuffix>
  160. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentationRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  161. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentationRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisDocumentation_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentationRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  162. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  163. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  164. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation>
  165. </PropertyGroup>
  166. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)')">
  167. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisDocumentation)" />
  168. </ItemGroup>
  169. </Target>
  170. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisLocalization)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisLocalization)' != '')">
  171. <!-- PropertyGroup to compute global analyzer config file to be used -->
  172. <PropertyGroup>
  173. <!-- Set the default analysis mode, if not set by the user -->
  174. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>$(AnalysisLevelSuffixMicrosoftCodeAnalysisLocalization)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  175. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)' == ''">$(AnalysisModeMicrosoftCodeAnalysisLocalization)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  176. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  177. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  178. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  179. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  180. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  181. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  182. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  183. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization_WarnAsErrorSuffix>
  184. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalizationRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  185. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalizationRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisLocalization_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalizationRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  186. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  187. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  188. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization>
  189. </PropertyGroup>
  190. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)')">
  191. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisLocalization)" />
  192. </ItemGroup>
  193. </Target>
  194. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisPerformance)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisPerformance)' != '')">
  195. <!-- PropertyGroup to compute global analyzer config file to be used -->
  196. <PropertyGroup>
  197. <!-- Set the default analysis mode, if not set by the user -->
  198. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>$(AnalysisLevelSuffixMicrosoftCodeAnalysisPerformance)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  199. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)' == ''">$(AnalysisModeMicrosoftCodeAnalysisPerformance)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  200. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  201. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  202. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  203. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  204. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  205. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  206. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  207. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance_WarnAsErrorSuffix>
  208. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformanceRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  209. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformanceRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisPerformance_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformanceRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  210. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  211. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  212. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance>
  213. </PropertyGroup>
  214. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)')">
  215. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisPerformance)" />
  216. </ItemGroup>
  217. </Target>
  218. <Target Name="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking" BeforeTargets="CoreCompile" AfterTargets="AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisAnalyzers" Condition="'$(SkipGlobalAnalyzerConfigForPackage)' != 'true' and ('$(AnalysisLevelMicrosoftCodeAnalysisReleaseTracking)' != '' or '$(AnalysisModeMicrosoftCodeAnalysisReleaseTracking)' != '')">
  219. <!-- PropertyGroup to compute global analyzer config file to be used -->
  220. <PropertyGroup>
  221. <!-- Set the default analysis mode, if not set by the user -->
  222. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>$(AnalysisLevelSuffixMicrosoftCodeAnalysisReleaseTracking)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  223. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)' == ''">$(AnalysisModeMicrosoftCodeAnalysisReleaseTracking)</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  224. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)' == 'AllEnabledByDefault'">All</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  225. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)' == 'AllDisabledByDefault'">None</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  226. <_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)' == ''">Default</_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  227. <!-- Default 'EffectiveCodeAnalysisTreatWarningsAsErrors' to 'CodeAnalysisTreatWarningsAsErrors' for escalating relevant code analysis warnings to errors. -->
  228. <!-- We use a separate property to allow users to override 'CodeAnalysisTreatWarningsAsErrors' implementation from .NET7 or older SDK, which had a known issue: https://github.com/dotnet/roslyn-analyzers/issues/6281 -->
  229. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  230. <!-- Choose GlobalAnalyzerConfig file with '_warnaserror' suffix if 'EffectiveCodeAnalysisTreatWarningsAsErrors' is 'true'. -->
  231. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking_WarnAsErrorSuffix Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'true'">_warnaserror</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking_WarnAsErrorSuffix>
  232. <!-- GlobalAnalyzerConfig file name based on user specified package version 'MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTrackingRulesVersion', if any. We replace '.' with '_' to map the version string to file name suffix. -->
  233. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTrackingRulesVersion)' != ''">AnalysisLevelMicrosoftCodeAnalysisReleaseTracking_$(MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTrackingRulesVersion.Replace(".","_"))_$(_GlobalAnalyzerConfigAnalysisMode_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking_WarnAsErrorSuffix).globalconfig</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  234. <_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking.ToLowerInvariant())</_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  235. <_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)' == ''">$(MSBuildThisFileDirectory)config</_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  236. <_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking Condition="'$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)' != ''">$(_GlobalAnalyzerConfigDir_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)\$(_GlobalAnalyzerConfigFileName_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)</_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking>
  237. </PropertyGroup>
  238. <ItemGroup Condition="Exists('$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)')">
  239. <EditorConfigFiles Include="$(_GlobalAnalyzerConfigFile_MicrosoftCodeAnalysisAnalyzersMicrosoftCodeAnalysisReleaseTracking)" />
  240. </ItemGroup>
  241. </Target>
  242. <!-- MSBuild properties to thread to the analyzers as options -->
  243. <ItemGroup>
  244. <CompilerVisibleProperty Include="TargetFramework" />
  245. <CompilerVisibleProperty Include="TargetPlatformMinVersion" />
  246. <CompilerVisibleProperty Include="UsingMicrosoftNETSdkWeb" />
  247. <CompilerVisibleProperty Include="ProjectTypeGuids" />
  248. <CompilerVisibleProperty Include="InvariantGlobalization" />
  249. <CompilerVisibleProperty Include="PlatformNeutralAssembly" />
  250. <CompilerVisibleProperty Include="EnforceExtendedAnalyzerRules" />
  251. </ItemGroup>
  252. <!-- MSBuild item metadata to thread to the analyzers as options -->
  253. <PropertyGroup>
  254. <_SupportedPlatformList>@(SupportedPlatform, ',')</_SupportedPlatformList>
  255. </PropertyGroup>
  256. <!-- MSBuild properties to thread to the analyzers as options -->
  257. <ItemGroup>
  258. <CompilerVisibleProperty Include="_SupportedPlatformList" />
  259. </ItemGroup>
  260. <!--
  261. Design-time target to handle 'CodeAnalysisTreatWarningsAsErrors = false' for the CA rule ids implemented in this package.
  262. Note that a similar 'WarningsNotAsErrors' property group is present in the generated props file to ensure this functionality on command line builds.
  263. -->
  264. <Target Name="_CodeAnalysisTreatWarningsAsErrors" BeforeTargets="CoreCompile" Condition="'$(DesignTimeBuild)' == 'true' OR '$(BuildingProject)' != 'true'">
  265. <PropertyGroup>
  266. <EffectiveCodeAnalysisTreatWarningsAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == ''">$(CodeAnalysisTreatWarningsAsErrors)</EffectiveCodeAnalysisTreatWarningsAsErrors>
  267. <WarningsNotAsErrors Condition="'$(EffectiveCodeAnalysisTreatWarningsAsErrors)' == 'false' and '$(TreatWarningsAsErrors)' == 'true'">$(WarningsNotAsErrors);$(CodeAnalysisRuleIds)</WarningsNotAsErrors>
  268. </PropertyGroup>
  269. </Target>
  270. <!-- Target to add all 'EmbeddedResource' files with '.resx' extension as analyzer additional files -->
  271. <Target Name="AddAllResxFilesAsAdditionalFiles" DependsOnTargets="PrepareResourceNames" BeforeTargets="GenerateMSBuildEditorConfigFileCore;CoreCompile" Condition="'@(EmbeddedResource)' != '' AND '$(SkipAddAllResxFilesAsAdditionalFiles)' != 'true'">
  272. <ItemGroup>
  273. <EmbeddedResourceWithResxExtension Include="@(EmbeddedResource)" Condition="'%(Extension)' == '.resx'" />
  274. <AdditionalFiles Include="@(EmbeddedResourceWithResxExtension)" />
  275. </ItemGroup>
  276. </Target>
  277. <!-- Workaround for https://github.com/dotnet/roslyn/issues/4655 -->
  278. <ItemGroup Condition="Exists('$(MSBuildProjectDirectory)\AnalyzerReleases.Shipped.md')" >
  279. <AdditionalFiles Include="AnalyzerReleases.Shipped.md" />
  280. </ItemGroup>
  281. <ItemGroup Condition="Exists('$(MSBuildProjectDirectory)\AnalyzerReleases.Unshipped.md')" >
  282. <AdditionalFiles Include="AnalyzerReleases.Unshipped.md" />
  283. </ItemGroup>
  284. </Project>