DataDog / dd-sdk-android-gradle-plugin

The Datadog Gradle Plugin for Android
Apache License 2.0
14 stars 9 forks source link

RUM-1822: Inject build ID into mapping file upload and SDK host application as well #211

Closed 0xnm closed 8 months ago

0xnm commented 9 months ago

What does this PR do?

This PR brings support of so-called build ID, which will allow us to precisely match stacktrace sent to Datadog with a mapping file.

This is achieved by generating build ID with each build, so that it can be added to the mapping file upload metadata and also stored as a file in the assets folder of the application which is going to be built, so that it can be later read by the SDK in runtime and added to the RUM/Logs errors.

Review checklist (to be filled by reviewers)

codecov-commenter commented 9 months ago

Codecov Report

Merging #211 (c4ace3b) into develop (bfff839) will decrease coverage by 6.85%. The diff coverage is 31.76%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #211 +/- ## ============================================= - Coverage 86.05% 79.20% -6.85% - Complexity 181 187 +6 ============================================= Files 21 22 +1 Lines 588 654 +66 Branches 78 81 +3 ============================================= + Hits 506 518 +12 - Misses 55 107 +52 - Partials 27 29 +2 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [...in/com/datadog/gradle/plugin/DdCheckSdkDepsTask.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZENoZWNrU2RrRGVwc1Rhc2sua3Q=) | `88.89% <100.00%> (ø)` | | | [...m/datadog/gradle/plugin/DdMappingFileUploadTask.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZE1hcHBpbmdGaWxlVXBsb2FkVGFzay5rdA==) | `89.04% <100.00%> (+0.39%)` | :arrow_up: | | [.../datadog/gradle/plugin/internal/DdAppIdentifier.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9pbnRlcm5hbC9EZEFwcElkZW50aWZpZXIua3Q=) | `100.00% <100.00%> (ø)` | | | [...m/datadog/gradle/plugin/internal/OkHttpUploader.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9pbnRlcm5hbC9Pa0h0dHBVcGxvYWRlci5rdA==) | `84.30% <100.00%> (+0.26%)` | :arrow_up: | | [...n/com/datadog/gradle/plugin/GenerateBuildIdTask.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9HZW5lcmF0ZUJ1aWxkSWRUYXNrLmt0) | `0.00% <0.00%> (ø)` | | | [...com/datadog/gradle/plugin/DdAndroidGradlePlugin.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/211?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZEFuZHJvaWRHcmFkbGVQbHVnaW4ua3Q=) | `57.50% <18.00%> (-16.88%)` | :arrow_down: |