Ralph Goers wrote: >>> /src >>> /blocks >>> /cforms >>> /api >>> pom.xml >>> /impl >>> pom/xml >>> /samples >>> pom.xml >>> /test >>> pom.xml >>> >>> >> > Why would they be explicitly excluded? From my experience that only > happens when you specify -Dmaven.test.skip.
That's only true when the tests are inside of the module. Given above structure, you would have to run "mvn package" 4 times, once in each directory, to package everything in the module. If you keep the tests inside of the module, they will get run automatically when packaging the module *unless* specified otherwise. >> In maven2 you can have a dependency on a project. ATM all blocks depend >> on the cocoon-core block/project so if we bump a library's version >> number there it automatically trickles down to all blocks. >> >> > OK. Does that mean that the core has to have all the dependencies that > all the blocks have even if it doesn't use them directly? That would be > silly. > That would be silly indeed. The cocoon-core module has all the modules that the cocoon "core" needs. All blocks depend on cocoon-core, and in addition to that they declare their own dependencies. Now it is entirely possible that block A relies on version 1.0 of a library, whereas block B relies on 0.9a , I think this was your point. Now when you package these together in a war, maven has to choose. I think ATM it just picks whatever came first during dependency scanning, but I'ld have to check this. After osgi we won't even care about this case anymore. I will start a page in Daisy, [Mavenization], explaining the current structure. Jorg