Plugins from Different Eclipse Configuration are not Isolated - eclipse

I'm sorry for a pretty vague title, didn't want to turn it into a paragraph.
So, I am using Eclipse Platform 3.7.1 (the one with absolutely no plugin preinstalled), the latest version so far, and I have discovered that by taking advantage of its -configuration option, I can choose which plugins are running and which are not. It was going well enough until I started installing the plugins.
But allow me to explain my setup first, I am using Ubuntu linux by the way. Using only one eclipse installation, my installation is arranged in the following order:
Installation:
~/bin/opt/eclipse
eclipse (executable binary)
~/bin/eclipse -> opt/eclipse/eclipse
Configurations:
~/.eclipse/configuration
web-php
android
java
Installing JDT and ADT while running eclipse and using the android configuration directory posed no problems. So I moved on to the php configuration and tried to install PDT (the JDT and ADT plugins were not activated here, so far so good). The problems came along after the installation, not only was I not able to use PDT, I noticed in the Installation Details that JDT, ADT, PDT were installed but not activated. Instead, they were all activated in the android configuration. To make it worse, when I chose the Java configuration, I could not even use JDT.
My expectations however were when using:
eclipse -configuration ~/.eclipse/configuration/android
was that only the JDT and ADT were activated and when using:
eclipse -configuration ~/.eclipse/configuration/web-php
only the PDT is activated
Regarding the java configuration however, it's probably another problem altogether but if there was help on how to activate a plugin installed from another configuration, I'd deeply appreciate it.

Also, see Single Eclipse install with multiple Configurations and Workspaces
In a p2 world there are extra steps to isolate bundles from each other. You need not just a different configuration directory, but a different p2 profile.

Have a look at the config.ihi in each of your configurations. There are two ways that Eclipse identifies the plugins to use, the ..updateconfigurator, which simply uses all of the plugins in the plugins folder, and the ..simpleconfigurator which uses the bundles.info file in that's in the org.eclipse.equinox.simpleconfigurator folder (which is maintained by the p2 installer). Make sure this file is what you expect.
And also, you might want to start with the -clean option if you are using the updateconfigurator to have it rescan all of the plugins (otherwise it remembers in some hidden cache).
Make sure when you installed everything that you had your -configuration set to the right place for the different things you installed.
I hope some of this points you in the right direction.

Related

Eclipse entries under launch group are missing

