@@ -6,14 +6,25 @@ internal static class PlatformPackageDefinition
66{
77 private static FrozenSet < string > s_packageIds ;
88
9- public static readonly List < string > packagesWithoutDocs =
9+ public static readonly List < string > otherPackagesWithoutDocs =
10+ [
11+ // See https://github.com/dotnet/dotnet-api-docs/pull/10395#discussion_r1758128787.
12+ "Microsoft.Extensions.Diagnostics.ResourceMonitoring" ,
13+ // From WinForms and doesn't use compiler-generated XML docs.
14+ "System.Drawing.Common" ,
15+ // WCF
16+ "System.ServiceModel.Federation"
17+ ] ;
18+
19+ public static readonly List < string > runtimePackagesWithoutDocs =
1020 [
1121 "Microsoft.Extensions.DependencyModel" ,
1222 "Microsoft.Extensions.FileSystemGlobbing" ,
1323 "Microsoft.NETCore.Platforms" ,
1424 "Microsoft.Win32.Registry.AccessControl" ,
1525 "Microsoft.Win32.SystemEvents" ,
1626 "System.CodeDom" ,
27+ "System.Collections.Immutable" ,
1728 "System.ComponentModel.Composition" ,
1829 "System.ComponentModel.Composition.Registration" ,
1930 "System.Composition.AttributedModel" ,
@@ -24,21 +35,26 @@ internal static class PlatformPackageDefinition
2435 "System.Configuration.ConfigurationManager" ,
2536 "System.Data.Odbc" ,
2637 "System.Data.OleDb" ,
38+ "System.Diagnostics.DiagnosticSource" ,
2739 "System.Diagnostics.EventLog" ,
2840 "System.Diagnostics.PerformanceCounter" ,
29- "System.DirectoryServices" ,
3041 "System.DirectoryServices.AccountManagement" ,
42+ "System.DirectoryServices" ,
3143 "System.DirectoryServices.Protocols" ,
3244 "System.IO.Hashing" ,
3345 "System.IO.Packaging" ,
46+ "System.IO.Pipelines" ,
3447 "System.IO.Ports" ,
3548 "System.Management" ,
3649 "System.Memory.Data" ,
50+ "System.Net.Http.Json" ,
3751 "System.Net.Http.WinHttpHandler" ,
3852 "System.Reflection.Context" ,
53+ "System.Reflection.Metadata" ,
3954 "System.Reflection.MetadataLoadContext" ,
4055 "System.Resources.Extensions" ,
4156 "System.Runtime.Caching" ,
57+ "System.Runtime.Serialization.Formatters" ,
4258 "System.Security.Cryptography.Cose" ,
4359 "System.Security.Cryptography.Pkcs" ,
4460 "System.Security.Cryptography.ProtectedData" ,
@@ -47,6 +63,12 @@ internal static class PlatformPackageDefinition
4763 "System.ServiceModel.Syndication" ,
4864 "System.ServiceProcess.ServiceController" ,
4965 "System.Speech" ,
66+ "System.Text.Encoding.CodePages" ,
67+ "System.Text.Encodings.Web" ,
68+ "System.Text.Json" ,
69+ "System.Threading.AccessControl" ,
70+ "System.Threading.Channels" ,
71+ "System.Threading.Tasks.Dataflow" ,
5072 "System.Windows.Extensions"
5173 ] ;
5274
@@ -56,6 +78,12 @@ internal static class PlatformPackageDefinition
5678 "dotnetframework"
5779 ] , StringComparer . OrdinalIgnoreCase ) ;
5880
81+ // Repository URLs to exclude
82+ public static readonly FrozenSet < string > ExcludedRepositories = FrozenSet . ToFrozenSet (
83+ [
84+ "https://github.com/dotnet/maintenance-packages"
85+ ] , StringComparer . OrdinalIgnoreCase ) ;
86+
5987 public static PackageFilter Filter { get ; } = new (
6088 includes :
6189 [
@@ -100,6 +128,26 @@ internal static class PlatformPackageDefinition
100128 PackageFilterExpression . Parse ( "System.Cloud.Messaging.Abstractions" ) ,
101129 // Test APIs.
102130 PackageFilterExpression . Parse ( "Microsoft.Extensions.DependencyInjection.Specification.Tests" ) ,
131+ // No longer built in runtime repo.
132+ PackageFilterExpression . Parse ( "System.Reflection.Emit" ) ,
133+ PackageFilterExpression . Parse ( "System.ComponentModel.Annotations" ) ,
134+ PackageFilterExpression . Parse ( "System.Data.DataSetExtensions" ) ,
135+ PackageFilterExpression . Parse ( "System.Security.AccessControl" ) ,
136+ PackageFilterExpression . Parse ( "System.Security.Cryptography.Cng" ) ,
137+ PackageFilterExpression . Parse ( "System.Security.Principal.Windows" ) ,
138+ // Maintenance packages.
139+ PackageFilterExpression . Parse ( "Microsoft.IO.Redist" ) ,
140+ PackageFilterExpression . Parse ( "System.Buffers" ) ,
141+ PackageFilterExpression . Parse ( "System.Data.SqlClient" ) ,
142+ PackageFilterExpression . Parse ( "System.Json" ) ,
143+ PackageFilterExpression . Parse ( "System.Memory" ) ,
144+ PackageFilterExpression . Parse ( "System.Net.WebSockets.WebSocketProtocol" ) ,
145+ PackageFilterExpression . Parse ( "System.Numerics.Vectors" ) ,
146+ PackageFilterExpression . Parse ( "System.Reflection.DispatchProxy" ) ,
147+ PackageFilterExpression . Parse ( "System.Runtime.CompilerServices.Unsafe" ) ,
148+ PackageFilterExpression . Parse ( "System.Threading.Tasks.Extensions" ) ,
149+ PackageFilterExpression . Parse ( "System.ValueTuple" ) ,
150+ PackageFilterExpression . Parse ( "System.Xml.XPath.XmlDocument" ) ,
103151 // Suffixes.
104152 PackageFilterExpression . Parse ( "*.cs" ) ,
105153 PackageFilterExpression . Parse ( "*.de" ) ,
@@ -117,13 +165,11 @@ internal static class PlatformPackageDefinition
117165 ]
118166 ) ;
119167
120- // For ASP.NET, include these packages:
121- // PackageFilterExpression.Parse("Microsoft.AspNetCore*"),
122- // PackageFilterExpression.Parse("Microsoft.Authentication.WebAssembly.Msal"),
123- // PackageFilterExpression.Parse("Microsoft.JSInterop*"),
124- // PackageFilterExpression.Parse("Microsoft.Net.Http.Headers"),
125- // PackageFilterExpression.Parse("Microsoft.Extensions.ApiDescription.Server"),
126- // PackageFilterExpression.Parse("Microsoft.Extensions.Features"),
127- // PackageFilterExpression.Parse("Microsoft.Extensions.Identity.Core"),
128- // PackageFilterExpression.Parse("Microsoft.Extensions.Identity.Stores")
168+ public static bool IsRepositoryExcluded ( string ? repositoryUrl )
169+ {
170+ // Exclude package if the repository URL is missing,
171+ // or if the repo is in the excluded list.
172+ return ( string . IsNullOrWhiteSpace ( repositoryUrl ) ||
173+ ExcludedRepositories . Contains ( repositoryUrl ) ) ;
174+ }
129175}
0 commit comments