Are Eclipse Plugins Platform-Independent? - eclipse

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.

Related

can eclipse C/C++ IDE be used for java too?

I have downloaded .tar.gz install file for C/C++ eclipse IDE.
Can it also be used for java or do I need additional ?
Yes it is, you should install the right plugin - JDT (look at Help->Install new Software)
Base on wiki link:
In computer programming, Eclipse is an integrated development
environment (IDE). It contains a base workspace and an extensible
plug-in system for customizing the environment.
That means Eclipse is just a platform, and you can install any plugins for eclipse. On Eclipse site, you see some packages such as Eclipse CDT Eclipse JDT ... Because they just want you to have a convenient environment for working: just download and run. You can download any versions, and install enough other plugins and they will works well. Here is some tutorials: official link and another nice link
But my recommendation is:
you don't know how "enough" is (as newbie). So the result will be hard because you don't choose enough packages for supporting your languages. And Eclipse Foundation has made it for you.
You shouldn't use many languages in same Eclipse distribution (although you can switch to other workspace easily). Many languages mean many installed packages, and this will slow down your eclipse so much because eclipse must loads more plugins into memory, loads more projects ... This is my experience. So, each language, each eclipse distribution, each workspace. That's a trick.
And answering directly to your question:YES. You can use that version for programming java, but will need to install JDT (Java Development Toolkit) plugin.
Hope this help :)

Move Plugins between different Eclipse versions

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.

Multiple installations of Eclipse on Mac OSX

I use Eclipse for everything. Python, Django, GWT, Android... But when you install all the plugins, Eclipse becomes very slow.
Is there a way that I can set it up so that there are two or more icons for Eclipse in the Applications directory, each for specific task?
Thanks
Developing in Eclipse for the past few years, I've found it's just easier to have several copies of the Eclipse directory, one for each kind of development I do (Android, java app, Grails). It's sometimes cumbersome installing new versions of Eclipse or new versions of the common plugins (Subclipse, etc), but it does make Eclipse start-up MUCH faster.
Simply create another install directory for Eclipse, with another shortcut to it, and only install the plugins you need for that dev environment. I use a different workspace for each one, though I'm not sure that's necessary, as long as you're using the same version of Eclipse for each install.

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.

Where should Eclipse third-party plugins be stored?

We have an Eclipse RCP product, which means it depends on a number of Eclipse plugins (for the UI etc). We have set up a reference Eclipse ("target") to supply the latter.
Our product also depends on a number of third party plugins. Is there a standard location for these to be put?
We have a few of our third-party plugins in the /plugins of the target Eclipse, but this seems wrong to me. The third party plugins change more frequently than, or at least in a different timeframe to, our reference Eclipse.
I tried putting some third party plugins in a separate project in the workspace (under version control), but the PDE headless build did not seem to find them - even though I used the pluginPath property in the headless build.properties.
This is Eclipse 3.4.2. I am aware than the handling of target platforms has changed somewhat in 3.5.
Most of the comments I've seen see on the web about this seem to assume that you're writing a plugin to be added to a standard Eclipse installation. We're not, it's a completely separate product.
For my RCP applications I created a customized target platform directory for it to use (e.g. rcpapptarget). Under that directory I unzip the following packages:
eclipse-RCP-SDK-3.4.2-win32.zip
eclipse-3.4.2-delta-pack.zip
Then I add what ever other eclipse or third party plug-ins that my application will need. For example:
the latest GEF all .zip file
jay libs EclipseCallBasic_1.1.0 plug-in
derby distributed plug-in
additional eclipse plug-ins needed for help support, cheatsheets, updates etc.
I then setup a workspace for developing that RCP application and point the workspace's "Target Platform" to use that customized target platform directory. I do all my development using that target platform and my headless builds use it too.
To set the target platform choose the Window | Preferences command and then select Plug-in Development | Target Platform from the preference tree. Set the "Location" to point to the directory you created.
There isn't a standard that I know of for where 3rd part plugins should go. You can define an external extension location and store your party plugins/features there. This also allows you to reuse the plugins in multiple Eclipse installs if you wish.
You add an Extension location by going to
Ganymede onwards: Help->Software Updates->Available Software->Add Site->Local
Older versions: Help->Software Updates->Manage Configuration->Add Extension Location
For Ganymede onwards, the extension locations work a bit differently (IIRC the plugins are copied to the standard Eclipse install, which kind of defeats the point),there is however a new concept called dropins that you might find useful.