There are some plugins which should not act incremental by default. Mainly the 
test stuff. People would not like it if they invoke

$> mvn test 

and their test would not run because they already did run some time before and 
no code/dependency changed since.

Thus I propose to introduce 2 new MavenCLI parameters:

$> mvn -i test
"-i" for 'build Incrementally'

resp xor

$> mvn -ni test
"-ni" for 'build Non-Incrementally'

Not sure what the default should be though...
From the backward compat point probably -ni

LieGrue,
strub


----- Original Message -----
> From: Mark Struberg <strub...@yahoo.de>
> To: Maven Developers List <dev@maven.apache.org>
> Cc: 
> Sent: Monday, August 27, 2012 10:33 PM
> Subject: Re: improving incremental builds
> 
> I've wrote up some stuff in our Wiki:
> 
> https://cwiki.apache.org/confluence/display/MAVEN/Incremental+Builds
> 
> Feel free to add more info/ideas.
> 
> LieGrue,
> strub
> 
> PS: a small test app can be found on https://github.com/struberg/maventest
> Try this with the latest compiler plugin 2.6-SNAPSHOT from trunk
> 
> 
> 
> ----- Original Message -----
>>  From: Mark Struberg <strub...@yahoo.de>
>>  To: Maven Developers List <dev@maven.apache.org>
>>  Cc: 
>>  Sent: Monday, August 27, 2012 10:04 PM
>>  Subject: Re: improving incremental builds
>> 
>> t he shade plugin would just need to store a local status file with the md5 
> of 
>>  the created result.
>>  Or add the info to the manifest as you proposed.
>> 
>>  The main point is that this should be up to the maven-shade-plugin, as it 
> is the 
>>  only one who knows when to repeat this step.
>> 
>>  LieGrue,
>>  strub
>> 
>> 
>> 
>> 
>>>  ________________________________
>>>   From: Stephen Connolly <stephen.alan.conno...@gmail.com>
>>>  To: Maven Developers List <dev@maven.apache.org>; Mark Struberg 
>>  <strub...@yahoo.de> 
>>>  Sent: Monday, August 27, 2012 9:53 PM
>>>  Subject: Re: improving incremental builds
>>> 
>>> 
>>>  The issue (for benson) is when the shade plugin modifies after the 
> class 
>>  files have changed... the jar plugin will currently skip recreating the 
> jar, and 
>>  he has no way of knowing if the jar file has been shaded or not.... the 
> solution 
>>  is to have the manifest.mf include an entry that indicates created by 
> shade, so 
>>  that shade can safely skip
>>> 
>>> 
>>>  On 27 August 2012 19:39, Mark Struberg <strub...@yahoo.de> wrote:
>>> 
>>>  Not sure if I get the problem.
>>>> 
>>>>  The timestamp of the input files is still < than the timestamp 
> of the 
>>  jar file. Regardless if it later got modified by the shade-plugin or not.
>>>> 
>>>>  LieGrue,
>>>>  strub
>>>> 
>>>> 
>>>> 
>>>> 
>>>>>  ________________________________
>>>>>   From: Stephen Connolly <stephen.alan.conno...@gmail.com>
>>>> 
>>>>>  To: Maven Developers List <dev@maven.apache.org>
>>>>>  Cc: Mark Struberg <strub...@yahoo.de>
>>>>>  Sent: Monday, August 27, 2012 8:11 PM
>>>> 
>>>>>  Subject: Re: improving incremental builds
>>>>> 
>>>>> 
>>>>>  On 27 August 2012 19:10, Stephen Connolly 
>>  <stephen.alan.conno...@gmail.com> wrote:
>>>>> 
>>>>>  On 27 August 2012 18:09, Benson Margulies 
>>  <bimargul...@gmail.com> wrote:
>>>>>> 
>>>>>>  On Mon, Aug 27, 2012 at 12:07 PM, Mark Struberg 
>>  <strub...@yahoo.de> wrote:
>>>>>>>>   build1 and build 2 are different modules or 
> different 
>>  mvn invocations with some time inbetween?
>>>>>>>> 
>>>>>>>>   Of course we will need to test all plugins to 
> behave 
>>  incremental like! Means the maven-shade-plugin should check itself whether 
> it 
>>  needs shading or not at all.
>>>>>>> 
>>>>>>>  Two builds, separated in time, of exactly the same 
> module.
>>>>>>> 
>>>>>>>  The problem here is that the jar plugin has already 
> decided 
>>  not to
>>>>>>>  rebuild the jar by the time the shade plugin gets 
> there, and 
>>  I have no
>>>>>>>  idea how to make the shade plugin play along.
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>  Any chance we can get the jar plugin to inspect some of the 
> 
>>  artifacts that it generates into the jar to see if they are consistent with 
> what 
>>  the jar plugin produces...
>>>>>> 
>>>>>> 
>>>>>>  I'm looking at you META-INF/MANIFEST.MF
>>>>>> 
>>>>>> 
>>>>>>  I.O.W. if the 
>>>>>> 
>>>>>> 
>>>>>>  Created-By: Apache Maven 3.0.4 (Maven JAR Plugin)
>>>>>> 
>>>>>> 
>>>>>>  is switched to 
>>>>>> 
>>>>>> 
>>>>>>  Created-By: Apache Maven 3.0.4 (Maven Shade Plugin)
>>>>>> 
>>>>>> 
>>>>>>  Then the Maven JAR plugin can infer that the timestamp 
> check is 
>>  pointless, and force regen
>>>>>> 
>>>>> 
>>>>> 
>>>>>  And people customizing that header can just live with the 
> issues 
>>  that creates.
>>>>>   
>>>>>  -Stephen
>>>>>>   
>>>>>> 
>>>>>>> 
>>>>>>>> 
>>>>>>>>   But the worst thing happening would be that we 
> compile 
>>  too much. Thats still better than a full mvn clean install :)
>>>>>>>> 
>>>>>>>>   LieGrue,
>>>>>>>>   strub
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>   ----- Original Message -----
>>>>>>>>>   From: Benson Margulies 
>>  <bimargul...@gmail.com>
>>>>>>>>>   To: Maven Developers List 
>>  <dev@maven.apache.org>; Mark Struberg <strub...@yahoo.de>
>>>>>>>>>   Cc:
>>>>>>>>>   Sent: Monday, August 27, 2012 5:07 PM
>>>>>>>>>   Subject: Re: improving incremental builds
>>>>>>>>> 
>>>>>>>>>   On Mon, Aug 27, 2012 at 8:40 AM, Mark Struberg 
> 
>>  <strub...@yahoo.de> wrote:
>>>>>>>>>>    We might implement this by storing the 
> list of 
>>  all activated profiles + all
>>>>>>>>>   resolved environment properties in a file in 
>>  target/ somewhere.
>>>>>>>>>>    That would be part of a.) in my previous 
> mail 
>>  to Romain.
>>>>>>>>> 
>>>>>>>>>   How about the situation with shade?
>>>>>>>>> 
>>>>>>>>>   Build 1 runs shade and it replaces the primary 
> 
>>  build artifact with a shaded one.
>>>>>>>>> 
>>>>>>>>>   Build 2 sees that nothing has changed, but 
> shade 
>>  doesn't know, and it
>>>>>>>>>   reshades, eating its own output with a ton of 
>>  messages.
>>>>>>>>> 
>>>>>>>>>   Can I fix this in shade with current 
> technologies?
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>    LieGrue,
>>>>>>>>>>    strub
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>    ----- Original Message -----
>>>>>>>>>>>    From: Anders Hammar 
>>  <and...@hammar.net>
>>>>>>>>>>>    To: Maven Developers List 
>>  <dev@maven.apache.org>; Mark Struberg
>>>>>>>>>   <strub...@yahoo.de>
>>>>>>>>>>>    Cc:
>>>>>>>>>>>    Sent: Monday, August 27, 2012 12:24 
> PM
>>>>>>>>>>>    Subject: Re: improving incremental 
> builds
>>>>>>>>>>> 
>>>>>>>>>>>>     +0 for auto detecting changed 
>>  scenarios. If someone changes a
>>>>>>>>>   profile or
>>>>>>>>>>>    the whole pom, then I'd expect he 
> 
>>  invokes a clean manually.  We
>>>>>>>>>   have to
>>>>>>>>>>>    document this expectation of course.
>>>>>>>>>>> 
>>>>>>>>>>>    What do others think of this? I'm 
> 
>>  thinking it would be awesome (but
>>>>>>>>>>>    maybe difficult) if plugins could 
>>  determine if its configuration has
>>>>>>>>>>>    changed, and then handle this 
>>  automatically. If there are to many
>>>>>>>>>>>    cases where a manual clean build is 
>>  required, I believe people will
>>>>>>>>>>>    continue to do "mvn clean 
>>  install" (which I see all the time
>>>>>>>>>   with
>>>>>>>>>>>    developers), which I think is what we 
> try 
>>  to get away from.
>>>>>>>>>>> 
>>>>>>>>>>>    /Anders
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>     LieGrue,
>>>>>>>>>>>>     strub
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>     ----- Original Message -----
>>>>>>>>>>>>>     From: Anders Hammar 
>>  <and...@hammar.net>
>>>>>>>>>>>>>     To: Maven Developers List 
>>  <dev@maven.apache.org>
>>>>>>>>>>>>>     Cc:
>>>>>>>>>>>>>     Sent: Monday, August 27, 
> 2012 
>>  9:57 AM
>>>>>>>>>>>>>     Subject: Re: improving 
>>  incremental builds
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      I already started 
> tweaking 
>>  the m-compiler-plugin and
>>>>>>>>>   found quite
>>>>>>>>>>>    scary
>>>>>>>>>>>>>     issues. There is e.g. 
>>  MCOMPILER-21 (open since 2005) which
>>>>>>>>>   prevents
>>>>>>>>>>>    incremental
>>>>>>>>>>>>>     build and would kick in in 
> your 
>>  scenario.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>     This is interesting. 
> I've 
>>  looked a bit at Mojo's JAXB
>>>>>>>>>   plugin in
>>>>>>>>>>>    the
>>>>>>>>>>>>>     context of detecting stale 
>>  generated files (i.e. need to
>>>>>>>>>   re-generate)
>>>>>>>>>>>>>     and it's similar to 
> this. It 
>>  would extremely nice if there
>>>>>>>>>   would be
>>>>>>>>>>>    a
>>>>>>>>>>>>>     common "framework" 
> for 
>>  handling incremental builds.
>>>>>>>>>>>>>     In addition to what's 
> been 
>>  mentioned in the jira (I just
>>>>>>>>>   browsed it
>>>>>>>>>>>>>     quickly), we have cases when 
> 
>>  includes/excludes change, the
>>>>>>>>>   sourceDir
>>>>>>>>>>>>>     changes, etc which should 
> trigger 
>>  cleanup and re-compilation.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>     /Anders
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      I talked about 2 
> scenarios
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      a.) all phases >= 
>>  package, e.g. mvn verify, mvn
>>>>>>>>>   install, ...
>>>>>>>>>>>    Here we
>>>>>>>>>>>>>     have an artifact on the disc 
> and 
>>  could test for the md5 of
>>>>>>>>>   them, right?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      b.) all phases < 
> package. 
>>  This is e.g. mvn compile or
>>>>>>>>>   mvn test.
>>>>>>>>>>>    In that
>>>>>>>>>>>>>     case we don't produce a 
>>  jar/war/ear/... artifact but only
>>>>>>>>>   get the
>>>>>>>>>>>    files on
>>>>>>>>>>>>>     the disk linked in 
>>  MavenProject#getProjectArtifacts()...
>>>>>>>>>   file(). This
>>>>>>>>>>>    is the
>>>>>>>>>>>>>     case where the 
>>  maven-compiler-plugin kicks in. I'm
>>>>>>>>>   currently in the
>>>>>>>>>>>    process
>>>>>>>>>>>>>     of rewriting big parts of 
> it, 
>>  mainly I introduced
>>>>>>>>>>>>>>        b.1 a check for 
>>  project.artifacts/project.testArtifacts
>>>>>>>>>   .file()
>>>>>>>>>>>    is a
>>>>>>>>>>>>>     local file path 
> .isDirectory() 
>>  and has files which are newer
>>>>>>>>>   (actually
>>>>>>>>>>>>    =)
>>>>>>>>>>>>>     than the buildStarted 
> timestamp.
>>>>>>>>>>>>>>        b.2 check whether 
> there 
>>  are any *.java (sourceincludes)
>>>>>>>>>   files
>>>>>>>>>>>    which are
>>>>>>>>>>>>>     newer than their class 
> files.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      In both cases I now 
> force a 
>>  FULL recompile of the module!
>>>>>>>>>>>    Compiling only
>>>>>>>>>>>>>     parts produced classes which 
> are 
>>  actually broken!
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      My approach is the 
>>  following: compiling a bit too much is
>>>>>>>>>   better
>>>>>>>>>>>    than
>>>>>>>>>>>>>     missing some files which 
> need 
>>  compilation. Because the later
>>>>>>>>>   is exactly
>>>>>>>>>>>    the
>>>>>>>>>>>>>     reason why noone uses mvn 
> compile 
>>  but always do a mvn clean
>>>>>>>>>   compile
>>>>>>>>>>>    nowadays. If
>>>>>>>>>>>>>     mvn compile is reliable, 
> then we 
>>  will end up being much faster
>>>>>>>>>   than an
>>>>>>>>>>>>>     unconditional full compile 
> on the 
>>  whole project!
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      LieGrue,
>>>>>>>>>>>>>>      strub
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      PS: We need to move all 
> our 
>>  plugins which still use the
>>>>>>>>>>>>>     plugin-testing-harness to 
> the 
>>  maven-invoker-plugin as the
>>>>>>>>>   test-harness
>>>>>>>>>>>    is broken
>>>>>>>>>>>>>     with sisu. (sisu changed the 
> 
>>  'container' field from
>>>>>>>>>   plexus
>>>>>>>>>>>    original:
>>>>>>>>>>>>>     protected to 
> 'private')
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      PPS: how do we maintain 
> the 
>>  plexus-compiler-utils stuff?
>>>>>>>>>   This
>>>>>>>>>>>    contains some
>>>>>>>>>>>>>     weirdo bugs which should get 
> 
>>  fixed...
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>      ----- Original Message 
> -----
>>>>>>>>>>>>>>>      From: Olivier Lamy 
>>  <ol...@apache.org>
>>>>>>>>>>>>>>>      To: Maven 
> Developers 
>>  List
>>>>>>>>>   <dev@maven.apache.org>; Mark
>>>>>>>>>>>    Struberg
>>>>>>>>>>>>>     <strub...@yahoo.de>
>>>>>>>>>>>>>>>      Cc:
>>>>>>>>>>>>>>>      Sent: Monday, 
> August 27, 
>>  2012 9:13 AM
>>>>>>>>>>>>>>>      Subject: Re: 
> improving 
>>  incremental builds
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>      Hi,
>>>>>>>>>>>>>>>      Sounds good idea 
> trying 
>>  to improve that.
>>>>>>>>>>>>>>>      My question: on 
> what is 
>>  based the md5 calculation ?
>>>>>>>>>>>>>>>      If people don't 
> use 
>>  'install' but only
>>>>>>>>>>>    'test'
>>>>>>>>>>>>>     (perso I use
>>>>>>>>>>>>>>>      that to
>>>>>>>>>>>>>>>      avoid too much io 
> with 
>>  jar creation etc..), so in
>>>>>>>>>   such case we
>>>>>>>>>>>    cannot
>>>>>>>>>>>>>>>      do md5 calculation 
> on 
>>  the produced artifact.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>      2012/8/26 Mark 
> Struberg 
>>  <strub...@yahoo.de>:
>>>>>>>>>>>>>>>>       Hi David!
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>       So your 
> idea is 
>>  to find the list of changed
>>>>>>>>>   modules
>>>>>>>>>>>    and
>>>>>>>>>>>>>>>>>       then build 
> that 
>>  list with -amd?
>>>>>>>>>>>>>>>>       Yes, kind of.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>       At the moment 
> mvn 
>>  -amd builds the dependents of
>>>>>>>>>   the
>>>>>>>>>>>    _current_
>>>>>>>>>>>>>     module. If
>>>>>>>>>>>>>>>      you use my example 
> and 
>>  change BeanA.java, then run
>>>>>>>>>   mvn -amd
>>>>>>>>>>>    from the
>>>>>>>>>>>>>     root module
>>>>>>>>>>>>>>>      you will see that 
> only 
>>  moduleA gets rebuild and
>>>>>>>>>   moduleB
>>>>>>>>>>>    remains
>>>>>>>>>>>>>     original.
>>>>>>>>>>>>>>>      Because moduleB is 
> not a 
>>  dependent of the root
>>>>>>>>>   module.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>       But yes, 
> I'm 
>>  completely with you that we
>>>>>>>>>   have most of
>>>>>>>>>>>    the
>>>>>>>>>>>>>     ingredients
>>>>>>>>>>>>>>>      in the maven 
> codebase 
>>  already. At least for the start
>>>>>>>>>   we could
>>>>>>>>>>>    easily
>>>>>>>>>>>>>     detect
>>>>>>>>>>>>>>>      changed build 
> results 
>>  and add those to the
>>>>>>>>>   'amd' list.
>>>>>>>>>>>    That
>>>>>>>>>>>>>     would
>>>>>>>>>>>>>>>      already be much 
> better 
>>  than what we have today imo.
>>>>>>>>>   And this
>>>>>>>>>>>    should be
>>>>>>>>>>>>>     pretty
>>>>>>>>>>>>>>>      easy to implement.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>       Indeed, what I 
> 
>>  proposed goes a bit beyond -amd.
>>>>>>>>>   I would
>>>>>>>>>>>    not only
>>>>>>>>>>>>>     check the
>>>>>>>>>>>>>>>      current build tree 
> like 
>>  -amd does (even if that would
>>>>>>>>>   be a
>>>>>>>>>>>    good start)
>>>>>>>>>>>>>     but
>>>>>>>>>>>>>>>      remember the md5 of 
> all 
>>  the dependencies of each
>>>>>>>>>   module
>>>>>>>>>>>    (simply store
>>>>>>>>>>>>>     them in a
>>>>>>>>>>>>>>>      file in ./target/) 
> And 
>>  if you find a dependency which
>>>>>>>>>   is not
>>>>>>>>>>>    in the
>>>>>>>>>>>>>     list (e.g.
>>>>>>>>>>>>>>>      after upgrade from 
> one 
>>  version to another) or has a
>>>>>>>>>   different
>>>>>>>>>>>    md5 (this
>>>>>>>>>>>>>     covers
>>>>>>>>>>>>>>>      SNAPSHOT versions) 
> , 
>>  then we could force a full
>>>>>>>>>   rebuild (mvn
>>>>>>>>>>>    -amd) of
>>>>>>>>>>>>>     this
>>>>>>>>>>>>>>>      module.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>       LieGrue,
>>>>>>>>>>>>>>>>       strub
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>       ----- Original 
> 
>>  Message -----
>>>>>>>>>>>>>>>>>       From: 
> David 
>>  Jencks
>>>>>>>>>   <david_jen...@yahoo.com>
>>>>>>>>>>>>>>>>>       To: Maven 
>>  Developers List
>>>>>>>>>>>    <dev@maven.apache.org>
>>>>>>>>>>>>>>>>>       Cc:
>>>>>>>>>>>>>>>>>       Sent: 
> Sunday, 
>>  August 26, 2012 8:34 AM
>>>>>>>>>>>>>>>>>       Subject: 
> Re: 
>>  improving incremental builds
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>       Is what 
> you 
>>  want different from what
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>       mvn -amd 
>>  moduleA
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>       does?  So 
> your 
>>  idea is to find the list of
>>>>>>>>>   changed
>>>>>>>>>>>    modules and
>>>>>>>>>>>>>     then
>>>>>>>>>>>>>>>      build that
>>>>>>>>>>>>>>>>>       list with 
> -amd?
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>       thanks
>>>>>>>>>>>>>>>>>       david 
> jencks
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>       On Aug 25, 
> 
>>  2012, at 1:32 PM, Mark Struberg
>>>>>>>>>   wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        Hi 
> folks!
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        After 
> a 
>>  short discussion with Kristian,
>>>>>>>>>   I've
>>>>>>>>>>>    created
>>>>>>>>>>>>>     a small
>>>>>>>>>>>>>>>      app with 2
>>>>>>>>>>>>>>>>>       modules 
> which 
>>  shows a few problems with
>>>>>>>>>   mavens
>>>>>>>>>>>    incremental
>>>>>>>>>>>>>     build logic.
>>>>>>>>>>>>>>>>>>        And 
> since 
>>  incremental builds do not
>>>>>>>>>   work well,
>>>>>>>>>>>    people use
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        $> 
> mvn 
>>  _clean_ install
>>>>>>>>>>>>>>>>>>        all 
> the 
>>  time.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        We 
> could 
>>  speed up the development
>>>>>>>>>   effort heavily
>>>>>>>>>>>    if we
>>>>>>>>>>>>>     make
>>>>>>>>>>>>>>>>>>        $> 
> mvn 
>>   install
>>>>>>>>>>>>>>>>>>       
>  (without 
>>  an upfront clean) more
>>>>>>>>>   reliable.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        The 
> sample 
>>  [1] consists of moduleA and
>>>>>>>>>   moduleB
>>>>>>>>>>>    with BeanA
>>>>>>>>>>>>>     and
>>>>>>>>>>>>>>>      BeanB
>>>>>>>>>>>>>>>>>       
> respectively.
>>>>>>>>>>>>>>>>>>        BeanB 
> has 
>>  a private BeanA field and
>>>>>>>>>   moduleB has
>>>>>>>>>>>    a
>>>>>>>>>>>>>     dependency on
>>>>>>>>>>>>>>>      moduleA.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        If I 
>>  change BeanA and just invoke mvn
>>>>>>>>>   install
>>>>>>>>>>>    then only
>>>>>>>>>>>>>     moduleA
>>>>>>>>>>>>>>>      gets
>>>>>>>>>>>>>>>>>       rebuilt. 
> We 
>>  currently do not rebuild
>>>>>>>>>   moduleB, but we
>>>>>>>>>>>    should do
>>>>>>>>>>>>>     to
>>>>>>>>>>>>>>>      create a
>>>>>>>>>>>>>>>>>       reliable 
>>  output.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>        In 
> fact, 
>>  the incremental build within a
>>>>>>>>>   single
>>>>>>>>>>>    module
>>>>>>>>>>>>>     already
>>>>>>>>>>>>>>>      works to some
>>>>>>>>>>>>>>>>>       degrees, 
> but we 
>>  must detect a change in
>>>>>>>>>   dependencies
>>>>>>>>>>>    and
>>>>>>>>>>>>>     trigger a full
>>>>>>>>>>>>>>>      rebuild
>>>>>>>>>>>>>>>>>       on all 
>>  depending modules. This could be done
>>>>>>>>>   by
>>>>>>>>>>>    storing the
>>>>>>>>>>>>>     md5 of all
>>>>>>>>>>>>>>>>>       dependency 
> 
>>  artifacts and compare them on the
>>>>>>>>>   next
>>>>>>>>>>>    build. If
>>>>>>>>>>>>>     the md5 of
>>>>>>>>>>>>>>>      a
>>>>>>>>>>>>>>>>>       dependency 
> did 
>>  change, then we need to build
>>>>>>>>>   the
>>>>>>>>>>>    module full
>>>>>>>>>>>>>     cycle.
>>>>>>>>>>>>>>>>>>        Other 
> 
>>  ideas are welcome. Slaps as well
>>>>>>>>>   if I
>>>>>>>>>>>    forgot some
>>>>>>>>>>>>>     obvious
>>>>>>>>>>>>>>>      stuff and
>>>>>>>>>>>>>>>>>       all works 
> well 
>>  already.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>       
>  LieGrue,
>>>>>>>>>>>>>>>>>>        strub
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>   ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>        To 
>>  unsubscribe, e-mail:
>>>>>>>>>>>    dev-unsubscr...@maven.apache.org
>>>>>>>>>>>>>>>>>>        For 
>>  additional commands, e-mail:
>>>>>>>>>>>>>     dev-h...@maven.apache.org
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>       To 
> unsubscribe, 
>>  e-mail:
>>>>>>>>>>>    dev-unsubscr...@maven.apache.org
>>>>>>>>>>>>>>>>>       For 
> additional 
>>  commands, e-mail:
>>>>>>>>>>>    dev-h...@maven.apache.org
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>       To 
> unsubscribe, 
>>  e-mail:
>>>>>>>>>   dev-unsubscr...@maven.apache.org
>>>>>>>>>>>>>>>>       For additional 
> 
>>  commands, e-mail:
>>>>>>>>>>>    dev-h...@maven.apache.org
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>      --
>>>>>>>>>>>>>>>      Olivier Lamy
>>>>>>>>>>>>>>>      Talend: 
>>  http://coders.talend.com
>>>>>>>>>>>>>>>     
> http://twitter.com/olamy 
>>  |
>>>>>>>>>   http://linkedin.com/in/olamy
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>   ---------------------------------------------------------------------
>>>>>>>>>>>>>>      To unsubscribe, e-mail: 
> 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>>>>>>>      For additional 
> commands, 
>>  e-mail:
>>>>>>>>>   dev-h...@maven.apache.org
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>     To unsubscribe, e-mail: 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>>>>>>     For additional commands, 
> e-mail: 
>>  dev-h...@maven.apache.org
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>>>>>>>     To unsubscribe, e-mail: 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>>>>>     For additional commands, e-mail: 
> 
>>  dev-h...@maven.apache.org
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>   ---------------------------------------------------------------------
>>>>>>>>>>>    To unsubscribe, e-mail: 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>>>>    For additional commands, e-mail: 
>>  dev-h...@maven.apache.org
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>   ---------------------------------------------------------------------
>>>>>>>>>>    To unsubscribe, e-mail: 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>>>    For additional commands, e-mail: 
>>  dev-h...@maven.apache.org
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>>>>   To unsubscribe, e-mail: 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>>   For additional commands, e-mail: 
>>  dev-h...@maven.apache.org
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>  ---------------------------------------------------------------------
>>>>>>>>   To unsubscribe, e-mail: 
>>  dev-unsubscr...@maven.apache.org
>>>>>>>>   For additional commands, e-mail: 
>>  dev-h...@maven.apache.org
>>>>>>>> 
>>>>>>> 
>>>>>>> 
> ---------------------------------------------------------------------
>>>>>>>  To unsubscribe, e-mail: 
> dev-unsubscr...@maven.apache.org
>>>>>>>  For additional commands, e-mail: 
> dev-h...@maven.apache.org
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
> ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>>  For additional commands, e-mail: dev-h...@maven.apache.org
>>>> 
>>>> 
>>> 
>>> 
>>> 
>> 
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>  For additional commands, e-mail: dev-h...@maven.apache.org
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to