Skip to content

Commit 44a2e65

Browse files
Update Sentry-Android to 6.0.0-rc.1 (#1686)
1 parent c443974 commit 44a2e65

File tree

9 files changed

+51
-37
lines changed

9 files changed

+51
-37
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
- Move tunnel functionality into Sentry.AspNetCore ([#1645](https://github.com/getsentry/sentry-dotnet/pull/1645))
1313
- Make `HttpContext` available for sampling decisions ([#1682](https://github.com/getsentry/sentry-dotnet/pull/1682))
1414
- Initial support for .NET MAUI ([#1663](https://github.com/getsentry/sentry-dotnet/pull/1663)) ([#1670](https://github.com/getsentry/sentry-dotnet/pull/1670))
15-
- Initial support for `net6.0-android` apps ([#1288](https://github.com/getsentry/sentry-dotnet/pull/1288)) ([#1669](https://github.com/getsentry/sentry-dotnet/pull/1669))
15+
- Initial support for `net6.0-android` apps ([#1288](https://github.com/getsentry/sentry-dotnet/pull/1288)) ([#1669](https://github.com/getsentry/sentry-dotnet/pull/1669)) ([#1686](https://github.com/getsentry/sentry-dotnet/pull/1686))
1616

1717
### Fixes
1818

libs/Android/sentry-5.7.4.jar

-355 KB
Binary file not shown.

libs/Android/sentry-6.0.0-rc.1.jar

520 KB
Binary file not shown.
-109 KB
Binary file not shown.
123 KB
Binary file not shown.
-1.73 MB
Binary file not shown.
1.78 MB
Binary file not shown.

src/Sentry/Android/Sentry.Android.props

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
<Project>
22
<PropertyGroup>
33
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
4-
<!-- BINDINGSGENERATOR : warning BG8604: Could not find top ancestor type 'LifecycleWatcher' for nested type 'Sentry.Android.LifecycleWatcher._1' -->
5-
<!-- BG8604 Results in a missing API and for as long as we don't need that (and all Java/Android SDK is internal to this lib), it just doesn't matter: -->
64
<!-- BG8605 and BG8606 happen because there's a missing androidx.lifecycle dependency, but we don't need it here. (The native Android Sentry SDK will use it if it exists.) -->
7-
<NoWarn>$(NoWarn);BG8604;BG8605;BG8606</NoWarn>
8-
<SentryAndroidSdkVersion>5.7.4</SentryAndroidSdkVersion>
5+
<NoWarn>$(NoWarn);BG8605;BG8606</NoWarn>
6+
<SentryAndroidSdkVersion>6.0.0-rc.1</SentryAndroidSdkVersion>
97
<AndroidLibsDirectory>$(MSBuildProjectDirectory)/../../libs/Android/</AndroidLibsDirectory>
108
</PropertyGroup>
119
<ItemGroup>
1210
<None Remove="Android/Transforms/*.xml" />
1311
<TransformFile Include="Android/Transforms/*.xml" />
14-
<!-- Gson will be dropped on sentry-android version 6.0.0 -->
15-
<PackageReference Include="GoogleGson" Version="2.9.0.1" />
1612
<!-- TODO: How to add JavaDocPaths for each package? -->
1713
<AndroidLibrary Include="$(AndroidLibsDirectory)sentry-$(SentryAndroidSdkVersion).jar" />
1814
<AndroidLibrary Include="$(AndroidLibsDirectory)/sentry-android-core-$(SentryAndroidSdkVersion).aar" />
Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,68 @@
11
<metadata>
2+
3+
<!--
4+
Reference: https://docs.microsoft.com/xamarin/android/platform/binding-java-library/customizing-bindings/java-bindings-metadata
5+
6+
Source API (before transformation):
7+
src/Sentry/obj/Debug/net6.0-android/api.xml
8+
Output API (after transformation):
9+
src/Sentry/obj/Debug/net6.0-android/api.xml.fixed
10+
-->
11+
212
<!-- Make all public types, internal -->
313
<attr path="/api/package/class[@visibility='public']" name="visibility">internal</attr>
414
<attr path="/api/package/interface[@visibility='public']" name="visibility">internal</attr>
515

16+
<!-- Assign .NET namespaces for all Java packages imported -->
617
<attr path="/api/package[@name='io.sentry']" name="managedName">Sentry.Java</attr>
18+
<attr path="/api/package[@name='io.sentry.android.core']" name="managedName">Sentry.Android</attr>
19+
<attr path="/api/package[@name='io.sentry.android.core.internal.gestures']" name="managedName">Sentry.Android.Internal.Gestures</attr>
20+
<attr path="/api/package[@name='io.sentry.android.core.internal.util']" name="managedName">Sentry.Android.Internal.Util</attr>
21+
<attr path="/api/package[@name='io.sentry.android.ndk']" name="managedName">Sentry.Android.Ndk</attr>
722
<attr path="/api/package[@name='io.sentry.cache']" name="managedName">Sentry.Java.Cache</attr>
8-
<attr path="/api/package[@name='io.sentry.transport']" name="managedName">Sentry.Java.Transport</attr>
23+
<attr path="/api/package[@name='io.sentry.clientreport']" name="managedName">Sentry.Java.ClientReport</attr>
924
<attr path="/api/package[@name='io.sentry.config']" name="managedName">Sentry.Java.Configuration</attr>
25+
<attr path="/api/package[@name='io.sentry.exception']" name="managedName">Sentry.Java.Exception</attr>
1026
<attr path="/api/package[@name='io.sentry.hints']" name="managedName">Sentry.Java.Hints</attr>
11-
<attr path="/api/package[@name='io.sentry.util']" name="managedName">Sentry.Java.Util</attr>
27+
<attr path="/api/package[@name='io.sentry.instrumentation.file']" name="managedName">Sentry.Java.Instrumentation.File</attr>
28+
<attr path="/api/package[@name='io.sentry.transport']" name="managedName">Sentry.Java.Transport</attr>
1229
<attr path="/api/package[@name='io.sentry.protocol']" name="managedName">Sentry.Java.Protocol</attr>
30+
<attr path="/api/package[@name='io.sentry.util']" name="managedName">Sentry.Java.Util</attr>
1331
<attr path="/api/package[@name='io.sentry.vendor']" name="managedName">Sentry.Java.Vendor</attr>
14-
<attr path="/api/package[@name='io.sentry.exception']" name="managedName">Sentry.Java.Exception</attr>
15-
<attr path="/api/package[@name='io.sentry.android.core']" name="managedName">Sentry.Android</attr>
16-
<attr path="/api/package[@name='io.sentry.android.ndk']" name="managedName">Sentry.Android.Ndk</attr>
32+
<attr path="/api/package[@name='io.sentry.vendor.gson.stream']" name="managedName">Sentry.Java.Vendor.Gson.Stream</attr>
33+
<attr path="/api/package[@name='io.sentry.vendor.gson.internal.bind.util']" name="managedName">Sentry.Java.Vendor.Gson.Internal.Bind.Util</attr>
1734

18-
<remove-node path="/api/package[@name='io.sentry.adapters']/class[@name='CollectionAdapter']" />
19-
<remove-node path="/api/package[@name='io.sentry']/class[@name='SessionAdapter']" />
20-
<remove-node path="/api/package[@name='io.sentry']/class[@name='SentryEnvelopeItemHeaderAdapter']" />
21-
<remove-node path="/api/package[@name='io.sentry']/class[@name='Session']/method[@name='clone' and count(parameter)=0]" />
22-
<remove-node path="/api/package[@name='io.sentry']/class[@name='HubAdapter']/method[@name='clone' and count(parameter)=0]" />
23-
<remove-node path="/api/package[@name='io.sentry']/interface[@name='IHub']/method[@name='clone' and count(parameter)=0]" />
24-
<remove-node path="/api/package[@name='io.sentry']/class[@name='NoOpHub']" />
25-
<remove-node path="/api/package[@name='io.sentry']/class[@name='OutboxSender']" />
26-
<remove-node path="/api/package[@name='io.sentry']/class[@name='TraceStateHeader']/field[@name='TRACE_STATE_HEADER']" />
27-
<remove-node path="/api/package[@name='io.sentry']/class[@name='SentryOptions']/method[@name='setEnvelopeDiskCache']" />
28-
<remove-node path="/api/package[@name='io.sentry']/class[@name='SentryOptions']/method[@name='getEnvelopeDiskCache']" />
29-
<remove-node path="/api/package[@name='io.sentry']/class[@name='SentryTraceHeader']/field[@name='SENTRY_TRACE_HEADER']" />
30-
<remove-node path="/api/package[@name='io.sentry']/class[@name='SentryEnvelopeHeaderAdapter']" />
31-
<remove-node path="/api/package[@name='io.sentry.transport']/class[@name='NoOpEnvelopeCache']" />
32-
<remove-node path="/api/package[@name='io.sentry']/class[@name='EnvelopeSender']" />
33-
<remove-node path="/api/package[@name='io.sentry']/class[@name='Hub']/method[@name='clone' and count(parameter)=0]" />
35+
<!--
36+
These properties have conflicts that create BG8401 warnings ("Skipping '...' due to a duplicate field or property name.")
37+
This happens where there is a both a method such as "public getFoo" and related field "protected foo" on the same class.
38+
We assign a different name to the field to remove the conflict.
39+
-->
40+
<attr path="/api/package[@name='io.sentry']/class[@name='SentryBaseEvent']/field[@name='throwable']" name="managedName">ThrowableValue</attr>
41+
<attr path="/api/package[@name='io.sentry']/class[@name='SpanContext']/field[@name='description']" name="managedName">DescriptionValue</attr>
42+
<attr path="/api/package[@name='io.sentry']/class[@name='SpanContext']/field[@name='status']" name="managedName">StatusValue</attr>
43+
<attr path="/api/package[@name='io.sentry']/class[@name='SpanContext']/field[@name='tags']" name="managedName">TagsValue</attr>
44+
45+
<!-- These constants need a different name than their class to avoid CS0542 compilation errors. -->
46+
<attr path="/api/package[@name='io.sentry']/class[@name='SentryTraceHeader']/field[@name='SENTRY_TRACE_HEADER']" name="managedName">SentryTraceHeaderName</attr>
47+
<attr path="/api/package[@name='io.sentry']/class[@name='TraceStateHeader']/field[@name='TRACE_STATE_HEADER']" name="managedName">TraceStateHeaderName</attr>
3448

49+
<!--
50+
The remaining APIS are removed to prevent various errors/warnings.
51+
TODO: Find other workarounds for each one, rather than removing the APIs.
52+
-->
3553

36-
<remove-node path="/api/package[@name='io.sentry.android.core']/class[@name='AppLifecycleIntegration']" />
54+
<remove-node path="/api/package[@name='io.sentry']/class[@name='EnvelopeSender']" />
55+
<remove-node path="/api/package[@name='io.sentry']/class[@name='OutboxSender']" />
56+
<remove-node path="/api/package[@name='io.sentry.cache']/class[@name='EnvelopeCache']" />
3757
<remove-node path="/api/package[@name='io.sentry.android.core']/class[@name='TempSensorBreadcrumbsIntegration']" />
3858
<remove-node path="/api/package[@name='io.sentry.android.core.internal.gestures']" />
39-
<remove-node path="/api/package[@name='io.sentry.cache']" />
4059

41-
<remove-node path="/api/package[@name='io.sentry.adapters']" />
42-
<remove-node path="/api/package[@name='io.sentry.exception']/class[@name='SentryEnvelopeException']" />
60+
<remove-node path="/api/package[starts-with(@name,'io.sentry')]/*/method[@name='clone' and count(parameter)=0]" />
61+
<remove-node path="/api/package[starts-with(@name,'io.sentry')]/class/implements[@name='io.sentry.JsonDeserializer']" />
62+
<remove-node path="/api/package[@name='io.sentry.vendor.gson.stream']/class[@name='JsonToken']/field[@name='NAME']" />>
63+
4364
<remove-node path="/api/package[@name='io.sentry.exception']/class[@name='ExceptionMechanismException']" />
4465
<remove-node path="/api/package[@name='io.sentry.exception']/class[@name='InvalidSentryTraceHeaderException']" />
45-
46-
<attr path="/api/package[@name='io.sentry']/class[@name='SpanContext']/field[@name='tags']" name="managedName">GetTags</attr>
47-
<attr path="/api/package[@name='io.sentry']/class[@name='SpanContext']/field[@name='status']" name="managedName">GetStatus</attr>
48-
<attr path="/api/package[@name='io.sentry']/class[@name='SpanContext']/field[@name='description']" name="managedName">GetDescription</attr>
49-
<attr path="/api/package[@name='io.sentry']/class[@name='SentryBaseEvent']/field[@name='throwable']" name="managedName">GetThrowable</attr>
66+
<remove-node path="/api/package[@name='io.sentry.exception']/class[@name='SentryEnvelopeException']" />
67+
<remove-node path="/api/package[@name='io.sentry.vendor.gson.stream']/class[@name='MalformedJsonException']" />
5068
</metadata>

0 commit comments

Comments
 (0)