From 82ac941a3aa2a880355617761a79e0c3bd6a5160 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 10:52:37 +0200 Subject: [PATCH 1/9] Add build distribution module. This is the first step towards the build distribution library. I named it `sentry-build-distribution` not `sentry-android-build-distribution` because i thought the name was too long. This will only ever be an `android` based sdk so feel free to push back on the naming. --- sentry-build-distribution/build.gradle.kts | 25 ++++++++++++++++++++++ settings.gradle.kts | 1 + 2 files changed, 26 insertions(+) create mode 100644 sentry-build-distribution/build.gradle.kts diff --git a/sentry-build-distribution/build.gradle.kts b/sentry-build-distribution/build.gradle.kts new file mode 100644 index 00000000000..3917f668061 --- /dev/null +++ b/sentry-build-distribution/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + id("com.android.library") + alias(libs.plugins.kotlin.android) +} + +android { + compileSdk = libs.versions.compileSdk.get().toInt() + namespace = "io.sentry.build.distribution" + + defaultConfig { + minSdk = libs.versions.minSdk.get().toInt() + } + buildFeatures { + // Determines whether to generate a BuildConfig class. + buildConfig = false + } +} + +androidComponents.beforeVariants { + it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType) +} + +dependencies { + api(projects.sentry) +} diff --git a/settings.gradle.kts b/settings.gradle.kts index f1213f38d9b..f60bd9f6f87 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,6 +21,7 @@ includeBuild("build-logic") include( "sentry", "sentry-kotlin-extensions", + "sentry-build-distribution", "sentry-android-core", "sentry-android-ndk", "sentry-android", From 0a5044b6f00cfb1e034f2033de663f30e351698c Mon Sep 17 00:00:00 2001 From: Sentry Github Bot Date: Fri, 5 Sep 2025 08:57:26 +0000 Subject: [PATCH 2/9] Format code --- sentry-build-distribution/build.gradle.kts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sentry-build-distribution/build.gradle.kts b/sentry-build-distribution/build.gradle.kts index 3917f668061..1671f919dfb 100644 --- a/sentry-build-distribution/build.gradle.kts +++ b/sentry-build-distribution/build.gradle.kts @@ -7,9 +7,7 @@ android { compileSdk = libs.versions.compileSdk.get().toInt() namespace = "io.sentry.build.distribution" - defaultConfig { - minSdk = libs.versions.minSdk.get().toInt() - } + defaultConfig { minSdk = libs.versions.minSdk.get().toInt() } buildFeatures { // Determines whether to generate a BuildConfig class. buildConfig = false @@ -20,6 +18,4 @@ androidComponents.beforeVariants { it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType) } -dependencies { - api(projects.sentry) -} +dependencies { api(projects.sentry) } From 1710ab67a05a8c9f85457b0d5d35458535b56696 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 11:03:23 +0200 Subject: [PATCH 3/9] Add Distribution class --- .../main/java/io/sentry/android/distribution/Distribution.kt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt diff --git a/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt b/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt new file mode 100644 index 00000000000..c16cde12a26 --- /dev/null +++ b/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt @@ -0,0 +1,4 @@ +package io.sentry.android.distribution + +class Distribution { +} From 12836688aeac4b98a7233ee36074c2bcb110f56e Mon Sep 17 00:00:00 2001 From: Sentry Github Bot Date: Fri, 5 Sep 2025 09:07:33 +0000 Subject: [PATCH 4/9] Format code --- .../main/java/io/sentry/android/distribution/Distribution.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt b/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt index c16cde12a26..7ee62ebe324 100644 --- a/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt +++ b/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt @@ -1,4 +1,3 @@ package io.sentry.android.distribution -class Distribution { -} +class Distribution {} From aab0c0fbf76dc3413ce7dc8d4504ddb34c5da0a2 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 13:59:27 +0200 Subject: [PATCH 5/9] Rename sentry-build-distribution module to sentry-android-distribution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renamed module directory from sentry-build-distribution to sentry-android-distribution - Updated settings.gradle.kts to reference new module name - Updated Android namespace from io.sentry.build.distribution to io.sentry.android.distribution - Cleaned up build artifacts 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../build.gradle.kts | 2 +- .../main/java/io/sentry/android/distribution/Distribution.kt | 0 settings.gradle.kts | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename {sentry-build-distribution => sentry-android-distribution}/build.gradle.kts (90%) rename {sentry-build-distribution => sentry-android-distribution}/src/main/java/io/sentry/android/distribution/Distribution.kt (100%) diff --git a/sentry-build-distribution/build.gradle.kts b/sentry-android-distribution/build.gradle.kts similarity index 90% rename from sentry-build-distribution/build.gradle.kts rename to sentry-android-distribution/build.gradle.kts index 1671f919dfb..3ab00b7bd5c 100644 --- a/sentry-build-distribution/build.gradle.kts +++ b/sentry-android-distribution/build.gradle.kts @@ -5,7 +5,7 @@ plugins { android { compileSdk = libs.versions.compileSdk.get().toInt() - namespace = "io.sentry.build.distribution" + namespace = "io.sentry.android.distribution" defaultConfig { minSdk = libs.versions.minSdk.get().toInt() } buildFeatures { diff --git a/sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt b/sentry-android-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt similarity index 100% rename from sentry-build-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt rename to sentry-android-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index f60bd9f6f87..0022f2290f7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,7 +21,7 @@ includeBuild("build-logic") include( "sentry", "sentry-kotlin-extensions", - "sentry-build-distribution", + "sentry-android-distribution", "sentry-android-core", "sentry-android-ndk", "sentry-android", From 154f6510fcebc46e50f25e4385f61d1a12e4d697 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 14:34:12 +0200 Subject: [PATCH 6/9] Don't publish build-distribution, align kotlin versions --- build.gradle.kts | 2 +- sentry-android-distribution/build.gradle.kts | 17 ++++++++++++----- sentry-bom/build.gradle.kts | 3 ++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 17b57291eb2..23eaca36936 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -161,7 +161,7 @@ subprojects { } } - if (!this.name.contains("sample") && !this.name.contains("integration-tests") && this.name != "sentry-system-test-support" && this.name != "sentry-test-support") { + if (!this.name.contains("sample") && !this.name.contains("integration-tests") && this.name != "sentry-system-test-support" && this.name != "sentry-test-support" && this.name != "sentry-android-distribution") { apply() apply() diff --git a/sentry-android-distribution/build.gradle.kts b/sentry-android-distribution/build.gradle.kts index 3ab00b7bd5c..f67e033d1a8 100644 --- a/sentry-android-distribution/build.gradle.kts +++ b/sentry-android-distribution/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.config.KotlinCompilerVersion + plugins { id("com.android.library") alias(libs.plugins.kotlin.android) @@ -8,14 +10,19 @@ android { namespace = "io.sentry.android.distribution" defaultConfig { minSdk = libs.versions.minSdk.get().toInt() } - buildFeatures { - // Determines whether to generate a BuildConfig class. - buildConfig = false - } + buildFeatures { buildConfig = false } +} + +kotlin { + jvmToolchain(17) + explicitApi() } androidComponents.beforeVariants { it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType) } -dependencies { api(projects.sentry) } +dependencies { + implementation(projects.sentry) + implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) +} diff --git a/sentry-bom/build.gradle.kts b/sentry-bom/build.gradle.kts index 54dd005b4b2..45ef7363d47 100644 --- a/sentry-bom/build.gradle.kts +++ b/sentry-bom/build.gradle.kts @@ -9,7 +9,8 @@ dependencies { .filter { !it.name.startsWith("sentry-samples") && it.name != project.name && - !it.name.contains("test", ignoreCase = true) + !it.name.contains("test", ignoreCase = true) && + !it.name.contains("sentry-android-distribution") } .forEach { project -> evaluationDependsOn(project.path) From 0471b9a51a543585258c76572c0c8bf2b502bd47 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 15:33:18 +0200 Subject: [PATCH 7/9] Specify explicity visibility --- .../main/java/io/sentry/android/distribution/Distribution.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-android-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt b/sentry-android-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt index 7ee62ebe324..396cb02e131 100644 --- a/sentry-android-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt +++ b/sentry-android-distribution/src/main/java/io/sentry/android/distribution/Distribution.kt @@ -1,3 +1,3 @@ package io.sentry.android.distribution -class Distribution {} +public class Distribution {} From 07b541cedd8aa1ae910caf792539e4adda1a7ef5 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 16:24:45 +0200 Subject: [PATCH 8/9] Use Kotlin 2_0 --- sentry-android-distribution/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sentry-android-distribution/build.gradle.kts b/sentry-android-distribution/build.gradle.kts index f67e033d1a8..5d8781f431d 100644 --- a/sentry-android-distribution/build.gradle.kts +++ b/sentry-android-distribution/build.gradle.kts @@ -1,4 +1,5 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 plugins { id("com.android.library") @@ -15,6 +16,7 @@ android { kotlin { jvmToolchain(17) + compilerOptions.languageVersion = KOTLIN_1_9 explicitApi() } From 9f579b84dc625086866019a2029f301ac75f3213 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Fri, 5 Sep 2025 16:25:52 +0200 Subject: [PATCH 9/9] Use Kotlin 1_9 --- .../api/sentry-android-distribution.api | 4 ++++ sentry-android-distribution/build.gradle.kts | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 sentry-android-distribution/api/sentry-android-distribution.api diff --git a/sentry-android-distribution/api/sentry-android-distribution.api b/sentry-android-distribution/api/sentry-android-distribution.api new file mode 100644 index 00000000000..020a99620bd --- /dev/null +++ b/sentry-android-distribution/api/sentry-android-distribution.api @@ -0,0 +1,4 @@ +public final class io/sentry/android/distribution/Distribution { + public fun ()V +} + diff --git a/sentry-android-distribution/build.gradle.kts b/sentry-android-distribution/build.gradle.kts index 5d8781f431d..fa869097c2d 100644 --- a/sentry-android-distribution/build.gradle.kts +++ b/sentry-android-distribution/build.gradle.kts @@ -1,5 +1,5 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion -import org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { id("com.android.library") @@ -16,7 +16,7 @@ android { kotlin { jvmToolchain(17) - compilerOptions.languageVersion = KOTLIN_1_9 + compilerOptions.languageVersion = KotlinVersion.KOTLIN_1_9 explicitApi() }