blob: e8405d05d36661fd3614ef3ee35984930e6be0ee [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
<title>Organizing Manifest Files</title>
<link href="../../book.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
font-size: 18px;
font-weight: bold;
}
.style3 {
font-size: 12pt;
font-weight: bold;
}
-->
</style>
</head>
<body>
<p class="style1">Organizing Manifest Files
</p>
<p>PDE provides an <strong>Organize Manifests</strong> wizard to help ensure that
the information in your Manifest is up to date.
The wizard is available through the <strong>PDE Tools</strong> menu in the
context menu of a PDE project's MANIFEST.MF or plugin.xml files.
</p>
<p><img src="../../images/pde_actions/organize_manifest.png" alt="Organize Manifest" hspace="30">
</p>
<p>&nbsp;</p>
<p class="style3">Export Package Options</p>
<p>The <strong>Ensure that all packages appear in the MANIFEST.MF</strong> option
will add Export-Package declarations for any package in the project which is not
already exported.
</p>
<p>The <strong>Mark as internal all packages that match the following filter</strong>
option can be used to modify the visibility of any Export-Package declarations in a
project's Manifest. The <strong>Package filter</strong> 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 <a href="../editors/manifest_editor/access_rules.htm">Access Rules</a>
document for more information on package visibility.
</p>
<p>The <strong>Remove unresolved packages</strong> 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.
</p>
<p>The <strong>Calculate 'uses' directive for public packages</strong> 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.
</p>
<p>&nbsp;</p>
<p class="style3">Dependency Options</p>
<p>The <strong>Handle unresolved dependencies</strong> 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 <strong>removing them</strong> from the Manifest or
<strong>marking them as optional</strong>.
</p>
<p>The <strong>Remove unused dependencies</strong> 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.
</p>
<p>The <strong>Add required dependencies</strong> 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
<strong>Automated Management of Dependencies</strong> section of the
<a href="../editors/manifest_editor/dependencies.htm">Dependencies page</a> in
the <a href="../editors/manifest_editor/editor.htm">Manifest Editor</a>.
This examination may take more time than other organization operations and has
been marked as a long-running operation.
</p>
<p>&nbsp;</p>
<p class="style3">Miscellaneous Options</p>
<p>The <strong>Remove unnecessary Eclipse-LazyStart headers</strong> option will
remove the Eclipse-LazyStart header if a Bundle-Activator is not defined.
If a bundle has nothing to contribute when it is started, the Eclipse-LazyStart
header is not necessary.
</p>
<p>&nbsp;</p>
<p class="style3">Internationalization Options</p>
<p>The <strong>Prefix icon paths in plug-in extensions with a $nl$ segment</strong>
option will modify icon paths to allow fragments to contribute unique icons for
different locales.
</p>
<p>The <strong>Remove unused keys from the plug-in's properties file</strong>
option will help find and remove unused keys in the plug-in's properties file.
</p>
</body>
</html>