Hi, just as a follow-up to this, I found a solution to this that works for me. Here's the relevant POM snippet, in the hope that it will be useful for others:
[...]
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.apache.uima.tools.jcasgen.Jg</mainClass>
<arguments>
<argument>-jcasgeninput</argument>
<argument>desc/yourTypeSystem.xml</argument>
<argument>-jcasgenoutput</argument>
<argument>src/main/java</argument>
</arguments>
</configuration>
</plugin>
[...]
This will run JCasGen prior to the compile phase, ensuring that build
dependencies are satisfied. JCasGen is run without the merge capability,
so manual changes to the generated Java files will be lost.
Best,
Ramon
Александър Л. Димитров schrieb:
> Hello,
>
> I'm currently working on a distributed project involving UIMA. At this stage,
> sometimes modifications to the UIMA descriptor files are absolutely necessary
> and, unfortunately, this confuses our VCS. Whenever JCasGen is run from within
> Eclipse or similar, it updates *all* generated class files, which leads the
> VCS
> to treating them as new commits. The problem here is, when editing the
> descriptors on different branches, while the merging of the descriptor files
> goes well most of the time, the merging of the class files fails most of the
> time. This leaves the merger with several dozen conflicts.
>
> The current policy is to then just delete those files and run JCasGen on the
> merged branch. Of course, the actual problem here is, that one shouldn't
> really
> track those files in the first place.
>
> But the matter is slightly more delicate. After checking out the project from
> version control, the project should be readily compilable, without further
> setup. That's why we're using Maven to fetch all dependencies and automate the
> build process. Without having these files in source control, they have to be
> generated first.
>
> So the real question is: is there any way to run a JCasGen from within the
> Maven
> build? Probably a plugin? Of course, one could just spawn a process to call
> org.apache.uima.tools.jcasgen.Jg, but I wanted to ask if such a thing already
> existed.
>
> Thanks,
> Aleks
signature.asc
Description: OpenPGP digital signature
