Skip to content

Commit

Permalink
Upgrade Android gradle plugin (#633)
Browse files Browse the repository at this point in the history
  • Loading branch information
tustanivsky authored Oct 9, 2024
1 parent be32823 commit 024ef21
Show file tree
Hide file tree
Showing 8 changed files with 58 additions and 20 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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))

Expand Down
7 changes: 1 addition & 6 deletions plugin-dev/Config/FilterPlugin.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions plugin-dev/Gradle/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions plugin-dev/Source/Sentry/Private/SentrySettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ USentrySettings::USentrySettings(const FObjectInitializer& ObjectInitializer)
, UploadSymbolsAutomatically(false)
, IncludeSources(false)
, DiagnosticLevel(ESentryCliLogLevel::Info)
, UseLegacyGradlePlugin(false)
, CrashReporterUrl()
, bIsDirty(false)
{
Expand Down Expand Up @@ -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))
{
Expand Down
5 changes: 5 additions & 0 deletions plugin-dev/Source/Sentry/Public/SentrySettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
54 changes: 40 additions & 14 deletions plugin-dev/Source/Sentry/Sentry_Android_UPL.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

<setBoolFromProperty result="bUploadSymbolsAutomatically" ini="Engine" section="/Script/Sentry.SentrySettings" property="UploadSymbolsAutomatically" default="false" />
<setBoolFromProperty result="bIncludeSources" ini="Engine" section="/Script/Sentry.SentrySettings" property="IncludeSources" default="false" />
<setBoolFromProperty result="bUseLegacyGradlePlugin" ini="Engine" section="/Script/Sentry.SentrySettings" property="UseLegacyGradlePlugin" default="false" />

<setStringFromProperty result="enabledBuildPlatforms" ini="Engine" section="/Script/Sentry.SentrySettings" property="EnableBuildPlatforms" default=""/>
<setStringFromProperty result="enabledBuildConfigurations" ini="Engine" section="/Script/Sentry.SentrySettings" property="EnableBuildConfigurations" default=""/>
Expand Down Expand Up @@ -34,6 +35,12 @@
<true>
<copyFile src="$S(ProjectDir)/sentry.properties" dst="$S(BuildDir)/gradle/sentry.properties" />
<copyFile src="$S(ProjectDir)/sentry.properties" dst="$S(BuildDir)/gradle/AFSProject/app/sentry.properties" />
<if condition="bUseLegacyGradlePlugin">
<false>
<log text="Modifying engine's Gradle version used by replacing gradle-wrapper.properties"/>
<copyFile src="$S(PluginDir)/../../Gradle/gradle-wrapper.properties" dst="$S(BuildDir)/gradle/gradle/wrapper/gradle-wrapper.properties" />
</false>
</if>
</true>
</if>
</prebuildCopies>
Expand Down Expand Up @@ -70,6 +77,17 @@
uploadNativeSymbols = true
}
</insert>
<if condition="bUseLegacyGradlePlugin">
<false>
<insert>
sentry {
autoInstallation {
enabled = false
}
}
</insert>
</false>
</if>
<if condition="bIncludeSources">
<true>
<insert>
Expand All @@ -78,7 +96,7 @@
}
</insert>
</true>
</if>
</if>
</true>
</if>
</buildGradleAdditions>
Expand Down Expand Up @@ -134,22 +152,30 @@
</insert>
</baseBuildGradleAdditions>

<buildscriptGradleAdditions>
<insert>
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
}
</insert>
</buildscriptGradleAdditions>

<buildscriptGradleAdditions>
<if condition="bUploadSymbols">
<true>
<insert>
dependencies {
classpath 'io.sentry:sentry-android-gradle-plugin:2.1.5'
}
</insert>
<if condition="bUseLegacyGradlePlugin">
<true>
<log text="Using legacy Sentry Gradle plugin 2.1.5 for Android debug symbol upload."/>
<insert>
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
classpath 'io.sentry:sentry-android-gradle-plugin:2.1.5'
}
</insert>
</true>
<false>
<log text="Using Sentry Gradle plugin 4.11.0 for Android debug symbol upload."/>
<log text="Enable legacy Sentry Gradle plugin in project settings in case current version conflicts with other plugins."/>
<insert>
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'io.sentry:sentry-android-gradle-plugin:4.11.0'
}
</insert>
</false>
</if>
</true>
</if>
</buildscriptGradleAdditions>
Expand Down
2 changes: 2 additions & 0 deletions scripts/packaging/package-github.snapshot
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
CHANGELOG.md
Config/
Config/FilterPlugin.ini
Gradle/
Gradle/gradle-wrapper.properties
LICENSE
Resources/
Resources/Icon128.png
Expand Down
2 changes: 2 additions & 0 deletions scripts/packaging/package-marketplace.snapshot
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
CHANGELOG.md
Config/
Config/FilterPlugin.ini
Gradle/
Gradle/gradle-wrapper.properties
LICENSE
Resources/
Resources/Icon128.png
Expand Down

0 comments on commit 024ef21

Please sign in to comment.