When I first started playing with UIMA, I let the eclipse plugin run jcasgen for me automatically whenever I changed the type system descriptor. After a few days of that, I noticed that my src folder was full of definitions of obsolete classes, corresponding to types I had once defined and then either renamed or deleted. It was a pain to clean them all up, because they were scattered among files that I had written by hand, so I had to inspect each file under src and decide whether to delete it or not.

In order to avoid that, I now tell jcasgen to create its output in a separate directory, say jcasgen-src instead of src. My ant "clean" target wipes out that directory.

The problem with this solution is that now eclipse can't build my project. As far as I can see, the jcasgen output directory can't be configured in the eclipse plugin. So I have to remember to run an ant task each time I change my type system (at least until I get around to figuring out how to write a custom eclipse builder).

Do people have other strategies for cleaning up obsolete jcasgen output?

Obviously if you modify the jcasgen output by hand, you can't use my strategy, otherwise "clean" would wipe out your work. But is there any reason to modify the jcasgen-generated class definitions, rather than leaving them as they are and subclassing them?

-Aaron

Reply via email to