diff --git a/bundleplugin/doc/site/install-file-mojo.html b/bundleplugin/doc/site/install-file-mojo.html
new file mode 100644
index 0000000..f4473c3
--- /dev/null
+++ b/bundleplugin/doc/site/install-file-mojo.html
@@ -0,0 +1,345 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+  <head>
+
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+    <title>Maven Bundle Plugin - 
+    bundle:install-file</title>
+
+    <style type="text/css" media="all">
+
+      @import url("./css/maven-base.css");
+
+      @import url("./css/maven-theme.css");
+
+      @import url("./css/site.css");
+
+    </style>
+
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+
+    <meta name="Date-Revision-yyyymmdd" content="20110705" />
+
+    <meta http-equiv="Content-Language" content="en" />
+
+        
+
+  </head>
+
+  <body class="composite">
+
+    <div id="banner">
+
+                    <div id="bannerLeft">
+
+                Maven Bundle Plugin
+
+                </div>
+
+                    <div class="clear">
+
+        <hr/>
+
+      </div>
+
+    </div>
+
+    <div id="breadcrumbs">
+
+            
+
+        
+
+                <div class="xleft">
+
+        <span id="publishDate">Last Published: 2011-07-05</span>
+
+                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
+
+                      </div>
+
+            <div class="xright">        
+
+        
+
+      </div>
+
+      <div class="clear">
+
+        <hr/>
+
+      </div>
+
+    </div>
+
+    <div id="leftColumn">
+
+      <div id="navcolumn">
+
+             
+
+        
+
+                                <h5>Overview</h5>
+
+                  <ul>
+
+                  <li class="none">
+
+                          <a href="index.html" title="Introduction">Introduction</a>
+
+            </li>
+
+                  <li class="none">
+
+                          <a href="plugin-info.html" title="Goals">Goals</a>
+
+            </li>
+
+                  <li class="none">
+
+                          <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
+
+            </li>
+
+                  <li class="none">
+
+                          <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
+
+            </li>
+
+                  <li class="none">
+
+                          <a href="jira-report.html" title="Release Notes">Release Notes</a>
+
+            </li>
+
+          </ul>
+
+                       <h5>Project Documentation</h5>
+
+                  <ul>
+
+                                                                                                                                                                                <li class="collapsed">
+
+                          <a href="project-info.html" title="Project Information">Project Information</a>
+
+                  </li>
+
+                                                                                                                                            <li class="collapsed">
+
+                          <a href="project-reports.html" title="Project Reports">Project Reports</a>
+
+                  </li>
+
+          </ul>
+
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+
+      </a>
+
+                   
+
+        
+
+            </div>
+
+    </div>
+
+    <div id="bodyColumn">
+
+      <div id="contentBox">
+
+        
+  
+    <div class="section"><h2>bundle:install-file<a name="bundle:install-file"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.3.5:install-file</p>
+      <p><b>Description</b>:</p>
+      <div>Installs bundle details in the local OBR repository (command-line
+goal)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Binds by default to the lifecycle phase: <tt>install</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#artifactId">artifactId</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>ArtifactId of the bundle. Retrieved from POM file if specified.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#classifier">classifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Classifier type of the bundle. Defaults to none.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#file">file</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>Bundle file, defaults to the artifact in the local Maven
+repository.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#groupId">groupId</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>GroupId of the bundle. Retrieved from POM file if specified.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#obrRepository">obrRepository</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>OBR Repository.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#obrXml">obrXml</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Optional XML file describing additional requirements and
+capabilities.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle. Retrieved from POM file if specified.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#pomFile">pomFile</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>Location of an existing POM file.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>Project types which this plugin supports.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#version">version</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Version of the bundle. Retrieved from POM file if specified.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="artifactId">artifactId</a>:</b></p>
+        <div>ArtifactId of the bundle. Retrieved from POM file if specified.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${artifactId}</tt></li>
+        </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
+        <div>Classifier type of the bundle. Defaults to none.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${classifier}</tt></li>
+        </ul><hr /><p><b><a name="file">file</a>:</b></p>
+        <div>Bundle file, defaults to the artifact in the local Maven
+repository.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${file}</tt></li>
+        </ul><hr /><p><b><a name="groupId">groupId</a>:</b></p>
+        <div>GroupId of the bundle. Retrieved from POM file if specified.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${groupId}</tt></li>
+        </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
+        <div>OBR Repository.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+        </ul><hr /><p><b><a name="obrXml">obrXml</a>:</b></p>
+        <div>Optional XML file describing additional requirements and
+capabilities.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${obrXml}</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle. Retrieved from POM file if specified.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${packaging}</tt></li>
+        </ul><hr /><p><b><a name="pomFile">pomFile</a>:</b></p>
+        <div>Location of an existing POM file.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${pomFile}</tt></li>
+        </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
+        <div>Project types which this plugin supports.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="version">version</a>:</b></p>
+        <div>Version of the bundle. Retrieved from POM file if specified.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${version}</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+
+      </div>
+
+    </div>
+
+    <div class="clear">
+
+      <hr/>
+
+    </div>
+
+    <div id="footer">
+
+      <div class="xright">Copyright &#169;                    2006-2011
+
+                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+
+            All Rights Reserved.      
+
+        
+
+      </div>
+
+      <div class="clear">
+
+        <hr/>
+
+      </div>
+
+    </div>
+
+  </body>
+
+</html>
+
