-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Api baselines #25386
Api baselines #25386
Conversation
@@ -0,0 +1 @@ | |||
#nullable enable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dougbu Pretty sure this project has public API, but the analyzer isn't running on it. Thoughts on why not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I specifically include only projects with '$(IsImplementationProject)' == 'true'
and that excludes analyzer projects. From a compatibility POV, adding or removing public
surface in these projects shouldn't matter. So, these files can be removed.
Side note: I also excluded all projects in the src/Tools/ directory (well, anything w/ a relative path that includes "Tools") for similar reasons. Might need to exclude msbuild
tasks too (for the Razor SDK) but I didn't get there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW I wasn't sure whether the analyzers folder contained anything w/ important public API e.g. a base package when I wrote up #24347. Sorry.
@@ -0,0 +1 @@ | |||
#nullable enable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another example of a project that has public API, but the analyzer isn't running on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Project file contains <IsImplementationProject>false</IsImplementationProject>
so it's excluded from the analysis
@@ -0,0 +1 @@ | |||
#nullable enable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mavasani Regarding this, how much does it matter whether we've actually started annotating these libraries here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jcouv would be a better person to answer this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the lack of errors about this, I suggest we include #nullable enable
everywhere. Makes life simpler.
Hmm. VS had no errors, but the commandline is definitely unhappy 😢 |
Sorry, unintended the close |
src/HealthChecks/HealthChecks/src/DependencyInjection/HealthChecksBuilderAddCheckExtensions.cs
Outdated
Show resolved
Hide resolved
src/HealthChecks/HealthChecks/src/DependencyInjection/HealthChecksBuilderAddCheckExtensions.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's consistently use attributes for the RS00XY suppressions
* Antiforgery * Azure * Configuration.KeyPerFile * DataProtection
* DefaultBuilder * Features/JsonPatch * FileProviders * HealthChecks * Hosting
Hmm. I'm going to temporarily remove the PublicAPI files from the AzureAD.UI and AzureADB2C.UI projects. Seems like there are a couple of problems with using them in razor projects:
@mavasani any suggestions on how do support this? @chsienki - this is similar to the source generator issue with razor compilation. Any ideas? |
The analyzer doesn't play well with the razor compiler :(
@@ -38,6 +39,7 @@ public abstract class HealthCheckService | |||
/// A <see cref="Task{T}"/> which will complete when all the health checks have been run, | |||
/// yielding a <see cref="HealthReport"/> containing the results. | |||
/// </returns> | |||
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")] | |||
public Task<HealthReport> CheckHealthAsync(CancellationToken cancellationToken = default) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @Pilchie! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
I'm going to go ahead and approve my own PR. |
Apologies, while this PR appears ready to be merged, it looks like |
Didn't I approve it❔ And, ugh, you're hitting the overlapping PDB problem here too |
I mean ask-mode approval ;) |
Apologies, while this PR appears ready to be merged, it looks like |
Resolves part of #24347