# Organizing Manifest Files

PDE provides an Organize Manifests wizard to help ensure that the information in your Manifest is up to date. The wizard is available through the PDE Tools menu in the context menu of a PDE project's MANIFEST.MF or plugin.xml files.

### Export Package Options

The Ensure that all packages appear in the MANIFEST.MF option will add Export-Package declarations for any package in the project which is not already exported.

The Mark as internal all packages that match the following filter option can be used to modify the visibility of any Export-Package declarations in a project's Manifest. The Package filter field should contain a regular expression used to match the names of packages that should be marked internal. Packages marked as internal will not be available for use by other bundles. Refer to the Access Rules document for more information on package visibility.

The Remove unresolved packages option will remove any Export-Package entries which cannot be resolved. There are a variety of reasons why an exported package cannot be resolved, but the most common reason is because it does not exist in the project.

The Calculate 'uses' directive for public packages option will handle the complicated computations for the 'uses' directive for any packages that other bundles have access to. Since the computations are complex and require code introspection, this operation may take more time than other organization operations. This operation has been marked as a long-running operation.

### Dependency Options

The Handle unresolved dependencies option allows you to clean up your Manifest by removing any unresolved dependencies. A dependency may be unresolved for a variety of reasons, such as an optional plug-in being missing from the current configuration. For this reason, you may elect to handle unresolved dependencies by either removing them from the Manifest or marking them as optional.

The Remove unused dependencies option can help you identify and remove any unused dependencies currently defined in the Manifest. Unused dependencies may require additional unnecessary bundles to be installed in a runtime. This operation analyzes your project's code to check for references and may take more time than other organization operations. This operation has been marked as a long-running operation.

The Add required dependencies option inspects the project's code to try to add additional dependencies which are not currently included in the manifest. This operation will only find new dependencies for bundles listed in the Automated Management of Dependencies section of the Dependencies page in the Manifest Editor. This examination may take more time than other organization operations and has been marked as a long-running operation.

### Miscellaneous Options

The Remove unnecessary lazy activation headers option will remove lazy activation headers if a Bundle-Activator is not defined. If a bundle has nothing to contribute when it is started, a lazy activation header is not necessary.

The Delete unnecessary plug-in manifest files option will remove plugin.xml files if a plug-in doesn't contribute any extension or extension points.

### Internationalization Options

The Prefix icon paths in plug-in extensions with a $nl$ segment option will modify icon paths to allow fragments to contribute unique icons for different locales.

The Remove unused keys from the plug-in's properties file option will help find and remove unused keys in the plug-in's properties file.