Move Plugins between different Eclipse versions - eclipse

I need to install several plugins to an eclipse that is running on a remote 64bit Linux machine.
I tried copying the neccesary plugins to the plugins and feature folder on the remote machine but it did not seem to work.
The approach I wanted to try out now was setting up a new Eclipse installation with all plugins and replacing the whole eclipse folder.
But as I am doing this I realized that I have to use a 32 bit Linux and Eclipse. Is it possible to install 32bit Eclipse and just move the plugins and features to the remote machine?
Do I need to consider other things?
Can you recommend any other approach that would help me?
UPDATE:
The problem is that I cannot just start eclipse on the remote machine. I can access it via ssh but not run eclipse and install plugins via the wizards.
I also have no 64bit linux to prepare a complete eclipse that I can simply copy.
So what I meant is that I have to prepare either an eclipse installation or maybe just plugin folder and move that from my 32bit architecture to the 64bit one.
I can download the current eclipse folder but I cannot run it. When I try to start it with ubuntu nothing happens. I believe it is because its a 64bit version and I got 32 bit architecture.

Don't do this. Not only are there are a number of plugins with native-compiled fragments (different for 32-bit vs 64-bit), but in recent versions, Eclipse will not even register features and plugins that are simply dropped in. You should install plugins explicitly unless you are moving the entire installation between machines with compatible architectures.

You can't run a 64bit binary on a 32bit system without some kind of virtualization software that does a complete CPU emulation. VMWare, VirtualPC, etc... don't do this. They virtualize the system, but not the CPU.
The other way around: a 32bit binary on a 64bit cpu, is generally possible, if the OS (and processor) supports such things.

