<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 1 Apr 2009, at 13:21, Galder Zamarreno wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br><br>Manik Surtani wrote:<br><blockquote type="cite">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.<br></blockquote><br>What's the aim for making Infinispan more modular? Release individual modules independently? Make it easier for people to select which modules they need?</div></blockquote><div><br></div><div>The last one. &nbsp;They will not be released independently, but it helps consumers control bloat/dependencies. &nbsp;E.g., if you have a maven project which just uses the core Infinispan API, you would just declare a dependency on infinispan-core. &nbsp;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.</div><br><blockquote type="cite"><div>Do you expect different people to own different modules?</div></blockquote><div><br></div><div>You mean from a development perspective? &nbsp;Not necessarily, although it may naturally work out that way for smaller modules.</div><br><blockquote type="cite"><div><blockquote type="cite">/pom.xml &lt;-- parent POM, used to build/test the entire project<br></blockquote><blockquote type="cite">/project &lt;- project details such as team and common factors across all modules (Artifact Id: infinispan-project)<br></blockquote><blockquote type="cite">/distribution &lt;-- aggregator POM to build a complete and coherent distribution (Artifact Id: infinispan-distribution)<br></blockquote><blockquote type="cite">/core &lt;-- core code + tests. &nbsp;(Artifact Id: infinispan-core)<br></blockquote><br>Shouldn't project/ and distribution/ just live under core/?</div></blockquote><div><br></div><div>It could, but then you have issues where you may want to build/test just core versus the entire distribution. &nbsp;There may be sense in combining project and core though, since project is just a common parent for all modules.</div><br><blockquote type="cite"><div><br><br><blockquote type="cite">/cachestore/* &lt;-- several sub-modules here, for cache stores that have external dependencies. &nbsp;Such as JDBC, BDBJE, S3 so that external dependencies can be mapped separately. &nbsp;Typical artifact ids: infinispan-cachestore-bdbje<br></blockquote><br>So, each sub-module would have pom.xml? Would there also be another pom.xml at the root of cachestore/?</div></blockquote><div><br></div><div>Maybe not at the root of cachestore. &nbsp;The subdirs are just for organization and to make it clear that those modules are cachestore modules.</div></div><div><br></div>Cheers<br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-infinispantal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-infinispantal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div>Manik Surtani</div><div>Lead, JBoss Cache</div><div><a href="http://www.jbosscache.org">http://www.jbosscache.org</a><br><a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"> </div><br></body></html>