maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Heinz Marbaise <khmarba...@gmx.de>
Subject Re: PoC: Life Cycle Range
Date Sun, 31 Jul 2016 11:03:57 GMT
Hi Robert,

On 7/31/16 12:20 PM, Robert Scholte wrote:
> On Sat, 30 Jul 2016 18:55:31 +0200, Karl Heinz Marbaise
> <khmarbaise@gmx.de> wrote:
>
>> The basic startpoint for this was a discussions about build pipelines
>> which I had which gave me the trigger to think about the life cycle
>> and asked myself: Is it possible to run only parts of the life cycle ?
>> And yes it's possible.... performance was not in my mind but of course
>> it is a point (and yes if all plugins behave correctly it would not be
>> neccessary at all)...
>>  The basic question is: Does it make sense to separate the life cycle
>> in build pipelines? At moment I would say No...but may be others have
>> different opinions.....
>>  On the other hand it would make things possible like to check first
>> the compilability of modules (and give very fast feedback to devs) and
>> afterwards run the tests...(within a second step of the pipeline)...
>>  I'm not sure in the end if it is something usefull ? Or may be I
>> don't have right use case for it?
>>   Yes also I'm aware that this would cause many headaches on the user
>> site if they get failures by using (if we would make such feature
>> available for users):
>>  mvn install..deploy
>>  For me it's clear why this does not work, but for the user this is a
>> different story...
>>   Kind regards
>> Karl Heinz
>>
>
> Hi Karl Heinz,
>
> I would say that the beauty of a lifecycle is that you can safely assume
> that everything upfront has been executed. (it's like starting your life
> at 21 and asking for your first bikes color... you're missing that
> information)

Yes I know the beauty of the lifecycle and the assumptions about that...


 >
I would expect that we could do more on the plugin-side to
> predict the requirement of executing it.

This one of the points which is very important the incremental behaviour 
of the plugins....for example resources plugin compiler-plugin has 
become very good but there are some issues...


At the moment my PoC shows me there are some advantages about executing 
only parts of the life cycle and makes things easier...for example just 
running Test:

mvn [test]

No need to do mvn -DskipTest=true etc.. or if you like to run only 
integration-tests...

mvn pre-integration-test..post-integration-test

instead of mvn -DskipTests=true verify ...

I don't like to add supplemental options (which I can't really remember; 
thank god for bash completion) to do simple things...

But the most important thing is that it shows me that there could be 
made some improvements...

And yes I know the above can fail if the compiled classes etc. are 
missing...(The advantages of the life cycle)..

My idea I had in mind was:

  If a users requires to run only parts of the life cycle (like [test])
  there could be some kind of checking for prerequisites and if those
  prerequisites are fulfilled this life cycle part can simply
  be executed.
  If there are some prerequisites are missing we could fail simply...
  (Just thinking about some possible solutions)..



> I would hope there are more elegant ways to solve your issues.

That's what I'm thinking about...and that's reason why I'm asking here 
to discuss this to get more ideas on this and may be we find better/more 
elegant ways together to solve/improve those things...

> e.g. I
> still like your scm-extension idea which detects the changed files and
> only executes those projects + "-am -amd".

Yes...this is true...


Kind regards
Karl Heinz

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


Mime
View raw message