From Fedora Project Wiki

(Change rpm instructions to flatkpak; rpms are deprecated for this package)
 
(45 intermediate revisions by 11 users not shown)
Line 1: Line 1:
= Eclipse =
[http://www.eclipse.org '''Eclipse'''] is an open-source (under the Eclipse Public License, or EPL) powerful [[Integrated development environment|IDE]] with tooling for various languages. It has a GTK+ user interface and is written in Java. As it is written in Java it is cross-platform and capable of running on Linux, MacOS and Windows. It is maintained and used by a large community of volunteers and companies.


== What is Eclipse? ==
It is shipped in Fedora (>= 4). Packaging guidelines for Eclipse plugins can be found here: [[Packaging/EclipsePlugins]].
[http://www.eclipse.org Eclipse] is an awesome IDE with tooling for various languages.  It has a GTK+ UI that is much more accesible to regular programmers from a Windows environment than the tools traditionally used by FOSS hackers.


It was originally a (very) large body of code that IBM open-sourced.  There is now a large community of companies and developers using and extending Eclipse.
== Installation ==
It can be installed via merely running:


It has its own Open Source license (the Eclipse Public Library, or EPL).
<pre>
flatpak install org.eclipse.Java
</pre>


It is shipped in Fedora (>= 4).  Plug-ins are continuously being added to Fedora.  We aim to take care of Eclipse plugin review requests quickly.  Packaging guidelines for Eclipse plugins can be found here:  [[Packaging/EclipsePlugins]].
You may also install it using Gnome Software or KDE Discover; look for Eclipse IDE for Java Developers.


== Fedora Eclipse ==
== Fedora Eclipse ==
 
Fedora Eclipse is a community project encompassing everything Eclipse-related in Fedora. We ship the Eclipse SDK along with some plugins (see below).  
Fedora Eclipse is a community project encompassing everything Eclipse-related in Fedora. We ship the Eclipse SDK along with many plugins (see below).  We are working on making plugin packaging easier (see [http://www.eclipse.org/linuxtools/projectPages/rpmstubby RPM Stubby].


Would you like to help?
Would you like to help?


Talk to us on IRC or the [https://www.redhat.com/archives/fedora-devel-java-list/ fedora-devel-java mailing list].  Package a plug-in for Fedora!
Talk to us on IRC or the [https://admin.fedoraproject.org/mailman/listinfo/java-devel/ java-devel mailing list].  Package a plugin for Fedora!


== Plug-ins We Ship ==
== Plugins We Ship ==
<!-- Please keep these in alphabetical order -->


[http://www.eclipse.org/linuxtools/projectPages/autotools Autotools] (part of CDT SRPM)
It is highly recommended that Eclipse plugins are installed via Eclipse Marketplace or the plugin specific update site but there are some plugins that are shipped in RPM format too.


[http://www.eclipse.org/birt BIRT]
<!-- Please keep these in alphabetical order -->
 
[http://cmakeed.sourceforge.net/ CMakeed] -- Editor for CMake files
 
[http://www.eclipse.org/cdt CDT]
 
[http://www.eclipse.org/linuxtools/projectPages/changelog/ ChangeLog]
 
[http://eclipse.org/dltk Dynamic Language Toolkit] -- Complete with TCL and Ruby IDEs
 
[http://www.eclipse.org/datatools DTP]
 
[http://www.eclemma.org/ EclEmma] -- Code coverage tool to help you enhance your unit tests.
 
[http://git.or.cz/gitwiki/EclipsePlugin EGit] -- git support
 
[http://www.eclipse.org/emf EMF]  -- Eclipse Modeling Framework
 
[http://www.epic-ide.org/ EPIC] -- Perl tooling
 
[http://www.eclipse.org/gef GEF]  -- Eclipse Graphical Editing Framework (''not'' the [http://www.eclipse.org/vep Visual Editor] )
 
[http://moreunit.sourceforge.net/ MoreUnit] -- Helper for writing more and better unit tests.
 
[http://www.eclipse.org/mylyn Mylyn]  -- a task-focused UI for Eclipse with bugzilla and trac integration.
 
[http://www.eclipse.org/linuxtools/projectPages/oprofile OProfile]
 
[http://www.eclipse.org/photran Photran] -- Fortran support for Eclipse
 
[http://www.phpeclipse.com/ PHPEclipse] -- PHP tooling
 
[http://pydev.sf.net PyDev]
 
[http://bastian-bergerhoff.com/eclipse/features/web/QuickREx/toc.html QuickREx] -- Regular expression tester
 
[http://www.eclipse.org/linuxtools/projectPages/specfile/ RPM Specfile Editor]
 
[http://www.eclipse.org/linuxtools/projectPages/rpmstubby/ RPM Specfile Generator] -- This plugin makes packaging other plugins really easy.
 
[http://oss.tresys.com/projects/setools Eclipse SETools] -- SELinux policy analysis tools
 
[http://sourceforge.net/projects/shelled Shelled] -- Editor for shell scripts


[http://oss.tresys.com/projects/slide SLIDE] -- SLIDE is an integrated development environment (IDE) for Security Enhanced Linux (SELinux) developers and integrators
[https://www.eclipse.org/egit/ EGit] &mdash; support for working with Git repositories.


[http://subclipse.tigris.org Subclipse] -- support for working with Subversion repositories
[https://www.eclipse.org/emf EMF] &mdash; Eclipse Modeling Framework.


[http://stapgui.sourceforge.net/ SystemTap GUI]
[https://www.eclipse.org/gef GEF] &mdash; Eclipse Graphical Editing Framework (''not'' the [http://www.eclipse.org/vep Visual Editor]).


[http://www.eclipse.org/linuxtools/projectPages/valgrind Valgrind]
[https://eclipse.org/m2e/ M2E] &mdash; Maven integration for Eclipse.


== Plug-ins We'd Like To Ship ==
[https://subclipse.tigris.org Subclipse] &mdash; support for working with Subversion repositories.
* WTP
** needs some non-Eclipse deps, all of which may not be in Fedora
** tracker bug:  [https://bugzilla.redhat.com/486369 486369]
** old SRPM and .spec uploaded here (most likely won't build, needs work):
*** http://overholt.fedorapeople.org/eclipse-webtools.spec
*** http://overholt.fedorapeople.org/eclipse-webtools-1.5.0-2.fc10.src.rpm
* [http://eclipse.org/vep VE]
** requested [https://bugzilla.redhat.com/show_bug.cgi?id=473779 here]
** development has been [http://dev.eclipse.org/blogs/yvesyang/2009/06/26/eclipse-ve-gets-revived/ re-started upstream]
* [http://wiki.eclipse.org/index.php/Mylyn_Extensions#Atlassian_JIRA_.28Mylyn_Project.29 Mylyn's JIRA plugin]
** [https://bugzilla.redhat.com/show_bug.cgi?id=251747 bug to ship JIRA plugin]
** needs axis 1.4 with OSGi metadata ([https://bugzilla.redhat.com/show_bug.cgi?id=497126 bug #497126])
*** <s>needs org.apache.commons.discovery_0.2.0 (hopefully 0.4 we have is acceptable) ([https://bugzilla.redhat.com/show_bug.cgi?id=497128 bug to add OSGi metadata])</s>
*** <s>needs javax.wsdl_1.5.1 ([https://bugzilla.redhat.com/show_bug.cgi?id=497130 bug to add OSGi metadata])</s>
*** needs javax.xml.soap_1.2.0 ([https://bugzilla.redhat.com/show_bug.cgi?id=497139 bug to add OSGi metadata])
*** javax.xml.rpc_1.1.0 ([https://bugzilla.redhat.com/show_bug.cgi?id=497141 bug to add OSGi metadata])


== Plug-ins Which Need Packaging Work ==
[https://eclipse.org/webtools/ Webtools] &mdash; Eclipse WTP project (partially packaged).
* BIRT
** all of it needs <s>DTP and</s> WTP
** Tracker bug to get WTP built (filed against BIRT since that's what needs it) [https://bugzilla.redhat.com/486369 486369]
* DTP
** Tracker bug to get all of DTP built:  [https://bugzilla.redhat.com/show_bug.cgi?id=485460 485460]
** Package of [http://sourceforge.net/projects/lpg/ lpgjavaruntime] [https://bugzilla.redhat.com/497756 497756]
** <s>Fix build with lucene 2 and submit it upstream [https://bugzilla.redhat.com/486366 486366]</s>
** <s>Fix build with java 6 - Fixed in latest build in rawhide.
** <s>review request:  https://bugzilla.redhat.com/show_bug.cgi?id=484676</s> package built with just a few features


== Contact ==
== Contact ==
<!-- [http://sourceware.org/eclipse Fedora Eclipse Website] -->


Most of the Fedora "free java" people hang out on #fedora-java on [http://freenode.net Freenode] .  There are also people on #classpath also on Freenode. Community around the [http://www.eclipse.org/linuxtools/ Eclipse Linux Tools] project is emerging now and developers are hanging out on #eclipse-linux on Freenode.
Most of the Fedora "free java" people hang out on #fedora-java on [http://freenode.net Freenode] .  There are also people on #classpath also on Freenode. Community around the [http://www.eclipse.org/linuxtools/ Eclipse Linux Tools] project is emerging now and developers are hanging out on #eclipse-linux on Freenode.
Line 114: Line 45:
[http://www.eclipse.org Eclipse (upstream)]  
[http://www.eclipse.org Eclipse (upstream)]  


[http://planet.eclipse.org Planet Eclipse]
[http://planet.eclipse.org Planet Eclipse]
 
[http://developer.classpath.org/mediation/ GNU Classpath Wiki]
 
[http://planet.classpath.org Planet Classpath]
 
[http://gcc.gnu.org/java GCJ - GNU Compiler for Java]
 
== Testing ==
 
It has [https://www.redhat.com/archives/fedora-devel-java-list/2005-July/msg00088.html automated tests] .  You can also run [https://www.redhat.com/archives/fedora-devel-java-list/2005-April/msg00010.html individual plug-in tests] .
 
Running the Eclipse SDK automated tests against the installed RPMs can be done using the following steps:
 
# <tt>$ svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/sdktests/3.4.1/Fedora eclipse-sdk-tests</tt>
# <tt>$ cd eclipse-sdk-tests</tt>
# <tt>$ ./build.sh</tt>
# (... wait for build)
# <tt># rpm -Uvh RPMS/{x86_64,i386,etc.}/eclipse-tests-3.4*.rpm</tt>
# <tt>$ cd <somewhere you can write></tt>
# <tt>$ /usr/lib (or lib64) /eclipse/dropins/eclipse/runtests</tt>
# (... wait for tests to run)</tt>
# <tt>$ ls /tmp/eclipseSDKtests/results/html</tt>
# View results in browser:  file:///tmp/eclipseSDKtests/results/html
 
We appreciate any and all reports of success or failure with the SDK tests.  The fedora-devel-java-list mailing list is a fine place to send them.
 
== Plans ==
We plan to ship the Eclipse SDK (<tt>eclipse</tt> SRPM) version [http://www.eclipse.org/eclipse/development/freeze_plan_3_4_2.php 3.4.2] in Fedora 11.  Other [http://www.eclipse.org/ganymede/ Ganymede] release train projects should be updated to their [http://wiki.eclipse.org/index.php/Ganymede_Simultaneous_Release#Coordinated_Service_Releases Ganymede "Service Release 2"] releases when they are available.  We are using the following tracker bug for updating to 3.4.2:
 
[https://bugzilla.redhat.com/show_bug.cgi?id=486350 https://bugzilla.redhat.com/486350]
 
Fedora 11 froze before the release of Eclipse 3.5 (Galileo).  We would like to avoid having 5 months of a gap between the release of Eclipse 3.5 and it being available in a Fedora release.  As such, we hope to do an upgrade to 3.5 some time in the Fedora 11 life cycle.  Status as of 2009-06-26 is that [http://www.eclipse.org/linuxtools/projectPages/eclipse-build eclipse-build] project upstream is coming along and we will move our builds to it once it is able to bootstrap itself.
 
There are also the following tracker bugs for various packages we ship and for upgrading them to their [http://wiki.eclipse.org/Galileo Galileo] version:
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=485488 Autotools] (included under CDT umbrella)
* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=486356 BIRT]</del>
* [https://bugzilla.redhat.com/show_bug.cgi?id=485488 CDT]
* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=485492 DTP]</del>
* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=485490 EMF]</del>
* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=485493 GEF]</del>
* [https://bugzilla.redhat.com/show_bug.cgi?id=485494 Mylyn]


The other plugins we ship '''should''' work with Eclipse 3.5 without problems.  We will of course have to coordinate testing them all.
== Troubleshooting Eclipse in Fedora ==


In order to coordinate this effort, we may be requesting a koji tag (and repo?) to use for our builds and so that others can easily consume this work and report errors.
The way Eclipse and its plugins are installed in Fedora differs from the way this is done upstream. This can
sometimes lead to installation problems in Fedora. We are working on a solution to make installations
more robust in future Fedora releases. In the meantime however, this section is meant to help you troubleshoot those problems.
The main theme is "I updated eclipse and my plugins no longer show up".


=== Fedora Eclipse Branding ===
1. The first thing you want to do is to make sure that you have a bundles.info file in your ~/.eclipse directory
<pre>find ~/.eclipse -name bundles.info</pre>
If you find one then you can move on to step 2. If you don't find a file that means that there is a problem occurring
early on during the startup of Eclipse. To start with you need to make sure that you have a standard Eclipse installation. To
do so run the following:


Up to and including Fedora 11, we shipped a branding plugin with a custom splash screen and product ID. From Fedora 12 onwards, we will no longer be doing this.
<pre>
rpm -qV eclipse-platform
</pre>
Make sure that there is no output when you run the above command. Next, run:
<pre>
rpm -qf /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz
</pre>
Make sure that there are no files which are not owned by any RPMs.


==== Updating the branding for a new version ====
If the result of the above commands is not clean that means that you don't have a clean Eclipse installation. It is possible that you may have
run eclipse as root at some point. You can clean that up by removing all files which are not owned by any RPMs, and
removing and reinstalling the eclipse RPMs.


''This section is no longer important but is kept for historical purposes.''  The splash screen itself was originally done by Diana Fong and given to us as a PSD file. It is kept with the rest of the branding plugin in CVS:
If both of the above outputs are clean, you will need to file a bug. Collect the following information and file
a bug here: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=eclipse


<tt>:pserver:anonymous@sources.redhat.com:/cvs/eclipse</tt>
Create a file ~/.options and add the following flags to it:


<tt>branding/org.fedoraproject.ide.platform</tt>
<pre>
org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true
org.eclipse.equinox.p2.garbagecollector/debug=true
</pre>


People wishing to commit will have to have a Sourceware account.  We should probably move this to Fedora Hosted.  In the meantime, use this form to request an account (project: eclipse, sponsor:  Andrew Overholt):
Then run eclipse from a terminal with the following flags:
<pre>eclipse -consolelog -debug -clean >& log</pre>


http://sourceware.org/cgi-bin/pdw/ps_form.cgi
Attached this log to the bug you file.


When updating the branding to a new version, you will need to:
2. If you have found a bundles.info you will need to do is do a diff between your system bundles.info and user bundles.info:
<pre>diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`</pre>


* update the product file <tt>fedoraeclipse.product</tt> to include the build ID matching upstream's release build (ex. <tt>http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700</tt> gives a build ID of 20090211-1700)
If there are any bundles present in the system bundles.info and not in the user bundles.info, these bundles are the source of the problem. If the bundles are installed and have the correct versions (the path to the bundles in stated relative to /usr/lib/eclipse or /usr/lib64/eclipse) then that means that things have been upgraded in a way that contradicts the previous installation. Adding those bundles to your user bundles.info will solve the problem. Before doing so backup your ~/.eclipse directory just in case. Here is a script wich will do that:
* be sure to hit the synchronize link on the "Overview" page of the product editor to sync up the various generated files
* make a new <tt>splash.bmp</tt> (yes, it is an actual BMP):
** open the <tt>.psd</tt> file in the Gimp
** adjust the visible layers of the numbering in the Gimp to have the correct version shown
*** for versions that are not present in the PSD, you will need to use the Gimp to draw a number that looks very close to the font originally used
** export the visible layers you want to <tt>splash.bmp</tt>; do '''not''' include the Fedora logo layer in the resulting <tt>splash.bmp</tt>
** refresh the <tt>splash.bmp</tt> file in your workspace and open it to ensure it is what you want
* commit your changes.  Comparing two previous tags (ex. <tt>fedoraeclipse-3_4_1</tt> vs. <tt>fedoraeclipse-3_4_2</tt>) is a helpful indicator to guarantee you've made all of the necessary changes.
** do '''not''' include the PSD file in build.properties; it should not be shipped in the SRPM/RPM
* branch and tag for the new version; follow previous tags and branch names to be consistent
* update <tt>eclipse.spec</tt> to reflect the new locations and generate a new <tt>org.fedoraproject.ide.platform-%{version}.zip</tt>


== References ==
<pre>
diff `find /usr/lib*/eclipse/ -name bundles.info` `find ~/.eclipse/ -name bundles.info` | grep "<" | sed s/"< "/""/ >> `find ~/.eclipse/ -name bundles.info`
</pre>


* [http://www.redhat.com/magazine/018apr06/features/eclipse_foox/ Introduction to Eclipse on Fedora]
If the extra bundles are not present or have different versions than what is in the system bundles.info, that means that the bundles.info is faulty and needs to be updated.
* [http://www.redhat.com/magazine/018apr06/features/eclipse_tromey/ Confessions of an Eclipse convert]
Please file a bug which includes the diff.
* [http://www.gotmono.com/docs/ide/eclipse.html Eclipse for developing Mono applications]


----
----
[[Category:Documentation]]
[[Category:Documentation]]
[[Category:Integrated development environments]]

Latest revision as of 14:28, 25 December 2022

Eclipse is an open-source (under the Eclipse Public License, or EPL) powerful IDE with tooling for various languages. It has a GTK+ user interface and is written in Java. As it is written in Java it is cross-platform and capable of running on Linux, MacOS and Windows. It is maintained and used by a large community of volunteers and companies.

It is shipped in Fedora (>= 4). Packaging guidelines for Eclipse plugins can be found here: Packaging/EclipsePlugins.

Installation

It can be installed via merely running:

flatpak install org.eclipse.Java

You may also install it using Gnome Software or KDE Discover; look for Eclipse IDE for Java Developers.

Fedora Eclipse

Fedora Eclipse is a community project encompassing everything Eclipse-related in Fedora. We ship the Eclipse SDK along with some plugins (see below).

Would you like to help?

Talk to us on IRC or the java-devel mailing list. Package a plugin for Fedora!

Plugins We Ship

It is highly recommended that Eclipse plugins are installed via Eclipse Marketplace or the plugin specific update site but there are some plugins that are shipped in RPM format too.


EGit — support for working with Git repositories.

EMF — Eclipse Modeling Framework.

GEF — Eclipse Graphical Editing Framework (not the Visual Editor).

M2E — Maven integration for Eclipse.

Subclipse — support for working with Subversion repositories.

Webtools — Eclipse WTP project (partially packaged).

Contact

Most of the Fedora "free java" people hang out on #fedora-java on Freenode . There are also people on #classpath also on Freenode. Community around the Eclipse Linux Tools project is emerging now and developers are hanging out on #eclipse-linux on Freenode.

Fedora Java Mailing list

Eclipse (upstream)

Planet Eclipse

Troubleshooting Eclipse in Fedora

The way Eclipse and its plugins are installed in Fedora differs from the way this is done upstream. This can sometimes lead to installation problems in Fedora. We are working on a solution to make installations more robust in future Fedora releases. In the meantime however, this section is meant to help you troubleshoot those problems. The main theme is "I updated eclipse and my plugins no longer show up".

1. The first thing you want to do is to make sure that you have a bundles.info file in your ~/.eclipse directory

find ~/.eclipse -name bundles.info

If you find one then you can move on to step 2. If you don't find a file that means that there is a problem occurring early on during the startup of Eclipse. To start with you need to make sure that you have a standard Eclipse installation. To do so run the following:

rpm -qV eclipse-platform

Make sure that there is no output when you run the above command. Next, run:

rpm -qf /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz

Make sure that there are no files which are not owned by any RPMs.

If the result of the above commands is not clean that means that you don't have a clean Eclipse installation. It is possible that you may have run eclipse as root at some point. You can clean that up by removing all files which are not owned by any RPMs, and removing and reinstalling the eclipse RPMs.

If both of the above outputs are clean, you will need to file a bug. Collect the following information and file a bug here: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=eclipse

Create a file ~/.options and add the following flags to it:

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true
org.eclipse.equinox.p2.garbagecollector/debug=true

Then run eclipse from a terminal with the following flags:

eclipse -consolelog -debug -clean >& log

Attached this log to the bug you file.

2. If you have found a bundles.info you will need to do is do a diff between your system bundles.info and user bundles.info:

diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`

If there are any bundles present in the system bundles.info and not in the user bundles.info, these bundles are the source of the problem. If the bundles are installed and have the correct versions (the path to the bundles in stated relative to /usr/lib/eclipse or /usr/lib64/eclipse) then that means that things have been upgraded in a way that contradicts the previous installation. Adding those bundles to your user bundles.info will solve the problem. Before doing so backup your ~/.eclipse directory just in case. Here is a script wich will do that:

diff `find /usr/lib*/eclipse/ -name bundles.info` `find ~/.eclipse/ -name bundles.info` | grep "<" | sed s/"< "/""/ >> `find ~/.eclipse/ -name bundles.info`

If the extra bundles are not present or have different versions than what is in the system bundles.info, that means that the bundles.info is faulty and needs to be updated. Please file a bug which includes the diff.