Simply put, Ganymede is the simultaneous release of 24 major Eclipse projects.
The important thing to remember about Ganymede and Eclipse release trains in general is that even though it's a simultaneous release, it doesn't mean these projects are unified. Each project remains a separate open source project, operating with its own project leadership, its own committers, and its own development plan. In the end, Ganymede is about improving the productivity of developers working on top of Eclipse projects by providing a more transparent and predictable development cycle.
Before we get into the details about the various projects, let's complete a quick hands-on exercise to install Ganymede on your machine.
There are two main ways to get Ganymede and that depends on your preference. The first — and recommended — way is to just grab a package relevant to you. The other way to get Ganymede is to use an update site.
The recommended way to get Ganymede is to head over to the Eclipse Ganymede Packages site. The packages site contains pre-bundled versions of Ganymede specific for your usage needs.
Figure 1. Ganymede packages
For example, if you're a Java™ developer, you'd want to grab the package for Java developers. If you're a C/C++ person, grab the C/C++ package, etc.
To get Ganymede using an update site, download the Eclipse V3.4 SDK. Once this is done, you can launch Eclipse and access the software-update mechanism via Help > Software Updates (see Figure 1). Enter the proper Ganymede update site information if it isn't already available as the Ganymede Discovery Site. Once you are connected to the Ganymede update site, you should see the list of available features that are part of the Ganymede release train. It's as simple as that. Once you're connected, you can simply choose what features to install into your Eclipse.
Figure 2. Software updates
With these two simple methods, you are primed to take full advantage of the Ganymede release.
The Eclipse ecosystem is a large and sometimes intimidating place. There are more than 90 projects being developed at Eclipse, and the Ganymede release only represents a snapshot of that. The Ganymede release train is there to showcase Eclipse technology and also help adopters integrate Eclipse technology into their products. For more information about the Ganymede projects, see the links below. Otherwise, continue to the next section to see the Ganymede showcase.
Table 1. Ganymede release train projects
|Business Intelligence and Reporting Tools (BIRT)||Generate reports||http://www.eclipse.org/birt|
|C/C++ Development Tools (CDT)||Code C/C++||http://www.eclipse.org/cdt|
|Dynamic Languages Toolkit (DLTK)||Code Perl and Ruby||http://www.eclipse.org/dltk|
|Device Software Development Platform — Device Debugging (DSDP-DD)||Debug embedded devices||http://www.eclipse.org/dsdp/dd|
|Device Software Development Platform — Native Application Builder (DSDP-NAB)||Build device GUIs||http://www.eclipse.org/dsdp/nab|
|Device Software Development Platform — Target Management (DSDP-TM)||Remote explorer (SSH)||http://www.eclipse.org/dsdp/tm|
|Eclipse Data Tools Platform (DTP)||Manage data-centric systems||http://www.eclipse.org/datatools/|
|Eclipse Communications Framework (ECF)||Chat inside Eclipse||http://www.eclipse.org/ecf|
|Eclipse Project||Tools to build Eclipse, including Platform, JDT, PDE, and Equinox||http://www.eclipse.org/eclipse|
|Eclipse Modeling Framework (EMF)||Develop models||http://www.eclipse.org/emf|
|Eclipse Modeling Framework Technologies (EMFT)||Utilities to aid model development||http://www.eclipse.org/emft|
|Eclipse Packaging Project (EPP)||Build installers||http://www.eclipse.org/epp|
|Graphical Editing Framework (GEF)||Develop graphical applications||http://www.eclipse.org/gef|
|Graphical Modeling Framework (GMF)||Develop graphical editors||http://www.eclipse.org/gmf|
|Model Development Tools (MDT)||Utilities to aid model development||http://www.eclipse.org/mdt|
|M2M||A framework for model-to-model transformation languages||http://www.eclipse.org/m2m/|
|Model To Text (M2T)||Utilities to aid model development||http://www.eclipse.org/m2t|
|Mylyn||Focus your development based on tasks||http://www.eclipse.org/mylyn|
|Rich Ajax Platform (RAP)||Develop Eclipse-based Web 2.0 applications||http://www.eclipse.org/rap|
|SOA Tools Platform (STP)||Tools for SOA||http://www.eclipse.org/stp|
|Test and Performance Tools Platform (TPTP)||Profiler||http://www.eclipse.org/tptp|
|Web Tools Platform (WTP)||Code Web-based applications||http://www.eclipse.org/webtools|
The Eclipse Project, commonly referred to as the Eclipse SDK, resides at the heart of Eclipse. The project consists of four subprojects: Platform, Plug-in Development Environment (PDE), Java Development Tools (JDT), and Equinox. The Platform project contains the set of common and core services needed to build Eclipse-based applications. PDE simply contains the plug-in development tools developers use in Eclipse to build plug-ins. The JDT represents the collection of the Java development tooling at Eclipse. And finally, Equinox represents the core run-time of Eclipse that enables plug-ins to co-exist with each other happily.
What's new for Ganymede? Well, there are many new enhancements throughout the Eclipse project, but it would take up too much space to list them here. So for brevity, here are my three favorite enhancements, followed by a review of some of the highlights in Ganymede.
The first enhancement I like comes from the Java Development Tools (JDT). As you may know, the world of computing is changing, and we are seeing machines that consist of many cores (multicore). The JDT added multicore support in V3.4 to make sure Eclipse would be as fast as possible when it comes to compiling Java code in the future.
In plug-in development, my favorite new feature is the Plug-in Spy. The Plug-in Spy allows you to introspect Eclipse by simply selecting something interesting and pressing Alt+Shift+F1. Once you do that, the Plug-in Spy will present a pop-up that contains information like the current selection class and what plug-in it comes from. This information is useful to plug-in developers looking to integrate their plug-ins into the Eclipse user interface.
Finally, the Equinox project released a feature known as p2 provisioning. p2 replaces the old update manager as a mechanism for managing a Eclipse installation, searching for updates and installing new functionality. p2 solves many of the problems people had when updating and searching for plug-ins.
The BIRT project strives to bring an Eclipse-based reporting system that integrates with your applications to produce compelling reports. BIRT provides core reporting features, such as a graphical report designer, data access, and scripting support.
And in addition to consuming data from data sets, charts can now use data from an existing report item or a data cube. Another feature of note is the inclusion of the Data Tools Platform SQL Query Builder prototype, which allows queries to be built graphically.
Figure 3. BIRT screenshot
The CDT project aims to bring a fully functional C/C++ development environment to the Eclipse ecosystem, similar to what the JDT did for Java development.
"The CDT continues to gain momentum as a leading C/C++ IDE for technical and embedded software development. It is now packaged in all major Linux® distributions and has an almost universal adoption by embedded platform vendors. The CDT user and contributor community remain strong as the technology backing the CDT's advanced feature set reaches a new level of maturity," said Doug Schaefer, CDT project lead and recently a Wind River Systems employee.
"The focus on CDT V5.0 has been mainly on improving the features that were added in the last few releases. The CDT's source indexer can now track macros and its support for templates and other C++ features continues to improve. This enables editor features such as content assist and open declaration to find even more information that has been possible in previous releases," Schaefer said.
Schaefer said CDT V5.0 also introduces a new refactoring framework and a number of new refactorings to complement CDT's rename refactoring. This is a really exciting new area for us that shows the power of CDT's built-in parsers and editor framework and leverages much the same technology that has provided JDT with such rich refactoring features. Along with new file-level code templates, and Visual Studio key bindings, the CDT is becoming an attractive alternative to even the most popular C/C++ IDEs.
Figure 4. CDT screenshot
DLTK is a tool for anyone who relies on dynamic languages like Ruby and Perl. DLTK comprises a set of extensible frameworks designed to reduce the complexity of building full-featured development environments for dynamic languages like PHP, Perl, and Ruby. Furthermore, besides being a set of frameworks, DLTK provides exemplary Tcl, Ruby, and Python development environments ready to use out of the box.
"For the Ganymede release, the DLTK improved TCL and Ruby IDEs with a set of features you may find in Java Development Tools," said Andrei Sobolev, DLTK project co-lead and Xored employee. "Starting from code editor with code assistance and code outline, class browser and code navigation features like Open Type and Go to declaration, powerful search features like find references up to interactive console and integrated debugger, these features bring Ganymede a powerful development environment for Ruby and TCL programming languages. With Ganymede, DLTK delivers support for various TCL object-oriented extensions, ability to work on the projects, which are hosted on remote devices (with help of DSDP-TM Project), and provide Mylyn integration for all DLTK-based IDEs."
Figure 5. DLTK screenshot
The DSDP-TM project creates data models and frameworks to configure and manage remote systems, their connections, and their services. As a developer, imagine being able to SSH into distant machines and be able to edit your files on machines using Eclipse tooling.
"The DSDP Target Management Project has been focused on internal API Review, Cleanup, Refactoring, and Performance improvements for the Ganymede release, but there's still some exciting news," said Martin Oberhuber, TM lead, and Wind River Systems employee. "The Remote System Explorer (RSE) now has Windows® CE connection support, allowing transparent browsing and editing of files on the CE device. The lightweight ANSI Terminal emulation is now also available integrated with RSE, providing better support for interactive remote programs on SSH connections. Configurable User Actions and Compile Commands now allow defining simple UI shortcuts for common operations. Connections, filters and user actions can now be shared with others through an import/export facility."
"With these new features," Oberhuber said, "Target Management/RSE gives easy access to remote systems and extends the capabilities of other Eclipse plug-ins. In addition to the Ganymede train, the new TM V3.0 release still runs on last year's Eclipse V3.3 release, so upgrading from TM V2.0 is easy. With Ganymede, the Eclipse IDE for Java EE package already includes RSE in its initial download."
Figure 6. TM screenshot
The ECF project consists of a framework for supporting the development of distributed Eclipse-based tools and applications. It can be used to create other plug-ins, tools or full Eclipse RCP applications that require communications support. Furthermore, ECF also ships with example applications that let you chat with your friends inside Eclipse (via XMPP/GTalk, MSN, etc.), send files, share editors, and more.
Scott Lewis, ECF project lead said, "We think people will be very excited by ECF V2.0.0 for the Ganymede release. It has new user features like real-time shared editing, screenshot sharing, and dynamic service discovery, as well as new APIs like remote OSGi services."
Figure 7. ECF screenshot
Mylyn is a task-focused UI that reduces information overload and makes multitasking easy. It does this by making tasks a first-class part of Eclipse and integrating rich and offline editing for repositories, such as Bugzilla, Trac, and JIRA. Once your tasks are integrated, Mylyn monitors your work activity to identify information relevant to the task at hand and uses this task context to focus the Eclipse UI on the interesting information, hide the uninteresting, and automatically find what's related. I highly recommend this MyLyn V2.2 webinar for a visual example of what Mylyn can do for you.
"Mylyn 3.0 represents a big step in the maturity of the task-focused interface. The adoption rate of Mylyn has indicated that this is a technology whose time has come," said Mik Kersten, Mylyn lead and Tasktop Technologies chief technology officer. "Since the V2.0 release with Europa last year, we have resolved 1,500 bugs and enhancement requests, and applied around 250 patches from the contributor community." .
"What users will notice," Kersten said, "is across-the-board streamlining of the UI and new features ranging from content assist for tasks to focus for the Breakpoints view. Performance has been improved across the board, task open and activation is much faster, and you should notice no appreciable performance or memory overhead coming from Mylyn in spite of all the automation it provides. But the biggest thing coming with V3.0 is a revamp of core APIs to incorporate the feedback from the rapidly growing ecosystem of Mylyn integrations. There are numerous new extensions building on Mylyn, ranging from C++ and AspectJ language support to a dozen new task-repository connectors to commercial suites built on the task-focused interface, such as the SpringSource Tool Suite and Tasktop."
Figure 8. Mylyn screenshot
The RAP project enables developers to build rich Ajax-enabled Web applications by using the Eclipse development model. This means you're developing plug-ins with the well-known Eclipse workbench extension points and reusing SWT/JFace APIs. The coolest thing about the RAP project is that it allows you to reuse code from your RCP applications if things are structured correctly. This allows you to create a stand-alone and Web-based application that share a lot of common code. To get an idea of what you can do with RAP, check out the RAP demos.
"RAP adds a new runtime technology to Ganymede, expanding the reach of RCP/Equinox to the Web,"said Jochen Krause, RAP lead, and Innoopract employee. "With its strong tie into the existing platform, it does not only leverage the established technology but also enables adopters of Eclipse to leverage their investments and reach the Web 2.0 much more easily."
Figure 9. RAP/RCP screenshot
The Eclipse Foundation is holding the Ganymede Around the World Contest and wants to hear how you're using the Eclipse projects in the Ganymede release. Write a blog post, create a screencast/video, or record a podcast telling the world what's great or what you dislike about Ganymede. If you do this, the Eclipse Foundation will send you an Eclipse shirt. On top of getting a shirt, the top three reviews will win an Eclipse jacket, and the best entry will win the choice of a pass to EclipseCon 2009 or Eclipse Summit Europe 2008.
Figure 10. Ganymede contest screenshot
On the whole, the goal of this article was to take you through the Ganymede release train and showcase some of the projects that are part of the release. I accomplished this by giving a tour of some Ganymede projects, including quotes and screenshots from project leaders along the way.
So what are you waiting for? Get on the Eclipse release train and give Ganymede a try.
- The starting place for the latest version of Eclipse
is the Ganymede release train.
Interested in what's happening inside the Eclipse community? Check out PlanetEclipse.
Want to add functions to your copy of Eclipse? Browse the available Eclipse plug-ins at
Eclipse Plug-in Central.
For webinars featuring various Eclipse technologies, visit EclipseLive.
Want to meet Eclipse committers and learn more about Eclipse projects? Attend EclipseCon, Eclipse's premiere conference.
Check out the "Recommended Eclipse reading list."
Browse all the Eclipse content on developerWorks.
New to Eclipse? Read the developerWorks article "Get started with Eclipse Platform" to learn its origin and architecture, and how to extend Eclipse with plug-ins.
Expand your Eclipse skills by checking out IBM developerWorks' Eclipse project resources.
To listen to interesting interviews and discussions for software developers, check out developerWorks podcasts.
Stay current with developerWorks' Technical events and webcasts.
Watch and learn about IBM and open source technologies and product functions with the no-cost developerWorks On demand demos.
Check out upcoming conferences, trade shows, webcasts, and other Events around the world that are of interest to IBM open source developers.
Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.
Get products and technologies
Check out the latest Eclipse technology downloads at IBM alphaWorks.
Download Eclipse Platform and other projects from the Eclipse Foundation.
Download IBM product evaluation versions, and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Innovate your next open source development project with IBM trial software, available for download or on DVD.
The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)
The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.
Participate in developerWorks blogs and get involved in the developerWorks community.
Chris Aniszczyk is the technical lead for the Eclipse Plug-in Development Environment (PDE) project and principal consultant at Code 9. He tends to be all over the place inside the Eclipse community by committing on various Eclipse projects. He sits on the Eclipse Architecture Council, the Eclipse Foundation Board of Directors and on the Eclipse Technology PMC. His passions are blogging, software advocacy, tooling, and anything Eclipse. He's always available to discuss open source or Eclipse over a frosty beverage.