Dr. Faust
Dr. Faust

Reputation: 1021

How Do You Upgrade From Eclipse Ganymede to Eclipse Galileo?

I have written an RCP application that contains numerous plugin-ins I have created using Ganymede version 3.4.2. I want to start using Galileo. When I try to execute my RCP application from the Workspace I created using Ganymede I get lots of errors like the following:

!SESSION 2009-09-09 10:41:33.907 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product com.bah.gs.arts.jekyll.product
Command-line arguments:  -product com.bah.gs.arts.jekyll.product -data C:\Workspace/../runtime-jekyll.product -dev file:C:/Workspace/.metadata/.plugins/org.eclipse.pde.core/jekyll.product/dev.properties -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.equinox.app 0 0 2009-09-09 10:41:35.469
!MESSAGE Product com.bah.gs.arts.jekyll.product could not be found.

!ENTRY org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE Bundle initial@reference:file:../../Common/plugins/org.eclipse.core.databinding_1.2.0.I20090604-2000.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.core.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.observable_[1.2.0,2.0.0).
!SUBENTRY 2 org.eclipse.core.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.property_[1.2.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE Bundle initial@reference:file:../../Common/plugins/org.eclipse.jface.databinding_1.3.0.I20090525-2000.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.jface.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.property_[1.2.0,2.0.0).
!SUBENTRY 2 org.eclipse.jface.databinding 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.observable_[1.2.0,2.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-09-09 10:41:35.500
!MESSAGE Bundle initial@reference:file:../../Common/plugins/org.eclipse.ui.workbench_3.5.0.I20090603-2000.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.ui.workbench 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.property_[1.2.0,2.0.0).
!SUBENTRY 2 org.eclipse.ui.workbench 2 0 2009-09-09 10:41:35.500
!MESSAGE Missing required bundle org.eclipse.core.databinding.observable_[1.2.0,2.0.0).


Why is upgrading from one Eclipse version to the next so painful?

Is there a systematic way of resolving the above issues?

Is there a "best practices" upgrade procedure available?

Thanks for your help.

After trying what VonC suggested I am still experiencing some problems.

This is the constraint part of the MANIFEST.MF for the RCP application:

Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0";resolution:=optional;visibility:=reexport,
 org.eclipse.ui;bundle-version="3.5.0";resolution:=optional;visibility:=reexport,
 org.eclipse.core.expressions;bundle-version="3.4.100";resolution:=optional;visibility:=reexport

What is the significance of the "visibility:=reexport" and "resolution:=optional" parameters?

Error messages:

org.eclipse.core.databinding
Missing Constraint:Required-Bundle: org.elclipse.core.databinding.observable;require-version="[1.2.0.2.0.0]"
Missing Constraint:Required-Bundle: org.elclipse.core.databinding.property;require-version="[1.2.0.2.0.0]"

Same two messages for:

org.eclipse.jface.databinding
org.eclipse.ui.workbench

Upvotes: 4

Views: 2907

Answers (2)

inspectorG4dget
inspectorG4dget

Reputation: 114035

I am using eclipse for developing code in Java, Python and PHP. I was using Ganymede to do all this, until I wanted to upgrade to Galileo. The upgrade was quite simple. These are the steps I followed:

  1. Back up the workspace somewhere where uninstalling Ganymede won't affect it.
  2. Copy all the software sites onto a text file and backup that text file with the workspace.
  3. Uninstall Ganymede.
  4. Install Galileo.
  5. In my case, the workspace had not been altered, and I pointed Galileo to the same workspace, so all my projects and files were still there.
  6. Update all the plugins and extensions in Galileo from the update sites noted in the text file.

At this point I had some trouble because of outdated versions of plugins / incompatibility issues of plugins with Ganymede and Galileo. However, some minimal Googling helped me fix these issues.

Galileo was one of the cleanest and most straightforward installs I have ever done and I never had to mess around with eclipse.ini

Upvotes: 0

Berin
Berin

Reputation: 75

The error you listed says that Galileo doesn't see all the plug-ins and libraries Ganymede and your program was using. Sorry for the non-answer below. Your alternative is fiddling with Galileo until it sees all your libraries and plug-ins.

What I would do is install Galileo side-by-side Ganymede and port your applications over one at a time. I'm assuming you are working under Windows, but the same techniques that I list here also work for Linux.

First, in theory, all you have to do to upgrade from Ganymede to Galileo is install Galileo over Ganymede. Believe that? Good. I don't either. So walk through Ganymede and note what plug-ins you have installed. Then install Galileo in a separate directory. Point the new install at your Java VM. Then install all your plug-ins. It's your choice how you do this.

Finally, I'd differentiate between source and Meta in your projects. Create a new project under Galileo and move only your source. Let Galileo re-build your meta.

Now, how to avoid all this pain next time: Version control. CVS, SVN, git... it doesn't matter what you use. Eclipse has a plug-in that supports them all. Then, next upgrade, simply import the source into a project in your new Eclipse installation. Much less painful, and you'll have much more control over your source.

Good luck.

Upvotes: 1

Related Questions