A thought for a solution:

Given that v2 versions of Ruta and uimaFIT should work with v3 at the binary
compatibility level, here's a thought on how to package things so that a single
"trunk" for these projects can support both v2 and v3.

v3 has different JCasGen classes.  Imagine a reworking of these projects so that
there's a separate jar-style artifact which has just the JCasGen classes. 
Following Maven conventions, these would be put into its own "pom" project.  But
there would be two of these, with maven project names like, for instance:
ruta-jcasgen-uv2  and ruta-jcasgen-uv3. 

The main project would have a dependency on xxx-v2, as it is built using Java 7
and uima v2 (to remain compatible with current users). 

The submodule structure of the top level project would build both.  The xxx-v3
would override Java to be Java 8 and would depend on uima v3.

The xxx-v3 would make use of some of the xxx-v2 "tests" (if this can be done -
not sure.) e.g. ruta-core, using v3.

If something like this could be made to work, it would allow keeping single
versions of trunk for uimaFIT/Ruta/ etc., while producing Maven artifacts that
deployments and/or other projects could depend on, with a choice of uv2 or uv3.

-Marshall

Reply via email to