Skip to content

Commit e5953b0

Browse files
0xadam-brownOpenCode
andcommitted
feat(android-nav3): Create the navigation3 module
Establish the new Android Navigation 3 integration module and register it with the build and publication metadata. This keeps the first step focused on the module boundary itself, without introducing generated API surface or implementation code yet. Co-Authored-By: OpenCode <noreply@opencode>
1 parent df8e13a commit e5953b0

4 files changed

Lines changed: 58 additions & 0 deletions

File tree

‎buildSrc/src/main/java/Config.kt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ object Config {
9898
"sentry-android-ndk",
9999
"sentry-android-fragment",
100100
"sentry-android-navigation",
101+
"sentry-android-navigation3",
101102
"sentry-android-timber",
102103
"sentry-compose-android",
103104
"sentry-android-sqlite",
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import io.gitlab.arturbosch.detekt.Detekt
2+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8
3+
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
4+
5+
plugins {
6+
id("com.android.library")
7+
alias(libs.plugins.kotlin.android)
8+
alias(libs.plugins.gradle.versions)
9+
alias(libs.plugins.detekt)
10+
}
11+
12+
android {
13+
compileSdk = libs.versions.compileSdk.get().toInt()
14+
namespace = "io.sentry.compose.navigation3"
15+
16+
defaultConfig {
17+
minSdk = 23 // Nav3 requires minSdk 23
18+
}
19+
20+
buildTypes {
21+
getByName("debug") { consumerProguardFiles("proguard-rules.pro") }
22+
getByName("release") { consumerProguardFiles("proguard-rules.pro") }
23+
}
24+
25+
kotlin {
26+
compilerOptions.jvmTarget = JVM_1_8
27+
compilerOptions.languageVersion = KotlinVersion.KOTLIN_1_9
28+
compilerOptions.apiVersion = KotlinVersion.KOTLIN_1_9
29+
}
30+
31+
lint {
32+
warningsAsErrors = true
33+
checkDependencies = true
34+
35+
// We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks.
36+
checkReleaseBuilds = false
37+
}
38+
39+
androidComponents.beforeVariants {
40+
it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType)
41+
}
42+
}
43+
44+
kotlin { explicitApi() }
45+
46+
tasks.withType<Detekt>().configureEach {
47+
// Target version of the generated JVM bytecode. It is used for type resolution.
48+
jvmTarget = JavaVersion.VERSION_1_8.toString()
49+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
##---------------Begin: proguard configuration for Compose ----------
2+
3+
# To ensure that stack traces is unambiguous
4+
# https://developer.android.com/studio/build/shrink-code#decode-stack-trace
5+
-keepattributes LineNumberTable,SourceFile
6+
7+
##---------------End: proguard configuration for Compose ----------

‎settings.gradle.kts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ include(
5151
"sentry-android-timber",
5252
"sentry-android-fragment",
5353
"sentry-android-navigation",
54+
"sentry-android-navigation3",
5455
"sentry-android-sqlite",
5556
"sentry-android-replay",
5657
"sentry-compose",

0 commit comments

Comments
 (0)