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.
> > > >
> > >
> >
>

Reply via email to