OK, take a look at https://github.com/paul-hammant/maven-monorepo-experiment/compare/trick-maven-monorepo
Branch 1 - vanilla-recursive <https://github.com/paul-hammant/maven-monorepo-experiment> is a branch with HazelCast's core and samples checked in - a 14 minute build IF YOU SKIP TESTS AND YOU ALREADY HAD CACHED DEPS !!. Branch 2 - pom.xml files renamed to pom-template.xml and some shell/python fu to recreate pom.xml files (read-only, .gitignore'd) obeying the directory structure, and excluding <module/> lines where the directory is missing. See https://github.com/paul-hammant/maven-monorepo-experiment/blob/trick-maven-monorepo/README.md That's enough for one night - more tomorrow. I get to find out whether Git's sparse-checkout is elegant or a mess. At least for my use case. - Paul