diff --git a/bundleplugin/doc/site/index.html b/bundleplugin/doc/site/index.html
index 4262a80..baf80d0 100644
--- a/bundleplugin/doc/site/index.html
+++ b/bundleplugin/doc/site/index.html
@@ -1,244 +1,122 @@
 <!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 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 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 - Introduction</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="author" content="Stuart McCulloch" />
-
     <meta name="Date-Creation-yyyymmdd" content="20110628" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <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>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</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">
-
             <strong>Introduction</strong>
-
           </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="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
             <strong>About</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </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">
-
         <!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements.  See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership.  The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License.  You may obtain a copy of the License at --><!--  --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!--  --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied.  See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/references/apt-format.html --><div class="section"><h2>Maven Bundle Plugin<a name="Maven_Bundle_Plugin"></a></h2><p>This Maven 2 plugin is based on the <a class="externalLink" href="http://www.aqute.biz/Bnd/Bnd/">BND</a> tool from Peter Kriens. The way BND works is by treating your project as a big collection of classes (e.g., project code, dependencies, and the class path). The way you create a bundle with BND is to tell it the content of the bundle's JAR file as a subset of the available classes. This plugin wraps BND to make it work specifically with the Maven 2 project structure and to provide it with reasonable default behavior for Maven 2 projects.</p><div class="section"><h3>Goals Overview<a name="Goals_Overview"></a></h3><p>General Information about the goals.</p><ul><li><a href="./bundle-mojo.html">bundle:bundle</a> Create an OSGi bundle from Maven project. (life-cycle goal)</li><li><a href="./manifest-mojo.html">bundle:manifest</a> Generate an OSGi manifest for this project.</li><li><a href="./cleanVersions-mojo.html">bundle:cleanVersions</a> Convert a group of versions to OSGi format.</li><li><a href="./instructions-mojo.html">bundle:instructions</a> Generate BND instructions for this project.</li><li><a href="./install-mojo.html">bundle:install</a> Installs bundle details in the local OBR repository. (life-cycle goal)</li><li><a href="./deploy-mojo.html">bundle:deploy</a> Deploys bundle details to a remote OBR repository. (life-cycle goal)</li><li><a href="./index-mojo.html">bundle:index</a> Index the content of a maven repository using OBR.</li><li><a href="./install-file-mojo.html">bundle:install-file</a> Installs bundle details in the local OBR repository. (command-line goal)</li><li><a href="./deploy-file-mojo.html">bundle:deploy-file</a> Deploys bundle details to a remote OBR repository. (command-line goal)</li><li><a href="./clean-mojo.html">bundle:clean</a> Clean a local OBR repository by finding and removing missing resources.</li><li><a href="./remote-clean-mojo.html">bundle:remote-clean</a> Clean a remote OBR repository by finding and removing missing resources.</li><li><a href="./ant-mojo.html">bundle:ant</a> Generate Ant script to create the bundle. (you should run ant:ant first)</li></ul></div><div class="section"><h3>Usage<a name="Usage"></a></h3><p>General instructions on how to use the Maven Bundle Plugin can be found on the <a class="externalLink" href="http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html">wiki page</a>. Some more specific use cases are described in the examples given below.</p><p>In case you still have questions regarding the plugin's usage, please have a look at the <a class="externalLink" href="http://felix.apache.org/site/apache-felix-bundle-plugin-faq.html">FAQ</a> and feel free to contact the <a class="externalLink" href="http://felix.apache.org/site/mailinglists.html">user mailing list</a>. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the <a class="externalLink" href="http://www.mail-archive.com/users@felix.apache.org/">mail archive</a>.</p><p>If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our <a href="./issue-tracking.html">issue tracker</a>. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our <a href="./source-repository.html">source repository</a> and will find supplementary information in the <a class="externalLink" href="http://felix.apache.org/site/development.html">Apache Felix developers guide</a>. </p></div><div class="section"><h3>Examples<a name="Examples"></a></h3><p>To provide you with better understanding on some usages of the Maven Bundle Plugin, you can take a look into the following examples:</p><ul><li>Examples coming soon!</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>
-
