From 7ea9a8d6efa7d48275cb51c1e1049397b54c886f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sikora?= Date: Wed, 3 Dec 2025 09:42:59 +0100 Subject: [PATCH 1/6] Apply per-project Sentry configuration --- app/build.gradle.kts | 4 ++++ automotive/build.gradle.kts | 4 ++++ build.gradle.kts | 8 +++++--- dependencies.gradle.kts | 5 +++++ wear/build.gradle.kts | 4 ++++ 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ceb0f2ab68c..2f402aed533 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -9,6 +9,10 @@ plugins { alias(libs.plugins.compose.compiler) } +sentry { + projectName = project.property("sentryAndroidProject")?.toString() +} + android { namespace = "au.com.shiftyjelly.pocketcasts" diff --git a/automotive/build.gradle.kts b/automotive/build.gradle.kts index 997173b39df..10770e99e2b 100644 --- a/automotive/build.gradle.kts +++ b/automotive/build.gradle.kts @@ -9,6 +9,10 @@ plugins { alias(libs.plugins.compose.compiler) } +sentry { + projectName = project.property("sentryAutomotiveProject")?.toString() +} + android { namespace = "au.com.shiftyjelly.pocketcasts" diff --git a/build.gradle.kts b/build.gradle.kts index 29c811a357d..45af4f066df 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,6 @@ import com.google.devtools.ksp.gradle.KspGradleSubplugin import io.sentry.android.gradle.extensions.InstrumentationFeature import io.sentry.android.gradle.extensions.SentryPluginExtension import java.util.EnumSet -import kotlin.collections.addAll import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions import org.jetbrains.kotlin.gradle.plugin.KotlinBasePlugin @@ -174,7 +173,7 @@ subprojects { } plugins.withId(rootProject.libs.plugins.sentry.get().pluginId) { - configureSentry() + applyCommonSentryConfiguration() } configurations.configureEach { @@ -419,8 +418,11 @@ subprojects { } } -fun Project.configureSentry() { +fun Project.applyCommonSentryConfiguration() { extensions.getByType(SentryPluginExtension::class.java).apply { + authToken = project.property("sentryAuthToken")?.toString() + org = project.property("sentryOrg")?.toString() + val shouldUploadDebugFiles = System.getenv()["CI"].toBoolean() && !project.properties["skipSentryProguardMappingUpload"]?.toString().toBoolean() includeProguardMapping = shouldUploadDebugFiles diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts index 2ac22c87ce8..995fb9a1d5c 100644 --- a/dependencies.gradle.kts +++ b/dependencies.gradle.kts @@ -106,5 +106,10 @@ project.apply { set("encryptionKey", secretProperties.getProperty("encryption_key", "")) set("appSecret", secretProperties.getProperty("app_secret", "")) set("metaAppId", secretProperties.getProperty("metaAppId", "")) + set("sentryAuthToken", secretProperties.getProperty("sentryAuthToken", "")) + set("sentryOrg", secretProperties.getProperty("sentryOrg", "")) + set("sentryAndroidProject", secretProperties.getProperty("sentryAndroidProject", "")) + set("sentryAutomotiveProject", secretProperties.getProperty("sentryAutomotiveProject", "")) + set("sentryWearProject", secretProperties.getProperty("sentryWearProject", "")) } } diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index fd358ce60c6..910573eb39d 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -11,6 +11,10 @@ plugins { alias(libs.plugins.compose.compiler) } +sentry { + projectName = project.property("sentryWearProject")?.toString() +} + android { namespace = "au.com.shiftyjelly.pocketcasts" From da6ec1ef479153bcde2065ffbe952652bbe2a5bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sikora?= Date: Wed, 3 Dec 2025 10:28:04 +0100 Subject: [PATCH 2/6] Update warning log condition --- app/build.gradle.kts | 4 ++-- automotive/build.gradle.kts | 4 ++++ wear/build.gradle.kts | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2f402aed533..5cfebcc62bc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -50,8 +50,8 @@ android { named("release") { manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" - if (!file("${project.rootDir}/sentry.properties").exists()) { - println("WARNING: Sentry configuration file 'sentry.properties' not found. The ProGuard mapping files won't be uploaded.") + if (project.property("sentryAndroidProject")?.toString().isNullOrBlank()) { + println("WARNING: Sentry configuration not found. The ProGuard mapping files won't be uploaded.") } } } diff --git a/automotive/build.gradle.kts b/automotive/build.gradle.kts index 10770e99e2b..0e298e74bed 100644 --- a/automotive/build.gradle.kts +++ b/automotive/build.gradle.kts @@ -39,6 +39,10 @@ android { named("release") { manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" + + if (project.property("sentryAutomotiveProject")?.toString().isNullOrBlank()) { + println("WARNING: Sentry configuration not found. The ProGuard mapping files won't be uploaded.") + } } } diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index 910573eb39d..dc5f8d39222 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -36,8 +36,8 @@ android { named("release") { manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" - if (!file("${project.rootDir}/sentry.properties").exists()) { - println("WARNING: Sentry configuration file 'sentry.properties' not found. The ProGuard mapping files won't be uploaded.") + if (project.property("sentryWearProject")?.toString().isNullOrBlank()) { + println("WARNING: Sentry configuration not found. The ProGuard mapping files won't be uploaded.") } } } From 226090a1d1fbe7bc5de60eeaafdb1c1154591a51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sikora?= Date: Thu, 4 Dec 2025 15:34:03 +0100 Subject: [PATCH 3/6] Use findProperty instead of property --- app/build.gradle.kts | 4 ++-- automotive/build.gradle.kts | 4 ++-- build.gradle.kts | 4 ++-- wear/build.gradle.kts | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5cfebcc62bc..4ec5066ae4c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -10,7 +10,7 @@ plugins { } sentry { - projectName = project.property("sentryAndroidProject")?.toString() + projectName = project.findProperty("sentryAndroidProject")?.toString() } android { @@ -50,7 +50,7 @@ android { named("release") { manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" - if (project.property("sentryAndroidProject")?.toString().isNullOrBlank()) { + if (project.findProperty("sentryAndroidProject")?.toString().isNullOrBlank()) { println("WARNING: Sentry configuration not found. The ProGuard mapping files won't be uploaded.") } } diff --git a/automotive/build.gradle.kts b/automotive/build.gradle.kts index 0e298e74bed..049173123ac 100644 --- a/automotive/build.gradle.kts +++ b/automotive/build.gradle.kts @@ -10,7 +10,7 @@ plugins { } sentry { - projectName = project.property("sentryAutomotiveProject")?.toString() + projectName = project.findProperty("sentryAutomotiveProject")?.toString() } android { @@ -40,7 +40,7 @@ android { named("release") { manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" - if (project.property("sentryAutomotiveProject")?.toString().isNullOrBlank()) { + if (project.findProperty("sentryAutomotiveProject")?.toString().isNullOrBlank()) { println("WARNING: Sentry configuration not found. The ProGuard mapping files won't be uploaded.") } } diff --git a/build.gradle.kts b/build.gradle.kts index 45af4f066df..e3ec19d2dec 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -420,8 +420,8 @@ subprojects { fun Project.applyCommonSentryConfiguration() { extensions.getByType(SentryPluginExtension::class.java).apply { - authToken = project.property("sentryAuthToken")?.toString() - org = project.property("sentryOrg")?.toString() + authToken = project.findProperty("sentryAuthToken")?.toString() + org = project.findProperty("sentryOrg")?.toString() val shouldUploadDebugFiles = System.getenv()["CI"].toBoolean() && !project.properties["skipSentryProguardMappingUpload"]?.toString().toBoolean() diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index dc5f8d39222..28d5fc4c921 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -12,7 +12,7 @@ plugins { } sentry { - projectName = project.property("sentryWearProject")?.toString() + projectName = project.findProperty("sentryWearProject")?.toString() } android { @@ -36,7 +36,7 @@ android { named("release") { manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" - if (project.property("sentryWearProject")?.toString().isNullOrBlank()) { + if (project.findProperty("sentryWearProject")?.toString().isNullOrBlank()) { println("WARNING: Sentry configuration not found. The ProGuard mapping files won't be uploaded.") } } From 7b5971e5b2abe3e97bb9ebf1ba4f5aacdfdcbfad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sikora?= Date: Thu, 22 Jan 2026 11:09:58 +0100 Subject: [PATCH 4/6] Update .enc file --- .configure | 2 +- .configure-files/secret.properties.enc | Bin 1184 -> 1168 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.configure b/.configure index d3410975465..2780f8fcc07 100644 --- a/.configure +++ b/.configure @@ -1,7 +1,7 @@ { "project_name": "pocketcasts-android", "branch": "trunk", - "pinned_hash": "29f04c18842c391363c5129b59b8a32973319611", + "pinned_hash": "b9db2ff98c1fca8f638d5c96d77bb65ef737b6c6", "files_to_copy": [ { "file": "android/pocket-casts/secret.properties", diff --git a/.configure-files/secret.properties.enc b/.configure-files/secret.properties.enc index b8c749778d334830849d0f759eed0ce44471ac60..f1fcb4515361ab0f5702001a7ea5be13c4fcf453 100644 GIT binary patch delta 249 zcmVK=l5fk15i`d_72e= zrY)cHftAs~Xbz6WmnWmXQ7k)ynUC^h82j!Rx*^_9wJk>`lwEOK?;2`c#mw2`WAz14 zj*%XGGWz1b76ejT=$-u}u3k5PM7+Tgi7#w%PesPBc;*0>D;Qw`QbtZLPIYMj@uf~4 zj(57zE3I-0_DrFHSjub0nb|knjTYozD{y)3gW0|4!wX5Z_UEi&A4z##NyD`r1DATo delta 266 zcmV+l0rmcn37`qEpaXvxU|>l5#%$QY0Pe^BVBIwW4T_7VNODMT2qpHRn7avsH)~5q zkA8V5c$+iU(f)aCRT=YDF?$`Vp7Os12T4WG8tz6-%XgHy;oXfsNeK|8_}84RmK;_m zPr3JC+A@pv>R>f#;6A)TxWm5D)T6C^8>!6e^!*_HRx7{K-nf6LwR9ZGy&e9AHCtU~ zLe=#uA=}_k#Gu~iw;NB4xmU|J7GTj0!FGu=UnV#yE9j{2AGe$~rF5)zWk!gEq2I`N zfhPf3Z%Ndw?A#faB;G2J(jk6A2uDi3%5ttqD*>Iq`XO;dVoT$X%O!rc-IaEBzl>PL QqSel%$H{IWPvioAA#3)Aod5s; From 5ad0072d9bf44c700bb12b0b6692e00c53a6fa17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sikora?= Date: Fri, 23 Jan 2026 15:48:36 +0100 Subject: [PATCH 5/6] Remove sentry.properties from config --- .configure | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.configure b/.configure index 2780f8fcc07..fc0e06512fa 100644 --- a/.configure +++ b/.configure @@ -8,11 +8,6 @@ "destination": "secret.properties", "encrypt": true }, - { - "file": "android/pocket-casts/sentry.properties", - "destination": "sentry.properties", - "encrypt": true - }, { "file": "android/pocket-casts/google-services.json", "destination": "app/google-services.json", From 8c356f4765c1db8f1865bff029939ea2d0e20721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sikora?= Date: Fri, 23 Jan 2026 15:50:37 +0100 Subject: [PATCH 6/6] Update .configure file --- .configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.configure b/.configure index fc0e06512fa..e01987012d3 100644 --- a/.configure +++ b/.configure @@ -1,7 +1,7 @@ { "project_name": "pocketcasts-android", "branch": "trunk", - "pinned_hash": "b9db2ff98c1fca8f638d5c96d77bb65ef737b6c6", + "pinned_hash": "f8db88d1a1d1149ce3a144b7c629e36717c885ea", "files_to_copy": [ { "file": "android/pocket-casts/secret.properties",