Skip to content

Commit 364e0ee

Browse files
committed
enforce IDE0005 on build and remove unnecessary usings (#306)
Set EnforceCodeStyleInBuild and GenerateDocumentationFile in Directory.Build.props, suppress CS1591 for test and integration projects, and clear the 15 usings this surfaced.
1 parent ae3ee38 commit 364e0ee

22 files changed

Lines changed: 26 additions & 24 deletions

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,9 @@ dotnet_diagnostic.KR1037.severity = none
206206
dotnet_diagnostic.NUnit2045.severity = none
207207
# IDE0079: Remove unnecessary suppressions
208208
dotnet_diagnostic.IDE0079.severity = none
209+
# IDE0005: Remove unnecessary usings. Shown in the IDE only: enforcing it on build would also need
210+
# EnforceCodeStyleInBuild and GenerateDocumentationFile, which the test projects do not set.
211+
dotnet_diagnostic.IDE0005.severity = warning
209212

210213
[*.xml]
211214
tab_width = 2

src/Directory.Build.props

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,18 @@
99
<AnalysisLevel>8</AnalysisLevel>
1010
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
1111
<RunAnalyzersDuringLiveAnalysis>true</RunAnalyzersDuringLiveAnalysis>
12+
<!-- Reports code style rules such as IDE0005 (unnecessary usings) on build, not only in the
13+
IDE. IDE0005 needs the documentation file, so that is switched on everywhere too. -->
14+
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
15+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1216
<_SkipUpgradeNetAnalyzersNuGetWarning>true</_SkipUpgradeNetAnalyzersNuGetWarning>
1317
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
1418
<SatelliteResourceLanguages>en;en-US</SatelliteResourceLanguages>
1519
</PropertyGroup>
20+
<PropertyGroup Condition="$(MSBuildProjectName.Contains('Tests')) or $(MSBuildProjectDirectory.Contains('integration-testing'))">
21+
<!-- Only the shipping libraries have to document their public surface. -->
22+
<NoWarn>$(NoWarn);CS1591</NoWarn>
23+
</PropertyGroup>
1624
<PropertyGroup Label="Package Versions">
1725
<VersionPrefix>3.4.0</VersionPrefix>
1826
<Log4NetPackageVersion>3.3.2</Log4NetPackageVersion>

src/integration-testing/log4net-611-lib/DerivedAppender.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
using System.Diagnostics;
32
using log4net.Appender;
43
using log4net.Core;
54

src/log4net.Ext.Mail.Tests/Appender/FakeSmtpTransport.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
using System.Net;
2424
using System.Text;
2525

26-
using log4net.Ext.Mail.Appender;
2726
using log4net.Ext.Mail.Appender.Internal;
2827

2928
using MailKit.Security;

src/log4net.Ext.Mail.Tests/Appender/SmtpAppenderTest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
using System.Text;
2525
using log4net.Core;
2626
using log4net.Ext.Mail.Appender;
27-
using log4net.Ext.Mail.Appender.Internal;
2827
using log4net.Layout;
2928
using MailKit.Security;
3029
using MimeKit;

src/log4net.Ext.Mail.Tests/log4net.Ext.Mail.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<IsTestProject>true</IsTestProject>
44
<TargetFrameworks>net10.0</TargetFrameworks>
5-
<NoWarn>NETSDK1138;CS1701</NoWarn>
5+
<NoWarn>$(NoWarn);NETSDK1138;CS1701</NoWarn>
66
<OutputType>Library</OutputType>
77
<OutputPath>bin\$(Configuration)</OutputPath>
88
<Configurations>Debug;Release</Configurations>
@@ -11,7 +11,7 @@
1111
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
1212
<DefineConstants>TRACE;DEBUG;$(DefineConstants)</DefineConstants>
1313
<!-- suppress analyzer mismatch warning -->
14-
<NoWarn>CS8032</NoWarn>
14+
<NoWarn>$(NoWarn);CS8032</NoWarn>
1515
<VSTestLogger>quackers</VSTestLogger>
1616
</PropertyGroup>
1717
<ItemGroup>

src/log4net.Tests/Appender/AppenderSkeletonTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void AddFilter_FirstFilter_SetsFilterHead()
4949
}
5050

5151
/// <summary>
52-
/// Verifies that a second <see cref="AppenderSkeleton.AddFilter"/> call appends the filter via <see cref="Filter.IFilter.Next"/>.
52+
/// Verifies that a second <see cref="AppenderSkeleton.AddFilter"/> call appends the filter via <c>IFilter.Next</c>.
5353
/// </summary>
5454
[Test]
5555
public void AddFilter_SecondFilter_LinksToChain()

src/log4net.Tests/Core/LoggingEventTest.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919

2020
using System;
2121
using System.Globalization;
22-
using System.IO;
2322
using System.Reflection;
23+
#if NET462_OR_GREATER
24+
using System.IO;
2425
using System.Runtime.Serialization.Formatters.Binary;
26+
#endif
2527
using log4net.Core;
2628
using log4net.Util;
2729
using NUnit.Framework;
@@ -119,7 +121,7 @@ public void DeserializeV2()
119121
#endif // NET462_OR_GREATER
120122

121123
/// <summary>
122-
/// Tests <see cref="LoggingEvent.ReviseThreadName"/>
124+
/// Tests <c>LoggingEvent.ReviseThreadName</c>, which is not publicly visible.
123125
/// </summary>
124126
[Test]
125127
public void ReviseThreadNameTest()

src/log4net.Tests/Core/ShutdownTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
namespace log4net.Tests.Core;
3030

3131
/// <summary>
32-
/// </remarks>
32+
/// Tests shutting log4net down.
33+
/// </summary>
3334
[TestFixture]
3435
public class ShutdownTest
3536
{

src/log4net.Tests/Hierarchy/XmlHierarchyConfiguratorTest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
using NUnit.Framework;
2424

2525
using log4net.Repository.Hierarchy;
26-
using HierarchyClass = log4net.Repository.Hierarchy.Hierarchy;
2726

2827
namespace log4net.Tests.Hierarchy;
2928

0 commit comments

Comments
 (0)