Repository navigation
build(samples): [Sample Tests 45] Prepare the samples to build outside the SDK build - #6391
Draft
runningcode wants to merge 1 commit into
Draft
runningcode wants to merge 1 commit into
runningcode wants to merge 1 commit into
Conversation
This was referenced Oct 27, 2026
Draft
📲 Install BuildsAndroid
|
runningcode
force-pushed
the
no/samples-build-groundwork
branch
from
October 27, 2026 14:33
5ef89c4 to
c18fe91
Compare
runningcode
force-pushed
the
no/spring-boot-oldest-compile-check
branch
from
October 27, 2026 14:33
d2dac4e to
25c20ff
Compare
The samples and Android integration tests are about to become their own builds, which include the SDK build. Several things tie them to the SDK build today: - They call buildSrc's Config, which other builds cannot see. They now name the coordinates directly, the way a customer's build would. - Five samples' shadowJar tasks use buildSrc's MergeSpringMetadataAction, which only the samples use. It moves to build-logic, which the new builds can include. - They pick the Kotlin stdlib version with KotlinCompilerVersion, a compiler-internal class that came from buildSrc's classpath. They now use KGP's getKotlinPluginVersion(), which returns the same version. - AGP came from Config.AGP on the root buildscript classpath. A composite build must use a single AGP version, so it now comes from the version catalog, and each build's settings applies the AGP matrix job's VERSION_AGP override. - The javac -Xlint:all -Werror flags came from the root allprojects block. They move to the io.sentry.jdk-target convention, which every subproject already applies and the new builds can apply too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
runningcode
force-pushed
the
no/spring-boot-oldest-compile-check
branch
from
October 27, 2026 15:08
25c20ff to
8eb9829
Compare
runningcode
force-pushed
the
no/samples-build-groundwork
branch
from
October 27, 2026 15:08
c18fe91 to
95d364c
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Stack (Sample Tests)
main)📜 Description
The next three PRs move the samples and the Android integration tests into their own Gradle builds. This one removes what ties them to the SDK build's
buildSrcand root build script first, while they are still subprojects. No task changes behavior.Config.*: the sample and uitest build files name the coordinates directly, the way a customer's build would.MergeSpringMetadataAction: only five samples'shadowJartasks use it. It moves frombuildSrctobuild-logic, which the new builds can include.KotlinCompilerVersion: a compiler-internal class that only resolved throughbuildSrc's (or AGP's) classpath. In a JVM-only build, KGP's bundled copy is deprecated atERRORlevel. The build files now use KGP'sgetKotlinPluginVersion(), which returns the same version.Config.AGPon the rootbuildscriptclasspath. It now comes from the catalog'sagpversion through anandroid-applicationplugin alias, and the root settings applies the AGP matrix job'sVERSION_AGPoverride. Each new build's settings will apply it too, because a composite build only allows one AGP version.-Xlint:all -Werror: these flags move from the rootallprojectsblock to theio.sentry.jdk-targetconvention, which every subproject already applies and the new builds can apply too.💡 Motivation and Context
Part of the Linear project "Separate sample projects and tests from build." (JAVA-626). The goal is to untie the SDK build from the versions used to test. We start with composite builds that include the SDK build. The SDK build doesn't include them back, so their plugins and versions stay out of it.
AGP is the exception, because a composite build can only use one AGP version. With an app on AGP 9.2.1 including a library build on AGP 9.4.0, AGP fails with
Using multiple versions of the Android Gradle plugin(9.4.0, 9.2.1) in the same build is not allowed.Decoupling AGP needs the build-local Maven repo from JAVA-625, as a later step.💚 How did you test it?
buildEnvironment: AGP resolves to 9.4.0 by default and to 9.2.1 withVERSION_AGP=9.2.1.shadowJarofsentry-samples-spring-bootandsentry-samples-netflix-dgsruns, withMergeSpringMetadataActionloaded frombuild-logic.kotlin-stdlib-jdk8still resolves to 2.3.21.sentry-jul,compileJavafails withwarnings found and -Werror specified.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
#6392 moves the Android sample to its own build.
#skip-changelog
🤖 Generated with Claude Code