Bug #22090
closedDatasource broken b/c version of dependencyManagement provided XML lib is not enforced in children projects
Description
Trying to build datasource plugin in rudder 7.3 leads to an error:
Parsing: Unexpected <SECTIONS> child element in technique rpmPackageInstallation/7.0: #REM
After some decyphering, it means that the XML parsing failed because it found a comment. Which it does not on rudder-core, where the same XML are provided for test config-repo techniques.
After some head banging, it appears that maven is not using the correct scala-xml lib, which we chose to avoid because of such changes.
It seems that somewhere, we are loosing the dependency versions we tried to enforce by declaring them in parent-pom
<dependencyManagement> (@mvn dependency:tree
)
Other dependencies have the correct version but are omitted and that one is chosen. It seems to be that reported maven bug: https://issues.apache.org/jira/browse/MNG-5761
So, we need to enforce again at each level the version we want.
The correct solution seems to be:
- create a new sub-project in rudder, named something like rudder-libs-bom
- create a script that can be run from rudder-web (our final project) and autogenerate the list of all dependencies with their version, if possible using the properties declared in rudder parent for that when available,
- then, in at least plugin-commons, use the <dependencyManagement>... <dependency>...<artifactid>rudder-libs-bom<artifactid><scope>...
directive.
It would provide a correct matrix of libs/version for plugins.
Since it's a big change, a first step that should allow to correct XML version (and all other lib in the same case) is to add the version in our currect dependencyManagement in plugin-commons.
Files