Skip to content

Use build-local dir instead of project deps in samples #5711

Description

@adinauer

Our Spring Boot + OTel samples currently use project dependencies (e.g. project(":sentry-opentelemetry:sentry-opentelemetry-bom")), which:

  • Pollutes the buildscript classpath, undermining test isolation
  • Makes the samples uncopyable by customers (who won't have project references)
  • Masks real compatibility issues (e.g. OTel + Spring Boot version conflicts hidden by the BOM being pulled via project ref rather than a real artifact)

Proposed change

Publish SDK artifacts to a build-local Maven directory during CI and configure the samples to resolve from that directory. This preserves per-PR test coverage without the classpath isolation problems of mavenLocal (which has shared global state) and without requiring publishing to Maven Central.

Scope

  • Set up a build-local publish step that outputs to a local directory (e.g. build/local-repo)
  • Update sample build.gradle.kts files to add that local dir as a repository
  • Use published coordinates (e.g. io.sentry:sentry-opentelemetry-bom) instead of project references in dependencyManagement
  • Keep samples using released/stable version strings so customers can copy them as-is

Out of scope

  • Moving samples to Maven Central publishing
  • Fully separating samples from test infrastructure (tracked separately)

--

View Junior Session in Sentry

Metadata

Metadata

Assignees

No one assigned

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions