OK so I've grappled git's sparse checkout and won (for now). I can use it to subset the checkout (not clone) and make Maven3 do a reduced build graph without using profiles.
Details: https://github.com/paul-hammant/maven-monorepo-experiment/tree/trick-maven-monorepo details Google has 86 TB of history in their trunk, and you could't use Git for that for many reasons, but we' are a couple of inches closer for Maven now. - Paul On Tue, Jan 24, 2017 at 10:44 PM, Paul Hammant <p...@hammant.org> wrote: > 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 >