getsentry / getsentry/sentry-java

Separate sample projects from test infrastructure (converted to project)

未关闭
#5,712 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Improvement Java Platform: Java
主要语言
Kotlin
星标
1.4k
派生
478
平均合并
2 天 23 小时
30 天内合并 PR
67

描述

This issue has been converted to a project [Separate sample projects from test infrastructure]()

---

Currently our samples double as integration tests, which causes buildscript classpath bleed between the main build and the sample projects. This creates two categories of problems:

**Isolation failures observed**

* A test matrix leg targeting a specific KGP version was silently resolved to a higher version because another build dependency pulled it in transitively
* Sample dependency constraints (e.g. an older Spring Boot requiring a pinned KGP version) block upgrades to the rest of the build

**Goals**

* Samples should use only published Maven Central coordinates so customers can copy them verbatim — no project references, no snapshots
* Integration tests should live in a separate Gradle project (or composite build) with an isolated buildscript classpath, publishing to a build-local directory for resolution
* Changes to the main build graph should not be able to silently alter what the samples or integration tests resolve

**Proposed direction**

* Extract sample apps into standalone Gradle projects (or an isolated composite build) that declare no `project(...)` dependencies
* Run integration/system tests against those standalone projects, resolving SDK artifacts from a build-local Maven directory (see [JAVA-625]())
* CI wires the publish-to-local-dir step before the sample test step, keeping full per-PR coverage

**Out of scope**

* The build-local dir plumbing itself (tracked in [JAVA-625]())
* Publishing samples to any external registry

--

[View Junior Session in Sentry]()

贡献指南

打开贡献指南

调研方向

Work is tracked in the linked Linear project rather than this issue. Start by mapping the current sample Gradle projects, integration/system tests, and CI wiring, then review JAVA-625 for the build-local resolution dependency; done means samples use published coordinates while isolated integration tests retain full per-PR coverage.

由索引模型根据 Issue 内容生成。

评估

技术栈
java, kotlin, spring-boot
领域
build-system, ci-cd, testing
Issue 类型
重构
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
15/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。