Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-2471

add a jcasgen-maven-plugin (and m2e connector)

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.4.1SDK
    • jcasgen-maven-plugin
    • 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:

      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.

      Attachments

        1. jcasgen-maven-plugin.zip
          51 kB
          Steven Bethard

        Issue Links

          Activity

            People

              rec Richard Eckart de Castilho
              steven.bethard Steven Bethard
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: