Loading app/build.gradle +45 −3 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ plugins { alias(libs.plugins.hilt.android) alias(libs.plugins.detekt) alias(libs.plugins.kotlin.compose) alias(libs.plugins.sentry) } repositories { Loading Loading @@ -59,9 +60,13 @@ android { buildTypes { release { minifyEnabled false shrinkResources false minifyEnabled true shrinkResources true debuggable false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = null } debug { Loading Loading @@ -135,6 +140,7 @@ dependencies { implementation(libs.dagger.hilt.android) ksp(libs.dagger.hilt.compiler) implementation(libs.eos.telemetry) implementation(libs.timber) implementation(libs.androidx.lifecycle.runtime.compose) // AndroidX, The Basics Loading @@ -147,7 +153,7 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.2.0' // JSON serialization implementation 'com.google.code.gson:gson:2.10' implementation 'com.google.code.gson:gson:2.13.2' // Room (SQLite) def room_version = libs.versions.androidx.room.get() Loading Loading @@ -208,3 +214,39 @@ tasks.withType(io.gitlab.arturbosch.detekt.Detekt).configureEach { tasks.withType(io.gitlab.arturbosch.detekt.DetektCreateBaselineTask).configureEach { jvmTarget = "17" } sentry { // The slug of the Sentry organization to use for uploading proguard mappings/source contexts. org = "murena-sas" // The slug of the Sentry project to use for uploading proguard mappings/source contexts. projectName = "notifications-receiver" // The authentication token to use for uploading proguard mappings/source contexts. // WARNING: Do not expose this token in your build.gradle files, but rather set an environment // variable and read it into this property. authToken = System.getenv("SENTRY_AUTH_TOKEN") // Enable or disable the tracing instrumentation. // Does auto instrumentation for specified features through bytecode manipulation. // Default is enabled. tracingInstrumentation { enabled = false } autoInstallation { enabled = false } // Disables or enables dependencies metadata reporting for Sentry. // If enabled, the plugin will collect external dependencies and // upload them to Sentry as part of events. If disabled, all the logic // related to the dependencies metadata report will be excluded. // // Default is enabled. includeDependenciesReport = false // Whether the plugin should send telemetry data to Sentry. telemetry = false ignoredBuildTypes = ["debug"] } app/proguard-rules.pro 0 → 100644 +3 −0 Original line number Diff line number Diff line -keep class io.heckel.ntfy.msg.Message { *; } -keep class io.heckel.ntfy.msg.MessageAttachment { *; } -keep class io.heckel.ntfy.msg.MessageAction { *; } No newline at end of file gradle/libs.versions.toml +4 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ kotlinx-coroutines = "1.10.2" kotlinx-serialization-json = "1.9.0" markwon = "4.6.2" markwon-compose = "0.5.8" timber = "5.0.1" # Tests junit = "4.13.2" Loading @@ -26,6 +27,7 @@ detekt = "1.23.8" hilt = "2.57.2" ksp = "2.2.0-2.0.2" ktlint = "1.6.0" sentry = "5.12.2" spotless = "8.0.0" [libraries] Loading Loading @@ -53,6 +55,7 @@ markwon = { group = "io.noties.markwon", name = "core", version.ref = "markwon" markwon-compose = { group = "com.github.jeziellago", name = "compose-markdown", version.ref = "markwon-compose" } markwon-html = {group = "io.noties.markwon", name = "html", version.ref = "markwon" } markwon-strikethrough = {group = "io.noties.markwon", name = "ext-strikethrough", version.ref = "markwon" } timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } # Test libraries junit = { group = "junit", name = "junit", version.ref = "junit" } Loading @@ -65,4 +68,5 @@ detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } hilt-android = { id = "com.google.dagger.hilt.android", version.ref ="hilt" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } sentry = { id = "io.sentry.android.gradle", version.ref = "sentry" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } lint.xml +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ <issue id="Typos" severity="ignore" /> <issue id="StopShip" severity="ignore" /> <issue id="InvalidPackage" severity="ignore" /> <issue id="LogNotTimber" severity="ignore" /> <!-- WARNINGS --> <issue id="MissingTranslation" severity="warning" /> Loading Loading
app/build.gradle +45 −3 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ plugins { alias(libs.plugins.hilt.android) alias(libs.plugins.detekt) alias(libs.plugins.kotlin.compose) alias(libs.plugins.sentry) } repositories { Loading Loading @@ -59,9 +60,13 @@ android { buildTypes { release { minifyEnabled false shrinkResources false minifyEnabled true shrinkResources true debuggable false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = null } debug { Loading Loading @@ -135,6 +140,7 @@ dependencies { implementation(libs.dagger.hilt.android) ksp(libs.dagger.hilt.compiler) implementation(libs.eos.telemetry) implementation(libs.timber) implementation(libs.androidx.lifecycle.runtime.compose) // AndroidX, The Basics Loading @@ -147,7 +153,7 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.2.0' // JSON serialization implementation 'com.google.code.gson:gson:2.10' implementation 'com.google.code.gson:gson:2.13.2' // Room (SQLite) def room_version = libs.versions.androidx.room.get() Loading Loading @@ -208,3 +214,39 @@ tasks.withType(io.gitlab.arturbosch.detekt.Detekt).configureEach { tasks.withType(io.gitlab.arturbosch.detekt.DetektCreateBaselineTask).configureEach { jvmTarget = "17" } sentry { // The slug of the Sentry organization to use for uploading proguard mappings/source contexts. org = "murena-sas" // The slug of the Sentry project to use for uploading proguard mappings/source contexts. projectName = "notifications-receiver" // The authentication token to use for uploading proguard mappings/source contexts. // WARNING: Do not expose this token in your build.gradle files, but rather set an environment // variable and read it into this property. authToken = System.getenv("SENTRY_AUTH_TOKEN") // Enable or disable the tracing instrumentation. // Does auto instrumentation for specified features through bytecode manipulation. // Default is enabled. tracingInstrumentation { enabled = false } autoInstallation { enabled = false } // Disables or enables dependencies metadata reporting for Sentry. // If enabled, the plugin will collect external dependencies and // upload them to Sentry as part of events. If disabled, all the logic // related to the dependencies metadata report will be excluded. // // Default is enabled. includeDependenciesReport = false // Whether the plugin should send telemetry data to Sentry. telemetry = false ignoredBuildTypes = ["debug"] }
app/proguard-rules.pro 0 → 100644 +3 −0 Original line number Diff line number Diff line -keep class io.heckel.ntfy.msg.Message { *; } -keep class io.heckel.ntfy.msg.MessageAttachment { *; } -keep class io.heckel.ntfy.msg.MessageAction { *; } No newline at end of file
gradle/libs.versions.toml +4 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ kotlinx-coroutines = "1.10.2" kotlinx-serialization-json = "1.9.0" markwon = "4.6.2" markwon-compose = "0.5.8" timber = "5.0.1" # Tests junit = "4.13.2" Loading @@ -26,6 +27,7 @@ detekt = "1.23.8" hilt = "2.57.2" ksp = "2.2.0-2.0.2" ktlint = "1.6.0" sentry = "5.12.2" spotless = "8.0.0" [libraries] Loading Loading @@ -53,6 +55,7 @@ markwon = { group = "io.noties.markwon", name = "core", version.ref = "markwon" markwon-compose = { group = "com.github.jeziellago", name = "compose-markdown", version.ref = "markwon-compose" } markwon-html = {group = "io.noties.markwon", name = "html", version.ref = "markwon" } markwon-strikethrough = {group = "io.noties.markwon", name = "ext-strikethrough", version.ref = "markwon" } timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } # Test libraries junit = { group = "junit", name = "junit", version.ref = "junit" } Loading @@ -65,4 +68,5 @@ detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } hilt-android = { id = "com.google.dagger.hilt.android", version.ref ="hilt" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } sentry = { id = "io.sentry.android.gradle", version.ref = "sentry" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
lint.xml +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ <issue id="Typos" severity="ignore" /> <issue id="StopShip" severity="ignore" /> <issue id="InvalidPackage" severity="ignore" /> <issue id="LogNotTimber" severity="ignore" /> <!-- WARNINGS --> <issue id="MissingTranslation" severity="warning" /> Loading