MODE-1368 Removed all legacy modules no longer needed in 3.x ModeShape 3.x will not need a number of the 2.x modules. In particular: - since 3.x will only have an AS7 kit, the AS5 or AS6 artifacts were removed - all the connectors were removed, since they're no longer used - the connector benchmark tests module was removed, replaced by our new performance test suite - the JPA DDL generator utility has been removed - the 'modeshape-graph', 'modeshape-repository', 'modeshape-search-lucene' and 'modeshape-clustering' modules have all been removed, since the new 'modeshape-jcr' module no longer uses them - the DocBook modules were removed and are replaced by the Confluence space - the two JDBC modules were moved out of the 'utils' directory to top-level modules
The build still works, but not all components have been included in the build. This is because the query functionality doesn't yet work, so quite a few web and JDBC driver modules all depend on this.
The assembly profile has not yet been changed or corrected.
MODE-1289 New approach for storing/caching JCR content This is the first commit to start the 3.0 effort, which involves a major change to how the JCR layer stores and caches information. The new approach is based upon Infinispan and uses Infinispan's cache loaders for persistence, and JSON-like documents (that are in-memory structures not needing to parsed/written) are used to store information for each node.
There are several new Maven modules: - modeshape-jcr-redux - modeshape-schematic
The 'modeshape-jcr-redux' module will eventually replace the 'modeshape-jcr' module once the implementation is far-enough along. And the 'modeshape-schematic' module will likely move into the Infinispan project, so that needs to remain separate.
Although it may seem strange and unkempt to have the new JCR implementation in a new module, doing so means that we can continue to rebase from 'master' (and the 2.7 work) for at least some time. When the new module becomes complete enough, we'll move it and replace the existing 'modeshape-jcr' module. It's also convenient to have both the old and new implementations around in the same codebase.
The build was changed to focus upon the (few) modules that are oriented around the new implementation. So the following can be used to build the newer codebase:
mvn clean install
However, the build has a new Maven profile called "legacy" that can be used to build the old modules. We kept this to make sure that any rebasing can be compiled and verified. For example, to build everyhing, including the new modules and the 2.x-style modules, use the following command:
mvn clean install -Plegacy
As the newer 'modeshape-jcr-redux' progresses and other modules (e.g., sequencers, web, jboss, text extractors) are converted to use the new module, they should be moved from the 'legacy' profile into the main set of modules in the top-level 'pom.xml'