Steven Bethard created UIMA-2471:
------------------------------------

             Summary: add a jcasgen-maven-plugin (and m2e connector)
                 Key: UIMA-2471
                 URL: https://issues.apache.org/jira/browse/UIMA-2471
             Project: UIMA
          Issue Type: New Feature
            Reporter: Steven Bethard


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/%[email protected]%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:

http://cleartk.googlecode.com/git/jcasgen-m2e-connector/org.cleartk.plugin.jcasgen.m2e.repo/target/repository/

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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to