-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
92 lines (81 loc) · 4.97 KB
/
Directory.Build.props
File metadata and controls
92 lines (81 loc) · 4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<Project>
<PropertyGroup>
<!-- Enable code style enforcement and built in analyzers -->
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<AnalysisLevel>latest</AnalysisLevel>
<!-- Enable compiler analysis warnings like IDE0005 -->
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!-- Suppress stylistic/architectural warnings that are intentional design decisions -->
<!-- CS1591: Missing XML documentation - not required for internal APIs -->
<!-- RCS1060: Multiple types in file - acceptable for related types -->
<!-- S6354: Testable time provider - DateTime.Now is acceptable in production code -->
<!-- S4226: Extension methods in same namespace - intentional for fluent API design -->
<!-- RCS1208: If nesting - current structure is more readable -->
<!-- IDE0009: 'this' qualification - style preference, not enforced -->
<!-- IDE0040: Accessibility modifiers - implicit in interfaces -->
<!-- IDE0022: Expression body for methods - style preference -->
<!-- IDE0053: Expression body for lambda - style preference -->
<!-- IDE0021: Expression body for constructor - style preference -->
<!-- IDE0011: Add braces - style preference for single-line if -->
<!-- IDE0044: Add readonly modifier - false positives with init -->
<!-- IDE0290: Primary constructor - style preference -->
<!-- RCS1037: Trailing whitespace - formatting issue, not code quality -->
<!-- RCS1163: Unused parameter - kept for interface compatibility -->
<!-- RCS1169: Parameter unused - kept for method signature consistency -->
<!-- RCS1085: Use lambda expression - style preference -->
<!-- RCS1181: Parameter declaration - style preference -->
<!-- S4004: Collection property setter - needed for deserialization -->
<!-- S1192: String literal duplication - acceptable for logging/formatting -->
<!-- S131: Switch default clause - not always needed with enums -->
<!-- S2930: IDisposable not assigned - false positive with using declarations -->
<!-- S2931: IDisposable field - false positive with dependency injection -->
<!-- S3267: Loops with at most one iteration - intentional for flexibility -->
<!-- S2933: Field should be readonly - false positive with mutable state -->
<!-- S6602: Find regex match - style preference -->
<!-- S6605: Collection-specific Exists method - style preference -->
<!-- S6667: Logging in catch - already handled, false positive -->
<!-- CA1822: Member can be static - intentional instance design -->
<NoWarn>$(NoWarn);S6966;CS1591;RCS1060;S6354;S4226;RCS1208;IDE0009;IDE0040;IDE0022;IDE0053;IDE0021;IDE0011;IDE0044;IDE0290;RCS1037;RCS1163;RCS1169;RCS1085;RCS1181;S4004;S1192;S131;S2930;S2931;S3267;S2933;S6602;S6605;S6667;CA1822</NoWarn>
<!-- Warning enforcement relaxed: do not fail build on analyzer warnings -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningsAsErrors />
<WarningsNotAsErrors />
<!-- Enable all .NET SDK analyzers explicitly -->
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<!-- Optional: Set a specific .NET version if needed, though usually inherited. -->
<!-- <TargetFrameworkVersion>net9.0</TargetFrameworkVersion> -->
<!-- Re-enable Sonar analyzers -->
<SonarQubeExclude>false</SonarQubeExclude>
</PropertyGroup>
<!-- Disable code analyzers for test projects -->
<PropertyGroup Condition="'$(IsTestProject)' == 'true'">
<!-- Completely disable all analyzers for test projects -->
<EnableNETAnalyzers>false</EnableNETAnalyzers>
<EnforceCodeStyleInBuild>false</EnforceCodeStyleInBuild>
<SonarQubeExclude>true</SonarQubeExclude>
<RunAnalyzers>false</RunAnalyzers>
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<ReportAnalyzer>false</ReportAnalyzer>
<!-- Suppress all warnings in test projects -->
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet></CodeAnalysisRuleSet>
<Nullable>disable</Nullable>
</PropertyGroup>
<!-- SonarAnalyzer applied at repository level for systematic code quality analysis -->
<ItemGroup Condition="'$(SonarQubeExclude)' != 'true'">
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.15.0.120848">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<!-- Roslynator analyzers for additional code quality checks (not applied to test projects) -->
<ItemGroup Condition="'$(IsTestProject)' != 'true'">
<PackageReference Include="Roslynator.Analyzers" Version="4.12.9">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<!-- Removed legacy enforcement banner to reduce noise in builds -->
</Project>