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.
/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)
/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
/tree <-- for the tree cache API (Artifact Id: infinispan-tree)
/fine-grained <-- for the fine-grained API (Artifact Id: infinispan-fine-grained)
Cheers