
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
	</head>
	<body>
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
		
		      	<h2>Package org.apache.felix.bundleplugin</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="AbstractDependencyFilter.html" target="classFrame">AbstractDependencyFilter</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="AntPlugin.html" target="classFrame">AntPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="BlueprintPlugin.html" target="classFrame">BlueprintPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="BundleAllPlugin.html" target="classFrame">BundleAllPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="BundleInfo.html" target="classFrame">BundleInfo</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="BundlePlugin.html" target="classFrame">BundlePlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="DependencyEmbedder.html" target="classFrame">DependencyEmbedder</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="DependencyExcluder.html" target="classFrame">DependencyExcluder</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="AbstractDependencyFilter.html" target="classFrame">DependencyFilter</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="InstructionsPlugin.html" target="classFrame">InstructionsPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="JarPluginConfiguration.html" target="classFrame">JarPluginConfiguration</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ManifestPlugin.html" target="classFrame">ManifestPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ManifestWriter.html" target="classFrame">ManifestWriter</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ScrPlugin.html" target="classFrame">ScrPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="VersionCleanerPlugin.html" target="classFrame">VersionCleanerPlugin</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="WrapPlugin.html" target="classFrame">WrapPlugin</a>
              		</td>
            	</tr>
				        	</tbody>
      	</table>
		
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
				<hr />
		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
	</body>
</html>