diff --git a/bundleplugin/doc/site/project-info.html b/bundleplugin/doc/site/project-info.html
index cfdcd30..7d243b1 100644
--- a/bundleplugin/doc/site/project-info.html
+++ b/bundleplugin/doc/site/project-info.html
@@ -1,243 +1,123 @@
 <!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 - Project Information</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 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">
-
                           <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="expanded">
-
             <strong>Project Information</strong>
-
                   <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </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">
-
         <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Provides a maven plugin that supports creating an OSGi bundle
   from the contents of the compilation classpath along with its
   resources and dependencies. Plus a zillion other features.
   The plugin uses the Bnd tool (http://www.aqute.biz/Code/Bnd)</td></tr><tr class="a"><td><a href="dependencies.html">Dependencies</a></td><td>This document lists the project's dependencies and provides information on each dependency.</td></tr><tr class="b"><td><a href="issue-tracking.html">Issue Tracking</a></td><td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td></tr><tr class="a"><td><a href="mail-lists.html">Mailing Lists</a></td><td>This document provides subscription and archive information for this project's mailing lists.</td></tr><tr class="b"><td><a href="license.html">Project License</a></td><td>This is a link to the definitions of project licenses.</td></tr><tr class="a"><td><a href="team-list.html">Project Team</a></td><td>This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.</td></tr><tr class="b"><td><a href="source-repository.html">Source Repository</a></td><td>This is a link to the online source repository that can be viewed via a web browser.</td></tr></table></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>
-
