Skip to content

fix: add otel consumer R8 rule for optional jackson classes#2579

Merged
abdulraqeeb33 merged 1 commit intomainfrom
ar/sdk-4183-android-sdk-otel-error-r8
Mar 17, 2026
Merged

fix: add otel consumer R8 rule for optional jackson classes#2579
abdulraqeeb33 merged 1 commit intomainfrom
ar/sdk-4183-android-sdk-otel-error-r8

Conversation

@abdulraqeeb33
Copy link
Contributor

Description

One Line Summary

Add an OTEL consumer ProGuard rule to suppress optional Jackson core missing-class warnings so Android release builds with R8/Proguard succeed on 5.7.x.

Details

Motivation

Fixes the R8 missing class failure reported in #2576 where io.opentelemetry.exporter references optional com.fasterxml.jackson.core.* classes not present on Android by default.

Scope

  • Affects only the otel module consumer ProGuard configuration.
  • No runtime behavior changes.
  • No public API changes.

OPTIONAL - Other

Rule added in OneSignalSDK/onesignal/otel/consumer-rules.pro:

  • -dontwarn com.fasterxml.jackson.core.**

Testing

Unit testing

No unit tests were needed because this is a consumer ProGuard metadata change.

Manual testing

  • Ran ./gradlew :OneSignal:otel:assemble successfully.
  • Verified consumer-rules.pro is packaged via existing consumerProguardFiles config.

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
  • I have reviewed this PR myself, ensuring it meets each checklist item

Made with Cursor

Ship a consumer ProGuard suppression for optional Jackson core references from the OpenTelemetry exporter so downstream Android release builds do not fail with missing-class errors.

Made-with: Cursor
@github-actions
Copy link
Contributor

📊 Diff Coverage Report

✓ Coverage check passed (no source files changed)

📥 View workflow run

@abdulraqeeb33 abdulraqeeb33 merged commit 288e483 into main Mar 17, 2026
13 checks passed
@abdulraqeeb33 abdulraqeeb33 deleted the ar/sdk-4183-android-sdk-otel-error-r8 branch March 17, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants