Re: Blocker: http://repo1.maven.org/eclipse not existing.
What seems to be true is that if you go here, you get a message saying that browsing has been replaced by searching. However, if you do the normal translation of maven <groupId> to directory levels, in other words, if you look at one of the dependencies, for instance, one you said wasn't found: For example uimaj-ep-configurator depends on "org.eclipse.core:org.eclipse.core.variables:jar" in version "3.1.100" I see it exactly where it should be in the http://repo1.maven.org/eclipse; you should see it here: http://repo1.maven.org/eclipse/org/eclipse/core/org.eclipse.core.variables/3.1.100/ If the build is not getting this (which I'm guessing is the case, because you say "lots of errors because artifacts cannot be found" , then perhaps there is some other issue? -Marshall On 8/7/2011 11:00 AM, Richard Eckart de Castilho wrote: > Thanks for your exhaustive answer. Marshal. To avoid unnecessary discussions > I won't reply directly to most of the questions. Instead, I'll try to focus > on repeating and documenting the steps suggested by Marshal and try to use > clearer language to avoid misunderstandings. I have divided this mail into > three sections: > > I) Checking out UIMA - reproducing the steps Marshal explained in > his last mail > II) Running the CAS Editor - (trying to) run CAS Editor to run > III) Resume > > === I) Checking out UIMA === > > I've repeated your steps: > > 1) Just to make everything as clean as possible, I moved my settings.xml and > ~/.m2/repository out of the way. > >> * Marshal: get a brand new install of Eclipse 3.6.2. I put into it the >> subclipse plugin and the m2eclipse plugin. > 2) I fetched the Eclipse 3.6.2 Classic OS X 64bit Cocoa distribution from > http://www.eclipse.org/downloads/packages/eclipse-classic-362/heliossr2 > 3) I installed subclipse from http://subclipse.tigris.org/update_1.6.x > 4) I installed m2eclipse from http://m2eclipse.sonatype.org/sites/m2e > - Maven Integration for Eclipse (Required) 0.12.20110112-1712 > > Note: Eclipse 3.6.2 Classic is the one that includes all the PDE stuff, but > does not come with Subversive. > >> * Marshal: use a svn command-line client (not Eclipse) to check out >> ...uima/uimaj/trunk. > 5) I started a fresh workspace > 6) I checked the stuff out on the command line using > > svn checkout http://svn.apache.org/repos/asf/uima/uimaj/trunk uimaj-root > >> * Marshal: use Eclipse -> Import -> Maven -> Existing Maven Projects, and >> select the checkout directory. > 7) I started Eclipse and waited until the "Updating indexes" had completed. > 8) I imported the "uimaj-root" folder into which I had done the checking out. > >> * Marshal: after a while, it was all in, except that uimaj-core had an >> "error". > Now after a while Eclipse is done and there are lots of errors because > artifacts cannot be found. > > BLOCKER: A blocker for a new user at the moment seems to be that the > repository at "http://repo1.maven.org/eclipse" does no longer exist, and that > "http://repo1.maven.org/maven2" does not have the necessary versions of the > Eclipse JARs. For example uimaj-ep-configurator depends on > "org.eclipse.core:org.eclipse.core.variables:jar" in version "3.1.100" but > only the version "3.2.400.v20100505" is available > (http://search.maven.org/#search%7Cga%7C1%7Corg.eclipse.core.variables). I'll > work around this blocker by setting up a global mirror to our Artifactory in > Darmstadt which still has the necessary artifacts in its cache. > > 9) I remove the ~/.m2/repository, set up a global mirror in the settings.xml > accessing our Artifactory and repeat the steps 5-8. > > Now (after step 9) I have mostly the same experience as you, Marshal: there > are two errors, one in "uimaj-core" and one in "uimaj-tools", both due to > UimaVersion missing. > >> * Marshal: This I "corrected" by right clicking it, and saying maven -> >> update project configuration. This is because the "default" m2eclipse >> install doesn't run the step needed to generate some classes that project >> needs, but does run it when you say update-project-configuration. At this >> point, everything is showing no-errors. > 10) I run "Maven->Update project configuration". > > Now there are no build errors anymore. > This is the end of Marshal's story. > > I would like to point out, that there are errors in the Maven console though, > e.g. the one I had previously reported: > > 07.08.11 14:25:09 MESZ: Maven Builder: FULL_BUILD requireFullBuild > 07.08.11 14:25:09 MESZ: [INFO] Unpacking > /Users/bluefire/UKP/Workspaces/uima-experiment/uimaj-root/jVinci/target/classes > to > > /Users/bluefire/UKP/Workspaces/uima-experiment/uimaj-root/uimaj-ep-runtime/target/classes > with includes null and excludes:null > 07.08.11 14:25:09 MESZ: Build errors for uimaj-ep-runtime; > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack-dependencies > (unpackDependentJars) on project uimaj-ep-runtime: Error unpacking file: > /Users/bluefire/UKP/Workspaces/uima-experiment/uimaj-root/jVinci/target/classes > to: > /Users/bluefire/UKP/Workspaces/uima-experiment/uimaj-root/uimaj-ep-runtime/target/classes > org.codehaus.plexus.archiver.ArchiverException: The source must not be a > directory. > > I get this error in the Maven Console view whenever I do a "Project > Clean/Rebuild" in Eclipse on the uimaj-ep-runtime plugin. Try it and you'll > get it as well. > > === II) Running the CAS Editor === > > Now comes the part where I want to run the uimaj-ep-cas-editor project as an > Eclipse application. > > Step 11 (see below) does not work yet because the option "Run As->Eclipse > application" is not available. I had expected this, because m2eclipse did not > generate the PDE nature into the uimaj-ep-* projects. This also explains why > there are no plugin errors even though are no MANIFEST.MF files in the > uimaj-ep-* projects yet. There are two ways of fixing this: > > a) manually adding the PDE nature to the projects > b) running "mvn eclipse:eclipse" > c) installing the M2Eclipse OSGi development support, a.k.a > "m2eclipse-tycho" from http://m2eclipse.sonatype.org/sites/m2e-extras > > I chose c) because I don't like the way that "eclipse:eclipse" configures the > workspace. > > 10a) I installed "Tycho Project Configurators" from > http://m2eclipse.sonatype.org/sites/m2e-extras - 0.4.3.20101103-1630 > 10b) I run "Maven->Update project configuration". After the dust settles, > there are interestingly still no errors in the workspace. > Interestingly there are still no errors now, even though there are no > MANIFEST.MF files yet. > Now to step 11. > > 11) I right-click on the uimaj-ep-cas-editor project and select "Run > As->Eclipse application". > 12) Create a new project "test" > 13) Create a folder "text" > 14) Create a text file "test1.txt" in that folder with the content "This is a > test." > 15) Use "Import->UIMA Cas Editor/Document" to import the text file... > > Uh! There is no "UIMA Cas Editor" section in the imports. The CAS Editor > isn't there either. Looks like the bundles could not be resolved. > I open the run configuration "Eclipse Application" that was created in step 11 > I select "Launch with: plug-ins selected below only" > I select all of the plugins using the "Select All" button > I select "Validate Plug-ins" and get a number of problems like "Missing > Constraint: Import-Package: org.apache.uima...." > That's reasonable, because there are no MANIFEST.MF files yet. To generate > them, I have to run at least some "mvn process-classes". I choose to run the > full "mvn clean install" without tests and without docbook as mentioned in > one of my last mails. > > 10c) Right-click on the "uimaj" project and select "Run As->Maven build...". > - Enter as goal "clean install". Enter the profile "!process-docbook" to > disable docbook generation (unnecessary time any memory hog). > - Select "skip Tests". On the "Refresh" tab enable "Refresh resources upon > completion" and select "the entire workspace". > Interestingly there are still no errors now, even though the MANIFEST.MF > contain errors, but more on that later. > Now back to step 15. > > 15) Use "Import->UIMA Cas Editor/Document" to import the text file and select > "test/text" as the target folder > 16) Use "New->UIMA..." to create a type system descriptor so that we can open > the XMI file > > Ah, wait! We only ran the UIMA CAS Editor plugin. The Type System Editor > Plugin is not part of that setup. Closing the CAS Editor Eclipse application > to create a new run configuration that also includes the UIMA Tooling. > > 10d) Remove the "runtime-EclipseApplication" workspace > 10e) Open the run configuration "Eclipse Application" that was created in > step 11 > 10f) select "Launch with: plug-ins selected below only" > 10g) select all of the plugins using the "Select All" button > 10h) select "run" > Now back to step 16) > > 16) Use "New->UIMA..." to create a type system descriptor so that we can open > the XMI file > > Its still now there. OSGi says that the bundle is installed, but it is not > resolved: > > org.apache.uima.desceditor (2.3.2.SNAPSHOT) "UIMA Eclipse: > uimaj-ep-configurator: Descriptor Editor" [Installed] > > When I try to start it from the OSGi host console, I get: > > The bundle "org.apache.uima.desceditor_2.3.2.SNAPSHOT [258]" could not be > resolved. Reason: Missing Constraint: Import-Package: > org.apache.uima.jcas.jcasgenp; version="2.3.0" > > Looking at the MANIFEST.MF of uimaj-ep-configurator I find several odd things: > > - there are imports for a version 2.3 while it should be 2.3.2-SNAPSHOT > (the exports are correct btw.!) > - even packages from uimaj-ep-configurator are imported in version 2.3 > > That is the end of my story so far, because I currently can't figure out at > the moment, why the MANIFEST.MF files are broken. > > BLOCKER: As a last measure, I tried running a "mvn clean install" after > removing my ~/.m2/repository on a completely fresh checkout of UIMA. But this > also generates the broken package imports in the MANIFEST.MF. A JAR I had > downloaded from Jenkins with the build timestamp 20110606-1443 still contains > the correct import statements. > > === III) Resume === > > I managed to get a workspace without build errors using Marshal's procedure > described in section I). > I managed to run the CAS Editor after installing the M2Eclipse OSGi > development support (Tycho Project Configurators) and running mvn clean > install (without tests and docbook) to generate the MANIFEST.MF files. > > I could identify two real blockers that need to be addressed: > - Core dependencies of the UIMA Eclipse tooling seem to no longer available > on repo1, probably due to restructuring happening lately on Maven Central. > - Import-Package entries in the MANIFEST.MF files are generated with broken > versions (2.3 instead of 2.3.2-SNAPSHOT). > > The UIMA SDK build on Apache Jenkins is failed on 22.07.2011 13:01:25 and did > not run since then. I would have liked to download a build from there to see > if the Import-Package entries are correct there. > > Currently it seems not to be possible to checkout and run UIMA Tooling > Eclipse plugins or the CAS Editor without running "mvn clean install" or at > least "mvn process-classes" at some point. > It seems as running "mvn clean install" would also be necessary whenever > changes at the UIMA core framework are done, so that the changes are picked > up and repackaged into uimaj-ep-runtime. This is due to the fact that the > "unpackDependentJars" mojo of uimaj-ep-runtime produces an error when running > as part of an incremental m2eclipse build. It might be worth to consider > adding OSGi metadata to the core UIMA modules (uimaj-core, uimaj-tools, etc.) > and obsolete the uimaj-ep-runtime module and the "unpackDependentJars" mojo > in this way. It would also be good to have an integration test running as > part of the build to see at least if the Eclipse plugins all install and > resolve properly. > > -- Richard >
