-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[ApiDiff] Implementation of the new ApiDiff that reuses GenAPI features #46425
base: main
Are you sure you want to change the base?
Conversation
d8da8db
to
519ac72
Compare
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Microsoft.DotNet.ApiDiff.Tool.csproj
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. |
Addressed most of the feedback. Still need to go through a few more comments. |
@MichaelSimons @ViktorHofer how do I exclude this src project from participating in SB? I suspect that's the root cause of the failure saying that we are trying to sign the external dependency Note that Do I just add |
This appears to be affecting the linux unified build leg as well so excluding it from SB will not be enough. From sdk-unified-build (VMR Vertical Build Validation Ubuntu2404_DevVersions_x64)
|
Unsure what to do then. I don't know how long it would take me to write our own diffing tool. Or maybe we could duplicate the diffplex source code if the license permits it. |
I think you just need to update Signing.props in this repo and tell the signing infrastructure how to sign the external assembly. This is by design afaik. @mmitche has more knowledge on this. |
Here! Lines 28 to 29 in b513b97
|
@mmitche do I sign the packages like I did in this commit? 8a94049 Or do I sign them using Lines 55 to 60 in b513b97
|
@ViktorHofer @MichaelSimons assuming we can take care of the signing problem of DiffPlex, is this the right way to exclude a src project from source-build? |
Yes - This is documented here |
Progress: setting DiffPlex resources to use no certificate got rid of the failure (pending confirming if it's the right choice, or if using The new failures are now related to the ApiDiff tool itself. Seems that the tests fail in Linux due to the wrong NewLine chars being used. |
…method that reads/writes to disk works.
Disallow empty table of contents. Add more file handling tests. Add innerException when syntaxGenerator.Declaration does not work.
Add a DISABLED test for explicit checked operator.
} | ||
|
||
[Fact] | ||
public void TestExplicitOperator() |
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.
@ericstj this test passes in my local machine (should pass in the CI too, I just pushed it).
It's the next test (explicit checked) that fails.
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: