On 25 May 2011, at 13:50, Scott Wilson wrote:

> Hi everyone,
> 
> I propose moving the JCR implementation out of the core server and into a 
> separate module that isn't built by default, but which can be included by 
> adding the module to Ivy.xml and configuring as usual using build.properties.

+1

> 
> The justification being:
> 
> - most implementations use the JPA persistence manager
> - the JCR implementation brings in a lot of extra dependencies
> - the JCR implementation isn't as well tested as the JPA implementation
> 
> In practice what I am proposing is:
> 
> - remove the org.apache.wookie.beans.jcr package from /src
> - create a new modules/jcr subproject with its own ivy.xml and build.xml and 
> LICENSE files
> - remove JCR dependencies from /ivy.xml
> - add a "Module loader" for getting JPA and JCR implementations dynamically 
> for Start.java.
> - create documentation page for using Wookie with JCR
> 
> One issue in doing this is that there is a two-way dependency:
> 
> - JCR relies on the core org.apache.wookie.beans classes in its classpath
> - to build and deploy Wookie with the JCR module in Ivy.xml means the JCR 
> module has to be already built and published
> 
> I'm not sure how to resolve this one, other than needing to build and publish 
> JCR first, then add the dependency to Wookie, then build Wookie. Any other 
> suggestions?
> 
> S

Reply via email to