diff options
| author | iniklyaev <[email protected]> | 2026-07-08 08:56:00 +0300 |
|---|---|---|
| committer | iniklyaev <[email protected]> | 2026-07-08 09:15:21 +0300 |
| commit | ad607c3561c9a0fa7555589fe2e91ab109e0bf2c (patch) | |
| tree | 397e9c43dda1bd2c6f071b474bddfb3881aa72ea /contrib/python/python-dateutil | |
| parent | 5b85f9a52f10588de27d38b23fc8436073008d6a (diff) | |
classpath.clash: move from compilation modules to test/runnable
## What
Move the `classpath.clash` check from compilation modules to runnable/test modules, so it validates the *real* runtime classpath.
## Why
- Checking the classpath on compilation modules (`JAR_LIBRARY`) misses clashes introduced only at runtime/test time (e.g. deps pulled via `JAVA_RUNTIME_PEERDIR`). Running the check on runnable/test modules makes it complete.
- Required for the java build acceleration project (ijar splitting).
## What changed
- `build/conf/java.conf`, `build/plugins/java.py`:
- `_ADD_CLASSPATH_CLASH_CHECK()` is moved from `JAR_LIBRARY` to test (`_JAR_TEST`) and runnable modules.
- New macros `_ADD_CLASSPATH_CLASH_CHECK_IF_UBERJAR` / `_ADD_CLASSPATH_CLASH_CHECK_IF_NOT_UBERJAR` bind the check to either `JAR_RUNNABLE` or `JAR_COMPILATION` on `MAKE_UBERJAR_VALUE` (since uberjar packs deps into the jar, clash test should be run in compilation module).
- Added `JTEST_JCOMMANDER_IGNORE_CLASSPATH_CLASH` and `JTEST_GSON_IGNORE_CLASSPATH_CLASH` variables listing the classes brought by the JTEST `DEPENDENCY_MANAGEMENT` (jcommander 1.72 / gson 2.10.1) that the more complete check now surfaces.
- Per-module `ya.make`: added `JAVA_IGNORE_CLASSPATH_CLASH_FOR(...)` referencing the relevant variable(s) for modules where the more complete check found pre-existing clashes. These are real clashes; the ignores are temporary and each carries a `TODO` to fix and remove.
commit_hash:3527a2c1e6a461cd1dc7491d6d973a12d1baaedb
Diffstat (limited to 'contrib/python/python-dateutil')
0 files changed, 0 insertions, 0 deletions
