I don't disagree... but There is tooling that parses the Pom directly and has made assumptions about the modules tag and its structure
We would break such tooling with such a seemingly trivial change (I know of at least 5 of my employer's customers who I would be quite upset... any my employer is focused on a different product from Maven) On Tue 24 Jan 2017 at 13:33, Paul Hammant <p...@hammant.org> wrote: > Stephen - I think think Robert's <module>def:.full-module-list.txt</module> > > is compatible hacking that is POM 4 friendly (and 3 for that matter) until > > you revisit in 5. > > > > I'd be horrified to write more XML than I already write in Maven. > > > > I'm able to face Gradle advocates re a particular enterprise app and > > without feeling I'm lying to myself say "what you're showing me is more of > > less the same as Maven all things considered". Well if failsafe and tomcat > > and surefile and coverage aren't in the same solution, that is. With the > > profile fu, just to get Maven to follow the lead git-sparse-checkout could > > give for such things, I could not face anyone and say that's what you > > should do. > > > > - Paul > > > > On Tue, Jan 24, 2017 at 8:13 AM, Stephen Connolly < > > stephen.alan.conno...@gmail.com> wrote: > > > > > 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 > > > > > -- Sent from my phone