getsentry / getsentry/sentry-java

Separate sample projects from test infrastructure (converted to project)

Đang mở
#5,712 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Improvement Java Platform: Java
Ngôn ngữ chính
Kotlin
Star
1.4k
Fork
478
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
67

Mô tả

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]()

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java, kotlin, spring-boot
Lĩnh vực
build-system, ci-cd, testing
Loại issue
Tái cấu trúc
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
15/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.