Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
To properly use JCasGen in a Maven build, it would be nice to have a real Maven plugin dedicated to JCasGen. The current workaround is a bit complex: you have to use a uimaFIT wrapper of JCasGen plus the exec-maven-plugin and the build-helper-maven-plugin:
http://mail-archives.apache.org/mod_mbox/uima-user/201010.mbox/%3C4CC06F1D.3010206@ogren.info%3E
This workaround also interacts poorly with Eclipse. There's no m2e connector for the exec-maven-plugin, which means you have to add some configuration to your pom:
http://wiki.eclipse.org/M2E_plugin_execution_not_covered
And then the plugin will be executed on every build - even if you haven't modified they type system descriptor - which can be quite painful for large type systems.
Instead, I'd like to see a jcasgen-maven-plugin that allows you to write something like:
<plugin>
<groupId>org.apache.uima</groupId>
<artifactId>jcasgen-maven-plugin</artifactId>
<configuration>
<typeSystem>src/main/resources/TypeSystem.xml</typeSystem>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
This plugin would also have a corresponding m2e connector that only runs JCasGen when the type system file changed.
I spent some time trying to put a first draft of these two things together. Here's a jcasgen-maven-plugin:
http://cleartk.googlecode.com/git/jcasgen-maven-plugin/
And here's an m2e connector for that plugin:
http://cleartk.googlecode.com/git/jcasgen-m2e-connector/
If you'd like to try them out, I've deployed the jcasgen-maven-plugin to Maven Central:
http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22jcasgen-maven-plugin%22
And I've created an Eclipse update site for the m2e connector:
The pom XML snippet I gave above should work, except that the group is "org.cleartk" instead of "org.apache.uima".
Is there any interest in this? I'd be happy to help transition the code over to Apache if others would like to see this as part of the UIMA distribution.