cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten Ziegeler <>
Subject Re: [2.2] Past, present and future of the maven build
Date Wed, 31 Aug 2005 06:27:20 GMT
Ralph Goers wrote:
> A word of caution. One thing we ran into with Maven 1 was that we ended 
> up splitting individual components into 3 parts; api, impl and test.  As 
> you start moving from one monolithic project into smaller subcomponents 
> which are compiled separately you will soon find that you have 
> circularity problems. The only good way to solve this is to use lots of 
> interfaces.  To some degree we already see this today where we have 
> blocks depending on each other. Test is split off because very often the 
> runtime dependencies are different than the compile-time dependencies.   
> In addition, the Cocoon samples often introduce dependencies that the 
> core code of the project or even the test cases don't need.
> So to summarize, I would suggest that it would be a good idea for each 
> "component" - be it core or a block - to have api, impl, test and 
> samples projects.
The nice thing we get with Maven (or more precisly with a separate build
for each block) is that each block *can* do it the way it wants. If it
makes sense for a block to have api and impl, it can have it - if not,
it don't need it. Although we should of course try to keep each and
every block with a similar structure.

Another nice feature of m2 is that you can define test dependencies,
these are dependencies that are only used for running the tests. The
final application does not depend on the artifacts. Junit is of course
the most prominent example here.


Carsten Ziegeler - Open Source Group, S&N AG

View raw message