[NET Attribute Conversion] Rerun with fixes to catch old/unlisted availability - #14128
[NET Attribute Conversion] Rerun with fixes to catch old/unlisted availability#14128chamons wants to merge 9 commits into
Conversation
|
Further work on the generator suggests this PR may be incomplete (due to attributes not being seen). Going to verify before closing or adding to this. |
❌ [PR Build] Tests failed on Build ❌Tests failed on Build. API diff✅ API Diff from stable View dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
API Current PR diffℹ️ API Diff (from PR only) (please review changes) View dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
Generator diff✅ Generator Diff (no change) GitHub pagesResults can be found in the following github pages (it might take some time to publish): Test results2 tests failed, 146 tests passed.Failed tests
Pipeline on Agent XAMBOT-1096.BigSur' |
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
❌ [PR Build] Tests failed on Build ❌Tests failed on Build. API diff✅ API Diff from stable View dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
API Current PR diffℹ️ API Diff (from PR only) (please review changes) View dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
Generator diff✅ Generator Diff (no change) GitHub pagesResults can be found in the following github pages (it might take some time to publish): Test results3 tests failed, 145 tests passed.Failed tests
Pipeline on Agent XAMBOT-1097.BigSur' |
|
Re-ran converter with new missing attribute logic to detect tv/catalyst attributes and use "what exists in the assembly" not "What namespace are you in". It's even larger, but should only be supported/unsupported attributes. I'm going to test this with the generator changes in flight and see if it checks out finally... |
❌ [PR Build] Tests failed on Build ❌Tests failed on Build. API diff✅ API Diff from stable View dotnet API diffView dotnet legacy API diffAPI Current PR diffℹ️ API Diff (from PR only) (please review changes) View dotnet API diffView dotnet legacy API diffGenerator diffℹ️ Generator Diff (please review changes) GitHub pagesResults can be found in the following github pages (it might take some time to publish): Test results6 tests failed, 140 tests passed.Failed tests
Pipeline on Agent XAMBOT-1100.BigSur' |
| } | ||
|
|
||
| #if !NET | ||
| #if NET |
There was a problem hiding this comment.
This is re-introducing a member to .NET that we don't want (the #if !NET surrounded the entire property before the change, but after the change only the availability attributes).
mandel-macaque
left a comment
There was a problem hiding this comment.
The issue I see is as follows, we have obsoleted APIs in iOS exposed in MacCa1talyst that are missing the MacCatalyst Obsoleted OR they show Obsoleted with the iOS version (since there is no #if MACCATALYST we default to the iOS message AFAIK.
| #if NET | ||
| [SupportedOSPlatform ("maccatalyst14.0")] | ||
| [SupportedOSPlatform ("ios")] | ||
| [SupportedOSPlatform ("macos")] |
There was a problem hiding this comment.
This has an obsolete on iOS, should it have one in maccatalyst?
| #if NET | ||
| [SupportedOSPlatform ("maccatalyst14.0")] | ||
| [SupportedOSPlatform ("ios")] | ||
| [SupportedOSPlatform ("macos")] |
| #if NET | ||
| [SupportedOSPlatform ("ios8.0")] | ||
| [SupportedOSPlatform ("maccatalyst")] | ||
| [SupportedOSPlatform ("tvos")] |
| [SupportedOSPlatform ("macos11.0")] | ||
| [SupportedOSPlatform ("ios")] | ||
| [SupportedOSPlatform ("maccatalyst")] | ||
| [SupportedOSPlatform ("tvos")] |
| [SupportedOSPlatform ("tvos")] | ||
| [UnsupportedOSPlatform ("ios6.0")] | ||
| #if IOS | ||
| [Obsolete ("Starting with ios6.0 use 'AVAudioSession.Notification.ObserveAudioRouteChange' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] |
| [SupportedOSPlatform ("macos11.0")] | ||
| [SupportedOSPlatform ("ios")] | ||
| [SupportedOSPlatform ("maccatalyst")] | ||
| [SupportedOSPlatform ("tvos")] |
| [SupportedOSPlatform ("macos11.0")] | ||
| [SupportedOSPlatform ("ios")] | ||
| [SupportedOSPlatform ("maccatalyst")] | ||
| [SupportedOSPlatform ("tvos")] |
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
|
@mandel-macaque - I filed #14178 to look at those deprecated outside of this PR. |
|
I was able to run Cecil.Tests.AttributeTest.ChildElementsListAvailabilityForAllPlatformsOnParent with this diff and a few test changes, which suggests the API changes are good. |
dalexsoto
left a comment
There was a problem hiding this comment.
Could not find anything else, great stuff 👍
❌ [PR Build] Tests failed on Build ❌Tests failed on Build. API diff✅ API Diff from stable View dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
API Current PR diffView dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
GitHub pagesResults can be found in the following github pages (it might take some time to publish): Test results9 tests failed, 137 tests passed.Failed tests
Pipeline on Agent XAMBOT-1106.BigSur' |
❌ [PR Build] Tests failed on Build ❌Tests failed on Build. API diff✅ API Diff from stable View dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
API Current PR diffView dotnet API diffView dotnet legacy API diffView dotnet iOS-MacCatalayst API diff
GitHub pagesResults can be found in the following github pages (it might take some time to publish): Test results72 tests failed, 74 tests passed.Failed tests
Pipeline on Agent XAMBOT-1109.BigSur' |
|
Looking into test failures now that it's passing and the one test last night. |
|
In addition to failure, do-not-merge since I figured out that I get to re-run the converter again due to: Not getting conversion on the type itself. |
|
This required a lot of work to fix and improve on, so I'm closing and opening a new PR. |
This re-run of of mellite was powered by two changes:
add-default-introducedthat will detect when an API is available on a given platform without availability attributes and create a default "non-versioned" one.After that, I could re-run it against all of xamarin-macios (repeating the annoying one time work), and then fixup the test to work.