Skip to content

Replace python script with maven shell scripting for module discovery

This removes the python xml parsing script that was used to find all parent pom files. Instead, mvn is used to compute the submodules, along with some shell scripting to manage the set logic.

mvn is markedly slower than python, but this brings two major advantages.

  1. Python isn't available by default in many of the maven docker containers. To continue using python we'd either have to install it every time we compile, or create a custom image with a python executable available. These are undesirable requirements, which go away when you no longer use python.

  2. Maven will, by definition, parse the pom.xml files more completely / better than a custom python XML parser logic. This allows use of maven features, like variables or profiles, to set up module paths.

Testing

Multi-project Pipeline

Register Pipeline, with JDK 17 image override

Edited by David Diederich

Merge request reports