diff --git a/bundleplugin/doc/site/surefire-report.html b/bundleplugin/doc/site/surefire-report.html
index b73b54a..92b921f 100644
--- a/bundleplugin/doc/site/surefire-report.html
+++ b/bundleplugin/doc/site/surefire-report.html
@@ -1,228 +1,114 @@
 <!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 - Surefire Report</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="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                                       <li class="expanded">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="jira-report.html" title="JIRA Report">JIRA Report</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="plugin-info.html" title="Plugin Documentation">Plugin Documentation</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref/index.html" title="Source Xref">Source Xref</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Surefire Report</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a>
-
             </li>
-
               </ul>
-
         </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>Surefire Report<a name="Surefire_Report"></a></h2></div><div class="section"><h2><a name="Summary"></a>Summary<a name="Summary"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td>9</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.764</td></tr></table><br />Note: failures are anticipated and checked for with assertions while errors are unanticipated.<br /></div><div class="section"><h2><a name="Package_List"></a>Package List<a name="Package_List"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>9</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.764</td></tr></table><br />Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.<div class="section"><h3><a name="org.apache.felix.bundleplugin"></a>org.apache.felix.bundleplugin<a name="org.apache.felix.bundleplugin"></a></h3><table border="0" class="bodyTable"><tr class="a"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest">BlueprintComponentTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.497</td></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest">BundleAllPluginTest</a></td><td>2</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.771</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBundlePluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundlePluginTest">BundlePluginTest</a></td><td>6</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.496</td></tr></table></div><br /></div><div class="section"><h2><a name="Test_Cases"></a>Test Cases<a name="Test_Cases"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><div class="section"><h3><a name="org.apache.felix.bundlepluginBlueprintComponentTest"></a>BlueprintComponentTest<a name="BlueprintComponentTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.463</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundleAllPluginTest"></a>BundleAllPluginTest<a name="BundleAllPluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.319</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.449</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundlePluginTest"></a>BundlePluginTest<a name="BundlePluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.059</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.153</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.069</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.06</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.069</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.083</td></tr></table></div><br /></div><br />
-
+        <div class="section"><h2>Surefire Report<a name="Surefire_Report"></a></h2></div><div class="section"><h2><a name="Summary"></a>Summary<a name="Summary"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>2.93</td></tr></table><br />Note: failures are anticipated and checked for with assertions while errors are unanticipated.<br /></div><div class="section"><h2><a name="Package_List"></a>Package List<a name="Package_List"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>2.93</td></tr></table><br />Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.<div class="section"><h3><a name="org.apache.felix.bundleplugin"></a>org.apache.felix.bundleplugin<a name="org.apache.felix.bundleplugin"></a></h3><table border="0" class="bodyTable"><tr class="a"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest">BlueprintComponentTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.761</td></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest">BundleAllPluginTest</a></td><td>2</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.953</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBundlePluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundlePluginTest">BundlePluginTest</a></td><td>12</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.216</td></tr></table></div><br /></div><div class="section"><h2><a name="Test_Cases"></a>Test Cases<a name="Test_Cases"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><div class="section"><h3><a name="org.apache.felix.bundlepluginBlueprintComponentTest"></a>BlueprintComponentTest<a name="BlueprintComponentTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.711</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundleAllPluginTest"></a>BundleAllPluginTest<a name="BundleAllPluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.463</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.484</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundlePluginTest"></a>BundlePluginTest<a name="BundlePluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.057</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.178</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.052</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.064</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.046</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.064</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.151</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.127</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.142</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.127</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.172</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.03</td></tr></table></div><br /></div><br />
       </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>
-
