DataDog / dd-sdk-android-gradle-plugin

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

feat: Add tasks for upload NDK symbol files to Datadog #220

Closed fuzzybinary closed 6 months ago

fuzzybinary commented 7 months ago

What does this PR do?

This adds tasks for each variant, uploadNdkSymbolFiles{Variant} to upload symbols from native artifacts to Datadog. It utilizes similar logic from DdMappingFileUpload but encapsulates it into DdFileUploadTask. This logic is duplicated for now but we should probably refactor DdMappingFileUpload to use the DdFileUploadTask base class at some point.

NDK Symbol files have the key ndk_symbol_file, type ndk_symbol_file, and retain their original file name when uploading. The architecture of the symbol file is encoded into the "additional info" map when uploading.

Additional Notes

Anything else we should know when reviewing?

Review checklist (to be filled by reviewers)

codecov-commenter commented 7 months ago

Codecov Report

Merging #220 (851894e) into develop (5895876) will increase coverage by 2.94%. The diff coverage is 77.73%.

:exclamation: Current head 851894e differs from pull request most recent head 739345e. Consider uploading reports for the commit 739345e to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #220 +/- ## ============================================= + Coverage 78.05% 80.99% +2.94% - Complexity 186 241 +55 ============================================= Files 22 25 +3 Lines 665 910 +245 Branches 85 125 +40 ============================================= + Hits 519 737 +218 - Misses 116 125 +9 - Partials 30 48 +18 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [...m/datadog/gradle/plugin/DdMappingFileUploadTask.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZE1hcHBpbmdGaWxlVXBsb2FkVGFzay5rdA==) | `89.47% <100.00%> (+0.43%)` | :arrow_up: | | [...og/gradle/plugin/internal/GitRepositoryDetector.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9pbnRlcm5hbC9HaXRSZXBvc2l0b3J5RGV0ZWN0b3Iua3Q=) | `97.14% <100.00%> (+0.08%)` | :arrow_up: | | [...lin/com/datadog/gradle/plugin/internal/Uploader.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9pbnRlcm5hbC9VcGxvYWRlci5rdA==) | `100.00% <100.00%> (ø)` | | | [...com/datadog/gradle/plugin/DdAndroidGradlePlugin.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZEFuZHJvaWRHcmFkbGVQbHVnaW4ua3Q=) | `67.91% <94.74%> (+13.53%)` | :arrow_up: | | [...m/datadog/gradle/plugin/internal/OkHttpUploader.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9pbnRlcm5hbC9Pa0h0dHBVcGxvYWRlci5rdA==) | `82.93% <77.78%> (-1.37%)` | :arrow_down: | | [...tlin/com/datadog/gradle/plugin/DdFileUploadTask.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZEZpbGVVcGxvYWRUYXNrLmt0) | `79.03% <79.03%> (ø)` | | | [...datadog/gradle/plugin/DdNdkSymbolFileUploadTask.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtZ3JhZGxlLXBsdWdpbi9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvZ3JhZGxlL3BsdWdpbi9EZE5ka1N5bWJvbEZpbGVVcGxvYWRUYXNrLmt0) | `68.18% <68.18%> (ø)` | | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/DataDog/dd-sdk-android-gradle-plugin/pull/220/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog)
fuzzybinary commented 6 months ago

Resolved most of the comments -- I still need to do the functional tests so I'll jump on that next.

fuzzybinary commented 6 months ago

@0xnm Fixed and amended the previous commit