Hi Robert,

On 7/31/16 12:20 PM, Robert Scholte wrote:
On Sat, 30 Jul 2016 18:55:31 +0200, Karl Heinz Marbaise
<[email protected]> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to