-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[ApiDiff] Implementation of the new ApiDiff that reuses GenAPI features #46425
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
Conversation
d8da8db
to
519ac72
Compare
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Microsoft.DotNet.ApiDiff.Tool.csproj
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Microsoft.DotNet.ApiDiff.Tool.csproj
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff/Microsoft.DotNet.ApiDiff.csproj
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff/Microsoft.DotNet.ApiDiff.csproj
Show resolved
Hide resolved
test/Microsoft.DotNet.ApiDiff.Tests/Microsoft.DotNet.ApiDiff.Tests.csproj
Outdated
Show resolved
Hide resolved
test/Microsoft.DotNet.ApiDiff.Tests/Microsoft.DotNet.ApiDiff.Tests.csproj
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Microsoft.DotNet.ApiDiff.Tool.csproj
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Program.cs
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff/DiffConfiguration.cs
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Program.cs
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff/DiffGenerator.cs
Outdated
Show resolved
Hide resolved
I added a very simple test that verifies the contents of a basic DLL before and after adding one API.
|
I just noticed I didn't implement the addition of the table of contents file. Working on that. |
Add tests to verify interface members get included. Add test for interface type constraints, but needs more investigation.
@Rob-Hague I fixed the bug preventing interface members from getting added. The interface type constraints does seem to work but it's adding more than expected: each of the inherited interfaces is 'exploded' into all the interfaces each one of them inherits. This is probably not an issue but I think the preference would be to only include what the user intended to include explicitly. Also, the nullability constraint is not showing up, so for that reason I marked the test as skipped. I'll have to investigate later (preferrably after I merge this PR). I can also investigate further the problem you reported with the constructor, but does not seem to be a common case. So if you don't mind, I'd also like to investigate it later. @ericstj I addressed all your feedback. |
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.
Please consider feedback and address or file follow-up. This can merge when you're happy with it as it is non-shipping tool at the moment.
...atibility/ApiDiff/Microsoft.DotNet.ApiDiff/SyntaxRewriter/PrimitiveSimplificationRewriter.cs
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Microsoft.DotNet.ApiDiff.Tool.csproj
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Program.cs
Outdated
Show resolved
Hide resolved
{ | ||
Description = "The title of the markdown table of contents file that is placed in the output folder.", | ||
Arity = ArgumentArity.ExactlyOne, | ||
IsRequired = true |
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.
Parameter is still marked as required.
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff/DiffGeneratorFactory.cs
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff/xlf/Resources.cs.xlf
Outdated
Show resolved
Hide resolved
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Properties/launchSettings.json
Outdated
Show resolved
Hide resolved
…ff Tool, not to the library source code. Modify the existing test to consume the same list from the tool.
Follow up of #46424
This PR is part of the work needed to create an ApiDiff tool that reuses some of the code from Microsoft.DotNet.GenAPI. The idea is to make the larger PR smaller and make it easier to review: #45389
The proposed changes in this PR include: