[infinispan-dev] Maven structure

Manik Surtani manik at jboss.org
Wed Apr 1 08:27:29 EDT 2009


On 1 Apr 2009, at 13:21, Galder Zamarreno wrote:

>
>
> Manik Surtani wrote:
>> This stems from a discussion Adrian and I had about the maven  
>> module structure for Infinispan and how it could change to be more  
>> modular.
>
> What's the aim for making Infinispan more modular? Release individual  
> modules independently? Make it easier for people to select which  
> modules they need?

The last one.  They will not be released independently, but it helps  
consumers control bloat/dependencies.  E.g., if you have a maven  
project which just uses the core Infinispan API, you would just declare a  
dependency on infinispan-core.  If you also used a FileCacheStore, you  
need not add anything, but if you used a BdbjeCacheStore you would add  
a dependency on infinispan-cachestore-bdbje which in turn would pull down  
bdbje jars.

> Do you expect different people to own different modules?

You mean from a development perspective?  Not necessarily, although it  
may naturally work out that way for smaller modules.

>> /pom.xml <-- parent POM, used to build/test the entire project
>> /project <- project details such as team and common factors across  
>> all modules (Artifact Id: infinispan-project)
>> /distribution <-- aggregator POM to build a complete and coherent  
>> distribution (Artifact Id: infinispan-distribution)
>> /core <-- core code + tests.  (Artifact Id: infinispan-core)
>
> Shouldn't project/ and distribution/ just live under core/?

It could, but then you have issues where you may want to build/test  
just core versus the entire distribution.  There may be sense in  
combining project and core though, since project is just a common  
parent for all modules.

>
>
>> /cachestore/* <-- several sub-modules here, for cache stores that  
>> have external dependencies.  Such as JDBC, BDBJE, S3 so that  
>> external dependencies can be mapped separately.  Typical artifact  
>> ids: infinispan-cachestore-bdbje
>
> So, each sub-module would have pom.xml? Would there also be another  
> pom.xml at the root of cachestore/?

Maybe not at the root of cachestore.  The subdirs are just for  
organization and to make it clear that those modules are cachestore  
modules.

Cheers
--
Manik Surtani
Lead, JBoss Cache
http://www.jbosscache.org
manik at jboss.org




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20090401/213812a2/attachment-0001.html 


More information about the infinispan-dev mailing list