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.
Would you like to help?
Talk to us on IRC or the fedora-devel-java mailing list. Package a plug-in for Fedora!
Plug-ins We Ship
Autotools (part of CDT SRPM)
CMakeed -- Editor for CMake files
EclEmma -- Code coverage tool to help you enhance your unit tests.
EGit -- git support
EMF -- Eclipse Modeling Framework
EPIC -- Perl tooling
GEF -- Eclipse Graphical Editing Framework (not the Visual Editor )
MoreUnit -- Helper for writing more and better unit tests.
Mylyn -- a task-focused UI for Eclipse with bugzilla and trac integration.
Photran -- Fortran support for Eclipse
PHPEclipse -- PHP tooling
QuickREx -- Regular expression tester
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
Coming soon in rawhide:
Plug-ins We'd Like To Ship
- WTP
- needs some non-Eclipse deps, all of which may not be in Fedora
- tracker bug: 486369
- old SRPM and .spec uploaded here (most likely won't build, needs work):
- Valgrind
needs BIRT- review request: 485941
- see Features/EclipseProfilingTools
- OProfile
- review request:
- see Features/EclipseProfilingTools
- VE
- requested here
- it seems kind of dead upstream
Plug-ins Which Need Packaging Work
- BIRT
- all of it needs
DTP andWTP - Tracker bug to get WTP built (filed against BIRT since that's what needs it) 486369
- all of it needs
- DTP
- Tracker bug to get all of DTP built: 485460
- Package of lpgjavaruntime 486365
Fix build with lucene 2 and submit it upstream 486366Fix build with java 6 - Fixed in latest build in rawhide.review request: https://bugzilla.redhat.com/show_bug.cgi?id=484676package built with just a few features
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.
Testing
It has automated tests . You can also run individual plug-in tests .
Running the Eclipse SDK automated tests against the installed RPMs can be done using the following steps:
- $ svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/sdktests/3.4.1/Fedora eclipse-sdk-tests
- $ cd eclipse-sdk-tests
- $ ./build.sh
- (... wait for build)
- # rpm -Uvh RPMS/{x86_64,i386,etc.}/eclipse-tests-3.4*.rpm
- $ cd <somewhere you can write>
- $ /usr/lib (or lib64) /eclipse/dropins/eclipse/runtests
- (... wait for tests to run)
- $ ls /tmp/eclipseSDKtests/results/html
- 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 (eclipse SRPM) version 3.4.2 in Fedora 11. A Fedora 10 update will also follow. Other Ganymede release train projects should be updated to their 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/486350
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. 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:
There are also the following tracker bugs for various packages we ship and for upgrading them to their Galileo version:
The other plugins we ship should work with Eclipse 3.5 without problems. We will of course have to coordinate testing them all.
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.
Fedora Eclipse Branding
This is of interest to maintainers. We have a branding plugin to ensure people file bugs at Red Hat bugzilla first and not at bugs.eclipse.org. Of course, we aim to have as few divergences as possible from upstream but it's easy enough to ferry bugs to upstream as maintainers. The branding plugin does things like setting the application name ("Fedora Eclipse" vs. "Eclipse SDK" or "Eclipse Platform"), setting a custom splash screen, etc.
Updating the branding for a new version
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:
:pserver:anonymous@sources.redhat.com:/cvs/eclipse
branding/org.fedoraproject.ide.platform
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):
http://sourceware.org/cgi-bin/pdw/ps_form.cgi
When updating the branding to a new version, you will need to:
- update the product file fedoraeclipse.product to include the build ID matching upstream's release build (ex. http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700 gives a build ID of 20090211-1700)
- 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 splash.bmp (yes, it is an actual BMP):
- open the .psd 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 splash.bmp; do not include the Fedora logo layer in the resulting splash.bmp
- refresh the splash.bmp file in your workspace and open it to ensure it is what you want
- commit your changes. Comparing two previous tags (ex. fedoraeclipse-3_4_1 vs. fedoraeclipse-3_4_2) 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 eclipse.spec to reflect the new locations and generate a new org.fedoraproject.ide.platform-%{version}.zip