Jun 23rd, 2006, 07:11 PM
Maven build: further separation of modules?
One of the issues I want to solve for the upcoming 1.0-M2 build is SWS-28: Maven2 build. People have been asking the Spring framework for proper Maven poms for quite some time now, and while we don't want to switch the core Spring framework to Maven2 yet, we decided to try it with Spring-WS.
Through its transitive dependency functionality, Maven2 can impose certain changes with respect to the modularization of the modules. For instance, the spring-oxm module currently has support for six different XML marshalling frameworks. However, most people only use one at the time, and manually have to add the specific dependency for the XML marshalling API they use (e.g. they have to add to add the jaxb-impl.jar).
When using Maven, we could make this easier by separating spring-oxm into different modules: one core spring-oxm module, and six different spring-oxm module, each with the exact dependencies necessary to work for a particular marshalling API (so spring-oxm-jaxb2 has a dependency to JAXB2, etc.) This means that if you use Maven2 yourself, you don't have to find the dependencies anymore.
The question is: which do you prefer? One hand, it's easy to have one spring-oxm jar which contains everything. On the other hand, it might be useful to further separate things.
Please let me know what you think.