I do C++ embedded development for the NetBurner platform. They have plug-ins that customize Eclipse and in addition to a build tool-chain they add a Launch Group under the Run Configuration area. Everything was working fine under Indigo (32 bit) when I decided to install Subclipse (big mistake). As soon as the install finished I could no longer run my existing configurations successfully. When I went into the Run Configurations area I noticed the Launch Group I used to use was missing. Here is what it looked like earlier yesterday:
Here's what it looks like today:
Things I've tried
First I uninstalled the Subclipse plugins using the
Help->About->Installation Details and then selecting them one at a
time, Uninstalling and restarting after each uninstall. No change.
Then I unpacked the original Eclipse Indigo/CDT 32 bit download to a
fresh folder. Copied over the NetBurner plugins from the zip I got
from the manufacturer. No change.
Launched with different Workspaces, no change.
Launched a Galileo version, it uses older plug-ins, and it still
works.
Copied older plug-ins into Indigo, the older NetBurner launcher
shows up (but it doesn't really work with Indigo)
Removed the older plug-ins put in the newer ones, old NetBurner
launcher went away new launcher does not show up.
Tried removing the
{Workspace}.metadata.plugins\org.eclipse.debug.core.launches - no
change.
Interestingly even though launches has many .launch files that should show up under Run Configuration, nothing shows up.
One other strange (possibly relevant) thing is that icon for the NetBurner Perspective went away, now it just has <NetBurner> as the text and a generic perspective icon.
I can still cross-compile and build for the NetBurner (i.e. the build toolchain still works), it's just the ability to use run configurations that seems to be missing.
I'm out of ideas, does anyone know of some global setting that sits outside the workspace and outside the Indigo installation folder that could be causing this?
I'm running on Win 7 64 bit ultimate, I run the 32 bit version of Indigo because the 64 bit doesn't appear to work with the NetBurner plug-ins. I've also disabled the two Mylyn tasks under General->Startup and Shutdown (they seemed to cause many Permgen memory crashes). This is the same setup I had working flawlessly yesterday.
Update
I also noticed that only 3 of the 4plug-ins are showing up in the Installation Details plug-in pane. The nbeclipse.core_2.6.0.jar is in the eclipse plugin directory but not showing as loaded. So I guess I know now the problem is the plug-in isn't loading but I don't know why or how to get it to load, or what subclipse could have changed that would cause this.
I suspect that the Subclipse installation may have caused an update to some other plugin(s) that it depended on (keep in mind the transitive nature plugin dependency resolution; if you're installing plugin A and it requires a certain version of Plugin B that you don't have, Plugin B will be installed or updated to that version). In doing so, maybe the NetBurner plugin can no longer load because its declared dependencies are no longer met (ie, it depended on an earlier version and does not tolerate a later version).
You can use the OSGi Console to help determine why a plugin is not loading. Here are a couple of references that should help:
http://grep.elasticpath.com/community/techblog/blog/2010/05/27/eclipse-plugins-and-the-osgi-console
http://www.vogella.com/articles/OSGi/article.html#osgiconsole
By the way, you can not just copy plugins into an Eclipse installation and expect them to work. For several versions now, Eclipse has not supported that ability. You must use Help > Install New Software or File > Import > Install > From Existing Installation to install plugins. Ask the vendor if they have an update site to install from; like I said above, simply dropping things into Eclipse's plugins folder is not supported any more, it won't work. Other than the vendor providing an update site, the only other option is to use the dropins folder, as described here.

Boostrapping new Eclipse machines with all the Plugins

Bootstrapping Eclipse on new machines is such a time consuming process, you wind up asking yourself whether you really need each plugin. But there all handy, and help develop consistent habits.
Eclipse bootstrapping problems include:
Explaining / documenting what needs to happen
The actual time pasting in the right URLs and downloading
Version compatibility and dependencies
Eclipse likes to restart after each one
The changeover to the Eclipse Marketplace means that some plugins and instructions you find on the web tend to be inconsistent, depending on when they were written.
The Licenses... over and over and over... yes, yes, yes... I understand that the person installing needs to be aware of it, and have a chance to review them, but there's got to be a better way.
It'd be nice to have "patch file" (either binary or meta) that spells out what I want to add on top of stock Eclipse installation. I'd really like to find (or create) a 1 or 2 step process that sets up Eclipse, plus a favorite batch of plugins:
subclipse
m2eclipse
jetty support like runjettyrun
android sdk and plugin (or at least just the plugin)
aspectj
Web Objects / WOLiops
python, other langs
JVM Monitor, maybe EclEmma
probably a git plugin pretty soon.
Does command line maven help with any of this? It seems like its repository management would fit at least part of the functionality.
On a machine with an Eclipse installation matching your needs use File -> Export -> Install -> Installed software items to file. Import the generated file using the same menu on all other machines.
As Scott says, a good approach is to simply package a fully prepared Eclipse installation once all the plugins you need are installed. The downside is that you have to update most plugins afterwards.
Another option is to use Yoxos. With it, you can create a profile and configure it with all the plugins you need (and apparently Yoxos can do more than that).
Finally, this page might interest you concerning the configuration side of things.
Solution 1 is too search for more advanced Eclipse distributions.
For example, STS (Spring Tool Suite) comes with
AspectJ
EGit
m2e
(and of course) Spring IDE
One small trick can be done with m2e-android - Android Configurator for M2E Maven Integration. If installing it on clean Eclipse, it will also automatically resolve to install :
m2e
Android Developer Tools (ADT)

Many Eclipse installations, or how to install many development tools on one Eclipse?

HI all,
I have Eclipse installed with PDT (PHP Development tools).
I want to program in Java and C++, do I have to download whole Eclipse JDT and Eclipse CDT again, and have separate installations, or can I install "plugins" to handle Java and C++ ?
Thanks
Yes you can install the plugins into the same Eclipse installation. For Helios you can use the Update manager Help->Install New Software then select the Helios site and select C/C++ in Programming Lagnuages and so on. If there's something else you need you need to get the update URL and add a new site.
You can have one eclipse with all the plugins (and perspective). But that's tedious:
you'll have to find the plugin jars for each of the 'suites' and place it in the plugins dir. Sometimes they might not have an update site url
some plugins cause problems, sometimes mixing certain plugins cause problems - in short, the more plugins, the more likely your environment will crash
The way I'd suggest is to have a separate eclipse installation for each task. I myself have 3, for different sort of java development (one java, one flex, one for specific project with specific plugins)
Eclipse itself is perfectly stable and capable of supporting quite a lot of plugins. However if you are unlucky to need "crappy" plugins, there the problems being.

Installing eclipse Web Tools Platform (WTP) - update site does not work?

I'm trying to install the WTP (web platform tools) to my Eclipse installation so I can get the XSL transformations working. The base Eclipse they installed for me here was the plain Java IDE (the splash screen says "Ganymede" if that means anything). Looking at this site, the URL to get the download should be here: http://download.eclipse.org/webtools/updates/ ...But when I give that URL to the Eclipse update manager, I get an error telling me: "No repository found at http://download.eclipse.org/webtools/updates/"
Anyone else had this problem? Anyone know what might be up? Anyone know how to get the xsl-transform plugin installed?
EDIT:
I should have mentioned before that I want to find a way to do this without installing any new instances of Eclipse. This process will eventually be sent to several other developers who already have Eclipse (same version that I'm testing with) and I'd rather just do an in-place upgrade rather than have everyone go and install a new product.
UPDATE:
I found another plugin, Xcarecrows 4 XML which can also do XSL transforms. The interface is ugly and seems more than a little quirky, but it's also a small download, and at least it runs and transforms. Unless I can find an easy way to get WTP working, I'll probably just stick with this.
You can try and install WTP through the main Ganymede update site:
http://download.eclipse.org/releases/ganymede/
Or you can download the latest Java EE bundle and use that instead of your current Eclipse
(do NOT unpack it on top of your current Eclipse, but unpack it elsewhere, to test that second installation: it will come with WTP inside)
Note: check then "How do I start Eclipse" to point to your existing workspace in order to see all your previous project in your new Eclipse installation.
As mentioned in your link, XSL Tools is now part of WTP (for Eclipse 3.5 Galileo), and that may explain why your Eclipse Ganymede (3.4) might not interpret correctly the P2 update site for WTP (P2 being the new Eclipse provisioning mechanism introduced late in the 3.4 release cycle)
For Eclipse 3.5, you have an XSL Tools installation illustrated here:
But Eclipse3.4 is more likely to be compatible with XSLT0.5 and you will need a separate installation, because "XSL Tools" wasn't yet part of WTP.
I am not sure, however, where to find such an installation package within the Eclipse projects.
Use the following update site :
For Juno :
http://download.eclipse.org/webtools/repository/juno/
For Indigo :
http://download.eclipse.org/webtools/repository/indigo/
I'm assuming you don't have any firewall exceptions for Eclipse right?
The site for the WTP update is indeed the one you've listed. Maybe post a screenshot? You've added it specifically to your remote update site list?
Either way try a manual update which should be more reliable and get you up and running for now.
All-In-One Update (Eclipse IDE included):
Go to the Eclipse Download site.
Grab the all-in-one package: Eclipse IDE for Java EE Developers
Install, have a coffee and enjoy. (WTP is included)
Manual Update your existing installation of Eclipse:
Download the applicable WTP source package to your desktop
Shutdown Eclipse
Extract the package to your Eclipse installation directory
Startup Eclipse. (WTP is now available)
Follow the steps in the FAQ at http://wiki.eclipse.org/WTP_FAQ#How_do_I_install_WTP.3F .
Are you behind a proxy? If so, you need to make sure you configure your proxy settings in Eclipse.
Window > Preferences
General > Network Connections
Ok, I can probably get it working if I do a clean install of Eclipse. I can do that on my machine, but not the other team members' machines (at least not without going through many emails and paper work) so I'm going to say that XCarecrows 4 XML is the solution. It is able to do XSL transformations in Eclipse 3.4 and doesn't require anything else to be installed. Since XSLT is all I need, the plugin will do.
you can use the marketplace:
https://marketplace.eclipse.org/content/eclipse-java-ee-developer-tools-0
like the site says:
Drag to Install!Drag to your running Eclipse Workspace.

Multiple eclipses for different feature set or single eclipse contains all plug-ins?

Eclipse can contains a lot of different feature set via plugins.
Do you install all the plugins in one single eclipse? or do you install STS from spring, Flex eclipse from adobe, or even RCP development bundle from eclipse.org, every eclipse variant handle its task respectively?
Which way do you prefer and why? speedy response? avoid the hassle of updating/installing plugins?
Thanks
If you have enough power on your workstation (and the right eclipse.ini), you can:
install all the major plugins in one operation (choosing the most complete distro, like the J2EE one)
install any other external plugins in a shared directory (meaning those plugins will continue to be referenced by any new version of eclipse distro you may install in the future)
In eclipse I prefer to install them separately, because it seems to keep things running smoothly, no upgrading things as they come along, only as a whole thing, it makes for a lot of duplication though... With Netbeans (which I prefer) I generally install everything in one place and it too runs smoothly, even when I upgrade different plugins and add and remove other ones.
I separate groups of related plugins/features by defining separate install locations (You used to be able to do it through the IDE, can't find the right button at the moment, see here for some guidance on doing this manually). That way you can enable/disable groups if you need to.
The install locations can also be shared between different Eclipse installs (with care!), and if you completely trash or want to upgrade Eclipse, you can redefine the eternal locations on the new install, no downloads needed.