You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Custom Test Runner**: Uses JUnit Platform Launcher API directly (same API used by IDEs and Gradle internally)
288
+
-**Result**: Unified `-Ptests` property works identically across all platforms, no platform-specific syntax required
289
+
290
+
**Why `-Ptests` instead of `--tests`?**
291
+
The `-Ptests` property works consistently across both Test and Exec task types, while `--tests` only works with Test tasks. This ensures a truly unified interface across all platforms.
292
+
282
293
### Working with Native Code
283
294
Native compilation is automatic during build. C++ code changes require:
284
295
1. Full rebuild: `/build-and-summarize clean build`
@@ -604,8 +615,56 @@ See `gradle.properties.template` for all options. Key ones:
604
615
605
616
- Exclude ddprof-lib/build/async-profiler from searches of active usage
606
617
607
-
- Run tests with 'testdebug' gradle task
608
-
- Use at most Java 21 to build and run tests
618
+
- Run tests with 'testDebug' gradle task
619
+
620
+
## Build JDK Configuration
621
+
622
+
The project uses a **two-JDK pattern**:
623
+
-**Build JDK** (`JAVA_HOME`): Used to run Gradle itself. Must be JDK 17+ for Gradle 9.
624
+
-**Test JDK** (`JAVA_TEST_HOME`): Used to run tests against different Java versions.
625
+
626
+
**Current requirement:** JDK 21 (LTS) for building, targeting Java 8 bytecode via `--release 8`.
627
+
628
+
### Files to Modify When Changing Build JDK Version
629
+
630
+
When upgrading the build JDK (e.g., from JDK 21 to JDK 25), update these files:
631
+
632
+
| File | What to Change |
633
+
|------|----------------|
634
+
|`README.md`| Update "Prerequisites" section with new JDK version |
635
+
|`.github/actions/setup_cached_java/action.yml`| Change `build_jdk=jdk21` to new version (line ~25) |
636
+
|`.github/workflows/ci.yml`| Update `java-version` in `check-formatting` job's Setup Java step |
0 commit comments