Description
Ignite compatibility framework can exclude unnecessary jars from test java process classpath.
Compatibility framework excludes from calsspath classes which versions were explicitly specified. See IgniteCompatibilityAbstractTest#getProcessProxyJvmArgs.
The exclusion mechanism is based on the specified dependency names
See IgniteCompatibilityAbstractTest#getExcluded
Dependency#sourcePathTemplate
Dependency#artifactPathTemplate
Since we use the following condition to filter dependency from classpath
if (excluded.stream().noneMatch(path::contains))
The following situation can occur:
Assume that we have two dependencies with names
`spring` and `spring-data-commons`. `spring` dependency version is specified explicitly and must be excluded. But since we check, if dependency jar path CONTAINS Dependency#artifactPathTemplate result both `spring` and `spring-data-commons` jars is excluded from the classpath.
It can be fixed by attaching '/' to Dependency#artifactPathTemplate result.
Attachments
Issue Links
- relates to
-
IGNITE-16815 [Extensions] Ignite extensions must use ignite-parent as a parent project
- Resolved
- links to