-
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
Merged
Merged
Changes from all commits
Commits
Show all changes
71 commits
Select commit
Hold shift + click to select a range
2d1dc61
ApiDiff implementation
carlossanlop 36fd38d
Resources
carlossanlop 1cc4d22
Tests
carlossanlop 80b53ef
Some infra files
carlossanlop 7ac8c16
Address some of the feedback
carlossanlop bd88b38
Move the IO code to the business layer. Add a test that verifies the …
carlossanlop e0f9553
Address most of the feedback
carlossanlop 9590165
Exclude diffplex DLLs from signing
carlossanlop c2d59aa
Fix markdown file title handling.
carlossanlop 3e3bd44
Exclude from source build.
carlossanlop 0027749
Allow overriding attribute list, add tests.
carlossanlop 2c41297
improve attribute comment
carlossanlop 6bbeb12
Add tests for implicit and explicit operators.
carlossanlop 480696f
Implement API exclusion. Add tests.
carlossanlop 33d3585
Remove Microsoft.CodeAnalysis.Worskpaces.Common PackageVersion from t…
carlossanlop 9722f23
Unskip the checked tests.
carlossanlop edc45a9
Add exception resource strings, make some methods static, ignore newl…
carlossanlop 91f2228
fix the resources error
carlossanlop a347588
Make some code async. Add option to exclude assemblies. Add tests.
carlossanlop 223195b
Suppress additional diagnostics by default
carlossanlop 5cad5e5
New resource
carlossanlop 2bc7e7c
Fix bugs in attributes and events, add tests
carlossanlop b50eca1
remove static
carlossanlop 6e12987
Add event tests
carlossanlop 7422840
Support attributes that take arguments, add tests.
carlossanlop ebd0248
Truly async
carlossanlop 8576cc7
Fix bug with abstract events where the field event declaration needs …
carlossanlop 06d74b3
Add test that confirms that no files are getting overwritten when mul…
carlossanlop 80232b7
Add arguments for before and after friendly name, separate that from …
carlossanlop befe4c6
Remove the body from methods and properties as requested in API diff PR.
carlossanlop 7923d93
Add unchanged assembly and unchanged namespace tests.
carlossanlop 364ec5c
Add destructor tests.
carlossanlop a4fbd5f
Add field list tests.
carlossanlop 005d45e
Add an Options class for CSharpAssemblyDocumentGenerator to avoid gro…
carlossanlop 265d10f
Moved some code from the generator to rewriters. Much faster.
carlossanlop b8829d4
Split test files into smaller ones
carlossanlop a9da515
Fix bug in TypeDeclarationCSharpSyntaxRewriter causing an extra space…
carlossanlop 969358b
cons string t in AttributeNameSuffixRemover
carlossanlop 09d06de
Fix bug in GlobalPrefixRemover preventing the removal of just global …
carlossanlop d4ef227
Fix bug in primitive conversion rewriter preventing the correct visit…
carlossanlop 704507c
Fix bugs in body removal rewriter in accesors, operators and records
carlossanlop dc2d806
Add code specific for records in memory generator. Move the most debu…
carlossanlop e5eb224
Revert the TypeDeclarationCSharpSyntaxRewriter changes, they were wro…
carlossanlop 21a1ecd
Don't truncate the attribute name, leave the type name full.
carlossanlop c6fdf8f
missing comments
carlossanlop ea4cbde
Missing docs
carlossanlop 3ddb52c
Missing docs
carlossanlop 9b5d333
Move private member under public ones
carlossanlop 49dffe0
Replace the WaitAll with actual async method calls.
carlossanlop 6c7cb26
Better split of code
carlossanlop 62078f7
Fix sdk.sln merge conflict
carlossanlop 5b4ef0a
Add enum support. Fix minor bug with records with members.
carlossanlop eb98ae9
Fix bug preventing attributes with arguments from getting either supp…
carlossanlop 7810d71
Shorter test names.
carlossanlop d1e46e5
Yet one more attribute bug fix and test.
carlossanlop 942de97
Use ExternalCertificateId to sign DiffPlex dependencies.
carlossanlop 92f306c
Address UI feedback.
carlossanlop 8eaa8c9
Take lists of files with elements to exclude, instead of directly pas…
carlossanlop 7446164
Add missing case for including interface members.
carlossanlop 2241b38
Merge remote-tracking branch 'dotnet/main' into ApiDiff
carlossanlop b4d4d47
Solve merge confict in sdk.sln
carlossanlop c27086d
System.CommandLine override no longer needed.
carlossanlop 3d7e841
Delete launchSettings.json
carlossanlop a5fe497
Update System.CommandLine usage to match latest version's API surface.
carlossanlop 970ca19
test typo
carlossanlop 27ca575
No resources needed yet
carlossanlop 373eb30
Remove Required from optioNTableOfContentsTitle
carlossanlop 37203a0
Set IsShippingPackage to false
carlossanlop 2f050e3
The default attributes to exclude list should only apply to the ApiDi…
carlossanlop 0c8b15a
Delete xlfs
carlossanlop dc02b78
Merge branch 'main' into ApiDiff
carlossanlop File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<Project> | ||
|
||
<Import Project="..\Directory.Build.props" /> | ||
|
||
<PropertyGroup> | ||
<SkipMicrosoftCodeAnalysisCSharpPinning>true</SkipMicrosoftCodeAnalysisCSharpPinning> | ||
carlossanlop marked this conversation as resolved.
Show resolved
Hide resolved
|
||
</PropertyGroup> | ||
|
||
</Project> |
4 changes: 4 additions & 0 deletions
4
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/AttributesToExclude.txt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
T:System.AttributeUsageAttribute | ||
T:System.ComponentModel.EditorBrowsableAttribute | ||
T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute | ||
T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute |
31 changes: 31 additions & 0 deletions
31
src/Compatibility/ApiDiff/Microsoft.DotNet.ApiDiff.Tool/Microsoft.DotNet.ApiDiff.Tool.csproj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>$(NetToolMinimum)</TargetFramework> | ||
<OutputType>Exe</OutputType> | ||
<IsPackable>true</IsPackable> | ||
<IsShippingPackage>false</IsShippingPackage> | ||
<PackAsTool>true</PackAsTool> | ||
carlossanlop marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<ToolCommandName>apidiff</ToolCommandName> | ||
<PackageDescription>Tool to emit markdown diffs between sets of assemblies.</PackageDescription> | ||
<DotNetBuildSourceOnly>false</DotNetBuildSourceOnly> | ||
<ExcludeFromSourceOnlyBuild>true</ExcludeFromSourceOnlyBuild> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<None Update="AttributesToExclude.txt"> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</None> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\..\Microsoft.DotNet.ApiSymbolExtensions\Microsoft.DotNet.ApiSymbolExtensions.csproj" /> | ||
<ProjectReference Include="..\Microsoft.DotNet.ApiDiff\Microsoft.DotNet.ApiDiff.csproj" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="System.CommandLine" /> | ||
<PackageReference Include="System.CommandLine.NamingConventionBinder" /> | ||
</ItemGroup> | ||
|
||
</Project> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.