
<!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.obrplugin</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.obrplugin</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="AbstractFileMojo.html" target="classFrame">AbstractFileMojo</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="Config.html" target="classFrame">Config</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrCleanRepo.html" target="classFrame">ObrCleanRepo</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrDeploy.html" target="classFrame">ObrDeploy</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrDeployFile.html" target="classFrame">ObrDeployFile</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrIndex.html" target="classFrame">ObrIndex</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrInstall.html" target="classFrame">ObrInstall</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrInstallFile.html" target="classFrame">ObrInstallFile</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrRemoteClean.html" target="classFrame">ObrRemoteClean</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrUpdate.html" target="classFrame">ObrUpdate</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ObrUtils.html" target="classFrame">ObrUtils</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="PomHelper.html" target="classFrame">PomHelper</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="RemoteFileManager.html" target="classFrame">RemoteFileManager</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="XmlHelper.html" target="classFrame">XmlHelper</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>