I think this is feasible.
The architecture should not be the problem. Unless the plugins contain DLLs or .so libraries invoked through JNI but there are very few examples (swt is one example but there are very few of them).
As a matter of fact, the reason why you have OS/arch/GUI specific versions of eclipse is not the java code but the native launcher (eclipse.exe on windows and SWT), all the rest can go bck and forth from one machine to the other, regardless of the arch, the os or the wondows manager.
However, dropping jars in the plugin directory of eclipse is not the recommended way of installing plugins any more (since 3.3 ?). It might work but there is no guarantee.
To install the missing plugins you should download them from eclipse itself (help => install new software...). If you tell us the specific plugins you have problem with, we might be able to help you more precisely.
The best way to go forward is to list all the plugins on the source machine (either from eclipse (help => about) and look at names having specific hints at arch/os/gui. All these cannot be copied over. All the rest should be safe.
As I said, beware of swt. Subclipse has a JNI dependent configuration if you decide to use JavaHL. And there are also "false" plugins such as xmlSpy etc who are noting more than JNI adapters but these are not mainstream.

Related

Are Eclipse Plugins Platform-Independent?

I want to distribute an eclipse platform with pre-installed plugins to different users with different operation systems.
On the side http://www.eclipse.org/downloads/ I have to choose the target platform for eclipse, so I downloaded it for Linux 32 and 64 bit and for windows 32 and 64 bit.
I want to distribute an eclipse with some pre-installed and also self written plugins to other people. Can I simply install the plugins in one eclipse installation and then copy the files from the /plugins folder to every /plugins folder of the other eclipse versions for linux and windows or are the plugins (also the pre-existing default plugins) in the /plugin folder also platform dependend and must be installed seperatly on the target platform?
Some are, some aren't. Eclipse supports the inclusion of native code in OSGi bundles, and then unpacks it and accesses it via JNI. The native code can be in separate 'fragments', and Eclipse won't necessarily download all the fragments for other architectures.
Well, here's the way I see it: Eclipse is written in Java, which is platform-independent. Eclipse's plugins are, therefor, written in Java, and must be platform-independent. Also, I've yet to encounter a plugin that wasn't platform-independent. So yes, to the best of my knowledge.

can't run ScalaIDE in a XP without networks

Recently I would like to move my dev env into my company's standard virtual XP without internet connection. But my Scala dev env is broken. I test ScalaIDE from typesafe by unzip and copy into virtual XP. And, I tried install scala plugins on a pure Eclipse and copy it into that virtual XP. Both of these two approaches were broken.
Anyone know why?
My notebook with internet run ScalaIDE very well. I have test in a virtual XP with internet , thru virtualbox. The ScalaIDE works well. But in that virtual XP without internet, it seems that all scala plugins are disappear from Eclipse but files in plugins/features. I can't open Scala perspective, can't fint scala in preferences.
What happens?
Thanks!
[update] the TypeSafe's ScalaIDE can't run in an environment without any networks, intranet or internet.
From what I gather of your question, you have an installation problem rather than a build problem. Building may be problematic if you have dependencies that are unavailable offline, but installing Scala IDE should work.
The Scala-IDE website offers a zipped update site for download for every release. The direct URL for the latest version is here.
You need to make this file available to the offline OS you're using. If you unzip it, you should be able to point to the decompressed result as a local update-site and choose the plugins you may want to install. More simply, you can also try to drag and drop that zip into the installation dialog of Eclipse.

How to make your own eclipse?

Who knows how to customize your own eclipse? I want to include some plugins and use it as bundled solution and not to install additional plugin when I want to use it on other machine.
This is what I've done in the past.
The first thing you have to do is a fresh install of eclipse, all the plugins you intend to use, and their configurations. After that just copy the eclipse folder AND the workspace/.metadata folder (this one could be an hidden folder) to the new machine.
Copying those folders to a new machine and running eclipse with the -clean flag (only needed the first time) seems to work fine so far.
I ran into some problems when trying to use 32bit eclipse in an 64bit environment, but I guess it's normal that it doesn't work. Also, this is not a cross-platform solution, i.e you cannot use your Mac installation of eclipse in Windows, or vice-versa.
I think you are referring to so called Individual Source Bundle, which you can build and create your own setup that will install your custom Eclipse bundle on desired machine.
Another solution would be just creating simple install/archive that will unpack c:\eclipse\ to c:\eclipse\ (or whatever) on target machine. This will work since Eclipse is not hardware dependent (but sure, it is OS dependent) because it's Java based.

How can I use P2 to create identically configured IDEs for multiple platforms?

I have an Eclipse installation each on machines running Linux, Windows and OSX, but they are all configured somewhat differently. For example the one on Linux has avr-eclipse, but the Mac one doesn't even have CDT.
What is the easiest way to make all these Eclipse installations consistent with each other, as far as installed features go? I guess I could go through it by hand, but surely there must be a way to use P2 to generate this information?
As far as I know eclipse itself doesn't provide an easy to make sure the multiple installation identify.
But you can try P2 replication that is a plug-in to export your installation to file, then import it into other eclipse instances. You can install it via Eclipse marketplace.

Cross-Platform Single-Instance IDE Setup

I like to carry software around with me on a USB flash drive. I also like to work in both Windows and Linux. Finally, I like to develop software using powerful tools.
Bringing these three things together, I want to be able to carry an IDE around with me. My favorite choice is Eclipse.
So, I tried to get an Eclipse install working on a thumb drive. Not surprisingly, it's just fine if I pack in a JDK. But Eclipse without plugins just doesn't do it for me. After installing my plugins of choice, I had a hefty 300ish MBs of data.
Then I realized that I'd only installed for Linux. And that I was going to have to duplicate everything to get a Windows install. That's not good.
I've searched the web. I found a guide on creating .link files which looks like a hack from the early 80s. I found documentation on the new Eclipse p2 provisioning which I couldn't even understand. I checked Pulse, and they don't support Helios yet.
I remember in old Eclipse days you could just install a plugin to an alternate directory, and share that dir across different Eclipse installs. Today, I couldn't manage to find anything of the sort.
I did manage to get Netbeans up and working properly in a cross-platform manner in around 30 minutes. But I prefer Eclipse.
Could anyone give me a hand? What I'm looking for is:
One install of the platform-independent portions of the Eclipse internals
One install of each plugin I desire
The ability to run this unified Eclipse from both Linux and Windows
I know I'll need a JVM for each platform. I know I'll also need an SWT lib and launcher for each OS. That's fine.
You need to have separate Eclipse installations for each platform and a shared plugins directory for both installations. There are many questions on the subject on StackOverflow. For example, see this comprehensive answer.
Start with the standard Eclipse packages. Complete your shared dropins setup. Once you are up and running, you get probably move plugins from each standard installation to the shared dropins directory to save space (for example, JDT).