Yep I hear you. We cannot change the 4.0.0 schema
And changing to a new modelVersion requires ensuring that we can evolve without breaking consumers of the older model. Basically we have one chance to make a "breaking" change to something that allows us to evolve going forward So what I provided was the 4.0.0 modelVersion solution... it's ugly but does not require pre-processing or generation of the pom On Tue 24 Jan 2017 at 12:53, Paul Hammant <p...@hammant.org> wrote: > Versus profiles, I would rather have pom.xml exhaustively renamed to > > pom.xml.template in SCM, and a Python script to generate <modules/> as we > > have it today (pom.xml marked as .gitignore) before invoking 'maven > install' > > > > - Paul > > > > > > On Tue, Jan 24, 2017 at 7:31 AM, Stephen Connolly < > > stephen.alan.conno...@gmail.com> wrote: > > > > > It's an interesting idea for model version 5.0.0 to consider. > > > > > > At present, I would handle it by using profiles with activation to pull > in > > > the modules: > > > > > > if your activation in the root is based on the presence of the module's > > > pom.xml then it will only add the module if you checked it out: (approx > > > structure and I do not have the XSD to hand) > > > > > > <profile> > > > <id>module-foo</id> > > > <activation> > > > <file>module-foo/pom.xml</file> > > > </activation> > > > <modules> > > > <module>module-foo</module> > > > </modules> > > > </profile> > > > <profile> > > > <id>module-bar</id> > > > <activation> > > > <file>module-bar/pom.xml</file> > > > </activation> > > > <modules> > > > <module>module-bar</module> > > > </modules> > > > </profile> > > > > > > Yes that becomes an ugly pom, but it will do what you want when run from > > > the root and I have used it before > > > > > > HTH > > > > > > On 24 January 2017 at 11:14, Paul Hammant <p...@hammant.org> wrote: > > > > > > > i thought about that too, except that in a monorepo situation, I don't > > > want > > > > the don't want the changed pom to get pushed back in a commit, and I > > > don't > > > > want one of the those changelists in my IDE labeled "do not commit" to > > > > facilitate that. > > > > > > > > Rationale: Just because I've subset my checkout/clone doesn't mean that > > > all > > > > users of the same repo want to. > > > > > > > > It was implied, but I'll call it out: .full-module-list.txt is in > > > > .gitignore (etc), and that it's easily regenerate per the 'find' > command. > > > > > > > > Regards, > > > > > > > > - Paul > > > > > > > > On Tue, Jan 24, 2017 at 12:50 AM, Aldrin Leal <ald...@leal.eng.br> > > > wrote: > > > > > > > > > Actually, I always wondered if it was interesting to have a tool to > > > allow > > > > > the modification of POM files from Command Line. Like setting a > > > property, > > > > > adding a dependency and/or, as you exposed, changing modules. > > > > > > > > > > -- > > > > > -- Aldrin Leal, <ald...@leal.eng.br> / http://about.me/aldrinleal > > > > > > > > > > On Tue, Jan 24, 2017 at 12:05 AM, Paul Hammant <hamm...@apache.org> > > > > wrote: > > > > > > > > > > > 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. > > > > > > > > > > > > > > > > > > > > -- Sent from my phone