Eclipse

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Plans)
m (Plug-ins Which Need Packaging Work)
(37 intermediate revisions by 8 users not shown)
Line 12: Line 12:
 
== Fedora Eclipse ==
 
== Fedora Eclipse ==
  
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].
+
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] and [http://fedorahosted.org/eclipse-fedorapackager Fedora Packager for Eclipse]).
  
 
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 plug-in for Fedora!
  
 
== Plug-ins We Ship ==
 
== Plug-ins We Ship ==
Line 22: Line 22:
  
 
[http://www.eclipse.org/linuxtools/projectPages/autotools Autotools] (part of CDT SRPM)
 
[http://www.eclipse.org/linuxtools/projectPages/autotools Autotools] (part of CDT SRPM)
 +
 +
[http://www.eclipse.org/birt BIRT]
  
 
[http://cmakeed.sourceforge.net/ CMakeed] -- Editor for CMake files
 
[http://cmakeed.sourceforge.net/ CMakeed] -- Editor for CMake files
  
[http://www.eclipse.org/cdt CDT]  
+
[http://www.eclipse.org/cdt CDT] -- C/C++ Development Tooling
  
 
[http://www.eclipse.org/linuxtools/projectPages/changelog/ ChangeLog]  
 
[http://www.eclipse.org/linuxtools/projectPages/changelog/ ChangeLog]  
 +
 +
[http://desktop-eclipse.open.collab.net/servlets/ProjectProcess?pageID=MEuUjb&freeformpage=Merge%20Client CollabNet Merge Client for Subclipse] -- Take advantage of the new merge cleverness in Subversion 1.5+
 +
 +
[http://eclipse.org/dltk Dynamic Language Toolkit] -- Complete with TCL and Ruby IDEs
 +
 +
[http://www.eclipse.org/datatools DTP] -- Database Development Tools
  
 
[http://www.eclemma.org/ EclEmma] -- Code coverage tool to help you enhance your unit tests.
 
[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://git.or.cz/gitwiki/EclipsePlugin EGit] -- Support for working with Git repositories
  
 
[http://www.eclipse.org/emf EMF]  -- Eclipse Modeling Framework
 
[http://www.eclipse.org/emf EMF]  -- Eclipse Modeling Framework
Line 38: Line 46:
  
 
[http://www.eclipse.org/gef GEF]  -- Eclipse Graphical Editing Framework (''not'' the [http://www.eclipse.org/vep Visual Editor] )
 
[http://www.eclipse.org/gef GEF]  -- Eclipse Graphical Editing Framework (''not'' the [http://www.eclipse.org/vep Visual Editor] )
 +
 +
[http://eclipse.org/m2e/ M2E] -- Maven integration for Eclipse
  
 
[http://moreunit.sourceforge.net/ MoreUnit] -- Helper for writing more and better unit tests.
 
[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/mylyn Mylyn]  -- a task-focused UI for Eclipse with bugzilla and trac integration. See also [[Eclipse/MylynRedHatBugzillaSetupGuide | Eclipse Mylyn Red Hat Bugzilla setup instructions]] and [[Eclipse/MylynPackaging | Eclipse Mylyn packaging guide]] for more Mylyn related information.
  
[http://www.eclipse.org/photran Photran] -- Fortran support for Eclipse
+
[http://www.eclipse.org/linuxtools/projectPages/oprofile OProfile]
  
[http://www.phpeclipse.com/ PHPEclipse] -- PHP tooling
+
[http://www.eclipse.org/ptp Parallel Tools Platform (PTP)] -- Parallel and Fortran programming support for Eclipse
  
[http://pydev.sf.net PyDev]
+
[http://www.eclipse.org/linuxtools/projectPages/perf/ Perf]
 +
 
 +
[http://www.phpeclipse.com/ PHPEclipse] -- PHP Development Tooling
 +
 
 +
[http://pydev.sf.net PyDev] -- Python IDE for Eclipse
  
 
[http://bastian-bergerhoff.com/eclipse/features/web/QuickREx/toc.html QuickREx] -- Regular expression tester
 
[http://bastian-bergerhoff.com/eclipse/features/web/QuickREx/toc.html QuickREx] -- Regular expression tester
Line 61: Line 75:
 
[http://oss.tresys.com/projects/slide SLIDE] -- SLIDE is an integrated development environment (IDE) for Security Enhanced Linux (SELinux) developers and integrators
 
[http://oss.tresys.com/projects/slide SLIDE] -- SLIDE is an integrated development environment (IDE) for Security Enhanced Linux (SELinux) developers and integrators
  
[http://subclipse.tigris.org Subclipse] -- support for working with Subversion repositories
+
[http://subclipse.tigris.org Subclipse] -- Support for working with Subversion repositories
  
 +
[http://www.eclipse.org/linuxtools/projectPages/valgrind SystemTap GUI]
  
Coming soon in rawhide:
+
[http://www.eclipse.org/swtbot/ SWTBot] -- UI and functional testing tool for SWT and Eclipse based applications
  
[http://www.eclipse.org/birt BIRT] [https://bugzilla.redhat.com/show_bug.cgi?id=485424 review request]
+
[http://www.eclipse.org/linuxtools/projectPages/valgrind Valgrind]
 
+
[http://www.eclipse.org/datatools DTP] <s>[https://bugzilla.redhat.com/show_bug.cgi?id=484676 review request]</s>
+
  
[http://www.eclipse.org/linuxtools/projectPages/oprofile OProfile]
+
[http://eclipse.org/webtools/ Webtools] -- Eclipse WTP project (mostly packaged)
 
+
[http://stapgui.sourceforge.net/ SystemTap GUI] [https://bugzilla.redhat.com/show_bug.cgi?id=483205 review request]
+
 
+
[http://www.eclipse.org/linuxtools/projectPages/valgrind Valgrind]
+
  
== Plug-ins We'd Like To Ship ==
+
== Plug-ins Which Need Packaging Work ==
* BIRT
+
[https://bugzilla.redhat.com/show_bug.cgi?id=970145 Mylyn Reviews (RFE)]
** all of it needs DTP and WTP
+
** could ship a stripped-down version in the meantime
+
* DTP
+
** Package of [http://sourceforge.net/projects/lpg/ lpgjavaruntime]
+
** Fix build with lucene 2 and submit it upstream
+
** <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
+
** tracker bug to get all dependencies in:  [https://bugzilla.redhat.com/show_bug.cgi?id=485460 https://bugzilla.redhat.com/show_bug.cgi?id=485460]
+
* WTP
+
** probably needs some non-Eclipse deps
+
* Valgrind
+
** needs BIRT
+
** see [[Features/EclipseProfilingTools]]
+
* OProfile
+
** could go in now
+
** see [[Features/EclipseProfilingTools]]
+
* [http://eclipse.org/vep VE]
+
** requested [https://bugzilla.redhat.com/show_bug.cgi?id=473779 here]
+
** what's the status of VE and recent Eclipse SDKs?
+
  
 
== Contact ==
 
== Contact ==
Line 118: Line 108:
 
== Testing ==
 
== 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] .
+
Eclipse ships it's tests as a subpackage called eclipse-tests. Install it via `yum install eclipse-tests` and launch /usr/bin/eclipse-runEclipsePackageTests.
  
Running the Eclipse SDK automated tests against the installed RPMs can be done using the following steps:
+
All test results will be saved and available for later analysis. Note: Not all tests finish successfully for now.
  
# <tt>$ svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/sdktests/3.4.1/Fedora eclipse-sdk-tests</tt>
+
== Troubleshooting Eclipse in Fedora ==
# <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
+
  
== Plans ==
+
The way Eclipse and its plugins are installed in Fedora differs from the way this is done upstream. This can
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. A Fedora 10 update will also follow. 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:
+
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".
  
[https://bugzilla.redhat.com/show_bug.cgi?id=486350 https://bugzilla.redhat.com/486350]
+
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:
  
According to [[Releases/11/Schedule]], Fedora 11 is currently scheduled to be released on 2009-05-26.  This is before the schedule release of Eclipse 3.5 which will be some time after 2009-06-12, according to [http://www.eclipse.org/projects/project-plan.php?projectid=eclipse#release_milestones http://www.eclipse.org/projects/project-plan.php?projectid=eclipse#release_milestones]. 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 plan on doing an upgrade to 3.5 some time in the Fedora 11 life cycle.  See this tracker bug for getting Eclipse 3.5 ready:
+
<pre>
 +
rpm -qV eclipse-rcp 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.
  
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:
+
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.
  
* [https://bugzilla.redhat.com/show_bug.cgi?id=485488 Autotools] (included under CDT umbrella)
+
If both of the above outputs are clean, you will need to file a bug. Collect the following information and file
* [https://bugzilla.redhat.com/show_bug.cgi?id=486356 BIRT]
+
a bug here: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=eclipse
* [https://bugzilla.redhat.com/show_bug.cgi?id=485488 CDT]
+
* [https://bugzilla.redhat.com/show_bug.cgi?id=485492 DTP]
+
* [https://bugzilla.redhat.com/show_bug.cgi?id=485490 EMF]
+
* [https://bugzilla.redhat.com/show_bug.cgi?id=485493 GEF]
+
* [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.
+
Create a file ~/.options and add the following flags to it:
 +
 
 +
<pre>
 +
org.eclipse.equinox.p2.core/debug=true
 +
org.eclipse.equinox.p2.core/reconciler=true
 +
org.eclipse.equinox.p2.garbagecollector/debug=true
 +
</pre>
 +
 
 +
Then run eclipse from a terminal with the following flags:
 +
<pre>eclipse -consolelog -debug -clean >& log</pre>
 +
 
 +
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:
 +
<pre>diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`</pre>
 +
 
 +
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:
 +
 
 +
<pre>
 +
diff `find /usr/lib*/eclipse/ -name bundles.info` `find ~/.eclipse/ -name bundles.info` | grep "<" | sed s/"< "/""/ >> `find ~/.eclipse/ -name bundles.info`
 +
</pre>
 +
 
 +
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.
 +
 
 +
== Plans ==
 +
We ship the Eclipse SDK (<tt>eclipse</tt> SRPM) version 4.3.0 in Fedora 19.  Other [http://www.eclipse.org/kepler/ Kepler] release train projects are also updated to their Helios versions.
  
In order to coordinate this effort, we will 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 other plugins we ship '''should''' work with Eclipse 4.3 without problems.  We will of course have to coordinate testing them all.
  
 
== References ==
 
== References ==

Revision as of 01:43, 16 August 2013

Contents

Eclipse

What is Eclipse?

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.

It has its own Open Source license (the Eclipse Public Library, or EPL).

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.

Fedora Eclipse

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 RPM Stubby and Fedora Packager for Eclipse).

Would you like to help?

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

Plug-ins We Ship

Autotools (part of CDT SRPM)

BIRT

CMakeed -- Editor for CMake files

CDT -- C/C++ Development Tooling

ChangeLog

CollabNet Merge Client for Subclipse -- Take advantage of the new merge cleverness in Subversion 1.5+

Dynamic Language Toolkit -- Complete with TCL and Ruby IDEs

DTP -- Database Development Tools

EclEmma -- Code coverage tool to help you enhance your unit tests.

EGit -- Support for working with Git repositories

EMF -- Eclipse Modeling Framework

EPIC -- Perl tooling

GEF -- Eclipse Graphical Editing Framework (not the Visual Editor )

M2E -- Maven integration for Eclipse

MoreUnit -- Helper for writing more and better unit tests.

Mylyn -- a task-focused UI for Eclipse with bugzilla and trac integration. See also Eclipse Mylyn Red Hat Bugzilla setup instructions and Eclipse Mylyn packaging guide for more Mylyn related information.

OProfile

Parallel Tools Platform (PTP) -- Parallel and Fortran programming support for Eclipse

Perf

PHPEclipse -- PHP Development Tooling

PyDev -- Python IDE for Eclipse

QuickREx -- Regular expression tester

RPM Specfile Editor

RPM Specfile Generator -- This plugin makes packaging other plugins really easy.

Eclipse SETools -- SELinux policy analysis tools

Shelled -- Editor for shell scripts

SLIDE -- SLIDE is an integrated development environment (IDE) for Security Enhanced Linux (SELinux) developers and integrators

Subclipse -- Support for working with Subversion repositories

SystemTap GUI

SWTBot -- UI and functional testing tool for SWT and Eclipse based applications

Valgrind

Webtools -- Eclipse WTP project (mostly packaged)

Plug-ins Which Need Packaging Work

Mylyn Reviews (RFE)

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

GNU Classpath Wiki

Planet Classpath

GCJ - GNU Compiler for Java

Testing

Eclipse ships it's tests as a subpackage called eclipse-tests. Install it via `yum install eclipse-tests` and launch /usr/bin/eclipse-runEclipsePackageTests.

All test results will be saved and available for later analysis. Note: Not all tests finish successfully for now.

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-rcp 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.

Plans

We ship the Eclipse SDK (eclipse SRPM) version 4.3.0 in Fedora 19. Other Kepler release train projects are also updated to their Helios versions.

The other plugins we ship should work with Eclipse 4.3 without problems. We will of course have to coordinate testing them all.

References