maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christophe Thiebaud <christophe.thieb...@dag.cloud>
Subject Re: AW: Find the correct build order of a set of distinct butinterdependent projects
Date Tue, 22 Mar 2016 08:53:33 GMT
(sorry for the resend)

Hi Bernd and Elliot,

thanks for the feedback. Happy to know from Elliot that "multi-module
pom generation" has been a viable solution for him. And I must
definitely have a look at how Jenkins Maven Jobs may fit in the
picture, as suggested by Bernd.

Hi maven developers,

I take the liberty to forward this thread to the developer list, in
the hope to get further insights from specialists.

quick summary is here : http://dag.cloud/docs/theproblem.html

Thanks!
Christophe

> On 2016-03-16 00:21, Bernd Eckenfels wrote:
>> Hello,
>> 
>> It might not completely solve your problem (as it does not observe
>> versions) but with Jenkins Maven Jobs it builds dependent jobs
>> automatically.
>> 
>> If you follow a release strategy it is however not something you need
>> in practice as you have to step through the dependencies to release
>> them anyway.
>> 
>> And when your system matures and you start to refacture dependencies
>> they start to change over time.
>> 
>> Maybe stuffing all in a graph database would help you (jqassist.org).
>> 
>> Gruss
>> Bernd
>> --
>> http://bernd.eckenfels.net
>> 
>> Von: Elliot Metsger
>> Gesendet: Dienstag, 15. März 2016 23:27
>> An: Maven Users List
>> Betreff: Re: Find the correct build order of a set of distinct
>> butinterdependent projects
>> 
>> Hi Christophe,
>> 
>> Just chiming in with my experience; we used to have a complex build, 
>> and I
>> used approach #2.  I don't remember the total number of projects in 
>> the
>> reactor (it was less than 100 for sure, but probably more than 20), 
>> and
>> that worked fine.
>> 
>> I wasn't aware of the Maven event spy approach.  That sounds like a 
>> tidy,
>> albeit more technical, solution.  I don't think we were able to
>> successfully use the dependency plugin, but this was a few years ago 
>> and
>> the plugin may have advanced since then.
>> 
>> On Tue, Mar 15, 2016 at 4:17 PM, Christophe Thiebaud <
>> christophe.thiebaud@dag.cloud> wrote:
>> 
>>> Hi all,
>>> 
>>> The problem is all in the title :
>>> 
>>> How to find the correct build order of a set of distinct but
>>> interdependent projects.
>>> 
>>> Distinct means that each project lives in its own source repository, 
>>> each
>>> project build separately.
>>> 
>>> Interdependent means that projects may be dependent upon each other.
>>> 
>>> So the question is:
>>> 
>>>    - which projects depends on which other projects?
>>> 
>>> in order to be able to build the projects still separately, but in 
>>> the
>>> correct order.
>>> 
>>> e.g. slf4j and logback: which one depends on the other? Which one do 
>>> I
>>> need to build first?
>>> 
>>> I thought of the following four possible solutions, and I have 
>>> experience
>>> with the first three:
>>> 
>>> 1. The poor man’s solution : hardcode the order
>>> 2. Generate a multi-module pom file that contains all projects as 
>>> modules
>>> 3. Collect build-time repository events with a maven event spy
>>> 4. Collect pom file dependency information with the dependency plugin
>>> 
>>> to avoid a loooong mail, the options are further detailed here :
>>> http://dag.cloud/docs/theproblem.html
>>> 
>>> This is so generic a problem that I am sure you've already been faced 
>>> with.
>>> 
>>> I'd be glad to get some piece of advice from the community.
>>> 
>>> For instance, is somebody aware of any existing open source toolset 
>>> around
>>> this problem?
>>> 
>>> Concerning option #4, I am under the impression (from blurred 
>>> remember of
>>> some mail exchanges on this list long time ago) that the 
>>> dependency-plugin
>>> tree goal implementation is not congruent with the actual aether
>>> implementation, which, if true, would be a show stopper. Can somebody
>>> confirm/infirm ?
>>> 
>>> Thanks!
>>> Christophe
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>> 
>>> 


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


Mime
View raw message