From 024ef21667fc8903cf66425a526cf606c9cc68bb Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 9 Oct 2024 13:05:03 +0300 Subject: [PATCH] Upgrade Android gradle plugin (#633) --- CHANGELOG.md | 1 + plugin-dev/Config/FilterPlugin.ini | 7 +-- plugin-dev/Gradle/gradle-wrapper.properties | 5 ++ .../Source/Sentry/Private/SentrySettings.cpp | 2 + .../Source/Sentry/Public/SentrySettings.h | 5 ++ .../Source/Sentry/Sentry_Android_UPL.xml | 54 ++++++++++++++----- scripts/packaging/package-github.snapshot | 2 + .../packaging/package-marketplace.snapshot | 2 + 8 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 plugin-dev/Gradle/gradle-wrapper.properties diff --git a/CHANGELOG.md b/CHANGELOG.md index 86740515..8a3240fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Add setting that allows switching between the project and user directories for the internal Sentry database location on Windows/Linux ([#616](https://github.com/getsentry/sentry-unreal/pull/616)) - Add non-ASCII characters support for user messages ([#624](https://github.com/getsentry/sentry-unreal/pull/624)) +- Upgrade Android gradle plugin from v2.1.5 to v4.11.0 ([#633](https://github.com/getsentry/sentry-unreal/pull/633)) - Add API to allow users to trace their distributed system and connect in-game with backend errors ([#631](https://github.com/getsentry/sentry-unreal/pull/631)) - Allow overriding `UploadSymbolsAutomatically` via environment variable `SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY` ([#636](https://github.com/getsentry/sentry-unreal/pull/636)) diff --git a/plugin-dev/Config/FilterPlugin.ini b/plugin-dev/Config/FilterPlugin.ini index 3f8d729b..3980bb1b 100644 --- a/plugin-dev/Config/FilterPlugin.ini +++ b/plugin-dev/Config/FilterPlugin.ini @@ -7,10 +7,5 @@ ; /Extras/... ; /Binaries/ThirdParty/*.dll /Scripts/* -/LinuxIntermediate/Build/Linux/UnrealEditor/Inc/Sentry/UHT/* -/LinuxIntermediate/Build/Linux/UnrealGame/Development/Sentry/* -/LinuxIntermediate/Build/Linux/UnrealGame/Inc/Sentry/UHT/* -/LinuxIntermediate/Build/Linux/UnrealGame/Shipping/Sentry/* -/LinuxIntermediate/Build/Linux/x64/UnrealGame/Development/Sentry/* -/LinuxIntermediate/Build/Linux/x64/UnrealGame/Shipping/Sentry/* +/Gradle/* /sentry-cli.properties \ No newline at end of file diff --git a/plugin-dev/Gradle/gradle-wrapper.properties b/plugin-dev/Gradle/gradle-wrapper.properties new file mode 100644 index 00000000..3c472b99 --- /dev/null +++ b/plugin-dev/Gradle/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/plugin-dev/Source/Sentry/Private/SentrySettings.cpp b/plugin-dev/Source/Sentry/Private/SentrySettings.cpp index b5f65435..10f1a715 100644 --- a/plugin-dev/Source/Sentry/Private/SentrySettings.cpp +++ b/plugin-dev/Source/Sentry/Private/SentrySettings.cpp @@ -38,6 +38,7 @@ USentrySettings::USentrySettings(const FObjectInitializer& ObjectInitializer) , UploadSymbolsAutomatically(false) , IncludeSources(false) , DiagnosticLevel(ESentryCliLogLevel::Info) + , UseLegacyGradlePlugin(false) , CrashReporterUrl() , bIsDirty(false) { @@ -66,6 +67,7 @@ void USentrySettings::PostEditChangeProperty(FPropertyChangedEvent& PropertyChan PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(USentrySettings, OrgName) || PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(USentrySettings, AuthToken) || PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(USentrySettings, IncludeSources) || + PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(USentrySettings, UseLegacyGradlePlugin) || PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(USentrySettings, DiagnosticLevel) || PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(USentrySettings, CrashReporterUrl)) { diff --git a/plugin-dev/Source/Sentry/Public/SentrySettings.h b/plugin-dev/Source/Sentry/Public/SentrySettings.h index 87514253..9dc921e3 100644 --- a/plugin-dev/Source/Sentry/Public/SentrySettings.h +++ b/plugin-dev/Source/Sentry/Public/SentrySettings.h @@ -364,6 +364,11 @@ class SENTRY_API USentrySettings : public UObject Meta = (DisplayName = "Diagnostic Level", ToolTip = "Logs verbosity level during symbol uploading.", EditCondition = "UploadSymbolsAutomatically")) ESentryCliLogLevel DiagnosticLevel; + UPROPERTY(Config, EditAnywhere, Category = "Debug Symbols", + Meta = (DisplayName = "Use legacy Sentry Gradle plugin (for Android only)", ToolTip = "Flag indicating whether to use legacy Sentry Gradle plugin for debug symbol upload. No engine's Gradle version bump is required if enabled. This can be used as a fallback if the newer Gradle 7.5 causing compatibility issues with other third-party plugins.", + EditCondition = "UploadSymbolsAutomatically")) + bool UseLegacyGradlePlugin; + UPROPERTY(Config, EditAnywhere, Category = "Crash Reporter", Meta = (DisplayName = "Crash Reporter Endpoint", ToolTip = "Endpoint that Unreal Engine Crah Reporter should use in order to upload crash data to Sentry.")) FString CrashReporterUrl; diff --git a/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml b/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml index 6f26370f..af04dc1d 100644 --- a/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml +++ b/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml @@ -5,6 +5,7 @@ + @@ -34,6 +35,12 @@ + + + + + + @@ -70,6 +77,17 @@ uploadNativeSymbols = true } + + + + sentry { + autoInstallation { + enabled = false + } + } + + + @@ -78,7 +96,7 @@ } - + @@ -134,22 +152,30 @@ - - - dependencies { - classpath 'com.android.tools.build:gradle:3.5.4' - } - - - - - dependencies { - classpath 'io.sentry:sentry-android-gradle-plugin:2.1.5' - } - + + + + + dependencies { + classpath 'com.android.tools.build:gradle:3.5.4' + classpath 'io.sentry:sentry-android-gradle-plugin:2.1.5' + } + + + + + + + dependencies { + classpath 'com.android.tools.build:gradle:7.4.2' + classpath 'io.sentry:sentry-android-gradle-plugin:4.11.0' + } + + + diff --git a/scripts/packaging/package-github.snapshot b/scripts/packaging/package-github.snapshot index 89b40162..b9d2d6aa 100644 --- a/scripts/packaging/package-github.snapshot +++ b/scripts/packaging/package-github.snapshot @@ -1,6 +1,8 @@ CHANGELOG.md Config/ Config/FilterPlugin.ini +Gradle/ +Gradle/gradle-wrapper.properties LICENSE Resources/ Resources/Icon128.png diff --git a/scripts/packaging/package-marketplace.snapshot b/scripts/packaging/package-marketplace.snapshot index 54f21b23..67073c73 100644 --- a/scripts/packaging/package-marketplace.snapshot +++ b/scripts/packaging/package-marketplace.snapshot @@ -1,6 +1,8 @@ CHANGELOG.md Config/ Config/FilterPlugin.ini +Gradle/ +Gradle/gradle-wrapper.properties LICENSE Resources/ Resources/Icon128.png