OK, so I'm a documenter of Google's Monorepo (one biiiig ass trunk) and it's usage of shell scripts to subset the checkout for speedy development:
http://paulhammant.com/2014/01/06/googlers-subset-their-trunk/ https://trunkbaseddevelopment.com/monorepos/ For Maven to be used with a scripted use of Subversion or Git's sparse-checkout (or Perforce's client spec), it'd been to be more like Bazel/Blaze or Buck, in that sub-modules are *not* forward declared, they are discovered/calculated/inferred somehow. In pom.xml instead of - <modules> <module>one</module> <module>two</module> </modules> We'd need - <modules> <search>recursively</search> </modules> Or - <modules> <defined-in>.full-module-list.txt</defined-in> <!-- made by find . -name "pom.xml" | sed 's/\/pom.xml//' > .full-module-list.txt after the sparse-checkout modification of working copy --> </modules> Thoughts? Any questions? - Paul H PS - I'm a solid Maven user since 2003.