incubator-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
https://svn.apache.org/repos/asf/incubator/ctakes/trunk

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.

stephen


Mac OSX 10.6.8
  Eclipse Java EE IDE for Web Developers Helios Release Build id:
20100617-1415
  m2e - Maven Integration for Eclipse    1.0.100.20110804-1717
org.eclipse.m2e.feature.feature.group
  m2e - slf4j over logback logging (Optional)    1.0.100.20110804-1717
org.eclipse.m2e.logback.feature.feature.group
  m2e connector for build-helper-maven-plugin    0.14.0.201109282148
org.sonatype.m2e.buildhelper.feature.feature.group
  m2e connector for mavenarchiver pom properties    0.14.0.201109282148
org.sonatype.m2e.mavenarchiver.feature.feature.group
  Maven SCM handler for Subclipse    0.13.0.201107071330
org.sonatype.m2e.subclipse.feature.feature.group
  Subclipse (Required)    1.6.18
org.tigris.subversion.subclipse.feature.group
  Subclipse Integration for Mylyn 3.x (Optional)    3.0.0
org.tigris.subversion.subclipse.mylyn.feature.group
  Subversion Client Adapter (Required)    1.6.12
org.tigris.subversion.clientadapter.feature.feature.group
  Subversion JavaHL Native Library Adapter (Required)    1.6.13
org.tigris.subversion.clientadapter.javahl.feature.feature.group
  Subversion Revision Graph    1.0.9
org.tigris.subversion.subclipse.graph.feature.feature.group

> 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 1.2.0.20120903-1050 org.eclipse.m2e.feature.feature.group Eclipse.org
> - m2e
>   m2e connector for
> build-helper-maven-plugin 0.15.0.201207090124 org.sonatype.m2e.buildhelper.fea
> ture.feature.group Sonatype, Inc.
>   m2e connector for mavenarchiver pom
> properties 0.15.0.201207090125 org.sonatype.m2e.mavenarchiver.feature.feature.
> group Sonatype, Inc.
>   Maven SCM Handler for
> Subversive 0.13.0.201208191312 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>
>> 
> 


Mime
View raw message