adoroszlai opened a new pull request, #7325: URL: https://github.com/apache/ozone/pull/7325
## What changes were proposed in this pull request? (This PR extracts the code change common between HDDS-11450 and HDDS-11588, to make it easier to review.) When building each Ozone component, its dependencies are listed in a classpath descriptor file, to be used at runtime. Dependencies are copied to the `share/ozone/lib` directory only when building the `ozone-dist` module. It depends on all other Ozone modules directly or transitively. Since `ozone-dist` is a single module, third-party transitive dependency versions are resolved by Maven to a single version. Only that version is copied to `share/ozone/lib`. However, various Ozone components may depend on different versions of the same third-party module. These different versions can end up in the classpath files, but will not be found at runtime. The problem is mitigated by the dependency convergence check we already have in place. This PR fixes the root cause by copying dependencies when building each module. Further improvements: - move `build-classpath` execution to the root POM to avoid duplication - copy the classpath files instead of extracting them from module jars - restrict execution to the specific modules for which we need the classpath (controlled by `classpath.skip` property) https://issues.apache.org/jira/browse/HDDS-11591 ## How was this patch tested? CI: https://github.com/adoroszlai/ozone/actions/runs/11379873039 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
