What's New in 3.1

This document contains descriptions of some of the more interesting or significant changes made to PDE for the 3.1 release of Eclipse since 3.0.

PDE


Bundle manifests for plug-ins

In Eclipse 3.1, it is strongly recommended that plug-ins contain an OSGi bundle manifest.mf. In addition to faster startup and classloading, this format will allow you to take advantage of many of the new runtime capabilities such as fine control over what packages you want to expose to clients.

The option to create a manifest.mf in the New Plug-in Project creation wizard is now on by default.

New Plug-in Wizard

You can create a bundle manifest.mf for an existing plug-in on the Overview page of the plug-in manifest editor.

Plug-in Content


PDE enforces code accessibility

The plug-in's manifest.mf file allows you to control on a per-package basis the visibility of your plug-in's code to downstream plug-ins.

PDE manages each plug-in's Java classpath and checks these visibility rules at compile time. This means no one will never be caught by surprise by classloading errors at runtime, and will always be aware when they are referencing internal (discouraged) types.

discouraged access

For full details, refer to the Access Restrictions document.


Creating a rich client application

The New Plug-in Project wizard gives you the option to create a rich client application.

Rich Client


RCP templates

The New Plug-in Project wizard provides ready-to-run RCP templates. The templates range from a minimal Hello RCP template to a rich, fully-branded RCP mail template.

RCP templates


Build an Eclipse product with a single click

You can now create and manage an Eclipse product in a *.product file, which can be created via File > New > Other... > Product Configuration.

The product configuration editor manages all aspects of a product from basic definition to branding. You can create plug-in-based and feature-based products. The overview page provides hot links to test and export the product.

product editor


Eclipse product export wizard

You can export an Eclipse product as an archive or a directory structure in the Eclipse Product Export wizard.

The wizard is invoked via File > Export > Eclipse Product or from the Overview page of the Product Configuration editor.

Export Wizard


Cross-platform product export

If you have the RCP delta pack installed, you can now build and export your product for multiple platforms at the same time via the Eclipse Product export wizard (File > Export > Eclipse Product).

Cross Platform


Create a plug-in from existing JAR

PDE now provides a wizard that creates a plug-in from existing JAR archives. This wizard is ideal if you would like to package third-party non-Eclipse JARs as an Eclipse plug-in.

The wizard can be invoked via File > New > Project > Plug-in from existing JAR archives.

Bundlizer


Manifest editor supports more OSGi bundle manifest headers

The PDE plug-in editor now exposes many interesting features of the runtime that are available only if your plug-in has a manifest.mf file. The Runtime page of the editor, for example, is the place where you can control access to your plug-in's code on a fine-grained level.

Bundle Editor


Manifest.mf validation

PDE now flags syntactic and semantic errors in the plug-in's manifest.mf file.

manifest.mf validation


Improved plugin.xml validation

Attributes and elements defined in extension point schemas can now be marked as translatable. Also, obsolete attributes and elements can be marked as deprecated, in the same spirit as @deprecated tag in obsolete Java APIs.

PDE uses this metadata to flag the usage of deprecated and non-externalized attributes and elements in the plug-in's manifest files.

Manifest Compiler


Sharing plug-in manifest compiler settings

You can now set the PDE plug-in manifest compiler settings on a per-project basis and share these settings among team members.

Project preferences


Improved plug-in dependencies view

The PDE Plug-in Dependencies view now shows both tabular and tree visualizations of dependencies, as well as caller/callee relationships and cyclic dependencies. This view can be opened from the context menu of plug-in project via PDE Tools > Open Dependencies.

Plug-in Dependencies


Validate plug-in set before launching

Prior to launching your Eclipse application, you can now validate the selected subset of plug-ins to find lurking launch startup problems such as unsatisfied plug-in dependencies, missing applications, etc.

Validate Plug-ins


No need to -clean

When self-hosting with PDE, you no longer need to launch a runtime Eclipse application with the -clean program argument. Leaving this argument off significantly improves startup time.

Improved feature and update site support

The PDE feature and update site manifest editors have been redesigned to provide a simpler and better workflow.  Improvements include the ability to build and package features without having to import them into your workspace.

JNLP manifests and JAR signing

The feature export wizard now provides you with the option to create JNLP manifests and digitally sign your plug-in and feature archives for Java Web Start deployment.

JNLP and signed