-
Notifications
You must be signed in to change notification settings - Fork 534
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
Bump external/Java.Interop from 149d70f
to f8d77fa
#7638
Merged
jonpryor
merged 3 commits into
main
from
dependabot/submodules/external/Java.Interop-f8d77fa
Dec 16, 2022
Merged
Bump external/Java.Interop from 149d70f
to f8d77fa
#7638
jonpryor
merged 3 commits into
main
from
dependabot/submodules/external/Java.Interop-f8d77fa
Dec 16, 2022
Conversation
This file contains 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
Contributor
Bumps [external/Java.Interop](https://github.com/xamarin/java.interop) from `149d70f` to `f8d77fa`. - [Release notes](https://github.com/xamarin/java.interop/releases) - [Commits](dotnet/java-interop@149d70f...f8d77fa) --- updated-dependencies: - dependency-name: external/Java.Interop dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot
bot
added
dependencies
Pull requests that update a dependency file.
submodules
Pull requests that update Submodules code
labels
Dec 15, 2022
jpobst
force-pushed
the
dependabot/submodules/external/Java.Interop-f8d77fa
branch
from
December 15, 2022 16:17
87a9e30
to
b4a446c
Compare
…bute for netstandard2.0.
Context: 4da27921d79e48e84bcc31d04e218a86324766fc
Context: https://github.com/xamarin/Java.Interop/commit/d3ea180cd4f557e1c40ea908beb2d2398f7e5b48
Context: https://github.com/xamarin/Java.Interop/commit/15c8879761c38eef6973677361f2464b0ff751ac
Changes: https://github.com/xamarin/java.interop/compare/149d70fea4ad4147e28d60343b6ee774b5413334...f8d77faf55347a58030a694332ba97f0dee88246
* xamarin/java.interop@f8d77faf: [generator] Better support deprecated property getter/setters. (xamarin/java.interop#1062)
* xamarin/java.interop@5e6209ea: [generator] Obsolete&SupportedOSPlatform attributes on enum members (xamarin/java.interop#1066)
* xamarin/java.interop@15c88797: [generator] Use decl type's @deprecated-since if < member's (xamarin/java.interop#1068)
* xamarin/java.interop@525a45d5: [Java.Interop.Dynamic-Tests] Use Microsoft.CSharp NuGet package (xamarin/java.interop#1067)
Background: member deprecations can be "historically weird" in Android.
For example, in API-21 [`android/app/ActionBar.TabListener`][0] was
deprecated:
@Deprecated
/* partial */ interface TabListener {
void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft);
// …
}
The type being deprecated means that its members are *implicitly*
deprecated.
In API-29 the members were *explicitly* deprecated:
@Deprecated
/* partial */ interface TabListener {
@Deprecated
void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft);
// …
}
Before xamarin/Java.Interop@d3ea180c, this resulted in the binding:
[Obsolete]
partial interface ITabListener {
[Obsolete]
void OnTabReselected(ActionBar.Tab? tab, FragmentTransaction? ft);
// …
}
Commit xamarin/Java.Interop@d3ea180c added support for
`[ObsoletedOSPlatform]` to `generator`, which *changed* the binding to:
[Obsolete] // because it was deprecated in our min-supported API-21
partial interface ITabListener {
[ObsoletedOSPlatform ("android29.0")]
void OnTabReselected(ActionBar.Tab? tab, FragmentTransaction? ft);
// …
}
This resulted in *lots* of changes in commit 4da27921 to
`tests/api-compatibility/acceptable-breakages-vReference-net7.0.txt`
because `[Obsolete]` was were replaced by `[ObsoletedOSPlatform]`:
CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.App.ActionBar.ITabListener.OnTabReselected(Android.App.ActionBar.Tab, Android.App.FragmentTransaction)' in the contract but not the implementation
Commit xamarin/Java.Interop@15c88797 updates type members to have the
same deprecation status as their declaring type, when the member was
deprecated *after* the type was deprecated. This means we *now*
bind `ITabListener` as:
[Obsolete] // because it was deprecated in our min-supported API-21
partial interface ITabListener {
[Obsolete]
void OnTabReselected(ActionBar.Tab? tab, FragmentTransaction? ft);
// …
}
which matches the state of things pre- xamarin/Java.Interop@d3ea180c,
which means we no longer need to ignore all those
`CannotRemoveAttribute` messages. xamarin/Java.Interop@15c88797 thus
"unintentionally partially reverts" 4da27921 (yay?), simply because
the prior state of affairs in which a member was deprecated *after*
the declaring type, while valid, didn't make any sense.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Pobst <jonathan.pobst@microsoft.com>
[0]: https://developer.android.com/reference/android/app/ActionBar.TabListener |
jonpryor
deleted the
dependabot/submodules/external/Java.Interop-f8d77fa
branch
December 16, 2022 14:58
grendello
added a commit
to grendello/xamarin-android
that referenced
this pull request
Jan 4, 2023
* main: [Xamarin.Android.Build.Tasks] use %(TrimmerRootAssembly.RootMode) All (dotnet#7651) Bump to dotnet/installer@47a747f 8.0.100-alpha.1.22616.7 (dotnet#7647) Bump to dotnet/installer@167a4ed 8.0.100-alpha.1.22611.1 (dotnet#7630) Bump to xamarin/Java.Interop/main@f8d77fa (dotnet#7638) [ci] Fix Designer test paths (dotnet#7635) [Xamarin.Android.Build.Tasks] perf improvements for LlvmIrGenerator (dotnet#7626) [Xamarin.Android.Build.Tasks] AutoImport `*.webp` files (dotnet#7601) Localized file check-in by OneLocBuild Task (dotnet#7632) Bump $(ProductVersion) to 13.2.99 Bump to xamarin/monodroid@c0c933b7 (dotnet#7633) [Xamarin.Android.Build.Tasks] Fix aapt_rules.txt corruption (dotnet#7587) [Xamarin.Android.Build.Tasks] Add XA1031 error (dotnet#7448) Bump to xamarin/Java.Interop/main@149d70f (dotnet#7625) [CODEOWNERS] More updates to CODEOWNERS (dotnet#7628) [Xamarin.Android.Build.Tasks] avoid `File.Exists()` check (dotnet#7621)
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
dependencies
Pull requests that update a dependency file.
submodules
Pull requests that update Submodules code
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.
Bumps external/Java.Interop from
149d70f
tof8d77fa
.Commits
f8d77fa
[generator] Better support deprecated property getter/setters. (#1062)5e6209e
[generator] Obsolete&SupportedOSPlatform attributes on enum members (#1066)15c8879
[generator] Use decl type's@deprecated-since
if < member's (#1068)525a45d
[Java.Interop.Dynamic-Tests] Use Microsoft.CSharp NuGet package (#1067)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)I did a spot check on the "acceptable-breakages" errors. They all seem to be caused by dotnet/java-interop#1068. That is, they were methods that were marked deprecated in a later API than their declaring type.
This was causing them to use
[ObsoletedOSPlatform ("androidXX.0")]
instead of[Obsolete]
, resulting in us adding them toacceptable-breakages
previously. Now that they are set back to pre-22 deprecations, they use[Obsolete]
again and we no longer need them inacceptable-breakages
.We use
[Obsolete]
instead of[ObsoletedOSPlatform]
when the type or member was marked obsolete in API-21 or earlier, as that means it is obsolete in all our .NET 6+ supported API levels, and thus the exact version is irrelevant.Example:
This class was deprecated in API-21:
https://developer.android.com/reference/android/app/FragmentBreadCrumbs?hl=en#setParentTitle(java.lang.CharSequence,%20java.lang.CharSequence,%20android.view.View.OnClickListener)
Other methods that were spot-checked: