# Plug-in Export

PDE provides a Plug-in Export wizard to export plug-ins and fragments into a form that is suitable for deployment. The wizard shields you from Ant scripts and does not pollute your workspace with resources generated during the build operation. The wizard is available under File > Export... > Plug-in Development > Deployable plug-ins and fragments .

## Plug-in Selection

The wizard displays all the non-binary plug-ins found in the workspace.

Select the plug-ins that you want to export. If you find yourself exporting the same set of plug-ins over and over, you can press Working Set... to define a plug-in working set.

## Destination

You can choose to export the plug-ins to a directory or to a ZIP archive.

If you choose to export to a Directory (the default), the plug-ins will be placed in a plugins/ subdirectory of the chosen directory.

If you choose to export to an Archive File, all the plug-ins will be packaged in a single ZIP archive. The directory structure inside the ZIP also starts with plugins/ at its root.

## Options

The Include source code option results in the exporting of source code as well as binaries. If a plug-in is packaged as a JAR, the source code will be placed in a src/ folder at the root of the JAR. If the plug-in is packaged as a flat directory, the source code will be placed in a source ZIP inside the plug-in directory as a sibling to the library JAR. Refer to the Source Code Locations document for details on the source archive naming convention.

The Package plug-ins as individual JAR archives option packages each plug-in as a JAR. This option is recommended for plug-ins whose code is stored at the root (i.e. plug-ins that have no MANIFEST.MF Bundle-ClassPath header or the header is of the form Bundle-ClassPath: .). Nested JARs are strongly discouraged as they hinder performance; since, the runtime will have to extract these JARs at runtime. Therefore, if the plug-in's code is packaged in a JAR, it is recommended to keep the deployed plug-in as a flat directory.

The Qualifier replacement option enables you to substitute a value for the qualifier element in a plug-in's version. The plug-ins version must be in the following format: <major>.<minor>.<micro>.qualifier. For example: 3.3.0.qualifier. Normally, the qualifier represents a build date or identifier.

The Save as Ant script option lets you save the settings of the export operation so that it can be re-executed at a later time without having to go through the wizard again. Like the export operation, the Ant task runs as an asynchronous job; therefore, it may not be suitable to incorporate it as a part of a larger Ant script.

## JAR Signing

The JAR Signing tab is only available when the Package as individual JAR archives option is selected on the Options tab.

To sign the JARs, you must be running Eclipse with a full JDK, rather than just a JRE.

The Keystore location, Alias and Password fields are all required for the signing operation.