Tested this with uimaFIT-v3 and ruta.
uimaFIT-v3 is also a Jenkins job - running ok.
For ruta testing, here are the changes I did to get it to build (including
running the junit and integration tests):
I started with the 2.6.0 tag - checked out from SVN (current release candidate)
1) change poms to 2.6.0-v3-SNAPSHOT
2) in ruta-parent: depend on the right versions.
<uimaVersion>3.0.0-alpha02</uimaVersion> <!-- not yet released, but is in
my local .m2 -->
<uimafit-version>3.0.0-SNAPSHOT</uimafit-version> <!-- build this first
:-) -->
<maven.compiler.target>1.8</maven.compiler.target> <!-- require Java 8 -->
<maven.compiler.source>1.8</maven.compiler.source>
3) ran the uima v3 migration tool on **ruta-basic-type**, and replaced RutaBasic
with new version (and deleted RutaBasic_Type - to prevent compile errors - the
xxx_Type classes are not used in UIMA v3).
To run the migration tool,
a) get a new Eclipse
b) install the UIMA V3 not-for-production-use v3 tools (includes runtime)
c) import Ruta into a workspace for this Eclipse
d) select the ruta-basic type in the package explorer
e) run UIMA Run V3 migrate JCas from sources roots
It generates the results into a temporary directory, the directory is in
the console log.
Check the results (if you want) by importing into a temp Eclipse project the
temporary directory,
and then using Eclipse's compare to compare (with each other)
converted/v2
converted/v3
Replace the original v2 version with the v3 version, and delete the _Type.java
file.
3) Some of the ep plugins need the version of the maven-bundle-plugin updated to
3.0.1; otherwise there are strange errors about missing dependencies. I'm not
sure why. It may have something to do with Java 8.
Plugins needing upgrading to 3.0.1 to avoid this issue are:
ruta-ep-example-extensions
ruta-ep-addons
ruta-ep-core-ext
ruta-ep-engine
ruta-ep-ide
ruta-ep-ide-ui
ruta-ep-textruler
I had issues in core uima with making **all** of the maven-bundle-plugin version
3.0.1 - everything appeared to work OK, but the building of the update site P2
repository for some reason left out some of the plugins. When I reverted back
to 2.3.7, for those, it worked. So this might take more investigation to get to
the underlying root causes.
4) I had to fix an (already reported) problem in ruta-ep-example-extensions
where the type system for NBSP's super type was incorrect. Changed in
example-projects/ruta-ep-example-extensions, the src/test/resources
/org/apache/uima /ruta/example/extensions /BasicTypeSystem.xml: supertype for
NBSP changed to org.apache.uima.ruta.type SPACE (was ...ANY).
5) [Enable test case logging] Because the default logging in core uima is a NOP,
add a dependency to 5 projects that want the v2-style logging for testing:
Note scope: test:
<!-- hook up to standard Java logger as back end -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<scope>test</scope>
</dependency>
To make this work without <version>, put the version info in the common
ruta-parent-pom in the <dependencyManagement> section:
<!-- hook up to standard Java logger as back end -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.24</version>
<scope>test</scope>
</dependency>
projects:
ruta-core
ruta-core-ext
ruta-maven-plugin
example-projects/ruta-ep-example-extensions
example-projects/ruta-maven-example
With these changes, I could build everything (including the junit and
integration tests) with mvn clean install.
-Marshall