getsentry / getsentry/sentry-java
Use build-local dir instead of project deps in samples
- Langage dominant
- Kotlin
- Étoiles
- 1.4k
- Forks
- 478
- Merge moyen
- 2 j 23 h
- PR mergées (30 j)
- 67
Description
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](https://sentry.sentry.io/explore/conversations/slack%3AC089VFRB8N9%3A1783054068.421249/?project=4510944073809921)
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Start by reading the sample build.gradle.kts files and the CI build configuration that publishes SDK artifacts. Trace the current project dependency and dependencyManagement setup, then verify that samples resolve published coordinates from the build-local directory with stable version strings and that the CI sample tests pass.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- kotlin, spring-boot
- Domaine
- build-system, ci-cd
- Type d'issue
- Refactorisation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100