ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wu, Stephen T., Ph.D." <Wu.Step...@mayo.edu>
Subject Re: Eclipse, Maven and JCasGen
Date Mon, 08 Oct 2012 14:26:23 GMT
> I just tried a fresh download and install and wasn't able to recreate the odd
> behavior:
> I think Steven Wu and Dima was in the process of trying it out as well;
> perhaps we could see what their experience has been as well.
Yeah I can't recreate it either.  See below for my setup.

It¹s much more minor but I did find that I had type system errors when I
checked out fresh from

I was able to get rid of those type system compile errors by alternating
between two steps (for all projects and also for the individual ones with
leftover errors):
  Maven > Update Project Configuration (or Update Dependencies)
  point to pom.xml and Run As maven install

I do have Build Automatically set, so I'm not sure why I got what seems like
the opposite behavior that Steve got.


Mac OSX 10.6.8
  Eclipse Java EE IDE for Web Developers Helios Release Build id:
  m2e - Maven Integration for Eclipse
  m2e - slf4j over logback logging (Optional)
  m2e connector for build-helper-maven-plugin
  m2e connector for mavenarchiver pom properties
  Maven SCM handler for Subclipse
  Subclipse (Required)    1.6.18
  Subclipse Integration for Mylyn 3.x (Optional)    3.0.0
  Subversion Client Adapter (Required)    1.6.12
  Subversion JavaHL Native Library Adapter (Required)    1.6.13
  Subversion Revision Graph    1.0.9

> My Alt setup:
> Mac OSX 10.7.4
>   Eclipse SDK 4.2.1.M20120914-1800 org.eclipse.sdk.ide null
>   m2e - Maven Integration for
> Eclipse org.eclipse.m2e.feature.feature.group Eclipse.org
> - m2e
>   m2e connector for
> build-helper-maven-plugin org.sonatype.m2e.buildhelper.fea
> ture.feature.group Sonatype, Inc.
>   m2e connector for mavenarchiver pom
> properties org.sonatype.m2e.mavenarchiver.feature.feature.
> group Sonatype, Inc.
>   Maven SCM Handler for
> Subversive org.sonatype.m2e.subversive.feature.feature.gro
> up Sonatype, Inc.
>   Subversive SVN 
> Connectors 3.0.0.I20120818-1700 org.polarion.eclipse.team.svn.connector.featur
> e.group Polarion Software
>   Subversive SVN Team
> Provider 1.0.0.I20120818-1700 org.eclipse.team.svn.feature.group Eclipse.org
>   SVNKit 1.7.5.v1 Implementation
> (Optional) 3.0.0.I20120818-1700 org.polarion.eclipse.team.svn.connector.svnkit
> 17.feature.group Polarion Software
>   UIMA Runtime 2.4.0 org.apache.uima.runtime.feature.group Apache Software
> Foundation
>   UIMA tools (includes
> Runtime) 2.4.0 org.apache.uima.tools.feature.group Apache Software Foundation
> ________________________________________
> From: Steven Bethard [steven.bethard@Colorado.EDU]
> Sent: Saturday, October 06, 2012 10:54 PM
> To: ctakes-dev@incubator.apache.org
> Subject: Re: Eclipse, Maven and JCasGen
> On Oct 6, 2012, at 8:15 PM, "Masanz, James J." <Masanz.James@mayo.edu> 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: ctakes-dev-return-520-Masanz.James=mayo.edu@incubator.apache.org
>> [ctakes-dev-return-520-Masanz.James=mayo.edu@incubator.apache.org] on behalf
>> of Steven Bethard [steven.bethard@Colorado.EDU]
>> Sent: Friday, October 05, 2012 4:27 PM
>> To: ctakes-dev@incubator.apache.org
>> Subject: Re: Eclipse, Maven and JCasGen
>> On Sep 28, 2012, at 9:58 AM, Steven Bethard <Steven.Bethard@Colorado.EDU>
>> 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.j
>>> casgen.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>

View raw message