Setting up an Eclipse workspace


#1

I tried to load projects v.0.8 with Eclipse and received a number of error messages:
“Error while resolving the ivy instance for ivy.xml in ‘Fudge’:
Unrecognized variables in the Ivy settings file {workspace_loc:OG Platform/common/ivysettings.xml} Error while resolving the ivy instance for ivy.xml in 'Fudge': Unrecognized variables in the Ivy settings file {workspace_loc:OG Platform/common/ivysettings.xml}”
The error was the same for all projects.
ECLIPSE.txt states: “Sometimes IvyDE needs a kick to resolve/refresh artifacts” Does it refers to my problem? Could you provide some more information what kind of kick it requires?
Thanks


#2

This isn’t an error I can directly comment on, but we do sometimes see Eclipse/Ivy issues. Assuming that the installation instructions have been followed as documented (including installing IvyDE) here are some possible techniques to solve problems:

  • right click on the “ivy.xml [*]” Eclipse library in each project (the one with an icon that looks like books) and use the refresh or resolve option. Start with the lowest project with a problem, eg. Fudge or OG Util
  • close all the projects in Eclipse, and then reopen them, starting with just the two Fudge ones, then all the rest. You may also need to use “Refresh” and “Project/Clean”.
  • run “ant clean-lib clean publish-all-local” at the command line in the root OG-Platform, and then refresh in Eclipse (see http://forums.opengamma.com/forum/discussion/24/logging-error). You may also need to use “Refresh” and “Project/Clean”.

#3

Hi Stephen,
Thank you for looking at this issue. Unfortunately the tricks that you suggested did not help. Here are some details that may help to troubleshoot the problem:
I have Eclipse Classic 3.6.2. SDK bundle installed.
Installation details:

  • Apache IvyDE 2.1.0.201008101807-RELEASE
  • Eclipse Checkstyle Plug-in 5.3.0.201012121300
  • Eclipse SDK 3.6.2.M20110210-1200
  • Experimental Eclipse SDK Samples 3.3.0
  • TestNG 6.0.1.20110705_1511

An icon of “ivy.xml” file in the project tree does not look like a book. The icon looks the same as icon of any “*.txt” file. Right click on the icon and refresh did not help. Right click and resolve is not available for this item. A Right click->Ivy->Resolve option is available for a project, i.e. “Fudge”, however it did not help.

Closing, reopening, refreshing projects or running “Project->Clean” did not help. I always had the same issue as described above.

Running “ant clean-lib clean publish-all-local” or “ant clean-ivy-cache clean publish-all-local” did not help either.

At the same time running “ant publish-all-local”, “ant tests” or “ant jetty-debug” does not generate any error.

Thanks


#4

There should be two ivy.xml icons in the tree. The one with the text file and a second one looking like books (same icon as JRE system library). If you don’t see the book icon, you may be able to right click on the text icon as select “Add Ivy Library…” (just press finish in the dialog). If this looks possible, start with the lowest project, Fudge Java or OG Util and continue as necessary.

Also, did you run “ant init” as per the guidelines here - http://docs.opengamma.com/display/DOC/Obtaining+the+source+code ? I suspect that might result in the error message you are seeing.


#5

I selected “Add Ivy Library…” and received the same errors as I described above. It did not create a book icon.
My understanding is that running “ant init” requires only when source code is being downloaded from Git repository. I do not remember whether I ran “ant init” or not because I downloaded source code as a zip file. Anyway I ran “ant init” today, but it did not change anything. Finally I deleted entire OG-Platform folder, obtained source code from GitHub, ran “ant init”, “ant clone-or-pull”, “ant clean publish-all-local”, re-imported projects to Eclipse and … received the same error as I had before.


#6

Hi Mistral,

There are a few possibilities here, #3 is most likely I think.
0) Try removing the “<caches…” line in common/ivysettings.xml. It’s possible that you don’t have ${user.name} defined for some reason. If that doesn’t cure things, put it back.

  1. Did you import the Eclipse preferences file in common/ as per the instructions? It looks like you probably have, but I thought I’d check. To make sure, go to Preferences (either the Eclipse menu on a Mac or the File menu on Windows/Linux). There should be an entry for Ivy, with a sub-page for ‘Settings’. This should have the ivy settings path as ${workspace_loc:OG Platform/common/ivysettings.xml}.

  2. Did you import the OG-Platform project last, after importing the projects in projects/ first? i.e. is there definitely an OG-Platform project in your workspace?

  3. When you installed IvyDE, did you also install the Ivy plugin itself, or did you untick it? I’m not sure if it gets included automatically, but on my ‘Eclipse DSK Installation Details’ (the thing you get to by clicking the little installed software link when you’re Installing new modules) I have an entry for Apache Ivy (2.2.0.final_20100923). Do you have that?

I think the thing I’d suggest is uninstalling IvyDE and reinstalling it, making sure that ivy itself is installed. I think the reason why it’s not working is that the plug-in cannot see the ivy jar, which contains the default ivysettings.xml file, which our ivysettings.xml file refers to. Unfortunately I haven’t been able to replicate the problem by uninstalling myself as it seems to keep the jar files around even after uninstall, and removing them manually really upset Eclipse.

I hope that helps, and I’m sorry to hear you’ve been having so many problems getting up and running.

Jim


#7

Thanks Jim,

Good job. It was my fault. I forgot to import the top-level project. Finally I managed to run it with Eclipse.
By the way, I am running it on my corporate Windows Vista x32 laptop, RAM 4Gb. In order to run “ant test” I set junit.maxheap=1G in OG-Platform/common/build.properties
To run “ant jetty-debug” I set property name=“jvm.xmx” value=“1536m” in OG-Platform/projects/OG-Examples/build.xml

Thanks again.