You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Matteo Moci <mo...@gmail.com> on 2010/11/29 18:01:56 UTC

Re: compile sandbox to use AlchemyAPIAnnotator

Hello Marshall,
Tommaso helped me and the solution he found has the following steps,
that I leave here as documentation for others.
(anyway, I don't know if I solved the exact previous issue, but I just
made it to build the AlchemyApiAnnotator).

0. svn directory structure checkout
mkdir uima
cd uima
svn co http://svn.apache.org/repos/asf/uima/build/trunk/ uima-build/
svn co http://svn.apache.org/repos/asf/uima/uimaj/trunk/ uimaj/
svn co http://svn.apache.org/repos/asf/uima/sandbox/trunk sandbox/

I had to modify a bit the source code:
edit the file uima/uima-build/parent-pom/pom.xml
find the section
<groupId>org.apache.uima</groupId>
<artifactId>parent-pom</artifactId>
<version>2-SNAPSHOT</version>
<packaging>pom</packaging>
then, change the version from 2-SNAPSHOT to 1-SNAPSHOT

In the same file, scroll down to the section
<!-- build the PEAR -->
<plugin>
<groupId>org.apache.uima</groupId>
<artifactId>PearPackagingMavenPlugin</artifactId>
<version>2.3.0-incubating</version>
and change the version to 2.3.1-SNAPSHOT

1. build the uima-build with an empty maven local repository
cd uima-build/parent-pom
mvn clean install -Dmaven.repo.local=/tmp/uima1

2. build the uimaj-tests
cd uimaj/uimaj-test-util
mvn clean install -Dmaven.repo.local=/tmp/uima1

3. since uimaj-core depends from something that uimaj builds (i don't
know what exactly):
build uimaj and then uimaj-core
cd uimaj/uimaj
mvn clean install -Dmaven.repo.local=/tmp/uima1
cd uimaj/uimaj-core
mvn clean install -Dmaven.repo.local=/tmp/uima1

4. build the PearPackagingMavenPlugin
cd uimaj/PearPackagingMavenPlugin
mvn clean install -Dmaven.repo.local=/tmp/uima1

5. compile alchemy-annotator
first, i had to change the path to the parent-pom: maybe it will be
useless tomorrow because of the major changes the developers are
doing, but today for me it just worked:
edit the pom.xml and find the section
<parent>
<groupId>org.apache.uima</groupId>
<artifactId>parent-pom</artifactId>
<version>1-SNAPSHOT</version>
<relativePath/>
</parent>

change the relativePath to
<relativePath>../../uima-build/parent-pom</relativePath>
since the sandbox is in a different directory than the parent-pom.
Probably having uima-build subdirs and the sandbox components in the
same folder could avoid it.
I was a bit reluctant before doing that, since even the other poms of
the sandbox components are all like that, but in the end i had luck
with it! :)
Maybe it is an issue you developers are going to fix?

last, compile the alchemyapi:
cd sandbox/AlchemyAPIAnnotator
mvn clean install -Dmaven.repo.local=/tmp/uima1

now take a deep breath...
Hopefully it will help someone.

I received all the insights from Tommaso, that i thank once again for
being so kind.
I just tweaked things here and there and I added the fifth point.

Bye,
Matteo

