On 30.08.2005 17:31, 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.
Did I mention that I hate tools needing changes in the subject they
should work on to make them work? The above scenario and the other
mentioned necessary restructurings were the reason why I ever were
against a change of the build system to Maven.
Ok, we really have a problem with our current build system. Nobody (me
included) started with another solution like Ant 1.6 or similar. The
Maven fraction started now to address the problem and I'm ok with it.
The above rant probably just shows I'm a smart-ass ;-)
Joerg