blob: e7ed92777fb7878d689370e8d3d7766cba52c7fc [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><HTML>
<HEAD>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<title>Dependencies page</title>
</head>
<BODY BGCOLOR="#ffffff">
<h2>Dependencies page</h2>
<p>The <strong>Dependencies</strong> page shows the dependencies that your plug-in
has on other plug-ins.&nbsp; You must list on this page all the plug-ins that
contribute code required on your plug-in project's classpath to compile.&nbsp;&nbsp;
When you modify the list of dependencies and save the file, PDE will automatically
update your classpath.</p>
<p align="center">
<img border="0" src="images/plugin-dependencies.png" alt="Dependencies editor page" ></p>
<p align="left">&nbsp;
</p>
<p align="left"> Note that the order of the plug-ins in the list is important
because it dictates the classloading order at runtime, so use the <strong>Up</strong>
and <strong>Down</strong> buttons to organize the list as appropriate.</p>
<p align="left">A plug-in listed in the <strong>Required Plug-ins</strong> section
can be marked as re-exported in its Properties dialog.&nbsp; Re-exporting a
dependency means that clients of your plug-in will get that dependency for free.&nbsp;
It is important that you do not abuse this functionality and use it only when
it makes sense to do so.</p>
<p align="left">If your plug-in requires a specific version of a plug-in to function
properly, then you can specify the version required along with the version match
rule.&nbsp; You can read more about valid values in the Platform ISV guide.</p>
<p align="left">The Eclipse runtime gives the flexibility to declare a dependency
on a package without explicitly identifying its originating plug-in. These packages
are listed in the <strong>Imported Packages</strong> section.</p>
<p align="left">The <b>Dependency Analysis</b> contain several useful features
such as finding cycles in the dependency graph.&nbsp; Such cycles are forbidden
by the runtime, making the analysis useful for performing a sanity check on your plug-in's
dependency graph before testing it.</p>
<p align="left">For a selected plug-in in the list, <b>Compute Dependency Extent</b>
will give you a list of all the Java types and all the extension points that
your plug-in needs from that dependency.&nbsp; So, in essence, it tells you why
you need that plug-in.</p>
<p align="left">Since the JARs from all the plug-ins in the list of dependencies
will be on your plug-in's classpath at runtime, it is very important to not have
any dependencies that you do not need, as they would slow down classloading.&nbsp;
To find such extraneous entries and remove them, use the <b>Find Unused
Dependencies</b> feature available on this page.</p>
<p align="left">&nbsp;</p>
</body>
</html>