On Mon, Nov 29, 2010 at 4:36 PM, Marshall Schor <ms...@schor.com> wrote:
> hmmm...
>
> The error message seems to indicate that the symbol IStartup can't be found, and
> the class file for org.eclipse.ui.plugin.AbstractUIPlugin can't be found.
>
> I deleted from my local maven repo the org/eclipse/ui node, and then ran mvn
> compile on uimaj-ep-debug.  It downloaded a bunch of stuff from the repos, and
> then successfully compiled uimaj-ep-debug.  Then I went looking for where these
> symbols were, and found them:
>
> IStartup: in
> org\eclipse\ui\org.eclipse.ui.workbench\3.2.1\org.eclipse.ui.workbench-3.2.1.jar
> AbstractUIPlugin:
> org\eclipse\ui\org.eclipse.ui.workbench\3.2.1\org.eclipse.ui.workbench-3.2.1.jar
>
> Are these artifacts in your local maven repo, at the same version?
>
> -Marshall Schor
>
> On 11/29/2010 6:11 AM, Matteo Moci wrote:
>> Hello,
>> I am trying to compile uima from the svn: the main goal is to be able
>> to use any component that resides in the sandbox, the
>> AlchemyAPIAnnotator in particular.
>> I know you are currently performing a redesign of the maven artifacts
>> dependencies, but I think that my build issues are not related to it.
>>
>> These are the steps that Tommaso suggested me: they work for him but
>> not for me, so I think I am missing something.
>>
>> 0. directory structure and checkout of latest uima sources from svn (i
>> did an svn up each day for the reasons already mentioned)
>> mkdir uima
>> cd uima
>> svn co http://svn.apache.org/repos/asf/uima/build/trunk/ uima-build/
>> svn co http://svn.apache.org/repos/asf/uima/uimaj/trunk/ uimaj/
>> svn co http://svn.apache.org/repos/asf/uima/sandbox/trunk sandbox/
>>
>> 1. building uima-build with a new empty maven repository
>> cd uima-build/parent-pom
>> mvn clean install -Dmaven.repo.local=/tmp/uima1
>>
>> 2. building uimaj with a new empty maven repository
>> cd uimaj/aggregate-uimaj
>> mvn clean install -Dmaven.repo.local=/tmp/uima1
>>
>> Following steps to build sandbox components are omitted, since after
>> this command, I get an error:
>> the build stops with an error on the eclipse dependencies.
>>
>> This is the command i used to execute just the failing target:
>> mvn clean install -rf :uimaj-ep-debug -Dmaven.repo.local=/tmp/uima1 -e
>>
>> [INFO] Reactor Summary:
>> [INFO]
>> [INFO] UIMA Eclipse: uimaj-ep-debug ...................... FAILURE [9.295s]
>> [INFO] UIMA Eclipse: uimaj-ep-jcasgen .................... SKIPPED
>> [INFO] UIMA Eclipse: uimaj-ep-configurator: Descriptor Editor  SKIPPED
>> [INFO] UIMA Eclipse: uimaj-ep-pear-packager .............. SKIPPED
>> [INFO] UIMA Eclipse: uimaj-ep-cas-editor ................. SKIPPED
>> [INFO] UIMA Eclipse: uimaj-ep-runtime .................... SKIPPED
>> [INFO] UIMA Eclipse: uimaj-eclipse-feature-tools ......... SKIPPED
>> [INFO] UIMA Eclipse: uimaj-eclipse-feature-runtime ....... SKIPPED
>> [INFO] UIMA Aggregate: aggregate-uimaj-eclipse-plugins ... SKIPPED
>> [INFO] Apache UIMA SDK Documentation - overview and setup  SKIPPED
>> [INFO] Apache UIMA SDK Documentation - references ........ SKIPPED
>> [INFO] Apache UIMA SDK Documentation - tools ............. SKIPPED
>> [INFO] Apache UIMA SDK Documentation - tutorials and user's guides  SKIPPED
>> [INFO] UIMA Aggregate POM aggregate-uimaj-docbooks: UIMA Base  SKIPPED
>> [INFO] UIMA Maven Plugin PearPackagingMavenPlugin ........ SKIPPED
>> [INFO] UIMA Base: uimaj-bootstrap: Bootstrap launcher .... SKIPPED
>> [INFO] UIMA Aggregate: aggregate-uimaj: UIMA Base ........ SKIPPED
>> [INFO] ------------------------------------------------------------------------
>> [INFO] BUILD FAILURE
>> [...]
>> [ERROR] Failed to execute goal
>> org.apache.maven.plugins:maven-compiler-plugin:2.3.1:compile
>> (default-compile) on project uimaj-ep-debug: Compilation failure:
>> Compilation failure:
>> [ERROR] /Users/mox/Dati/Progetti/shared_libraries/uima/uimaj/uimaj-ep-debug/src/main/java/org/apache/uima/ep_debug/DebugPlugin.java:[25,21]
>> cannot find symbol
>> [ERROR] symbol  : class IStartup
>> [ERROR] location: package org.eclipse.ui
>> [ERROR]
>> [ERROR] /Users/mox/Dati/Progetti/shared_libraries/uima/uimaj/uimaj-ep-debug/src/main/java/org/apache/uima/ep_debug/DebugPlugin.java:[31,51]
>> cannot find symbol
>> [ERROR] symbol: class IStartup
>> [ERROR] public class DebugPlugin extends Plugin implements IStartup {
>> [ERROR]
>> [ERROR] /Users/mox/Dati/Progetti/shared_libraries/uima/uimaj/uimaj-ep-debug/src/main/java/org/apache/uima/ep_debug/DebugPlugin.java:[59,38]
>> cannot access org.eclipse.ui.plugin.AbstractUIPlugin
>> [ERROR] class file for org.eclipse.ui.plugin.AbstractUIPlugin not found
>> [ERROR] String doneOnce =
>> JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(
>> [ERROR]
>> [ERROR] /Users/mox/Dati/Progetti/shared_libraries/uima/uimaj/uimaj-ep-debug/src/main/java/org/apache/uima/ep_debug/DebugPlugin.java:[63,33]
>> cannot find symbol
>> [ERROR] symbol  : method getPreferenceStore()
>> [ERROR] location: class org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin
>> [ERROR]
>>
>> In attachment you will find the entire debug log with -X.
>>
>> PS: Looking at the errors, i even tried to relaunch with the -U switch
>> to force snapshots update, but no luck.
>>
>> Do I have to download them separately?
>> Is there a way in which I can compile the sandbox using external
>> artifact repositories?
>>
>> Thank you,
>> Matteo
>