On Oct 6, 2012, at 8:15 PM, "Masanz, James J." <[email protected]> wrote:
> Does it behave that way if you turn "Build Automatically" off?  Would that be 
> an OK work around for now?

Yes, that works, but it's a pretty inconvenient workaround. Also, Eclipse will 
turn it off for all projects, so I'd have to turn it on and off all the time 
(because I don't only work on cTAKES, obviously).

> Otherwise perhaps a post to UIMA's Users forum?

I'm not sure what I'd ask.

What we're doing right now (using <execute/> in the lifecycle mapping for 
exec-maven-plugin) is strongly discouraged by m2e:

http://wiki.eclipse.org/M2E_plugin_execution_not_covered#execute_plugin_goal

And it's guaranteed to run JCasGen on all java executions:

http://stackoverflow.com/questions/6691723/m2e-generated-code-with-exec-maven-plugin

So we know we're doing it wrong, and I'm getting exactly the behavior m2e 
promises when we do that. ;-)

If people are opposed to doing it the way m2e suggests (writing a 
jcasgen-maven-plugin and a connector, as is done in my patch), then I think the 
only alternative would be to use <ignore/> instead of <execute/> so that 
JCasGen never runs in Eclipse.

Steve


> 
> ________________________________________
> From: [email protected] 
> [[email protected]] on behalf 
> of Steven Bethard [[email protected]]
> Sent: Friday, October 05, 2012 4:27 PM
> To: [email protected]
> Subject: Re: Eclipse, Maven and JCasGen
> 
> On Sep 28, 2012, at 9:58 AM, Steven Bethard <[email protected]> 
> wrote:
>> I have Eclipse set to "Build Automatically" and I'm constantly seeing tasks 
>> running in the background in my Progress view that look like:
>> 
>> Compiling ctakes-type-system/target/generated-sources/...
>> Refreshing ctakes-type-system/target/generated-sources/...
>> 
>> These tasks run, complete and then immediately start again, and as a result, 
>> my Eclipse runs very slowly.
> 
> So this is still pretty crippling for me. The only way I have found to work 
> on cTAKES right now is to apply the patch I proposed. But every time someone 
> updates a pom.xml, I get merge conflicts and have to spend a bunch of time 
> updating the patch.
> 
> Any suggestions of what I can do in the meantime?
> 
> Or any progress on reviewing the patch in 
> https://issues.apache.org/jira/browse/CTAKES-65?
> 
> Steve
> 
>> I think the solution is to create a real jcasgen-maven-plugin and a proper 
>> m2e connector that only runs JCasGen when the type system has changed (or on 
>> project import, or if target/generated-sources/jcasgen is missing, etc.).
>> 
>> What do you all think? Does this approach sound okay? I have a working 
>> plugin and m2e connector, but I didn't want to just commit the change 
>> because if I do, everyone will have to install the m2e connector in their 
>> Eclipse environment. So I figured we should discuss it first.
>> 
>> Steve
>> 
>> P.S. For anyone was experiencing the same problem, could you try out the 
>> following fix?
>> 
>> (1) Apply the attached patch to cTAKES trunk, which uses the 
>> jcasgen-maven-plugin in the pom.xml files instead of the exec-maven-plugin 
>> and build-helper-maven-plugin:
>>   $ svn patch ctakes-jcasgen-maven-plugin.diff
>> 
>> (2) Open Eclipse, and refresh your cTAKES checkout. You should see a bunch 
>> of errors in the Problems view that look like "Project configuration is not 
>> up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix."
>> 
>> (3) Update the Maven projects as suggested.
>> 
>> (4) You should now see some new errors that look like: "Plugin execution not 
>> covered by lifecycle configuration: 
>> org.cleartk:jcasgen-maven-plugin:0.9.0:generate (execution: default, phase: 
>> generate-sources)"
>> 
>> (5) Install the m2e connector for the jcasgen-maven-plugin. Go to Help -> 
>> Install New Software…, add the update site 
>> http://cleartk.googlecode.com/git/jcasgen-m2e-connector/org.cleartk.plugin.jcasgen.m2e.repo/target/repository/
>>  and install the "m2e connector for JCasGen Maven plugin". Eclipse will 
>> restart.
>> 
>> (6) Update the Maven projects again, as in step (3). The errors should all 
>> be gone now.
>> 
>> Some things to try to make sure the fix worked:
>> 
>> (1) Check that  JCasGen is no longer be constantly running in the 
>> background. Go to the Progress view and make sure that eventually you see 
>> just "No operations to display at this time."
>> 
>> (2) Modify a few non-type-system files and and make sure (in the Progress 
>> view again) that JCasGen does not run.
>> 
>> (3) Modify a type system, and make sure that JCasGen *does* run. An easy way 
>> to check this is to change an annotation or feature name and make sure you 
>> got some new compile errors.
>> 
>> 
>> <ctakes-jcasgen-maven-plugin.diff>
> 

Reply via email to