-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAllProjects.proj.xml
91 lines (76 loc) · 5.02 KB
/
AllProjects.proj.xml
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
<!-- MikeNakis.Commonfiles/AllProjects.proj.xml -->
<Project>
<!--<Target Name="TestTarget" BeforeTargets="BeforeBuild">
<Message Importance="High" Text="++++++++++++++++++++ $(MSBuildProjectFile): MSBuildProjectDirectory: $(MSBuildProjectDirectory)" />
<Message Importance="High" Text="++++++++++++++++++++ $(MSBuildProjectFile): LocalDirectory: $(LocalDirectory)" />
<Message Importance="High" Text="++++++++++++++++++++ $(MSBuildProjectFile): CommonFilesAbsoluteDirectory: $(CommonFilesAbsoluteDirectory)" />
<Message Importance="High" Text="++++++++++++++++++++ $(MSBuildProjectFile): MikeNakisCommonFiles: $(MikeNakisCommonFiles)" />
</Target>-->
<PropertyGroup>
<LangVersion>12</LangVersion>
<ImplicitUsings>Disable</ImplicitUsings>
<Nullable>Enable</Nullable>
<DebugSymbols>True</DebugSymbols>
<DebugType Condition="'$(Configuration)' == 'Debug'">embedded</DebugType>
<DebugType Condition="'$(Configuration)' == 'Release'">portable</DebugType>
<!-- The following helps with ms-buld acceleration -->
<ProduceReferenceAssembly>True</ProduceReferenceAssembly>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<EnableNETAnalyzers>True</EnableNETAnalyzers>
<AnalysisLevel>latest-Recommended</AnalysisLevel>
<RunAnalyzersDuringBuild>True</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>True</RunAnalyzersDuringLiveAnalysis>
<EnforceCodeStyleInBuild>True</EnforceCodeStyleInBuild>
<WarningLevel>9999</WarningLevel>
<!-- PEARL: Microsoft's understanding of the "treat warnings as errors" concept involves the promotion of every
single warning into an actual error.
A much more reasonable approach would have been to simply generate a single error at the end of the build,
if there were any warnings during the build. Alas, that would have made too much sense.
So, if TreatWarningsAsErrors is set to True, then any .editorconfig rules whose severity is explicitly set
to "warning" will instead appear as errors. (What kind of idiot designed this?)
You can set CodeAnalysisTreatWarningsAsErrors to False, but then you forfeit the "treat warnings as errors"
functionality for code analysis rules, and besides, this will only affect code analysis rules (CAxxxx); it
will not affect formatting rule violations (IDExxxx) which will still appear as errors.
(What kind of full-retard designed this?) -->
<!--<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
<CodeAnalysisTreatWarningsAsErrors>False</CodeAnalysisTreatWarningsAsErrors>-->
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<!-- PEARL: The following magical incantation is necessary or else we get the following warning:
"CSC : warning EnableGenerateDocumentationFile: Set MSBuild property 'GenerateDocumentationFile'
to 'true' in project file to enable IDE0005 (Remove unnecessary usings/imports) on build" -->
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<!-- TODO: research IsTestingPlatformApplication and do something about it -->
<IsTestingPlatformApplication>False</IsTestingPlatformApplication>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<EnableNETAnalyzers>False</EnableNETAnalyzers>
</PropertyGroup>
<PropertyGroup>
<!-- CS0809: "Obsolete member overrides non-obsolete member" -->
<NoWarn>$(NoWarn);CS0809</NoWarn>
<!-- Justification: It is perfectly fine for an obsolete member to override a non-obsolete member. We do so
intentionally all over the place. This warning is junk. -->
</PropertyGroup>
<!--<Target Name="ShowMessages" BeforeTargets="BeforeBuild">
<Message Importance="High" Text="++++++++++++++++++++ $(MSBuildProjectName): Production Project Setup" Condition="'$(IsTestProject)' != 'True'" />
<Message Importance="High" Text="++++++++++++++++++++ $(MSBuildProjectName): Test Project Setup" Condition="'$(IsTestProject)' == 'True'" />
</Target>-->
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<!-- PEARL: if a globalconfig file is not found, we get silent failure. -->
<GlobalAnalyzerConfigFiles Include="$(MSBuildThisFileDirectory)\AllCode.globalconfig" />
<GlobalAnalyzerConfigFiles Include="$(MSBuildThisFileDirectory)\ProductionCode.globalconfig" Condition="'$(IsTestProject)' != 'True'" />
<GlobalAnalyzerConfigFiles Include="$(MSBuildThisFileDirectory)\TestCode.globalconfig" Condition="'$(IsTestProject)' == 'True'" />
<PackageReference Include="coverlet.collector" Version="6.0.0"/>
</ItemGroup>
<ItemGroup Condition="'$(IsTestProject)'=='True'">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.6.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.6.2" />
</ItemGroup>
<ItemGroup>
<!-- See "Enable debugging and diagnostics with Source Link"
https://learn.microsoft.com/en-us/visualstudio/debugger/how-to-improve-diagnostics-debugging-with-sourcelink -->
<!--<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>-->
</ItemGroup>
</Project>