diff --git a/bundleplugin/doc/site/ant-mojo.html b/bundleplugin/doc/site/ant-mojo.html
index 094887d..5e61807 100644
--- a/bundleplugin/doc/site/ant-mojo.html
+++ b/bundleplugin/doc/site/ant-mojo.html
@@ -178,7 +178,8 @@
             <td><b><a href="#niceManifest">niceManifest</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
+            <td>Output a nicely formatted manifest that still respects the 72
+character line limit.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
@@ -258,7 +259,8 @@
           <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
-        <div>(no description)</div>
+        <div>Output a nicely formatted manifest that still respects the 72
+character line limit.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
diff --git a/bundleplugin/doc/site/bundle-mojo.html b/bundleplugin/doc/site/bundle-mojo.html
index e597c9b..cb268b6 100644
--- a/bundleplugin/doc/site/bundle-mojo.html
+++ b/bundleplugin/doc/site/bundle-mojo.html
@@ -177,7 +177,8 @@
             <td><b><a href="#niceManifest">niceManifest</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
+            <td>Output a nicely formatted manifest that still respects the 72
+character line limit.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
@@ -257,7 +258,8 @@
           <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
-        <div>(no description)</div>
+        <div>Output a nicely formatted manifest that still respects the 72
+character line limit.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
diff --git a/bundleplugin/doc/site/bundleall-mojo.html b/bundleplugin/doc/site/bundleall-mojo.html
index 3ded7ab..d44ff70 100644
--- a/bundleplugin/doc/site/bundleall-mojo.html
+++ b/bundleplugin/doc/site/bundleall-mojo.html
@@ -193,7 +193,8 @@
             <td><b><a href="#niceManifest">niceManifest</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
+            <td>Output a nicely formatted manifest that still respects the 72
+character line limit.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
@@ -297,7 +298,8 @@
           <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
-        <div>(no description)</div>
+        <div>Output a nicely formatted manifest that still respects the 72
+character line limit.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
diff --git a/bundleplugin/doc/site/cleanVersions-mojo.html b/bundleplugin/doc/site/cleanVersions-mojo.html
index 39f8782..c24a0f6 100644
--- a/bundleplugin/doc/site/cleanVersions-mojo.html
+++ b/bundleplugin/doc/site/cleanVersions-mojo.html
@@ -84,7 +84,7 @@
       <p><b>Full name</b>:</p>
       <p>org.apache.felix:maven-bundle-plugin:2.5.0:cleanVersions</p>
       <p><b>Description</b>:</p>
-      <div>(no description)</div>
+      <div>Convert a group of versions to OSGi format.</div>
       <p><b>Attributes</b>:</p>
       <ul>
         <li>Requires a Maven project to be executed.</li>
diff --git a/bundleplugin/doc/site/dependencies.html b/bundleplugin/doc/site/dependencies.html
index 2e4737a..21387dc 100644
--- a/bundleplugin/doc/site/dependencies.html
+++ b/bundleplugin/doc/site/dependencies.html
@@ -117,26 +117,26 @@
         }
       }
 </script>
-<a name="Dependency_Tree"></a><div class="section"><h3>Dependency Tree<a name="Dependency_Tree"></a></h3><ul><li>org.apache.felix:maven-bundle-plugin:maven-plugin:2.5.0 <img id="_1100107191" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_770272047', '_1100107191' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_770272047" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Bundle Plugin</th></tr><tr class="b"><td><p><b>Description: </b>Provides a maven plugin that supports creating an OSGi bundle
+<a name="Dependency_Tree"></a><div class="section"><h3>Dependency Tree<a name="Dependency_Tree"></a></h3><ul><li>org.apache.felix:maven-bundle-plugin:maven-plugin:2.5.0 <img id="_221921207" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1650812905', '_221921207' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1650812905" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Bundle Plugin</th></tr><tr class="b"><td><p><b>Description: </b>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)</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/maven-bundle-plugin/">http://felix.apache.org/maven-bundle-plugin/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>biz.aQute.bnd:bndlib:jar:2.3.0 (compile) <img id="_1640292700" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1608803030', '_1640292700' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1608803030" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>A Swiss Army Knife for OSGi</th></tr><tr class="b"><td><p><b>Description: </b>The bndlib project is a general library to be used with OSGi bundles. It contains
-    lots of cool functionality that calculates dependencies, etc.</p><p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">http://www.aQute.biz/Code/Bnd/bndlib</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></p></td></tr></table></div><ul><li>org.osgi:org.osgi.core:jar:4.3.1 (compile) <img id="_133293225" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_339675408', '_133293225' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_339675408" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>osgi.core</th></tr><tr class="b"><td><p><b>Description: </b>OSGi Service Platform Release 4 Version 4.3, Core Interfaces
-     and Classes for use in compiling bundles.</p><p><b>URL: </b><a class="externalLink" href="http://www.osgi.org">http://www.osgi.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://opensource.org/licenses/apache2.0.php">Apache License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6 (compile) <img id="_375762895" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1474294570', '_375762895' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1474294570" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Felix Bundle Repository</th></tr><tr class="b"><td><p><b>Description: </b>Bundle repository service.</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">http://felix.apache.org/org.apache.felix.bundlerepository/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.easymock:easymock:jar:2.4 (compile) <img id="_74208051" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1161001948', '_74208051' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1161001948" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li></ul></li><li>org.apache.felix:org.apache.felix.utils:jar:1.6.0 (compile) <img id="_471179129" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2033195111', '_471179129' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2033195111" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Felix Utils</th></tr><tr class="b"><td><p><b>Description: </b>Utility classes for OSGi.</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/org.apache.felix.utils/">http://felix.apache.org/org.apache.felix.utils/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.osgi:org.osgi.compendium:jar:4.2.0 (compile) <img id="_97924164" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1737040475', '_97924164' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1737040475" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>org.osgi.compendium</th></tr><tr class="b"><td><p><b>Description: </b>POM was created by Sonatype Nexus</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-core:jar:2.0.7 (compile) <img id="_1367676492" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_500197654', '_1367676492' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_500197654" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Core</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-core">http://maven.apache.org/maven-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_1573825963" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1980111752', '_1573825963' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1980111752" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_70998341" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1658951327', '_70998341' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1658951327" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1915328788" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2062671622', '_1915328788' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2062671622" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2 (runtime) <img id="_90645620" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1001410279', '_90645620' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1001410279" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon File Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using file system protocol</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">http://maven.apache.org/wagon/wagon-providers/wagon-file</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_1838764264" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1957898420', '_1838764264' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1957898420" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7 (compile) <img id="_703852610" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_649407689', '_703852610' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_649407689" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Parameter Documenter API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">http://maven.apache.org/maven-plugin-parameter-documenter</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_353780883" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1674124829', '_353780883' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1674124829" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2 (runtime) <img id="_1572882631" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_337219459', '_1572882631' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_337219459" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon Lightweight HTTP Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts through http using standard Java library</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2 (runtime) <img id="_1783925906" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1572484790', '_1783925906' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1572484790" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon HTTP Shared Library</th></tr><tr class="b"><td><p><b>Description: </b>Shared Library for the wagon-http, and wagon-http-lightweight wagon providers.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">http://maven.apache.org/wagon/wagon-providers/wagon-http-shared</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>jtidy:jtidy:jar:4aug2000r7-dev (runtime) <img id="_1815579745" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1396814698', '_1815579745' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1396814698" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JTidy</th></tr><tr class="b"><td><p><b>Description: </b>JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM parser for real-world HTML.</p><p><b>URL: </b><a class="externalLink" href="http://jtidy.sourceforge.net">http://jtidy.sourceforge.net</a></p><p><b>Project License: </b><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_926781486" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1844146433', '_926781486' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1844146433" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>xml-apis:xml-apis:jar:1.0.b2 (runtime) <img id="_20918191" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_942470928', '_20918191' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_942470928" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>XML Commons External Components XML APIs</th></tr><tr class="b"><td><p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and 
+  The plugin uses the Bnd tool (http://www.aqute.biz/Code/Bnd)</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/maven-bundle-plugin/">http://felix.apache.org/maven-bundle-plugin/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>biz.aQute.bnd:bndlib:jar:2.3.0 (compile) <img id="_1772263110" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1231181554', '_1772263110' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1231181554" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>A Swiss Army Knife for OSGi</th></tr><tr class="b"><td><p><b>Description: </b>The bndlib project is a general library to be used with OSGi bundles. It contains
+    lots of cool functionality that calculates dependencies, etc.</p><p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">http://www.aQute.biz/Code/Bnd/bndlib</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></p></td></tr></table></div><ul><li>org.osgi:org.osgi.core:jar:4.3.1 (compile) <img id="_1153786314" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_87662048', '_1153786314' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_87662048" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>osgi.core</th></tr><tr class="b"><td><p><b>Description: </b>OSGi Service Platform Release 4 Version 4.3, Core Interfaces
+     and Classes for use in compiling bundles.</p><p><b>URL: </b><a class="externalLink" href="http://www.osgi.org">http://www.osgi.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://opensource.org/licenses/apache2.0.php">Apache License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6 (compile) <img id="_1698761154" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_868248371', '_1698761154' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_868248371" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Felix Bundle Repository</th></tr><tr class="b"><td><p><b>Description: </b>Bundle repository service.</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">http://felix.apache.org/org.apache.felix.bundlerepository/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.easymock:easymock:jar:2.4 (compile) <img id="_414701384" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1715868335', '_414701384' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1715868335" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li></ul></li><li>org.apache.felix:org.apache.felix.utils:jar:1.6.0 (compile) <img id="_832960161" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1012697807', '_832960161' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1012697807" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Felix Utils</th></tr><tr class="b"><td><p><b>Description: </b>Utility classes for OSGi.</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/org.apache.felix.utils/">http://felix.apache.org/org.apache.felix.utils/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.osgi:org.osgi.compendium:jar:4.2.0 (compile) <img id="_858244246" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1418370734', '_858244246' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1418370734" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>org.osgi.compendium</th></tr><tr class="b"><td><p><b>Description: </b>POM was created by Sonatype Nexus</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-core:jar:2.0.7 (compile) <img id="_236360384" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1677626518', '_236360384' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1677626518" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Core</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-core">http://maven.apache.org/maven-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_1088383993" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_7846889', '_1088383993' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_7846889" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1364469701" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1114035081', '_1364469701' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1114035081" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1546964211" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1305293844', '_1546964211' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1305293844" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2 (runtime) <img id="_1458649647" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1935857641', '_1458649647' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1935857641" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon File Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using file system protocol</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">http://maven.apache.org/wagon/wagon-providers/wagon-file</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_683865666" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1129931284', '_683865666' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1129931284" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7 (compile) <img id="_1434961096" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2113938362', '_1434961096' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2113938362" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Parameter Documenter API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">http://maven.apache.org/maven-plugin-parameter-documenter</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_665231542" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_707472020', '_665231542' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_707472020" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2 (runtime) <img id="_1381245974" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1009321838', '_1381245974' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1009321838" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon Lightweight HTTP Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts through http using standard Java library</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2 (runtime) <img id="_550990425" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_207034', '_550990425' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_207034" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon HTTP Shared Library</th></tr><tr class="b"><td><p><b>Description: </b>Shared Library for the wagon-http, and wagon-http-lightweight wagon providers.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">http://maven.apache.org/wagon/wagon-providers/wagon-http-shared</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>jtidy:jtidy:jar:4aug2000r7-dev (runtime) <img id="_329861374" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_921035683', '_329861374' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_921035683" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JTidy</th></tr><tr class="b"><td><p><b>Description: </b>JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM parser for real-world HTML.</p><p><b>URL: </b><a class="externalLink" href="http://jtidy.sourceforge.net">http://jtidy.sourceforge.net</a></p><p><b>Project License: </b><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_791599638" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1061366007', '_791599638' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1061366007" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>xml-apis:xml-apis:jar:1.0.b2 (runtime) <img id="_1990646333" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1355448907', '_1990646333' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1355448907" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>XML Commons External Components XML APIs</th></tr><tr class="b"><td><p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and 
     JAXP interfaces for use in other xml-based projects. Our hope is that we 
     can standardize on both a common version and packaging scheme for these 
     critical XML standards interfaces to make the lives of both our developers 
     and users easier. The External Components portion of xml-commons contains 
     interfaces that are defined by external standards organizations. For DOM, 
     that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for 
-    JAXP it's Sun.</p><p><b>URL: </b><a class="externalLink" href="http://xml.apache.org/commons/#external">http://xml.apache.org/commons/#external</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_1432366301" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1048922205', '_1432366301' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1048922205" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7 (compile) <img id="_622381168" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1971912002', '_622381168' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1971912002" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Reporting API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">http://maven.apache.org/maven-reporting/maven-reporting-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_1350808075" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_493442545', '_1350808075' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_493442545" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_825479421" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_857176533', '_825479421' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_857176533" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_254252008" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1706814641', '_254252008' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1706814641" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1646579655" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_150300841', '_1646579655' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_150300841" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_944153230" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1828126135', '_944153230' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1828126135" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_443609084" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1368314394', '_443609084' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1368314394" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1143369948" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1108174812', '_1143369948' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1108174812" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_1166487373" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_370978156', '_1166487373' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_370978156" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-error-diagnostics:jar:2.0.7 (compile) <img id="_551210169" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1083959751', '_551210169' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1083959751" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Error Diagnostics</th></tr><tr class="b"><td><p><b>Description: </b>Provides a manager component which will process a given Throwable instance through a set of diagnostic
+    JAXP it's Sun.</p><p><b>URL: </b><a class="externalLink" href="http://xml.apache.org/commons/#external">http://xml.apache.org/commons/#external</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_264697577" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_187612988', '_264697577' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_187612988" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7 (compile) <img id="_1921715077" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_919525405', '_1921715077' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_919525405" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Reporting API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">http://maven.apache.org/maven-reporting/maven-reporting-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_392330005" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_352576019', '_392330005' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_352576019" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_617609905" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1599126579', '_617609905' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1599126579" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_117721502" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1826305011', '_117721502' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1826305011" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1889028224" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_519759744', '_1889028224' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_519759744" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_352003919" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1951757254', '_352003919' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1951757254" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_533115055" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1226594138', '_533115055' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1226594138" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_609367180" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_678850491', '_609367180' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_678850491" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_169839262" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1566514843', '_169839262' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1566514843" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-error-diagnostics:jar:2.0.7 (compile) <img id="_1110658848" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2132048583', '_1110658848' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2132048583" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Error Diagnostics</th></tr><tr class="b"><td><p><b>Description: </b>Provides a manager component which will process a given Throwable instance through a set of diagnostic
     sub-components, and return a String message with user-friendly information about the error and possibly
-    how to fix it.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-error-diagnostics">http://maven.apache.org/maven-error-diagnostics</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1331184184" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1961047575', '_1331184184' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1961047575" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-project:jar:2.0.7 (compile) <img id="_1768014284" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1099771143', '_1768014284' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1099771143" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Project Builder</th></tr><tr class="b"><td><p><b>Description: </b>This library is used to not only read Maven project object model files, but to assemble inheritence
-    and to retrieve remote models as required.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-project">http://maven.apache.org/maven-project</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_1297665318" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_566895187', '_1297665318' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_566895187" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_2023033664" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_509306760', '_2023033664' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_509306760" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_2130794954" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_583386627', '_2130794954' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_583386627" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_124806490" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1861925114', '_124806490' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1861925114" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-registry:jar:2.0.7 (compile) <img id="_758787761" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1297207110', '_758787761' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1297207110" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Registry Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">http://maven.apache.org/maven-plugin-registry</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1507315656" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_957406052', '_1507315656' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_957406052" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_1318315403" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1874155376', '_1318315403' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1874155376" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1395003125" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1415136011', '_1395003125' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1415136011" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>commons-cli:commons-cli:jar:1.0 (compile) <img id="_643427085" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_584207658', '_643427085' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_584207658" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>CLI</th></tr><tr class="b"><td><p><b>Description: </b>Commons CLI provides a simple API for working with the command line arguments and options.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_316918021" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1239741257', '_316918021' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1239741257" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2 (runtime) <img id="_866370922" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1351747692', '_866370922' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1351747692" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH External Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using SSH protocol with a preinstalled SSH client</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_449520512" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2009228473', '_449520512' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2009228473" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_1903741652" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_764343951', '_1903741652' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_764343951" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_874541817" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1917584046', '_874541817' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1917584046" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_1346759294" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_970403021', '_1346759294' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_970403021" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-descriptor:jar:2.0.7 (compile) <img id="_1093441080" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1463774817', '_1093441080' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1463774817" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Descriptor Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">http://maven.apache.org/maven-plugin-descriptor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_283859728" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_778453109', '_283859728' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_778453109" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_1643380446" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_551664688', '_1643380446' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_551664688" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_2116487273" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_442827575', '_2116487273' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_442827575" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (compile) <img id="_1615966676" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1278918819', '_1615966676' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1278918819" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_1389592688" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_831885487', '_1389592688' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_831885487" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_746867628" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1730963427', '_746867628' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1730963427" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_432249953" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1839969177', '_432249953' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1839969177" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_619429019" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1066787726', '_619429019' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1066787726" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_370485345" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1305744477', '_370485345' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1305744477" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-monitor:jar:2.0.7 (compile) <img id="_1518982899" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_248120994', '_1518982899' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_248120994" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Monitor</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-monitor">http://maven.apache.org/maven-monitor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2 (runtime) <img id="_456738109" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_746348310', '_456738109' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_746348310" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Provider</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">http://maven.apache.org/wagon/wagon-providers/wagon-ssh</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>com.jcraft:jsch:jar:0.1.27 (runtime) <img id="_724301532" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1893047894', '_724301532' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1893047894" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JSch</th></tr><tr class="b"><td><p><b>Description: </b>JSch is a pure Java implementation of SSH2</p><p><b>URL: </b><a class="externalLink" href="http://www.jcraft.com/jsch/">http://www.jcraft.com/jsch/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_183339290" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_89167229', '_183339290' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_89167229" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_882100810" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_229392235', '_882100810' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_229392235" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_738509087" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1715294294', '_738509087' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1715294294" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>classworlds:classworlds:jar:1.1 (compile) <img id="_2091989383" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1937301813', '_2091989383' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1937301813" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>classworlds</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://classworlds.codehaus.org/">http://classworlds.codehaus.org/</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-archiver:jar:2.5 (compile) <img id="_603843455" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2079465966', '_603843455' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2079465966" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Archiver</th></tr><tr class="b"><td><p><b>Description: </b>Provides utility methods for creating JARs and other archive files from a Maven project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">http://maven.apache.org/shared/maven-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-archiver:jar:2.1 (compile) <img id="_803706990" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_420419029', '_803706990' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_420419029" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Archiver Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://forge.sonatype.com/spice-parent/plexus-archiver/">http://forge.sonatype.com/spice-parent/plexus-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1663123791" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2027098232', '_1663123791' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2027098232" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-io:jar:2.0.2 (compile) <img id="_1974076582" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1139506278', '_1974076582' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1139506278" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus IO Components</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">http://plexus.codehaus.org/plexus-components/plexus-io</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interpolation:jar:1.15 (compile) <img id="_1722211983" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_525310698', '_1722211983' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_525310698" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Interpolation API</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-interpolation/">http://plexus.codehaus.org/plexus-interpolation/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.shared:maven-dependency-tree:jar:2.1 (compile) <img id="_1546288577" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1976479315', '_1546288577' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1976479315" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Dependency Tree</th></tr><tr class="b"><td><p><b>Description: </b>A tree-based API for resolution of Maven project dependencies</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">http://maven.apache.org/shared/maven-dependency-tree/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 (compile) <img id="_696036459" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_173615395', '_696036459' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_173615395" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus :: Component Annotations</th></tr><tr class="b"><td><p><b>Description: </b>Plexus Component &quot;Java 5&quot; Annotations, to describe plexus components properties in java sources with
-    standard annotations instead of javadoc annotations.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.eclipse.aether:aether-util:jar:0.9.0.M2 (compile) <img id="_1984392005" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1861987030', '_1984392005' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1861987030" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Aether Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of utility classes to ease usage of the repository system.</p><p><b>URL: </b><a class="externalLink" href="http://www.eclipse.org/aether/aether-util/">http://www.eclipse.org/aether/aether-util/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License, Version 1.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-utils:jar:3.0.10 (compile) <img id="_1550448877" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_509337976', '_1550448877' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_509337976" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Common Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of various utility classes to ease working with strings, files, command lines, XML and
-    more.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">http://plexus.codehaus.org/plexus-utils</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_346335096" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1813155831', '_346335096' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1813155831" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-site-renderer:jar:1.0 (compile) <img id="_1226702789" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_151559278', '_1226702789' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_151559278" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia Sitetools :: Site Renderer Component</th></tr><tr class="b"><td><p><b>Description: </b>The Site Renderer handles the rendering of sites.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer">http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_16858232" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1475610768', '_16858232' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1475610768" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_296594370" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_265226433', '_296594370' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_265226433" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_127628334" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2015892117', '_127628334' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2015892117" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-i18n:jar:1.0-beta-7 (compile) <img id="_57711039" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_119470372', '_57711039' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_119470372" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus I18N Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-i18n">http://plexus.codehaus.org/plexus-components/plexus-i18n</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-velocity:jar:1.1.7 (compile) <img id="_585650563" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_402818106', '_585650563' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_402818106" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Velocity Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-velocity">http://plexus.codehaus.org/plexus-components/plexus-velocity</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.velocity:velocity:jar:1.5 (compile) <img id="_1341736494" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_141954428', '_1341736494' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_141954428" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Velocity</th></tr><tr class="b"><td><p><b>Description: </b>Apache Velocity is a general purpose template engine.</p><p><b>URL: </b><a class="externalLink" href="http://velocity.apache.org/engine/releases/velocity-1.5/">http://velocity.apache.org/engine/releases/velocity-1.5/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>commons-lang:commons-lang:jar:2.1 (compile) <img id="_902411434" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1495088042', '_902411434' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1495088042" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Lang</th></tr><tr class="b"><td><p><b>Description: </b>Commons.Lang, a package of Java utility classes for the
+    how to fix it.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-error-diagnostics">http://maven.apache.org/maven-error-diagnostics</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_163243246" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2068822121', '_163243246' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2068822121" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-project:jar:2.0.7 (compile) <img id="_582522238" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_402168454', '_582522238' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_402168454" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Project Builder</th></tr><tr class="b"><td><p><b>Description: </b>This library is used to not only read Maven project object model files, but to assemble inheritence
+    and to retrieve remote models as required.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-project">http://maven.apache.org/maven-project</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_842672684" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_437646042', '_842672684' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_437646042" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_75731073" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_501675815', '_75731073' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_501675815" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1899838622" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1345123848', '_1899838622' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1345123848" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_527524096" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1888607413', '_527524096' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1888607413" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-registry:jar:2.0.7 (compile) <img id="_413451868" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_141754946', '_413451868' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_141754946" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Registry Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">http://maven.apache.org/maven-plugin-registry</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_34369734" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2118499515', '_34369734' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2118499515" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_1914640056" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1603047986', '_1914640056' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1603047986" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1650660455" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_367981816', '_1650660455' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_367981816" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>commons-cli:commons-cli:jar:1.0 (compile) <img id="_1973188562" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1515096660', '_1973188562' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1515096660" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>CLI</th></tr><tr class="b"><td><p><b>Description: </b>Commons CLI provides a simple API for working with the command line arguments and options.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_183425241" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_80045492', '_183425241' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_80045492" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2 (runtime) <img id="_2089085887" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1179847039', '_2089085887' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1179847039" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH External Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using SSH protocol with a preinstalled SSH client</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_330236012" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1970160834', '_330236012' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1970160834" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_1816026854" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1020144407', '_1816026854' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1020144407" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_1241329835" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_859248761', '_1241329835' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_859248761" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_180334360" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1436668237', '_180334360' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1436668237" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-descriptor:jar:2.0.7 (compile) <img id="_1228033540" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_798303976', '_1228033540' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_798303976" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Descriptor Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">http://maven.apache.org/maven-plugin-descriptor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_1549528397" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_7977397', '_1549528397' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_7977397" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_954392807" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2090975281', '_954392807' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2090975281" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_824653587" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1625069597', '_824653587' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1625069597" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (compile) <img id="_2020657273" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1583722806', '_2020657273' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1583722806" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_1299197741" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_928588634', '_1299197741' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_928588634" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_148019696" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1506013153', '_148019696' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1506013153" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_1647048457" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_630954119', '_1647048457' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_630954119" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1057569745" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_513309672', '_1057569745' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_513309672" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_121482921" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_111023233', '_121482921' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_111023233" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-monitor:jar:2.0.7 (compile) <img id="_846737347" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1807917764', '_846737347' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1807917764" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Monitor</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-monitor">http://maven.apache.org/maven-monitor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2 (runtime) <img id="_1439740806" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1713167089', '_1439740806' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1713167089" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Provider</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">http://maven.apache.org/wagon/wagon-providers/wagon-ssh</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>com.jcraft:jsch:jar:0.1.27 (runtime) <img id="_897419638" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1963055009', '_897419638' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1963055009" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JSch</th></tr><tr class="b"><td><p><b>Description: </b>JSch is a pure Java implementation of SSH2</p><p><b>URL: </b><a class="externalLink" href="http://www.jcraft.com/jsch/">http://www.jcraft.com/jsch/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_897776067" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_170819483', '_897776067' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_170819483" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_974775267" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_927963506', '_974775267' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_927963506" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_1453751040" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1976877563', '_1453751040' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1976877563" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>classworlds:classworlds:jar:1.1 (compile) <img id="_1989230667" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1644655710', '_1989230667' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1644655710" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>classworlds</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://classworlds.codehaus.org/">http://classworlds.codehaus.org/</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-archiver:jar:2.5 (compile) <img id="_1352765927" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1649984695', '_1352765927' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1649984695" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Archiver</th></tr><tr class="b"><td><p><b>Description: </b>Provides utility methods for creating JARs and other archive files from a Maven project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">http://maven.apache.org/shared/maven-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-archiver:jar:2.1 (compile) <img id="_1584525439" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_172454286', '_1584525439' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_172454286" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Archiver Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://forge.sonatype.com/spice-parent/plexus-archiver/">http://forge.sonatype.com/spice-parent/plexus-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1157629733" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1656229117', '_1157629733' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1656229117" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-io:jar:2.0.2 (compile) <img id="_1484195270" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1765331266', '_1484195270' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1765331266" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus IO Components</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">http://plexus.codehaus.org/plexus-components/plexus-io</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interpolation:jar:1.15 (compile) <img id="_1793656663" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2075168626', '_1793656663' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2075168626" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Interpolation API</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-interpolation/">http://plexus.codehaus.org/plexus-interpolation/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.shared:maven-dependency-tree:jar:2.1 (compile) <img id="_1005096245" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1797311455', '_1005096245' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1797311455" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Dependency Tree</th></tr><tr class="b"><td><p><b>Description: </b>A tree-based API for resolution of Maven project dependencies</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">http://maven.apache.org/shared/maven-dependency-tree/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 (compile) <img id="_2047776723" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1326419371', '_2047776723' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1326419371" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus :: Component Annotations</th></tr><tr class="b"><td><p><b>Description: </b>Plexus Component &quot;Java 5&quot; Annotations, to describe plexus components properties in java sources with
+    standard annotations instead of javadoc annotations.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.eclipse.aether:aether-util:jar:0.9.0.M2 (compile) <img id="_1884315725" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1824096014', '_1884315725' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1824096014" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Aether Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of utility classes to ease usage of the repository system.</p><p><b>URL: </b><a class="externalLink" href="http://www.eclipse.org/aether/aether-util/">http://www.eclipse.org/aether/aether-util/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License, Version 1.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-utils:jar:3.0.10 (compile) <img id="_250969429" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1082859767', '_250969429' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1082859767" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Common Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of various utility classes to ease working with strings, files, command lines, XML and
+    more.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">http://plexus.codehaus.org/plexus-utils</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1892878723" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_511322609', '_1892878723' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_511322609" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-site-renderer:jar:1.0 (compile) <img id="_518753885" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_816172744', '_518753885' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_816172744" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia Sitetools :: Site Renderer Component</th></tr><tr class="b"><td><p><b>Description: </b>The Site Renderer handles the rendering of sites.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer">http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_714544362" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1389238862', '_714544362' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1389238862" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_2098394611" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_154205082', '_2098394611' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_154205082" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_125605507" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1949006475', '_125605507' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1949006475" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-i18n:jar:1.0-beta-7 (compile) <img id="_1538892983" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1159568398', '_1538892983' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1159568398" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus I18N Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-i18n">http://plexus.codehaus.org/plexus-components/plexus-i18n</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-velocity:jar:1.1.7 (compile) <img id="_971698920" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2141613134', '_971698920' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2141613134" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Velocity Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-velocity">http://plexus.codehaus.org/plexus-components/plexus-velocity</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.velocity:velocity:jar:1.5 (compile) <img id="_2063485466" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_366014839', '_2063485466' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_366014839" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Velocity</th></tr><tr class="b"><td><p><b>Description: </b>Apache Velocity is a general purpose template engine.</p><p><b>URL: </b><a class="externalLink" href="http://velocity.apache.org/engine/releases/velocity-1.5/">http://velocity.apache.org/engine/releases/velocity-1.5/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>commons-lang:commons-lang:jar:2.1 (compile) <img id="_752373522" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1804679131', '_752373522' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1804679131" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Lang</th></tr><tr class="b"><td><p><b>Description: </b>Commons.Lang, a package of Java utility classes for the
     classes that are in java.lang's hierarchy, or are considered to be so
-    standard as to justify existence in java.lang.</p><p><b>URL: </b>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</p><p><b>Project License: </b><a href="/LICENSE.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>oro:oro:jar:2.0.8 (compile) <img id="_855447547" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1288725828', '_855447547' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1288725828" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>oro</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-decoration-model:jar:1.0 (compile) <img id="_1225413783" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1558455217', '_1225413783' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1558455217" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia Sitetools :: Decoration Model</th></tr><tr class="b"><td><p><b>Description: </b>The Decoration Model handles the site descriptor, also known as site.xml.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model">http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>commons-collections:commons-collections:jar:3.2 (compile) <img id="_280236198" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1413839027', '_280236198' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1413839027" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Collections</th></tr><tr class="b"><td><p><b>Description: </b>Types that extend and augment the Java Collections Framework.</p><p><b>URL: </b><a class="externalLink" href="http://jakarta.apache.org/commons/collections/">http://jakarta.apache.org/commons/collections/</a></p><p><b>Project License: </b><a href="/LICENSE.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-module-apt:jar:1.0 (compile) <img id="_1694351522" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1333020647', '_1694351522' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1333020647" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: APT Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for Almost Plain Text source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-apt">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-apt</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_1350657857" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1677401668', '_1350657857' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1677401668" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1588246589" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2108757049', '_1588246589' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2108757049" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-module-fml:jar:1.0 (compile) <img id="_1709161268" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_897069784', '_1709161268' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_897069784" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: FML Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for FML source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-fml">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-fml</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_802885076" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1968112588', '_802885076' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1968112588" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1305597302" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1092442337', '_1305597302' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1092442337" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-module-xdoc:jar:1.0 (compile) <img id="_196601384" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_767756178', '_196601384' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_767756178" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: XDoc Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for Xdoc source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xdoc">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xdoc</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_414941863" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_600480159', '_414941863' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_600480159" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1390645149" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1361625166', '_1390645149' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1361625166" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-module-xhtml:jar:1.0 (compile) <img id="_1547765679" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_773526335', '_1547765679' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_773526335" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: XHTML Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for Xhtml source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_2053637795" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1637869140', '_2053637795' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1637869140" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1019181624" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_197084263', '_1019181624' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_197084263" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li></ul></li><li>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_1629466598" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_613606394', '_1629466598' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_613606394" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Testing Mechanism</th></tr><tr class="b"><td><p><b>Description: </b>Maven shared components</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">http://maven.apache.org/shared/maven-plugin-testing-harness/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>junit:junit:jar:4.0 (test) <img id="_704259139" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1337505917', '_704259139' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1337505917" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>junit</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.easymock:easymock:jar:2.4 (test) <img id="_550509729" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1050612314', '_550509729' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1050612314" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li><li>org.mockito:mockito-all:jar:1.7 (test) <img id="_1274664398" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1670890239', '_1274664398' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1670890239" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Mockito</th></tr><tr class="b"><td><p><b>Description: </b>Mock objects library for java</p><p><b>URL: </b><a class="externalLink" href="http://www.mockito.org">http://www.mockito.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a><div class="section"><h2>Licenses<a name="Licenses"></a></h2><p><b>Apache Software License 2.0: </b>A Swiss Army Knife for OSGi</p><p><b>Java HTML Tidy License: </b>JTidy</p><p><b>Unknown: </b>CLI, Default Plexus Container, Plexus Default Interactivity Handler, Plexus I18N Component, Plexus Velocity Component, classworlds, junit, org.osgi.compendium, oro</p><p><b>BSD: </b>JSch</p><p><b>Apache License, Version 2.0: </b>Plexus Archiver Component, osgi.core</p><p><b>Eclipse Public License, Version 1.0: </b>Aether Utilities</p><p><b>MIT License: </b>EasyMock</p><p><b>The Apache Software License, Version 2.0: </b>Apache Felix Bundle Repository, Apache Felix Utils, Apache Velocity, Collections, Doxia :: APT Module, Doxia :: Core, Doxia :: FML Module, Doxia :: Sink API, Doxia :: XDoc Module, Doxia :: XHTML Module, Doxia Sitetools :: Decoration Model, Doxia Sitetools :: Site Renderer Component, Lang, Maven Archiver, Maven Artifact, Maven Artifact Manager, Maven Bundle Plugin, Maven Core, Maven Dependency Tree, Maven Error Diagnostics, Maven Local Settings Model, Maven Model, Maven Monitor, Maven Plugin API, Maven Plugin Descriptor Model, Maven Plugin Parameter Documenter API, Maven Plugin Registry Model, Maven Plugin Testing Mechanism, Maven Profile Model, Maven Project Builder, Maven Reporting API, Maven Repository Metadata Model, Maven Wagon API, Maven Wagon File Provider, Maven Wagon HTTP Shared Library, Maven Wagon Lightweight HTTP Provider, Maven Wagon SSH Common Library, Maven Wagon SSH External Provider, Maven Wagon SSH Provider, Plexus :: Component Annotations, Plexus Common Utilities, Plexus IO Components, Plexus Interpolation API, XML Commons External Components XML APIs</p><p><b>The MIT License: </b>Mockito</p></div><a name="Dependency_File_Details"></a><div class="section"><h2>Dependency File Details<a name="Dependency_File_Details"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Filename</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>bndlib-2.3.0.jar</td><td>1.70 MB</td><td>1,412</td><td>621</td><td>96</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>classworlds-1.1.jar</td><td>36.97 kB</td><td>33</td><td>23</td><td>3</td><td>1.3</td><td>debug</td></tr><tr class="b"><td>jsch-0.1.27.jar</td><td>119.15 kB</td><td>97</td><td>94</td><td>3</td><td>1.2</td><td>release</td></tr><tr class="a"><td>commons-cli-1.0.jar</td><td>29.41 kB</td><td>27</td><td>20</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>commons-collections-3.2.jar</td><td>557.87 kB</td><td>477</td><td>458</td><td>12</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>commons-lang-2.1.jar</td><td>202.85 kB</td><td>125</td><td>110</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>jtidy-4aug2000r7-dev.jar</td><td>134.60 kB</td><td>129</td><td>119</td><td>3</td><td>1.1</td><td>release</td></tr><tr class="a"><td>junit-4.0.jar</td><td>103.13 kB</td><td>119</td><td>92</td><td>11</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>org.apache.felix.bundlerepository-1.6.6.jar</td><td>164.33 kB</td><td>112</td><td>84</td><td>11</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>org.apache.felix.utils-1.6.0.jar</td><td>66.04 kB</td><td>58</td><td>36</td><td>8</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>maven-archiver-2.5.jar</td><td>21.30 kB</td><td>19</td><td>5</td><td>1</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>maven-artifact-2.0.7.jar</td><td>85.80 kB</td><td>106</td><td>77</td><td>15</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-artifact-manager-2.0.7.jar</td><td>55.18 kB</td><td>46</td><td>24</td><td>7</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-core-2.0.7.jar</td><td>149.30 kB</td><td>108</td><td>67</td><td>13</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-error-diagnostics-2.0.7.jar</td><td>13.29 kB</td><td>22</td><td>6</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-model-2.0.7.jar</td><td>84.41 kB</td><td>60</td><td>45</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-monitor-2.0.7.jar</td><td>10.00 kB</td><td>19</td><td>5</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-api-2.0.7.jar</td><td>12.56 kB</td><td>23</td><td>9</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-descriptor-2.0.7.jar</td><td>36.01 kB</td><td>32</td><td>15</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-parameter-documenter-2.0.7.jar</td><td>20.27 kB</td><td>20</td><td>4</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-registry-2.0.7.jar</td><td>28.25 kB</td><td>28</td><td>10</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-profile-2.0.7.jar</td><td>34.42 kB</td><td>33</td><td>16</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-project-2.0.7.jar</td><td>113.81 kB</td><td>76</td><td>51</td><td>10</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-repository-metadata-2.0.7.jar</td><td>23.90 kB</td><td>23</td><td>6</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-settings-2.0.7.jar</td><td>47.96 kB</td><td>38</td><td>21</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>doxia-core-1.0.jar</td><td>53.66 kB</td><td>77</td><td>48</td><td>13</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-decoration-model-1.0.jar</td><td>47.84 kB</td><td>39</td><td>18</td><td>3</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>doxia-module-apt-1.0.jar</td><td>45.97 kB</td><td>45</td><td>27</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-module-fml-1.0.jar</td><td>18.11 kB</td><td>24</td><td>5</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>doxia-module-xdoc-1.0.jar</td><td>27.15 kB</td><td>31</td><td>13</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-module-xhtml-1.0.jar</td><td>21.29 kB</td><td>27</td><td>7</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>doxia-sink-api-1.0.jar</td><td>9.84 kB</td><td>22</td><td>4</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-site-renderer-1.0.jar</td><td>45.43 kB</td><td>50</td><td>9</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>maven-reporting-api-2.0.7.jar</td><td>9.71 kB</td><td>18</td><td>4</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-dependency-tree-2.1.jar</td><td>58.55 kB</td><td>63</td><td>39</td><td>7</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>maven-plugin-testing-harness-1.1.jar</td><td>31.73 kB</td><td>28</td><td>11</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-file-1.0-beta-2.jar</td><td>9.71 kB</td><td>18</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-http-lightweight-1.0-beta-2.jar</td><td>12.03 kB</td><td>19</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-http-shared-1.0-beta-2.jar</td><td>9.34 kB</td><td>17</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-provider-api-1.0-beta-2.jar</td><td>45.24 kB</td><td>57</td><td>37</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-1.0-beta-2.jar</td><td>23.05 kB</td><td>26</td><td>7</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-ssh-common-1.0-beta-2.jar</td><td>24.61 kB</td><td>37</td><td>18</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-external-1.0-beta-2.jar</td><td>12.27 kB</td><td>19</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>velocity-1.5.jar</td><td>382.93 kB</td><td>282</td><td>246</td><td>25</td><td>1.2</td><td>debug</td></tr><tr class="b"><td>plexus-archiver-2.1.jar</td><td>180.12 kB</td><td>137</td><td>112</td><td>12</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>plexus-component-annotations-1.5.5.jar</td><td>4.11 kB</td><td>15</td><td>3</td><td>1</td><td>1.5</td><td>release</td></tr><tr class="b"><td>plexus-container-default-1.0-alpha-9-stable-1.jar</td><td>189.63 kB</td><td>215</td><td>175</td><td>28</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-i18n-1.0-beta-7.jar</td><td>10.26 kB</td><td>19</td><td>6</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>plexus-interactivity-api-1.0-alpha-4.jar</td><td>13.09 kB</td><td>25</td><td>11</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-interpolation-1.15.jar</td><td>59.06 kB</td><td>60</td><td>44</td><td>6</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>plexus-io-2.0.2.jar</td><td>56.90 kB</td><td>62</td><td>43</td><td>5</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>plexus-utils-3.0.10.jar</td><td>225.47 kB</td><td>127</td><td>102</td><td>9</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>plexus-velocity-1.1.7.jar</td><td>7.49 kB</td><td>18</td><td>5</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>easymock-2.4.jar</td><td>79.23 kB</td><td>83</td><td>71</td><td>3</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>aether-util-0.9.0.M2.jar</td><td>130.46 kB</td><td>118</td><td>93</td><td>13</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>mockito-all-1.7.jar</td><td>943.04 kB</td><td>846</td><td>469</td><td>48</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>org.osgi.compendium-4.2.0.jar</td><td>599.76 kB</td><td>584</td><td>189</td><td>33</td><td>1.2</td><td>debug</td></tr><tr class="a"><td>org.osgi.core-4.3.1.jar</td><td>341.78 kB</td><td>254</td><td>106</td><td>13</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>oro-2.0.8.jar</td><td>63.73 kB</td><td>74</td><td>62</td><td>6</td><td>1.2</td><td>release</td></tr><tr class="a"><td>xml-apis-1.0.b2.jar</td><td>106.76 kB</td><td>217</td><td>184</td><td>17</td><td>1.2</td><td>release</td></tr><tr class="b"><th>Total</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="a"><td>60</td><td>7.61 MB</td><td>6,995</td><td>4,192</td><td>496</td><td>1.5</td><td>55</td></tr><tr class="b"><td>compile: 47</td><td>compile: 6.04 MB</td><td>compile: 5,340</td><td>compile: 3,121</td><td>compile: 400</td><td>-</td><td>compile: 45</td></tr><tr class="a"><td>test: 4</td><td>test: 1.13 MB</td><td>test: 1,076</td><td>test: 643</td><td>test: 64</td><td>-</td><td>test: 4</td></tr><tr class="b"><td>runtime: 9</td><td>runtime: 451.54 kB</td><td>runtime: 579</td><td>runtime: 428</td><td>runtime: 32</td><td>-</td><td>runtime: 6</td></tr></table></div><a name="Dependency_Repository_Locations"></a><div class="section"><h2>Dependency Repository Locations<a name="Dependency_Repository_Locations"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Repo ID</th><th>URL</th><th>Release</th><th>Snapshot</th><th>Blacklisted</th></tr><tr class="b"><td>codehaus.snapshots</td><td><a class="externalLink" href="http://snapshots.repository.codehaus.org">http://snapshots.repository.codehaus.org</a></td><td>-</td><td>Yes</td><td>-</td></tr><tr class="a"><td>apache.snapshots</td><td><a class="externalLink" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></td><td>-</td><td>Yes</td><td>-</td></tr><tr class="b"><td>snapshots</td><td><a class="externalLink" href="http://snapshots.maven.codehaus.org/maven2">http://snapshots.maven.codehaus.org/maven2</a></td><td>-</td><td>Yes</td><td>Yes</td></tr><tr class="a"><td>central</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2">http://repo.maven.apache.org/maven2</a></td><td>Yes</td><td>-</td><td>-</td></tr></table><p>Repository locations for each of the Dependencies.</p><table border="0" class="bodyTable"><tr class="a"><th>Artifact</th><th>codehaus.snapshots</th><th>apache.snapshots</th><th>central</th></tr><tr class="b"><td>biz.aQute.bnd:bndlib:jar:2.3.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/biz/aQute/bnd/bndlib/2.3.0/bndlib-2.3.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>classworlds:classworlds:jar:1.1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>com.jcraft:jsch:jar:0.1.27</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>commons-cli:commons-cli:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>commons-collections:commons-collections:jar:3.2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>commons-lang:commons-lang:jar:2.1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>jtidy:jtidy:jar:4aug2000r7-dev</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>junit:junit:jar:4.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/junit/junit/4.0/junit-4.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.bundlerepository/1.6.6/org.apache.felix.bundlerepository-1.6.6.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.felix:org.apache.felix.utils:jar:1.6.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.utils/1.6.0/org.apache.felix.utils-1.6.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-archiver:jar:2.5</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-artifact:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-core:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-core/2.0.7/maven-core-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.7/maven-error-diagnostics-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-model:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-monitor:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.0.7/maven-monitor-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.7/maven-plugin-descriptor-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.7/maven-plugin-parameter-documenter-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-profile:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-project:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-settings:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-core:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-decoration-model:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-module-apt:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-module-fml:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-module-xdoc:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-module-xhtml:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-site-renderer:jar:1.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.7/maven-reporting-api-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.shared:maven-dependency-tree:jar:2.1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.velocity:velocity:jar:1.5</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.5/velocity-1.5.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-archiver:jar:2.1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-i18n:jar:1.0-beta-7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interpolation:jar:1.15</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-io:jar:2.0.2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-utils:jar:3.0.10</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-velocity:jar:1.1.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.easymock:easymock:jar:2.4</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/easymock/easymock/2.4/easymock-2.4.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.eclipse.aether:aether-util:jar:0.9.0.M2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.mockito:mockito-all:jar:1.7</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/mockito/mockito-all/1.7/mockito-all-1.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.osgi:org.osgi.compendium:jar:4.2.0</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.3.1</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.3.1/org.osgi.core-4.3.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>oro:oro:jar:2.0.8</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>xml-apis:xml-apis:jar:1.0.b2</td><td>-</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><th>Total</th><th>codehaus.snapshots</th><th>apache.snapshots</th><th>central</th></tr><tr class="a"><td>60 (compile: 47, test: 4, runtime: 9)</td><td>0</td><td>0</td><td>60</td></tr></table></div>
+    standard as to justify existence in java.lang.</p><p><b>URL: </b>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</p><p><b>Project License: </b><a href="/LICENSE.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>oro:oro:jar:2.0.8 (compile) <img id="_1955735126" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_797172839', '_1955735126' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_797172839" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>oro</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-decoration-model:jar:1.0 (compile) <img id="_1095837457" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_273097696', '_1095837457' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_273097696" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia Sitetools :: Decoration Model</th></tr><tr class="b"><td><p><b>Description: </b>The Decoration Model handles the site descriptor, also known as site.xml.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model">http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>commons-collections:commons-collections:jar:3.2 (compile) <img id="_1960564047" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_463868613', '_1960564047' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_463868613" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Collections</th></tr><tr class="b"><td><p><b>Description: </b>Types that extend and augment the Java Collections Framework.</p><p><b>URL: </b><a class="externalLink" href="http://jakarta.apache.org/commons/collections/">http://jakarta.apache.org/commons/collections/</a></p><p><b>Project License: </b><a href="/LICENSE.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-module-apt:jar:1.0 (compile) <img id="_897869682" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_92032362', '_897869682' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_92032362" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: APT Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for Almost Plain Text source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-apt">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-apt</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_4667967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1324702006', '_4667967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1324702006" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_961490719" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1756788678', '_961490719' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1756788678" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-module-fml:jar:1.0 (compile) <img id="_1872816029" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1421416814', '_1872816029' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1421416814" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: FML Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for FML source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-fml">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-fml</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_1101919390" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1298477005', '_1101919390' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1298477005" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1915643029" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1721653589', '_1915643029' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1721653589" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-module-xdoc:jar:1.0 (compile) <img id="_304717286" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_716288053', '_304717286' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_716288053" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: XDoc Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for Xdoc source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xdoc">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xdoc</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_1065727442" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1785860094', '_1065727442' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1785860094" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_1872319102" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1723637332', '_1872319102' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1723637332" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.doxia:doxia-module-xhtml:jar:1.0 (compile) <img id="_1312127191" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1045678205', '_1312127191' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1045678205" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: XHTML Module</th></tr><tr class="b"><td><p><b>Description: </b>A Doxia module for Xhtml source documents.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml">http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-core:jar:1.0 (compile) <img id="_1031669760" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_456427601', '_1031669760' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_456427601" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Core</th></tr><tr class="b"><td><p><b>Description: </b>Doxia core classes and interfaces.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">http://maven.apache.org/doxia/doxia/doxia-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0 (compile) <img id="_748489780" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1006307934', '_748489780' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1006307934" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia :: Sink API</th></tr><tr class="b"><td><p><b>Description: </b>Doxia Sink API.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia/doxia-sink-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li></ul></li><li>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_931669457" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_85774099', '_931669457' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_85774099" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Testing Mechanism</th></tr><tr class="b"><td><p><b>Description: </b>Maven shared components</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">http://maven.apache.org/shared/maven-plugin-testing-harness/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>junit:junit:jar:4.0 (test) <img id="_1421394601" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_670702472', '_1421394601' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_670702472" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>junit</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.easymock:easymock:jar:2.4 (test) <img id="_1901620645" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1909617236', '_1901620645' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1909617236" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li><li>org.mockito:mockito-all:jar:1.7 (test) <img id="_731713135" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_486951275', '_731713135' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_486951275" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Mockito</th></tr><tr class="b"><td><p><b>Description: </b>Mock objects library for java</p><p><b>URL: </b><a class="externalLink" href="http://www.mockito.org">http://www.mockito.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a><div class="section"><h2>Licenses<a name="Licenses"></a></h2><p><b>Apache Software License 2.0: </b>A Swiss Army Knife for OSGi</p><p><b>Java HTML Tidy License: </b>JTidy</p><p><b>Unknown: </b>CLI, Default Plexus Container, Plexus Default Interactivity Handler, Plexus I18N Component, Plexus Velocity Component, classworlds, junit, org.osgi.compendium, oro</p><p><b>BSD: </b>JSch</p><p><b>Apache License, Version 2.0: </b>Plexus Archiver Component, osgi.core</p><p><b>Eclipse Public License, Version 1.0: </b>Aether Utilities</p><p><b>MIT License: </b>EasyMock</p><p><b>The Apache Software License, Version 2.0: </b>Apache Felix Bundle Repository, Apache Felix Utils, Apache Velocity, Collections, Doxia :: APT Module, Doxia :: Core, Doxia :: FML Module, Doxia :: Sink API, Doxia :: XDoc Module, Doxia :: XHTML Module, Doxia Sitetools :: Decoration Model, Doxia Sitetools :: Site Renderer Component, Lang, Maven Archiver, Maven Artifact, Maven Artifact Manager, Maven Bundle Plugin, Maven Core, Maven Dependency Tree, Maven Error Diagnostics, Maven Local Settings Model, Maven Model, Maven Monitor, Maven Plugin API, Maven Plugin Descriptor Model, Maven Plugin Parameter Documenter API, Maven Plugin Registry Model, Maven Plugin Testing Mechanism, Maven Profile Model, Maven Project Builder, Maven Reporting API, Maven Repository Metadata Model, Maven Wagon API, Maven Wagon File Provider, Maven Wagon HTTP Shared Library, Maven Wagon Lightweight HTTP Provider, Maven Wagon SSH Common Library, Maven Wagon SSH External Provider, Maven Wagon SSH Provider, Plexus :: Component Annotations, Plexus Common Utilities, Plexus IO Components, Plexus Interpolation API, XML Commons External Components XML APIs</p><p><b>The MIT License: </b>Mockito</p></div><a name="Dependency_File_Details"></a><div class="section"><h2>Dependency File Details<a name="Dependency_File_Details"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Filename</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>bndlib-2.3.0.jar</td><td>1.70 MB</td><td>1,412</td><td>621</td><td>96</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>classworlds-1.1.jar</td><td>36.97 kB</td><td>33</td><td>23</td><td>3</td><td>1.3</td><td>debug</td></tr><tr class="b"><td>jsch-0.1.27.jar</td><td>119.15 kB</td><td>97</td><td>94</td><td>3</td><td>1.2</td><td>release</td></tr><tr class="a"><td>commons-cli-1.0.jar</td><td>29.41 kB</td><td>27</td><td>20</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>commons-collections-3.2.jar</td><td>557.87 kB</td><td>477</td><td>458</td><td>12</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>commons-lang-2.1.jar</td><td>202.85 kB</td><td>125</td><td>110</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>jtidy-4aug2000r7-dev.jar</td><td>134.60 kB</td><td>129</td><td>119</td><td>3</td><td>1.1</td><td>release</td></tr><tr class="a"><td>junit-4.0.jar</td><td>103.13 kB</td><td>119</td><td>92</td><td>11</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>org.apache.felix.bundlerepository-1.6.6.jar</td><td>164.33 kB</td><td>112</td><td>84</td><td>11</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>org.apache.felix.utils-1.6.0.jar</td><td>66.04 kB</td><td>58</td><td>36</td><td>8</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>maven-archiver-2.5.jar</td><td>21.30 kB</td><td>19</td><td>5</td><td>1</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>maven-artifact-2.0.7.jar</td><td>85.80 kB</td><td>106</td><td>77</td><td>15</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-artifact-manager-2.0.7.jar</td><td>55.18 kB</td><td>46</td><td>24</td><td>7</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-core-2.0.7.jar</td><td>149.30 kB</td><td>108</td><td>67</td><td>13</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-error-diagnostics-2.0.7.jar</td><td>13.29 kB</td><td>22</td><td>6</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-model-2.0.7.jar</td><td>84.41 kB</td><td>60</td><td>45</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-monitor-2.0.7.jar</td><td>10.00 kB</td><td>19</td><td>5</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-api-2.0.7.jar</td><td>12.56 kB</td><td>23</td><td>9</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-descriptor-2.0.7.jar</td><td>36.01 kB</td><td>32</td><td>15</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-parameter-documenter-2.0.7.jar</td><td>20.27 kB</td><td>20</td><td>4</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-registry-2.0.7.jar</td><td>28.25 kB</td><td>28</td><td>10</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-profile-2.0.7.jar</td><td>34.42 kB</td><td>33</td><td>16</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-project-2.0.7.jar</td><td>113.81 kB</td><td>76</td><td>51</td><td>10</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-repository-metadata-2.0.7.jar</td><td>23.90 kB</td><td>23</td><td>6</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-settings-2.0.7.jar</td><td>47.96 kB</td><td>38</td><td>21</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>doxia-core-1.0.jar</td><td>53.66 kB</td><td>77</td><td>48</td><td>13</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-decoration-model-1.0.jar</td><td>47.84 kB</td><td>39</td><td>18</td><td>3</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>doxia-module-apt-1.0.jar</td><td>45.97 kB</td><td>45</td><td>27</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-module-fml-1.0.jar</td><td>18.11 kB</td><td>24</td><td>5</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>doxia-module-xdoc-1.0.jar</td><td>27.15 kB</td><td>31</td><td>13</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-module-xhtml-1.0.jar</td><td>21.29 kB</td><td>27</td><td>7</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>doxia-sink-api-1.0.jar</td><td>9.84 kB</td><td>22</td><td>4</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>doxia-site-renderer-1.0.jar</td><td>45.43 kB</td><td>50</td><td>9</td><td>2</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>maven-reporting-api-2.0.7.jar</td><td>9.71 kB</td><td>18</td><td>4</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-dependency-tree-2.1.jar</td><td>58.55 kB</td><td>63</td><td>39</td><td>7</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>maven-plugin-testing-harness-1.1.jar</td><td>31.73 kB</td><td>28</td><td>11</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-file-1.0-beta-2.jar</td><td>9.71 kB</td><td>18</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-http-lightweight-1.0-beta-2.jar</td><td>12.03 kB</td><td>19</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-http-shared-1.0-beta-2.jar</td><td>9.34 kB</td><td>17</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-provider-api-1.0-beta-2.jar</td><td>45.24 kB</td><td>57</td><td>37</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-1.0-beta-2.jar</td><td>23.05 kB</td><td>26</td><td>7</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-ssh-common-1.0-beta-2.jar</td><td>24.61 kB</td><td>37</td><td>18</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-external-1.0-beta-2.jar</td><td>12.27 kB</td><td>19</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>velocity-1.5.jar</td><td>382.93 kB</td><td>282</td><td>246</td><td>25</td><td>1.2</td><td>debug</td></tr><tr class="b"><td>plexus-archiver-2.1.jar</td><td>180.12 kB</td><td>137</td><td>112</td><td>12</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>plexus-component-annotations-1.5.5.jar</td><td>4.11 kB</td><td>15</td><td>3</td><td>1</td><td>1.5</td><td>release</td></tr><tr class="b"><td>plexus-container-default-1.0-alpha-9-stable-1.jar</td><td>189.63 kB</td><td>215</td><td>175</td><td>28</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-i18n-1.0-beta-7.jar</td><td>10.26 kB</td><td>19</td><td>6</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>plexus-interactivity-api-1.0-alpha-4.jar</td><td>13.09 kB</td><td>25</td><td>11</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-interpolation-1.15.jar</td><td>59.06 kB</td><td>60</td><td>44</td><td>6</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>plexus-io-2.0.2.jar</td><td>56.90 kB</td><td>62</td><td>43</td><td>5</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>plexus-utils-3.0.10.jar</td><td>225.47 kB</td><td>127</td><td>102</td><td>9</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>plexus-velocity-1.1.7.jar</td><td>7.49 kB</td><td>18</td><td>5</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>easymock-2.4.jar</td><td>79.23 kB</td><td>83</td><td>71</td><td>3</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>aether-util-0.9.0.M2.jar</td><td>130.46 kB</td><td>118</td><td>93</td><td>13</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>mockito-all-1.7.jar</td><td>943.04 kB</td><td>846</td><td>469</td><td>48</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>org.osgi.compendium-4.2.0.jar</td><td>599.76 kB</td><td>584</td><td>189</td><td>33</td><td>1.2</td><td>debug</td></tr><tr class="a"><td>org.osgi.core-4.3.1.jar</td><td>341.78 kB</td><td>254</td><td>106</td><td>13</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>oro-2.0.8.jar</td><td>63.73 kB</td><td>74</td><td>62</td><td>6</td><td>1.2</td><td>release</td></tr><tr class="a"><td>xml-apis-1.0.b2.jar</td><td>106.76 kB</td><td>217</td><td>184</td><td>17</td><td>1.2</td><td>release</td></tr><tr class="b"><th>Total</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="a"><td>60</td><td>7.61 MB</td><td>6,995</td><td>4,192</td><td>496</td><td>1.5</td><td>55</td></tr><tr class="b"><td>compile: 47</td><td>compile: 6.04 MB</td><td>compile: 5,340</td><td>compile: 3,121</td><td>compile: 400</td><td>-</td><td>compile: 45</td></tr><tr class="a"><td>test: 4</td><td>test: 1.13 MB</td><td>test: 1,076</td><td>test: 643</td><td>test: 64</td><td>-</td><td>test: 4</td></tr><tr class="b"><td>runtime: 9</td><td>runtime: 451.54 kB</td><td>runtime: 579</td><td>runtime: 428</td><td>runtime: 32</td><td>-</td><td>runtime: 6</td></tr></table></div><a name="Dependency_Repository_Locations"></a><div class="section"><h2>Dependency Repository Locations<a name="Dependency_Repository_Locations"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Repo ID</th><th>URL</th><th>Release</th><th>Snapshot</th><th>Blacklisted</th></tr><tr class="b"><td>codehaus.snapshots</td><td><a class="externalLink" href="http://snapshots.repository.codehaus.org">http://snapshots.repository.codehaus.org</a></td><td>-</td><td>Yes</td><td>-</td></tr><tr class="a"><td>apache.snapshots</td><td><a class="externalLink" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></td><td>-</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>snapshots</td><td><a class="externalLink" href="http://snapshots.maven.codehaus.org/maven2">http://snapshots.maven.codehaus.org/maven2</a></td><td>-</td><td>Yes</td><td>Yes</td></tr><tr class="a"><td>central</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2">http://repo.maven.apache.org/maven2</a></td><td>Yes</td><td>-</td><td>-</td></tr></table><p>Repository locations for each of the Dependencies.</p><table border="0" class="bodyTable"><tr class="a"><th>Artifact</th><th>codehaus.snapshots</th><th>central</th></tr><tr class="b"><td>biz.aQute.bnd:bndlib:jar:2.3.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/biz/aQute/bnd/bndlib/2.3.0/bndlib-2.3.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>classworlds:classworlds:jar:1.1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>com.jcraft:jsch:jar:0.1.27</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>commons-cli:commons-cli:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>commons-collections:commons-collections:jar:3.2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>commons-lang:commons-lang:jar:2.1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>jtidy:jtidy:jar:4aug2000r7-dev</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>junit:junit:jar:4.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/junit/junit/4.0/junit-4.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.bundlerepository/1.6.6/org.apache.felix.bundlerepository-1.6.6.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.felix:org.apache.felix.utils:jar:1.6.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.utils/1.6.0/org.apache.felix.utils-1.6.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-archiver:jar:2.5</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-artifact:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-core:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-core/2.0.7/maven-core-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.7/maven-error-diagnostics-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-model:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-monitor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.0.7/maven-monitor-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.7/maven-plugin-descriptor-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.7/maven-plugin-parameter-documenter-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-profile:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-project:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-settings:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-core:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-decoration-model:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-module-apt:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-module-fml:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-module-xdoc:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-module-xhtml:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-site-renderer:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.7/maven-reporting-api-2.0.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.shared:maven-dependency-tree:jar:2.1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.velocity:velocity:jar:1.5</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.5/velocity-1.5.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-archiver:jar:2.1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-i18n:jar:1.0-beta-7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interpolation:jar:1.15</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-io:jar:2.0.2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-utils:jar:3.0.10</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-velocity:jar:1.1.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.easymock:easymock:jar:2.4</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/easymock/easymock/2.4/easymock-2.4.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.eclipse.aether:aether-util:jar:0.9.0.M2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.mockito:mockito-all:jar:1.7</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/mockito/mockito-all/1.7/mockito-all-1.7.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.osgi:org.osgi.compendium:jar:4.2.0</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.3.1</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.3.1/org.osgi.core-4.3.1.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>oro:oro:jar:2.0.8</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>xml-apis:xml-apis:jar:1.0.b2</td><td>-</td><td><a class="externalLink" href="http://repo.maven.apache.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"><img alt="Found at http://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><th>Total</th><th>codehaus.snapshots</th><th>central</th></tr><tr class="a"><td>60 (compile: 47, test: 4, runtime: 9)</td><td>0</td><td>60</td></tr></table></div>
       </div>
     </div>
     <div class="clear">
diff --git a/bundleplugin/doc/site/instructions-mojo.html b/bundleplugin/doc/site/instructions-mojo.html
index de26882..90d6713 100644
--- a/bundleplugin/doc/site/instructions-mojo.html
+++ b/bundleplugin/doc/site/instructions-mojo.html
@@ -177,7 +177,8 @@
             <td><b><a href="#niceManifest">niceManifest</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
+            <td>Output a nicely formatted manifest that still respects the 72
+character line limit.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
@@ -257,7 +258,8 @@
           <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
-        <div>(no description)</div>
+        <div>Output a nicely formatted manifest that still respects the 72
+character line limit.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
diff --git a/bundleplugin/doc/site/manifest-mojo.html b/bundleplugin/doc/site/manifest-mojo.html
index edcfd8d..a29a344 100644
--- a/bundleplugin/doc/site/manifest-mojo.html
+++ b/bundleplugin/doc/site/manifest-mojo.html
@@ -177,7 +177,8 @@
             <td><b><a href="#niceManifest">niceManifest</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
+            <td>Output a nicely formatted manifest that still respects the 72
+character line limit.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
@@ -264,7 +265,8 @@
           <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
-        <div>(no description)</div>
+        <div>Output a nicely formatted manifest that still respects the 72
+character line limit.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
diff --git a/bundleplugin/doc/site/plugin-info.html b/bundleplugin/doc/site/plugin-info.html
index 4097601..f0a8996 100644
--- a/bundleplugin/doc/site/plugin-info.html
+++ b/bundleplugin/doc/site/plugin-info.html
@@ -96,7 +96,7 @@
       <div id="contentBox">
         <div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><a name="Plugin_Documentation"></a><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Report?</th><th>Description</th></tr><tr class="b"><td><a href="ant-mojo.html">bundle:ant</a></td><td>No</td><td>Generate Ant script to create the bundle (you should run ant:ant
 first).</td></tr><tr class="a"><td><a href="baseline-mojo.html">bundle:baseline</a></td><td>No</td><td>BND Baseline check between two bundles.</td></tr><tr class="b"><td><a href="baseline-report-mojo.html">bundle:baseline-report</a></td><td>Yes</td><td>BND Baseline report.</td></tr><tr class="a"><td><a href="bundle-mojo.html">bundle:bundle</a></td><td>No</td><td>Create an OSGi bundle from Maven project</td></tr><tr class="b"><td><a href="bundleall-mojo.html">bundle:bundleall</a></td><td>No</td><td><strong>Deprecated.</strong> The bundleall goal is no longer supported and may be removed in a
-future release</td></tr><tr class="a"><td><a href="clean-mojo.html">bundle:clean</a></td><td>No</td><td>Clean an OBR repository by finding and removing missing resources.</td></tr><tr class="b"><td><a href="cleanVersions-mojo.html">bundle:cleanVersions</a></td><td>No</td><td>No description.</td></tr><tr class="a"><td><a href="deploy-mojo.html">bundle:deploy</a></td><td>No</td><td>Deploys bundle details to a remote OBR repository (life-cycle goal)</td></tr><tr class="b"><td><a href="deploy-file-mojo.html">bundle:deploy-file</a></td><td>No</td><td>Deploys bundle details to a remote OBR repository (command-line
+future release</td></tr><tr class="a"><td><a href="clean-mojo.html">bundle:clean</a></td><td>No</td><td>Clean an OBR repository by finding and removing missing resources.</td></tr><tr class="b"><td><a href="cleanVersions-mojo.html">bundle:cleanVersions</a></td><td>No</td><td>Convert a group of versions to OSGi format.</td></tr><tr class="a"><td><a href="deploy-mojo.html">bundle:deploy</a></td><td>No</td><td>Deploys bundle details to a remote OBR repository (life-cycle goal)</td></tr><tr class="b"><td><a href="deploy-file-mojo.html">bundle:deploy-file</a></td><td>No</td><td>Deploys bundle details to a remote OBR repository (command-line
 goal)</td></tr><tr class="a"><td><a href="index-mojo.html">bundle:index</a></td><td>No</td><td>Index the content of a maven repository using OBR</td></tr><tr class="b"><td><a href="install-mojo.html">bundle:install</a></td><td>No</td><td>Installs bundle details in the local OBR repository (life-cycle
 goal)</td></tr><tr class="a"><td><a href="install-file-mojo.html">bundle:install-file</a></td><td>No</td><td>Installs bundle details in the local OBR repository (command-line
 goal)</td></tr><tr class="b"><td><a href="instructions-mojo.html">bundle:instructions</a></td><td>No</td><td>Generate BND instructions for this project</td></tr><tr class="a"><td><a href="manifest-mojo.html">bundle:manifest</a></td><td>No</td><td>Generate an OSGi manifest for this project</td></tr><tr class="b"><td><a href="remote-clean-mojo.html">bundle:remote-clean</a></td><td>No</td><td>Clean a remote repository file. It just looks for every resources
diff --git a/bundleplugin/doc/site/surefire-report.html b/bundleplugin/doc/site/surefire-report.html
index c402243..45ae23d 100644
--- a/bundleplugin/doc/site/surefire-report.html
+++ b/bundleplugin/doc/site/surefire-report.html
@@ -94,7 +94,7 @@
     </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>22</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>4.01</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.maven.shared.osgi">org.apache.maven.shared.osgi</a></td><td>4</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.211</td></tr><tr class="a"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>18</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>3.799</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.maven.shared.osgi"></a>org.apache.maven.shared.osgi<a name="org.apache.maven.shared.osgi"></a></h3><table border="0" class="bodyTable"><tr class="b"><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="a"><td><a href="#org.apache.maven.shared.osgiMaven2OsgiConverterTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.maven.shared.osgiMaven2OsgiConverterTest">Maven2OsgiConverterTest</a></td><td>4</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.211</td></tr></table></div><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="b"><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="a"><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>3</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.207</td></tr><tr class="b"><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.911</td></tr><tr class="a"><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.673</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginManifestWriterTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginManifestWriterTest">ManifestWriterTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.008</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>testBlueprintServices</td><td>0.781</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprintGeneric</td><td>0.312</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testAnalyzer</td><td>0.055</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.49</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.413</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.413</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.248</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.038</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.055</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.04</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.043</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.153</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.132</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.151</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.204</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.037</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginManifestWriterTest"></a>ManifestWriterTest<a name="ManifestWriterTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNiceManifest</td><td>0.007</td></tr></table></div><div class="section"><h3><a name="org.apache.maven.shared.osgiMaven2OsgiConverterTest"></a>Maven2OsgiConverterTest<a name="Maven2OsgiConverterTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.045</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleSymbolicName</td><td>0.078</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleFileName</td><td>0.051</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetVersion</td><td>0.035</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>22</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>3.818</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.maven.shared.osgi">org.apache.maven.shared.osgi</a></td><td>4</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.201</td></tr><tr class="a"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>18</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>3.617</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.maven.shared.osgi"></a>org.apache.maven.shared.osgi<a name="org.apache.maven.shared.osgi"></a></h3><table border="0" class="bodyTable"><tr class="b"><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="a"><td><a href="#org.apache.maven.shared.osgiMaven2OsgiConverterTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.maven.shared.osgiMaven2OsgiConverterTest">Maven2OsgiConverterTest</a></td><td>4</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.201</td></tr></table></div><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="b"><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="a"><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>3</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.05</td></tr><tr class="b"><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.839</td></tr><tr class="a"><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.721</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginManifestWriterTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginManifestWriterTest">ManifestWriterTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.007</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>testBlueprintServices</td><td>0.664</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprintGeneric</td><td>0.284</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testAnalyzer</td><td>0.048</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.402</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.428</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.379</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.267</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.039</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.053</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.045</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.056</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.167</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.166</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.145</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.157</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.201</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.039</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginManifestWriterTest"></a>ManifestWriterTest<a name="ManifestWriterTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNiceManifest</td><td>0.005</td></tr></table></div><div class="section"><h3><a name="org.apache.maven.shared.osgiMaven2OsgiConverterTest"></a>Maven2OsgiConverterTest<a name="Maven2OsgiConverterTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.037</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleSymbolicName</td><td>0.06</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleFileName</td><td>0.044</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetVersion</td><td>0.058</td></tr></table></div><br /></div><br />
       </div>
     </div>
     <div class="clear">
diff --git a/bundleplugin/doc/site/wrap-mojo.html b/bundleplugin/doc/site/wrap-mojo.html
index f3cc3a1..876309b 100644
--- a/bundleplugin/doc/site/wrap-mojo.html
+++ b/bundleplugin/doc/site/wrap-mojo.html
@@ -87,7 +87,8 @@
       <div>The wrap goal is no longer supported and may be removed in a future
 release</div>
       <p><b>Description</b>:</p>
-      <div>(no description)</div>
+      <div>Create OSGi bundles from the direct dependencies of the Maven
+project.</div>
       <p><b>Attributes</b>:</p>
       <ul>
         <li>Requires a Maven project to be executed.</li>
@@ -193,7 +194,8 @@
             <td><b><a href="#niceManifest">niceManifest</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
+            <td>Output a nicely formatted manifest that still respects the 72
+character line limit.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
@@ -297,7 +299,8 @@
           <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
-        <div>(no description)</div>
+        <div>Output a nicely formatted manifest that still respects the 72
+character line limit.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
index 54160b0..42b400a 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
@@ -236,1390 +236,1392 @@
 <a name="226" href="#226">226</a>     <strong class="jxr_keyword">private</strong> MavenSession m_mavenSession;
 <a name="227" href="#227">227</a> 
 <a name="228" href="#228">228</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     */</em>
-<a name="231" href="#231">231</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> niceManifest = false;
-<a name="232" href="#232">232</a> 
-<a name="233" href="#233">233</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SYMBOLICNAME = <span class="jxr_string">"maven-symbolicname"</span>;
-<a name="234" href="#234">234</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_RESOURCES = <span class="jxr_string">"{maven-resources}"</span>;
-<a name="235" href="#235">235</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_TEST_RESOURCES = <span class="jxr_string">"{maven-test-resources}"</span>;
-<a name="236" href="#236">236</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOCAL_PACKAGES = <span class="jxr_string">"{local-packages}"</span>;
-<a name="237" href="#237">237</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SOURCES = <span class="jxr_string">"{maven-sources}"</span>;
-<a name="238" href="#238">238</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_TEST_SOURCES = <span class="jxr_string">"{maven-test-sources}"</span>;
-<a name="239" href="#239">239</a> 
-<a name="240" href="#240">240</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] EMPTY_STRING_ARRAY =
-<a name="241" href="#241">241</a>         {};
-<a name="242" href="#242">242</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] DEFAULT_INCLUDES =
-<a name="243" href="#243">243</a>         { <span class="jxr_string">"**/**"</span> };
-<a name="244" href="#244">244</a> 
-<a name="245" href="#245">245</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NL = System.getProperty( <span class="jxr_string">"line.separator"</span> );
+<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * Output a nicely formatted manifest that still respects the 72 character line limit.</em>
+<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     *</em>
+<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">     */</em>
+<a name="233" href="#233">233</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> niceManifest = false;
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SYMBOLICNAME = <span class="jxr_string">"maven-symbolicname"</span>;
+<a name="236" href="#236">236</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_RESOURCES = <span class="jxr_string">"{maven-resources}"</span>;
+<a name="237" href="#237">237</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_TEST_RESOURCES = <span class="jxr_string">"{maven-test-resources}"</span>;
+<a name="238" href="#238">238</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOCAL_PACKAGES = <span class="jxr_string">"{local-packages}"</span>;
+<a name="239" href="#239">239</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SOURCES = <span class="jxr_string">"{maven-sources}"</span>;
+<a name="240" href="#240">240</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_TEST_SOURCES = <span class="jxr_string">"{maven-test-sources}"</span>;
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] EMPTY_STRING_ARRAY =
+<a name="243" href="#243">243</a>         {};
+<a name="244" href="#244">244</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] DEFAULT_INCLUDES =
+<a name="245" href="#245">245</a>         { <span class="jxr_string">"**/**"</span> };
 <a name="246" href="#246">246</a> 
-<a name="247" href="#247">247</a> 
-<a name="248" href="#248">248</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
-<a name="249" href="#249">249</a>     {
-<a name="250" href="#250">250</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
-<a name="251" href="#251">251</a>     }
-<a name="252" href="#252">252</a> 
-<a name="253" href="#253">253</a> 
-<a name="254" href="#254">254</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
-<a name="255" href="#255">255</a>     {
-<a name="256" href="#256">256</a>         m_maven2OsgiConverter = maven2OsgiConverter;
-<a name="257" href="#257">257</a>     }
-<a name="258" href="#258">258</a> 
-<a name="259" href="#259">259</a> 
-<a name="260" href="#260">260</a>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
-<a name="261" href="#261">261</a>     {
-<a name="262" href="#262">262</a>         <strong class="jxr_keyword">return</strong> project;
-<a name="263" href="#263">263</a>     }
-<a name="264" href="#264">264</a> 
-<a name="265" href="#265">265</a> 
-<a name="266" href="#266">266</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
-<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">     */</em>
-<a name="269" href="#269">269</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="270" href="#270">270</a>     {
-<a name="271" href="#271">271</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="272" href="#272">272</a>         String projectType = getProject().getArtifact().getType();
-<a name="273" href="#273">273</a> 
-<a name="274" href="#274">274</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
-<a name="275" href="#275">275</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
-<a name="276" href="#276">276</a>         {
-<a name="277" href="#277">277</a>             getLog().warn(
-<a name="278" href="#278">278</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
-<a name="279" href="#279">279</a>             <strong class="jxr_keyword">return</strong>;
-<a name="280" href="#280">280</a>         }
-<a name="281" href="#281">281</a> 
-<a name="282" href="#282">282</a>         execute( getProject(), instructions, properties );
-<a name="283" href="#283">283</a>     }
-<a name="284" href="#284">284</a> 
-<a name="285" href="#285">285</a> 
-<a name="286" href="#286">286</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
-<a name="287" href="#287">287</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="288" href="#288">288</a>     {
-<a name="289" href="#289">289</a>         <strong class="jxr_keyword">try</strong>
-<a name="290" href="#290">290</a>         {
-<a name="291" href="#291">291</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
-<a name="292" href="#292">292</a>         }
-<a name="293" href="#293">293</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="294" href="#294">294</a>         {
-<a name="295" href="#295">295</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error calculating classpath for project "</span> + currentProject, e );
-<a name="296" href="#296">296</a>         }
-<a name="297" href="#297">297</a>     }
-<a name="298" href="#298">298</a> 
-<a name="299" href="#299">299</a> 
-<a name="300" href="#300">300</a>     <em class="jxr_comment">/*<em class="jxr_comment"> transform directives from their XML form to the expected BND syntax (eg. _include becomes -include) */</em></em>
-<a name="301" href="#301">301</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
-<a name="302" href="#302">302</a>     {
-<a name="303" href="#303">303</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="304" href="#304">304</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
-<a name="305" href="#305">305</a>         {
-<a name="306" href="#306">306</a>             Map.Entry e = ( Map.Entry ) i.next();
-<a name="307" href="#307">307</a> 
-<a name="308" href="#308">308</a>             String key = ( String ) e.getKey();
-<a name="309" href="#309">309</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
-<a name="310" href="#310">310</a>             {
-<a name="311" href="#311">311</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
-<a name="312" href="#312">312</a>             }
-<a name="313" href="#313">313</a> 
-<a name="314" href="#314">314</a>             String value = ( String ) e.getValue();
-<a name="315" href="#315">315</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
-<a name="316" href="#316">316</a>             {
-<a name="317" href="#317">317</a>                 value = <span class="jxr_string">""</span>;
-<a name="318" href="#318">318</a>             }
-<a name="319" href="#319">319</a>             <strong class="jxr_keyword">else</strong>
-<a name="320" href="#320">320</a>             {
-<a name="321" href="#321">321</a>                 value = value.replaceAll( <span class="jxr_string">"&#92;&#92;p{Blank}*[\r\n]&#92;&#92;p{Blank}*"</span>, <span class="jxr_string">""</span> );
-<a name="322" href="#322">322</a>             }
-<a name="323" href="#323">323</a> 
-<a name="324" href="#324">324</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
-<a name="325" href="#325">325</a>             {
-<a name="326" href="#326">326</a>                 <em class="jxr_comment">// provide useful default</em>
-<a name="327" href="#327">327</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
-<a name="328" href="#328">328</a>             }
-<a name="329" href="#329">329</a> 
-<a name="330" href="#330">330</a>             transformedInstructions.put( key, value );
-<a name="331" href="#331">331</a>         }
-<a name="332" href="#332">332</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
-<a name="333" href="#333">333</a>     }
-<a name="334" href="#334">334</a> 
-<a name="335" href="#335">335</a> 
-<a name="336" href="#336">336</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
-<a name="337" href="#337">337</a>     {
-<a name="338" href="#338">338</a>         List errors = analyzer.getErrors();
-<a name="339" href="#339">339</a>         List warnings = analyzer.getWarnings();
-<a name="340" href="#340">340</a> 
-<a name="341" href="#341">341</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
-<a name="342" href="#342">342</a>         {
-<a name="343" href="#343">343</a>             String msg = ( String ) w.next();
-<a name="344" href="#344">344</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="345" href="#345">345</a>         }
-<a name="346" href="#346">346</a> 
-<a name="347" href="#347">347</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
-<a name="348" href="#348">348</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
-<a name="349" href="#349">349</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
-<a name="350" href="#350">350</a>         {
-<a name="351" href="#351">351</a>             String msg = ( String ) e.next();
-<a name="352" href="#352">352</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
-<a name="353" href="#353">353</a>             {
-<a name="354" href="#354">354</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
-<a name="355" href="#355">355</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
-<a name="356" href="#356">356</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
-<a name="357" href="#357">357</a>             }
-<a name="358" href="#358">358</a>             <strong class="jxr_keyword">else</strong>
-<a name="359" href="#359">359</a>             {
-<a name="360" href="#360">360</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="361" href="#361">361</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
-<a name="362" href="#362">362</a>             }
-<a name="363" href="#363">363</a>         }
-<a name="364" href="#364">364</a>         <strong class="jxr_keyword">return</strong> hasErrors;
-<a name="365" href="#365">365</a>     }
-<a name="366" href="#366">366</a> 
-<a name="367" href="#367">367</a> 
-<a name="368" href="#368">368</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="369" href="#369">369</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="370" href="#370">370</a>     {
-<a name="371" href="#371">371</a>         <strong class="jxr_keyword">try</strong>
-<a name="372" href="#372">372</a>         {
-<a name="373" href="#373">373</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
-<a name="374" href="#374">374</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
-<a name="375" href="#375">375</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
-<a name="376" href="#376">376</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
-<a name="377" href="#377">377</a>             {
-<a name="378" href="#378">378</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="379" href="#379">379</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="380" href="#380">380</a>                 {
-<a name="381" href="#381">381</a>                     jarFile.delete();
-<a name="382" href="#382">382</a> 
-<a name="383" href="#383">383</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in bundle configuration"</span> );
-<a name="384" href="#384">384</a>                 }
-<a name="385" href="#385">385</a>             }
-<a name="386" href="#386">386</a> 
-<a name="387" href="#387">387</a>             <em class="jxr_comment">// attach bundle to maven project</em>
-<a name="388" href="#388">388</a>             jarFile.getParentFile().mkdirs();
-<a name="389" href="#389">389</a>             builder.getJar().write( jarFile );
-<a name="390" href="#390">390</a> 
-<a name="391" href="#391">391</a>             Artifact mainArtifact = currentProject.getArtifact();
+<a name="247" href="#247">247</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NL = System.getProperty( <span class="jxr_string">"line.separator"</span> );
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
+<a name="251" href="#251">251</a>     {
+<a name="252" href="#252">252</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
+<a name="257" href="#257">257</a>     {
+<a name="258" href="#258">258</a>         m_maven2OsgiConverter = maven2OsgiConverter;
+<a name="259" href="#259">259</a>     }
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
+<a name="263" href="#263">263</a>     {
+<a name="264" href="#264">264</a>         <strong class="jxr_keyword">return</strong> project;
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="269" href="#269">269</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
+<a name="270" href="#270">270</a> <em class="jxr_javadoccomment">     */</em>
+<a name="271" href="#271">271</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="272" href="#272">272</a>     {
+<a name="273" href="#273">273</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="274" href="#274">274</a>         String projectType = getProject().getArtifact().getType();
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
+<a name="277" href="#277">277</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
+<a name="278" href="#278">278</a>         {
+<a name="279" href="#279">279</a>             getLog().warn(
+<a name="280" href="#280">280</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
+<a name="281" href="#281">281</a>             <strong class="jxr_keyword">return</strong>;
+<a name="282" href="#282">282</a>         }
+<a name="283" href="#283">283</a> 
+<a name="284" href="#284">284</a>         execute( getProject(), instructions, properties );
+<a name="285" href="#285">285</a>     }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
+<a name="289" href="#289">289</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="290" href="#290">290</a>     {
+<a name="291" href="#291">291</a>         <strong class="jxr_keyword">try</strong>
+<a name="292" href="#292">292</a>         {
+<a name="293" href="#293">293</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
+<a name="294" href="#294">294</a>         }
+<a name="295" href="#295">295</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="296" href="#296">296</a>         {
+<a name="297" href="#297">297</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error calculating classpath for project "</span> + currentProject, e );
+<a name="298" href="#298">298</a>         }
+<a name="299" href="#299">299</a>     }
+<a name="300" href="#300">300</a> 
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>     <em class="jxr_comment">/*<em class="jxr_comment"> transform directives from their XML form to the expected BND syntax (eg. _include becomes -include) */</em></em>
+<a name="303" href="#303">303</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
+<a name="304" href="#304">304</a>     {
+<a name="305" href="#305">305</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="306" href="#306">306</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
+<a name="307" href="#307">307</a>         {
+<a name="308" href="#308">308</a>             Map.Entry e = ( Map.Entry ) i.next();
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>             String key = ( String ) e.getKey();
+<a name="311" href="#311">311</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
+<a name="312" href="#312">312</a>             {
+<a name="313" href="#313">313</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
+<a name="314" href="#314">314</a>             }
+<a name="315" href="#315">315</a> 
+<a name="316" href="#316">316</a>             String value = ( String ) e.getValue();
+<a name="317" href="#317">317</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
+<a name="318" href="#318">318</a>             {
+<a name="319" href="#319">319</a>                 value = <span class="jxr_string">""</span>;
+<a name="320" href="#320">320</a>             }
+<a name="321" href="#321">321</a>             <strong class="jxr_keyword">else</strong>
+<a name="322" href="#322">322</a>             {
+<a name="323" href="#323">323</a>                 value = value.replaceAll( <span class="jxr_string">"&#92;&#92;p{Blank}*[\r\n]&#92;&#92;p{Blank}*"</span>, <span class="jxr_string">""</span> );
+<a name="324" href="#324">324</a>             }
+<a name="325" href="#325">325</a> 
+<a name="326" href="#326">326</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
+<a name="327" href="#327">327</a>             {
+<a name="328" href="#328">328</a>                 <em class="jxr_comment">// provide useful default</em>
+<a name="329" href="#329">329</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
+<a name="330" href="#330">330</a>             }
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>             transformedInstructions.put( key, value );
+<a name="333" href="#333">333</a>         }
+<a name="334" href="#334">334</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
+<a name="335" href="#335">335</a>     }
+<a name="336" href="#336">336</a> 
+<a name="337" href="#337">337</a> 
+<a name="338" href="#338">338</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
+<a name="339" href="#339">339</a>     {
+<a name="340" href="#340">340</a>         List errors = analyzer.getErrors();
+<a name="341" href="#341">341</a>         List warnings = analyzer.getWarnings();
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
+<a name="344" href="#344">344</a>         {
+<a name="345" href="#345">345</a>             String msg = ( String ) w.next();
+<a name="346" href="#346">346</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="347" href="#347">347</a>         }
+<a name="348" href="#348">348</a> 
+<a name="349" href="#349">349</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
+<a name="350" href="#350">350</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
+<a name="351" href="#351">351</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
+<a name="352" href="#352">352</a>         {
+<a name="353" href="#353">353</a>             String msg = ( String ) e.next();
+<a name="354" href="#354">354</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
+<a name="355" href="#355">355</a>             {
+<a name="356" href="#356">356</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
+<a name="357" href="#357">357</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
+<a name="358" href="#358">358</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
+<a name="359" href="#359">359</a>             }
+<a name="360" href="#360">360</a>             <strong class="jxr_keyword">else</strong>
+<a name="361" href="#361">361</a>             {
+<a name="362" href="#362">362</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="363" href="#363">363</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
+<a name="364" href="#364">364</a>             }
+<a name="365" href="#365">365</a>         }
+<a name="366" href="#366">366</a>         <strong class="jxr_keyword">return</strong> hasErrors;
+<a name="367" href="#367">367</a>     }
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a> 
+<a name="370" href="#370">370</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="371" href="#371">371</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="372" href="#372">372</a>     {
+<a name="373" href="#373">373</a>         <strong class="jxr_keyword">try</strong>
+<a name="374" href="#374">374</a>         {
+<a name="375" href="#375">375</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
+<a name="376" href="#376">376</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
+<a name="377" href="#377">377</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
+<a name="378" href="#378">378</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="379" href="#379">379</a>             {
+<a name="380" href="#380">380</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
+<a name="381" href="#381">381</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
+<a name="382" href="#382">382</a>                 {
+<a name="383" href="#383">383</a>                     jarFile.delete();
+<a name="384" href="#384">384</a> 
+<a name="385" href="#385">385</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in bundle configuration"</span> );
+<a name="386" href="#386">386</a>                 }
+<a name="387" href="#387">387</a>             }
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>             <em class="jxr_comment">// attach bundle to maven project</em>
+<a name="390" href="#390">390</a>             jarFile.getParentFile().mkdirs();
+<a name="391" href="#391">391</a>             builder.getJar().write( jarFile );
 <a name="392" href="#392">392</a> 
-<a name="393" href="#393">393</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
-<a name="394" href="#394">394</a>             {
-<a name="395" href="#395">395</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
-<a name="396" href="#396">396</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
-<a name="397" href="#397">397</a>             }
-<a name="398" href="#398">398</a> 
-<a name="399" href="#399">399</a>             <strong class="jxr_keyword">boolean</strong> customClassifier = <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0;
-<a name="400" href="#400">400</a>             <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging &amp;&amp; packaging.trim().length() &gt; 0;
-<a name="401" href="#401">401</a> 
-<a name="402" href="#402">402</a>             <strong class="jxr_keyword">if</strong> ( customClassifier &amp;&amp; customPackaging )
-<a name="403" href="#403">403</a>             {
-<a name="404" href="#404">404</a>                 m_projectHelper.attachArtifact( currentProject, packaging, classifier, jarFile );
-<a name="405" href="#405">405</a>             }
-<a name="406" href="#406">406</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customClassifier )
-<a name="407" href="#407">407</a>             {
-<a name="408" href="#408">408</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
-<a name="409" href="#409">409</a>             }
-<a name="410" href="#410">410</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customPackaging )
-<a name="411" href="#411">411</a>             {
-<a name="412" href="#412">412</a>                 m_projectHelper.attachArtifact( currentProject, packaging, jarFile );
-<a name="413" href="#413">413</a>             }
-<a name="414" href="#414">414</a>             <strong class="jxr_keyword">else</strong>
-<a name="415" href="#415">415</a>             {
-<a name="416" href="#416">416</a>                 mainArtifact.setFile( jarFile );
-<a name="417" href="#417">417</a>             }
-<a name="418" href="#418">418</a> 
-<a name="419" href="#419">419</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
-<a name="420" href="#420">420</a>             {
-<a name="421" href="#421">421</a>                 unpackBundle( jarFile );
-<a name="422" href="#422">422</a>             }
-<a name="423" href="#423">423</a> 
-<a name="424" href="#424">424</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
-<a name="425" href="#425">425</a>             {
-<a name="426" href="#426">426</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
-<a name="427" href="#427">427</a> 
-<a name="428" href="#428">428</a>                 <strong class="jxr_keyword">try</strong>
-<a name="429" href="#429">429</a>                 {
-<a name="430" href="#430">430</a>                     Manifest manifest = builder.getJar().getManifest();
-<a name="431" href="#431">431</a>                     FileOutputStream fos = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
-<a name="432" href="#432">432</a>                     <strong class="jxr_keyword">try</strong>
-<a name="433" href="#433">433</a>                     {
-<a name="434" href="#434">434</a>                         ManifestWriter.outputManifest( manifest, fos, niceManifest );
-<a name="435" href="#435">435</a>                     }
-<a name="436" href="#436">436</a>                     <strong class="jxr_keyword">finally</strong>
-<a name="437" href="#437">437</a>                     {
-<a name="438" href="#438">438</a>                         fos.close();
-<a name="439" href="#439">439</a>                     }
-<a name="440" href="#440">440</a>                 }
-<a name="441" href="#441">441</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="442" href="#442">442</a>                 {
-<a name="443" href="#443">443</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="444" href="#444">444</a>                 }
-<a name="445" href="#445">445</a>             }
-<a name="446" href="#446">446</a> 
-<a name="447" href="#447">447</a>             <em class="jxr_comment">// cleanup...</em>
-<a name="448" href="#448">448</a>             builder.close();
-<a name="449" href="#449">449</a>         }
-<a name="450" href="#450">450</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="451" href="#451">451</a>         {
-<a name="452" href="#452">452</a>             getLog().error( e.getLocalizedMessage() );
-<a name="453" href="#453">453</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in bundle configuration"</span>, e );
-<a name="454" href="#454">454</a>         }
-<a name="455" href="#455">455</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="456" href="#456">456</a>         {
-<a name="457" href="#457">457</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="458" href="#458">458</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Internal error in maven-bundle-plugin"</span>, e );
-<a name="459" href="#459">459</a>         }
-<a name="460" href="#460">460</a>     }
-<a name="461" href="#461">461</a> 
-<a name="462" href="#462">462</a> 
-<a name="463" href="#463">463</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="464" href="#464">464</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="465" href="#465">465</a>     {
-<a name="466" href="#466">466</a>         properties.putAll( getDefaultProperties( currentProject ) );
-<a name="467" href="#467">467</a>         properties.putAll( transformDirectives( originalInstructions ) );
-<a name="468" href="#468">468</a>         <strong class="jxr_keyword">if</strong> (properties.getProperty(<span class="jxr_string">"Bundle-Activator"</span>) != <strong class="jxr_keyword">null</strong>
-<a name="469" href="#469">469</a>                 &amp;&amp; properties.getProperty(<span class="jxr_string">"Bundle-Activator"</span>).isEmpty())
-<a name="470" href="#470">470</a>         {
-<a name="471" href="#471">471</a>             properties.remove(<span class="jxr_string">"Bundle-Activator"</span>);
-<a name="472" href="#472">472</a>         }
-<a name="473" href="#473">473</a>         <strong class="jxr_keyword">if</strong> (properties.containsKey(<span class="jxr_string">"-disable-plugin"</span>))
-<a name="474" href="#474">474</a>         {
-<a name="475" href="#475">475</a>             String[] disabled = properties.remove(<span class="jxr_string">"-disable-plugin"</span>).toString().replaceAll(<span class="jxr_string">" "</span>, <span class="jxr_string">""</span>).split(<span class="jxr_string">","</span>);
-<a name="476" href="#476">476</a>             String[] enabled = properties.getProperty(Analyzer.PLUGIN, <span class="jxr_string">""</span>).replaceAll(<span class="jxr_string">" "</span>, <span class="jxr_string">""</span>).split(<span class="jxr_string">","</span>);
-<a name="477" href="#477">477</a>             Set&lt;String&gt; plugin = <strong class="jxr_keyword">new</strong> LinkedHashSet&lt;String&gt;();
-<a name="478" href="#478">478</a>             plugin.addAll(Arrays.asList(enabled));
-<a name="479" href="#479">479</a>             plugin.removeAll(Arrays.asList(disabled));
-<a name="480" href="#480">480</a>             StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="481" href="#481">481</a>             <strong class="jxr_keyword">for</strong> (String s : plugin)
-<a name="482" href="#482">482</a>             {
-<a name="483" href="#483">483</a>                 <strong class="jxr_keyword">if</strong> (sb.length() &gt; 0)
-<a name="484" href="#484">484</a>                 {
-<a name="485" href="#485">485</a>                     sb.append(<span class="jxr_string">","</span>);
-<a name="486" href="#486">486</a>                 }
-<a name="487" href="#487">487</a>                 sb.append(sb);
-<a name="488" href="#488">488</a>             }
-<a name="489" href="#489">489</a>             properties.setProperty(Analyzer.PLUGIN, sb.toString());
-<a name="490" href="#490">490</a>         }
-<a name="491" href="#491">491</a> 
-<a name="492" href="#492">492</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
-<a name="493" href="#493">493</a>         <strong class="jxr_keyword">synchronized</strong> ( BundlePlugin.<strong class="jxr_keyword">class</strong> ) <em class="jxr_comment">// protect setBase...getBndLastModified which uses static DateFormat </em>
-<a name="494" href="#494">494</a>         {
-<a name="495" href="#495">495</a>             builder.setBase( getBase( currentProject ) );
-<a name="496" href="#496">496</a>         }
-<a name="497" href="#497">497</a>         builder.setProperties( sanitize( properties ) );
-<a name="498" href="#498">498</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
-<a name="499" href="#499">499</a>         {
-<a name="500" href="#500">500</a>             builder.setClasspath( classpath );
-<a name="501" href="#501">501</a>         }
-<a name="502" href="#502">502</a> 
-<a name="503" href="#503">503</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="504" href="#504">504</a>     }
-<a name="505" href="#505">505</a> 
-<a name="506" href="#506">506</a> 
-<a name="507" href="#507">507</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
-<a name="508" href="#508">508</a>     {
-<a name="509" href="#509">509</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
-<a name="510" href="#510">510</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
-<a name="511" href="#511">511</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
-<a name="512" href="#512">512</a>         {
-<a name="513" href="#513">513</a>             Map.Entry entry = ( Map.Entry ) itr.next();
-<a name="514" href="#514">514</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
-<a name="515" href="#515">515</a>             {
-<a name="516" href="#516">516</a>                 String key = sanitize( entry.getKey() );
-<a name="517" href="#517">517</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
-<a name="518" href="#518">518</a>                 {
-<a name="519" href="#519">519</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
-<a name="520" href="#520">520</a>                 }
-<a name="521" href="#521">521</a>                 itr.remove();
-<a name="522" href="#522">522</a>             }
-<a name="523" href="#523">523</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
-<a name="524" href="#524">524</a>             {
-<a name="525" href="#525">525</a>                 entry.setValue( sanitize( entry.getValue() ) );
-<a name="526" href="#526">526</a>             }
-<a name="527" href="#527">527</a>         }
-<a name="528" href="#528">528</a>         properties.putAll( sanitizedEntries );
-<a name="529" href="#529">529</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="530" href="#530">530</a>     }
-<a name="531" href="#531">531</a> 
-<a name="532" href="#532">532</a> 
-<a name="533" href="#533">533</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
-<a name="534" href="#534">534</a>     {
-<a name="535" href="#535">535</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
-<a name="536" href="#536">536</a>         {
-<a name="537" href="#537">537</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
-<a name="538" href="#538">538</a>         }
-<a name="539" href="#539">539</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
-<a name="540" href="#540">540</a>         {
-<a name="541" href="#541">541</a>             String delim = <span class="jxr_string">""</span>;
-<a name="542" href="#542">542</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="543" href="#543">543</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
-<a name="544" href="#544">544</a>             {
-<a name="545" href="#545">545</a>                 buf.append( delim ).append( i );
-<a name="546" href="#546">546</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="547" href="#547">547</a>             }
-<a name="548" href="#548">548</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="549" href="#549">549</a>         }
-<a name="550" href="#550">550</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
-<a name="551" href="#551">551</a>         {
-<a name="552" href="#552">552</a>             String delim = <span class="jxr_string">""</span>;
-<a name="553" href="#553">553</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="554" href="#554">554</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0, len = Array.getLength( value ); i &lt; len; i++ )
-<a name="555" href="#555">555</a>             {
-<a name="556" href="#556">556</a>                 buf.append( delim ).append( Array.get( value, i ) );
-<a name="557" href="#557">557</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="558" href="#558">558</a>             }
-<a name="559" href="#559">559</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="560" href="#560">560</a>         }
-<a name="561" href="#561">561</a>         <strong class="jxr_keyword">else</strong>
-<a name="562" href="#562">562</a>         {
-<a name="563" href="#563">563</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
-<a name="564" href="#564">564</a>         }
-<a name="565" href="#565">565</a>     }
-<a name="566" href="#566">566</a> 
-<a name="567" href="#567">567</a> 
-<a name="568" href="#568">568</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addMavenInstructions( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="569" href="#569">569</a>     {
-<a name="570" href="#570">570</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
-<a name="571" href="#571">571</a>         {
-<a name="572" href="#572">572</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
-<a name="573" href="#573">573</a>             includeMavenResources( currentProject, builder, getLog() );
-<a name="574" href="#574">574</a> 
-<a name="575" href="#575">575</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
-<a name="576" href="#576">576</a>             addLocalPackages( outputDirectory, builder );
-<a name="577" href="#577">577</a> 
-<a name="578" href="#578">578</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
-<a name="579" href="#579">579</a>             addMavenSourcePath( currentProject, builder, getLog() );
-<a name="580" href="#580">580</a>         }
-<a name="581" href="#581">581</a> 
-<a name="582" href="#582">582</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
-<a name="583" href="#583">583</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
-<a name="584" href="#584">584</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
-<a name="585" href="#585">585</a> 
-<a name="586" href="#586">586</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="587" href="#587">587</a>         {
-<a name="588" href="#588">588</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="589" href="#589">589</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
-<a name="590" href="#590">590</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
-<a name="591" href="#591">591</a>             {
-<a name="592" href="#592">592</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
-<a name="593" href="#593">593</a>                 dumpInstructions.getParentFile().mkdirs();
-<a name="594" href="#594">594</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
-<a name="595" href="#595">595</a>             }
-<a name="596" href="#596">596</a>         }
-<a name="597" href="#597">597</a> 
-<a name="598" href="#598">598</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="599" href="#599">599</a>         {
-<a name="600" href="#600">600</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="601" href="#601">601</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
-<a name="602" href="#602">602</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
-<a name="603" href="#603">603</a>             {
-<a name="604" href="#604">604</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
-<a name="605" href="#605">605</a>                 dumpClasspath.getParentFile().mkdirs();
-<a name="606" href="#606">606</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
-<a name="607" href="#607">607</a>             }
-<a name="608" href="#608">608</a>         }
-<a name="609" href="#609">609</a>     }
-<a name="610" href="#610">610</a> 
-<a name="611" href="#611">611</a> 
-<a name="612" href="#612">612</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="613" href="#613">613</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="614" href="#614">614</a>     {
-<a name="615" href="#615">615</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
-<a name="616" href="#616">616</a> 
-<a name="617" href="#617">617</a>         addMavenInstructions( currentProject, builder );
+<a name="393" href="#393">393</a>             Artifact mainArtifact = currentProject.getArtifact();
+<a name="394" href="#394">394</a> 
+<a name="395" href="#395">395</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
+<a name="396" href="#396">396</a>             {
+<a name="397" href="#397">397</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
+<a name="398" href="#398">398</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
+<a name="399" href="#399">399</a>             }
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a>             <strong class="jxr_keyword">boolean</strong> customClassifier = <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0;
+<a name="402" href="#402">402</a>             <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging &amp;&amp; packaging.trim().length() &gt; 0;
+<a name="403" href="#403">403</a> 
+<a name="404" href="#404">404</a>             <strong class="jxr_keyword">if</strong> ( customClassifier &amp;&amp; customPackaging )
+<a name="405" href="#405">405</a>             {
+<a name="406" href="#406">406</a>                 m_projectHelper.attachArtifact( currentProject, packaging, classifier, jarFile );
+<a name="407" href="#407">407</a>             }
+<a name="408" href="#408">408</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customClassifier )
+<a name="409" href="#409">409</a>             {
+<a name="410" href="#410">410</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
+<a name="411" href="#411">411</a>             }
+<a name="412" href="#412">412</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customPackaging )
+<a name="413" href="#413">413</a>             {
+<a name="414" href="#414">414</a>                 m_projectHelper.attachArtifact( currentProject, packaging, jarFile );
+<a name="415" href="#415">415</a>             }
+<a name="416" href="#416">416</a>             <strong class="jxr_keyword">else</strong>
+<a name="417" href="#417">417</a>             {
+<a name="418" href="#418">418</a>                 mainArtifact.setFile( jarFile );
+<a name="419" href="#419">419</a>             }
+<a name="420" href="#420">420</a> 
+<a name="421" href="#421">421</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
+<a name="422" href="#422">422</a>             {
+<a name="423" href="#423">423</a>                 unpackBundle( jarFile );
+<a name="424" href="#424">424</a>             }
+<a name="425" href="#425">425</a> 
+<a name="426" href="#426">426</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
+<a name="427" href="#427">427</a>             {
+<a name="428" href="#428">428</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<a name="429" href="#429">429</a> 
+<a name="430" href="#430">430</a>                 <strong class="jxr_keyword">try</strong>
+<a name="431" href="#431">431</a>                 {
+<a name="432" href="#432">432</a>                     Manifest manifest = builder.getJar().getManifest();
+<a name="433" href="#433">433</a>                     FileOutputStream fos = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
+<a name="434" href="#434">434</a>                     <strong class="jxr_keyword">try</strong>
+<a name="435" href="#435">435</a>                     {
+<a name="436" href="#436">436</a>                         ManifestWriter.outputManifest( manifest, fos, niceManifest );
+<a name="437" href="#437">437</a>                     }
+<a name="438" href="#438">438</a>                     <strong class="jxr_keyword">finally</strong>
+<a name="439" href="#439">439</a>                     {
+<a name="440" href="#440">440</a>                         fos.close();
+<a name="441" href="#441">441</a>                     }
+<a name="442" href="#442">442</a>                 }
+<a name="443" href="#443">443</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="444" href="#444">444</a>                 {
+<a name="445" href="#445">445</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
+<a name="446" href="#446">446</a>                 }
+<a name="447" href="#447">447</a>             }
+<a name="448" href="#448">448</a> 
+<a name="449" href="#449">449</a>             <em class="jxr_comment">// cleanup...</em>
+<a name="450" href="#450">450</a>             builder.close();
+<a name="451" href="#451">451</a>         }
+<a name="452" href="#452">452</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
+<a name="453" href="#453">453</a>         {
+<a name="454" href="#454">454</a>             getLog().error( e.getLocalizedMessage() );
+<a name="455" href="#455">455</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in bundle configuration"</span>, e );
+<a name="456" href="#456">456</a>         }
+<a name="457" href="#457">457</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="458" href="#458">458</a>         {
+<a name="459" href="#459">459</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
+<a name="460" href="#460">460</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Internal error in maven-bundle-plugin"</span>, e );
+<a name="461" href="#461">461</a>         }
+<a name="462" href="#462">462</a>     }
+<a name="463" href="#463">463</a> 
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="466" href="#466">466</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="467" href="#467">467</a>     {
+<a name="468" href="#468">468</a>         properties.putAll( getDefaultProperties( currentProject ) );
+<a name="469" href="#469">469</a>         properties.putAll( transformDirectives( originalInstructions ) );
+<a name="470" href="#470">470</a>         <strong class="jxr_keyword">if</strong> (properties.getProperty(<span class="jxr_string">"Bundle-Activator"</span>) != <strong class="jxr_keyword">null</strong>
+<a name="471" href="#471">471</a>                 &amp;&amp; properties.getProperty(<span class="jxr_string">"Bundle-Activator"</span>).isEmpty())
+<a name="472" href="#472">472</a>         {
+<a name="473" href="#473">473</a>             properties.remove(<span class="jxr_string">"Bundle-Activator"</span>);
+<a name="474" href="#474">474</a>         }
+<a name="475" href="#475">475</a>         <strong class="jxr_keyword">if</strong> (properties.containsKey(<span class="jxr_string">"-disable-plugin"</span>))
+<a name="476" href="#476">476</a>         {
+<a name="477" href="#477">477</a>             String[] disabled = properties.remove(<span class="jxr_string">"-disable-plugin"</span>).toString().replaceAll(<span class="jxr_string">" "</span>, <span class="jxr_string">""</span>).split(<span class="jxr_string">","</span>);
+<a name="478" href="#478">478</a>             String[] enabled = properties.getProperty(Analyzer.PLUGIN, <span class="jxr_string">""</span>).replaceAll(<span class="jxr_string">" "</span>, <span class="jxr_string">""</span>).split(<span class="jxr_string">","</span>);
+<a name="479" href="#479">479</a>             Set&lt;String&gt; plugin = <strong class="jxr_keyword">new</strong> LinkedHashSet&lt;String&gt;();
+<a name="480" href="#480">480</a>             plugin.addAll(Arrays.asList(enabled));
+<a name="481" href="#481">481</a>             plugin.removeAll(Arrays.asList(disabled));
+<a name="482" href="#482">482</a>             StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="483" href="#483">483</a>             <strong class="jxr_keyword">for</strong> (String s : plugin)
+<a name="484" href="#484">484</a>             {
+<a name="485" href="#485">485</a>                 <strong class="jxr_keyword">if</strong> (sb.length() &gt; 0)
+<a name="486" href="#486">486</a>                 {
+<a name="487" href="#487">487</a>                     sb.append(<span class="jxr_string">","</span>);
+<a name="488" href="#488">488</a>                 }
+<a name="489" href="#489">489</a>                 sb.append(sb);
+<a name="490" href="#490">490</a>             }
+<a name="491" href="#491">491</a>             properties.setProperty(Analyzer.PLUGIN, sb.toString());
+<a name="492" href="#492">492</a>         }
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
+<a name="495" href="#495">495</a>         <strong class="jxr_keyword">synchronized</strong> ( BundlePlugin.<strong class="jxr_keyword">class</strong> ) <em class="jxr_comment">// protect setBase...getBndLastModified which uses static DateFormat </em>
+<a name="496" href="#496">496</a>         {
+<a name="497" href="#497">497</a>             builder.setBase( getBase( currentProject ) );
+<a name="498" href="#498">498</a>         }
+<a name="499" href="#499">499</a>         builder.setProperties( sanitize( properties ) );
+<a name="500" href="#500">500</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
+<a name="501" href="#501">501</a>         {
+<a name="502" href="#502">502</a>             builder.setClasspath( classpath );
+<a name="503" href="#503">503</a>         }
+<a name="504" href="#504">504</a> 
+<a name="505" href="#505">505</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="506" href="#506">506</a>     }
+<a name="507" href="#507">507</a> 
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
+<a name="510" href="#510">510</a>     {
+<a name="511" href="#511">511</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
+<a name="512" href="#512">512</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
+<a name="513" href="#513">513</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
+<a name="514" href="#514">514</a>         {
+<a name="515" href="#515">515</a>             Map.Entry entry = ( Map.Entry ) itr.next();
+<a name="516" href="#516">516</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
+<a name="517" href="#517">517</a>             {
+<a name="518" href="#518">518</a>                 String key = sanitize( entry.getKey() );
+<a name="519" href="#519">519</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
+<a name="520" href="#520">520</a>                 {
+<a name="521" href="#521">521</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
+<a name="522" href="#522">522</a>                 }
+<a name="523" href="#523">523</a>                 itr.remove();
+<a name="524" href="#524">524</a>             }
+<a name="525" href="#525">525</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
+<a name="526" href="#526">526</a>             {
+<a name="527" href="#527">527</a>                 entry.setValue( sanitize( entry.getValue() ) );
+<a name="528" href="#528">528</a>             }
+<a name="529" href="#529">529</a>         }
+<a name="530" href="#530">530</a>         properties.putAll( sanitizedEntries );
+<a name="531" href="#531">531</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="532" href="#532">532</a>     }
+<a name="533" href="#533">533</a> 
+<a name="534" href="#534">534</a> 
+<a name="535" href="#535">535</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
+<a name="536" href="#536">536</a>     {
+<a name="537" href="#537">537</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
+<a name="538" href="#538">538</a>         {
+<a name="539" href="#539">539</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
+<a name="540" href="#540">540</a>         }
+<a name="541" href="#541">541</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
+<a name="542" href="#542">542</a>         {
+<a name="543" href="#543">543</a>             String delim = <span class="jxr_string">""</span>;
+<a name="544" href="#544">544</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="545" href="#545">545</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
+<a name="546" href="#546">546</a>             {
+<a name="547" href="#547">547</a>                 buf.append( delim ).append( i );
+<a name="548" href="#548">548</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="549" href="#549">549</a>             }
+<a name="550" href="#550">550</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="551" href="#551">551</a>         }
+<a name="552" href="#552">552</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
+<a name="553" href="#553">553</a>         {
+<a name="554" href="#554">554</a>             String delim = <span class="jxr_string">""</span>;
+<a name="555" href="#555">555</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="556" href="#556">556</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0, len = Array.getLength( value ); i &lt; len; i++ )
+<a name="557" href="#557">557</a>             {
+<a name="558" href="#558">558</a>                 buf.append( delim ).append( Array.get( value, i ) );
+<a name="559" href="#559">559</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="560" href="#560">560</a>             }
+<a name="561" href="#561">561</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="562" href="#562">562</a>         }
+<a name="563" href="#563">563</a>         <strong class="jxr_keyword">else</strong>
+<a name="564" href="#564">564</a>         {
+<a name="565" href="#565">565</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
+<a name="566" href="#566">566</a>         }
+<a name="567" href="#567">567</a>     }
+<a name="568" href="#568">568</a> 
+<a name="569" href="#569">569</a> 
+<a name="570" href="#570">570</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addMavenInstructions( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="571" href="#571">571</a>     {
+<a name="572" href="#572">572</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
+<a name="573" href="#573">573</a>         {
+<a name="574" href="#574">574</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
+<a name="575" href="#575">575</a>             includeMavenResources( currentProject, builder, getLog() );
+<a name="576" href="#576">576</a> 
+<a name="577" href="#577">577</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
+<a name="578" href="#578">578</a>             addLocalPackages( outputDirectory, builder );
+<a name="579" href="#579">579</a> 
+<a name="580" href="#580">580</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
+<a name="581" href="#581">581</a>             addMavenSourcePath( currentProject, builder, getLog() );
+<a name="582" href="#582">582</a>         }
+<a name="583" href="#583">583</a> 
+<a name="584" href="#584">584</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
+<a name="585" href="#585">585</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
+<a name="586" href="#586">586</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
+<a name="587" href="#587">587</a> 
+<a name="588" href="#588">588</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
+<a name="589" href="#589">589</a>         {
+<a name="590" href="#590">590</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="591" href="#591">591</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
+<a name="592" href="#592">592</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
+<a name="593" href="#593">593</a>             {
+<a name="594" href="#594">594</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
+<a name="595" href="#595">595</a>                 dumpInstructions.getParentFile().mkdirs();
+<a name="596" href="#596">596</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
+<a name="597" href="#597">597</a>             }
+<a name="598" href="#598">598</a>         }
+<a name="599" href="#599">599</a> 
+<a name="600" href="#600">600</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
+<a name="601" href="#601">601</a>         {
+<a name="602" href="#602">602</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="603" href="#603">603</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
+<a name="604" href="#604">604</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
+<a name="605" href="#605">605</a>             {
+<a name="606" href="#606">606</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
+<a name="607" href="#607">607</a>                 dumpClasspath.getParentFile().mkdirs();
+<a name="608" href="#608">608</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
+<a name="609" href="#609">609</a>             }
+<a name="610" href="#610">610</a>         }
+<a name="611" href="#611">611</a>     }
+<a name="612" href="#612">612</a> 
+<a name="613" href="#613">613</a> 
+<a name="614" href="#614">614</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="615" href="#615">615</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="616" href="#616">616</a>     {
+<a name="617" href="#617">617</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
 <a name="618" href="#618">618</a> 
-<a name="619" href="#619">619</a>         builder.build();
+<a name="619" href="#619">619</a>         addMavenInstructions( currentProject, builder );
 <a name="620" href="#620">620</a> 
-<a name="621" href="#621">621</a>         mergeMavenManifest( currentProject, builder );
+<a name="621" href="#621">621</a>         builder.build();
 <a name="622" href="#622">622</a> 
-<a name="623" href="#623">623</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="624" href="#624">624</a>     }
-<a name="625" href="#625">625</a> 
-<a name="626" href="#626">626</a> 
-<a name="627" href="#627">627</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
-<a name="628" href="#628">628</a>     {
-<a name="629" href="#629">629</a>         <strong class="jxr_keyword">try</strong>
-<a name="630" href="#630">630</a>         {
-<a name="631" href="#631">631</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="632" href="#632">632</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="633" href="#633">633</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
-<a name="634" href="#634">634</a>             {
-<a name="635" href="#635">635</a>                 <em class="jxr_comment">// we can only store String properties</em>
-<a name="636" href="#636">636</a>                 String key = ( String ) e.nextElement();
-<a name="637" href="#637">637</a>                 String value = properties.getProperty( key );
-<a name="638" href="#638">638</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
-<a name="639" href="#639">639</a>                 {
-<a name="640" href="#640">640</a>                     stringProperties.setProperty( key, value );
-<a name="641" href="#641">641</a>                 }
-<a name="642" href="#642">642</a>             }
-<a name="643" href="#643">643</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="644" href="#644">644</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
-<a name="645" href="#645">645</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
-<a name="646" href="#646">646</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="647" href="#647">647</a>         }
-<a name="648" href="#648">648</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="649" href="#649">649</a>         {
-<a name="650" href="#650">650</a>             <em class="jxr_comment">// ignore...</em>
-<a name="651" href="#651">651</a>         }
-<a name="652" href="#652">652</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="653" href="#653">653</a>     }
-<a name="654" href="#654">654</a> 
-<a name="655" href="#655">655</a> 
-<a name="656" href="#656">656</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
-<a name="657" href="#657">657</a>     {
-<a name="658" href="#658">658</a>         <strong class="jxr_keyword">try</strong>
-<a name="659" href="#659">659</a>         {
-<a name="660" href="#660">660</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="661" href="#661">661</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
-<a name="662" href="#662">662</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
-<a name="663" href="#663">663</a>             {
-<a name="664" href="#664">664</a>                 File path = ( ( Jar ) i.next() ).getSource();
-<a name="665" href="#665">665</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
-<a name="666" href="#666">666</a>                 {
-<a name="667" href="#667">667</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
-<a name="668" href="#668">668</a>                 }
-<a name="669" href="#669">669</a>             }
-<a name="670" href="#670">670</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="671" href="#671">671</a>         }
-<a name="672" href="#672">672</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="673" href="#673">673</a>         {
-<a name="674" href="#674">674</a>             <em class="jxr_comment">// ignore...</em>
-<a name="675" href="#675">675</a>         }
-<a name="676" href="#676">676</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="677" href="#677">677</a>     }
-<a name="678" href="#678">678</a> 
-<a name="679" href="#679">679</a> 
-<a name="680" href="#680">680</a>     <strong class="jxr_keyword">protected</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
-<a name="681" href="#681">681</a>     {
-<a name="682" href="#682">682</a>         <strong class="jxr_keyword">try</strong>
-<a name="683" href="#683">683</a>         {
-<a name="684" href="#684">684</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="685" href="#685">685</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="686" href="#686">686</a>             ManifestWriter.outputManifest( manifest, out, false ); <em class="jxr_comment">// manifest encoding is UTF8</em>
-<a name="687" href="#687">687</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
-<a name="688" href="#688">688</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="689" href="#689">689</a>         }
-<a name="690" href="#690">690</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="691" href="#691">691</a>         {
-<a name="692" href="#692">692</a>             <em class="jxr_comment">// ignore...</em>
-<a name="693" href="#693">693</a>         }
-<a name="694" href="#694">694</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="695" href="#695">695</a>     }
-<a name="696" href="#696">696</a> 
-<a name="697" href="#697">697</a> 
-<a name="698" href="#698">698</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> includeMavenResources( MavenProject currentProject, Analyzer analyzer, Log log )
-<a name="699" href="#699">699</a>     {
-<a name="700" href="#700">700</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
-<a name="701" href="#701">701</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject, false );
-<a name="702" href="#702">702</a>         <strong class="jxr_keyword">final</strong> String mavenTestResourcePaths = getMavenResourcePaths( currentProject, <strong class="jxr_keyword">true</strong> );
-<a name="703" href="#703">703</a>         <strong class="jxr_keyword">final</strong> String includeResource = analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="704" href="#704">704</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
-<a name="705" href="#705">705</a>         {
-<a name="706" href="#706">706</a>             <strong class="jxr_keyword">if</strong> ( includeResource.contains( MAVEN_RESOURCES ) || includeResource.contains( MAVEN_TEST_RESOURCES ) )
-<a name="707" href="#707">707</a>             {
-<a name="708" href="#708">708</a>                 String combinedResource = StringUtils.replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
-<a name="709" href="#709">709</a>                 combinedResource = StringUtils.replace( combinedResource, MAVEN_TEST_RESOURCES, mavenTestResourcePaths );
-<a name="710" href="#710">710</a>                 <strong class="jxr_keyword">if</strong> ( combinedResource.length() &gt; 0 )
-<a name="711" href="#711">711</a>                 {
-<a name="712" href="#712">712</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
-<a name="713" href="#713">713</a>                 }
-<a name="714" href="#714">714</a>                 <strong class="jxr_keyword">else</strong>
-<a name="715" href="#715">715</a>                 {
-<a name="716" href="#716">716</a>                     analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="717" href="#717">717</a>                 }
-<a name="718" href="#718">718</a>             }
-<a name="719" href="#719">719</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="720" href="#720">720</a>             {
-<a name="721" href="#721">721</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
-<a name="722" href="#722">722</a>                         + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
-<a name="723" href="#723">723</a>             }
-<a name="724" href="#724">724</a>         }
-<a name="725" href="#725">725</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="726" href="#726">726</a>         {
-<a name="727" href="#727">727</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
-<a name="728" href="#728">728</a>         }
-<a name="729" href="#729">729</a>     }
-<a name="730" href="#730">730</a> 
-<a name="731" href="#731">731</a> 
-<a name="732" href="#732">732</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> mergeMavenManifest( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="733" href="#733">733</a>     {
-<a name="734" href="#734">734</a>         Jar jar = builder.getJar();
-<a name="735" href="#735">735</a> 
-<a name="736" href="#736">736</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="737" href="#737">737</a>         {
-<a name="738" href="#738">738</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="739" href="#739">739</a>         }
-<a name="740" href="#740">740</a> 
-<a name="741" href="#741">741</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
+<a name="623" href="#623">623</a>         mergeMavenManifest( currentProject, builder );
+<a name="624" href="#624">624</a> 
+<a name="625" href="#625">625</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="626" href="#626">626</a>     }
+<a name="627" href="#627">627</a> 
+<a name="628" href="#628">628</a> 
+<a name="629" href="#629">629</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
+<a name="630" href="#630">630</a>     {
+<a name="631" href="#631">631</a>         <strong class="jxr_keyword">try</strong>
+<a name="632" href="#632">632</a>         {
+<a name="633" href="#633">633</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="634" href="#634">634</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="635" href="#635">635</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
+<a name="636" href="#636">636</a>             {
+<a name="637" href="#637">637</a>                 <em class="jxr_comment">// we can only store String properties</em>
+<a name="638" href="#638">638</a>                 String key = ( String ) e.nextElement();
+<a name="639" href="#639">639</a>                 String value = properties.getProperty( key );
+<a name="640" href="#640">640</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
+<a name="641" href="#641">641</a>                 {
+<a name="642" href="#642">642</a>                     stringProperties.setProperty( key, value );
+<a name="643" href="#643">643</a>                 }
+<a name="644" href="#644">644</a>             }
+<a name="645" href="#645">645</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="646" href="#646">646</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
+<a name="647" href="#647">647</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
+<a name="648" href="#648">648</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="649" href="#649">649</a>         }
+<a name="650" href="#650">650</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="651" href="#651">651</a>         {
+<a name="652" href="#652">652</a>             <em class="jxr_comment">// ignore...</em>
+<a name="653" href="#653">653</a>         }
+<a name="654" href="#654">654</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="655" href="#655">655</a>     }
+<a name="656" href="#656">656</a> 
+<a name="657" href="#657">657</a> 
+<a name="658" href="#658">658</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
+<a name="659" href="#659">659</a>     {
+<a name="660" href="#660">660</a>         <strong class="jxr_keyword">try</strong>
+<a name="661" href="#661">661</a>         {
+<a name="662" href="#662">662</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="663" href="#663">663</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
+<a name="664" href="#664">664</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
+<a name="665" href="#665">665</a>             {
+<a name="666" href="#666">666</a>                 File path = ( ( Jar ) i.next() ).getSource();
+<a name="667" href="#667">667</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
+<a name="668" href="#668">668</a>                 {
+<a name="669" href="#669">669</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
+<a name="670" href="#670">670</a>                 }
+<a name="671" href="#671">671</a>             }
+<a name="672" href="#672">672</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="673" href="#673">673</a>         }
+<a name="674" href="#674">674</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="675" href="#675">675</a>         {
+<a name="676" href="#676">676</a>             <em class="jxr_comment">// ignore...</em>
+<a name="677" href="#677">677</a>         }
+<a name="678" href="#678">678</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="679" href="#679">679</a>     }
+<a name="680" href="#680">680</a> 
+<a name="681" href="#681">681</a> 
+<a name="682" href="#682">682</a>     <strong class="jxr_keyword">protected</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
+<a name="683" href="#683">683</a>     {
+<a name="684" href="#684">684</a>         <strong class="jxr_keyword">try</strong>
+<a name="685" href="#685">685</a>         {
+<a name="686" href="#686">686</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="687" href="#687">687</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="688" href="#688">688</a>             ManifestWriter.outputManifest( manifest, out, false ); <em class="jxr_comment">// manifest encoding is UTF8</em>
+<a name="689" href="#689">689</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
+<a name="690" href="#690">690</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="691" href="#691">691</a>         }
+<a name="692" href="#692">692</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="693" href="#693">693</a>         {
+<a name="694" href="#694">694</a>             <em class="jxr_comment">// ignore...</em>
+<a name="695" href="#695">695</a>         }
+<a name="696" href="#696">696</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="697" href="#697">697</a>     }
+<a name="698" href="#698">698</a> 
+<a name="699" href="#699">699</a> 
+<a name="700" href="#700">700</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> includeMavenResources( MavenProject currentProject, Analyzer analyzer, Log log )
+<a name="701" href="#701">701</a>     {
+<a name="702" href="#702">702</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
+<a name="703" href="#703">703</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject, false );
+<a name="704" href="#704">704</a>         <strong class="jxr_keyword">final</strong> String mavenTestResourcePaths = getMavenResourcePaths( currentProject, <strong class="jxr_keyword">true</strong> );
+<a name="705" href="#705">705</a>         <strong class="jxr_keyword">final</strong> String includeResource = analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="706" href="#706">706</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
+<a name="707" href="#707">707</a>         {
+<a name="708" href="#708">708</a>             <strong class="jxr_keyword">if</strong> ( includeResource.contains( MAVEN_RESOURCES ) || includeResource.contains( MAVEN_TEST_RESOURCES ) )
+<a name="709" href="#709">709</a>             {
+<a name="710" href="#710">710</a>                 String combinedResource = StringUtils.replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
+<a name="711" href="#711">711</a>                 combinedResource = StringUtils.replace( combinedResource, MAVEN_TEST_RESOURCES, mavenTestResourcePaths );
+<a name="712" href="#712">712</a>                 <strong class="jxr_keyword">if</strong> ( combinedResource.length() &gt; 0 )
+<a name="713" href="#713">713</a>                 {
+<a name="714" href="#714">714</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
+<a name="715" href="#715">715</a>                 }
+<a name="716" href="#716">716</a>                 <strong class="jxr_keyword">else</strong>
+<a name="717" href="#717">717</a>                 {
+<a name="718" href="#718">718</a>                     analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="719" href="#719">719</a>                 }
+<a name="720" href="#720">720</a>             }
+<a name="721" href="#721">721</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="722" href="#722">722</a>             {
+<a name="723" href="#723">723</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
+<a name="724" href="#724">724</a>                         + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
+<a name="725" href="#725">725</a>             }
+<a name="726" href="#726">726</a>         }
+<a name="727" href="#727">727</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="728" href="#728">728</a>         {
+<a name="729" href="#729">729</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
+<a name="730" href="#730">730</a>         }
+<a name="731" href="#731">731</a>     }
+<a name="732" href="#732">732</a> 
+<a name="733" href="#733">733</a> 
+<a name="734" href="#734">734</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> mergeMavenManifest( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="735" href="#735">735</a>     {
+<a name="736" href="#736">736</a>         Jar jar = builder.getJar();
+<a name="737" href="#737">737</a> 
+<a name="738" href="#738">738</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="739" href="#739">739</a>         {
+<a name="740" href="#740">740</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="741" href="#741">741</a>         }
 <a name="742" href="#742">742</a> 
-<a name="743" href="#743">743</a>         <strong class="jxr_keyword">try</strong>
-<a name="744" href="#744">744</a>         {
-<a name="745" href="#745">745</a>             <em class="jxr_comment">/*</em>
-<a name="746" href="#746">746</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
-<a name="747" href="#747">747</a> <em class="jxr_comment">             */</em>
-<a name="748" href="#748">748</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
-<a name="749" href="#749">749</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
-<a name="750" href="#750">750</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
-<a name="751" href="#751">751</a> 
-<a name="752" href="#752">752</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="743" href="#743">743</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
+<a name="744" href="#744">744</a> 
+<a name="745" href="#745">745</a>         <strong class="jxr_keyword">try</strong>
+<a name="746" href="#746">746</a>         {
+<a name="747" href="#747">747</a>             <em class="jxr_comment">/*</em>
+<a name="748" href="#748">748</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
+<a name="749" href="#749">749</a> <em class="jxr_comment">             */</em>
+<a name="750" href="#750">750</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
+<a name="751" href="#751">751</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
+<a name="752" href="#752">752</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
 <a name="753" href="#753">753</a> 
-<a name="754" href="#754">754</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
-<a name="755" href="#755">755</a>             File externalManifestFile = archiveConfig.getManifestFile();
-<a name="756" href="#756">756</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile )
-<a name="757" href="#757">757</a>             {
-<a name="758" href="#758">758</a>                 <strong class="jxr_keyword">if</strong> ( !externalManifestFile.isAbsolute() )
-<a name="759" href="#759">759</a>                 {
-<a name="760" href="#760">760</a>                     externalManifestFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), externalManifestFile.getPath() );
-<a name="761" href="#761">761</a>                 }
-<a name="762" href="#762">762</a>                 <strong class="jxr_keyword">if</strong> ( externalManifestFile.exists() &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
-<a name="763" href="#763">763</a>                 {
-<a name="764" href="#764">764</a>                     InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
-<a name="765" href="#765">765</a>                     mavenManifest.read( mis );
-<a name="766" href="#766">766</a>                     mis.close();
-<a name="767" href="#767">767</a>                 }
-<a name="768" href="#768">768</a>             }
-<a name="769" href="#769">769</a> 
-<a name="770" href="#770">770</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
-<a name="771" href="#771">771</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
-<a name="772" href="#772">772</a> 
-<a name="773" href="#773">773</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
-<a name="774" href="#774">774</a>             {
-<a name="775" href="#775">775</a>                 <em class="jxr_comment">/*</em>
-<a name="776" href="#776">776</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
-<a name="777" href="#777">777</a> <em class="jxr_comment">                 */</em>
-<a name="778" href="#778">778</a>                 List sections = archiveConfig.getManifestSections();
-<a name="779" href="#779">779</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
-<a name="780" href="#780">780</a>                 {
-<a name="781" href="#781">781</a>                     ManifestSection section = ( ManifestSection ) i.next();
-<a name="782" href="#782">782</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
-<a name="783" href="#783">783</a> 
-<a name="784" href="#784">784</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
-<a name="785" href="#785">785</a>                     {
-<a name="786" href="#786">786</a>                         Map entries = section.getManifestEntries();
-<a name="787" href="#787">787</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
-<a name="788" href="#788">788</a>                         {
-<a name="789" href="#789">789</a>                             Map.Entry entry = ( Map.Entry ) j.next();
-<a name="790" href="#790">790</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
-<a name="791" href="#791">791</a>                         }
-<a name="792" href="#792">792</a>                     }
-<a name="793" href="#793">793</a> 
-<a name="794" href="#794">794</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
-<a name="795" href="#795">795</a>                 }
-<a name="796" href="#796">796</a>             }
-<a name="797" href="#797">797</a> 
-<a name="798" href="#798">798</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
-<a name="799" href="#799">799</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
-<a name="800" href="#800">800</a> 
-<a name="801" href="#801">801</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
+<a name="754" href="#754">754</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="755" href="#755">755</a> 
+<a name="756" href="#756">756</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
+<a name="757" href="#757">757</a>             File externalManifestFile = archiveConfig.getManifestFile();
+<a name="758" href="#758">758</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile )
+<a name="759" href="#759">759</a>             {
+<a name="760" href="#760">760</a>                 <strong class="jxr_keyword">if</strong> ( !externalManifestFile.isAbsolute() )
+<a name="761" href="#761">761</a>                 {
+<a name="762" href="#762">762</a>                     externalManifestFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), externalManifestFile.getPath() );
+<a name="763" href="#763">763</a>                 }
+<a name="764" href="#764">764</a>                 <strong class="jxr_keyword">if</strong> ( externalManifestFile.exists() &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
+<a name="765" href="#765">765</a>                 {
+<a name="766" href="#766">766</a>                     InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
+<a name="767" href="#767">767</a>                     mavenManifest.read( mis );
+<a name="768" href="#768">768</a>                     mis.close();
+<a name="769" href="#769">769</a>                 }
+<a name="770" href="#770">770</a>             }
+<a name="771" href="#771">771</a> 
+<a name="772" href="#772">772</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
+<a name="773" href="#773">773</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
+<a name="774" href="#774">774</a> 
+<a name="775" href="#775">775</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
+<a name="776" href="#776">776</a>             {
+<a name="777" href="#777">777</a>                 <em class="jxr_comment">/*</em>
+<a name="778" href="#778">778</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
+<a name="779" href="#779">779</a> <em class="jxr_comment">                 */</em>
+<a name="780" href="#780">780</a>                 List sections = archiveConfig.getManifestSections();
+<a name="781" href="#781">781</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
+<a name="782" href="#782">782</a>                 {
+<a name="783" href="#783">783</a>                     ManifestSection section = ( ManifestSection ) i.next();
+<a name="784" href="#784">784</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
+<a name="785" href="#785">785</a> 
+<a name="786" href="#786">786</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
+<a name="787" href="#787">787</a>                     {
+<a name="788" href="#788">788</a>                         Map entries = section.getManifestEntries();
+<a name="789" href="#789">789</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
+<a name="790" href="#790">790</a>                         {
+<a name="791" href="#791">791</a>                             Map.Entry entry = ( Map.Entry ) j.next();
+<a name="792" href="#792">792</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
+<a name="793" href="#793">793</a>                         }
+<a name="794" href="#794">794</a>                     }
+<a name="795" href="#795">795</a> 
+<a name="796" href="#796">796</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
+<a name="797" href="#797">797</a>                 }
+<a name="798" href="#798">798</a>             }
+<a name="799" href="#799">799</a> 
+<a name="800" href="#800">800</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
+<a name="801" href="#801">801</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
 <a name="802" href="#802">802</a> 
-<a name="803" href="#803">803</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
-<a name="804" href="#804">804</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
-<a name="805" href="#805">805</a>             {
-<a name="806" href="#806">806</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
-<a name="807" href="#807">807</a>                 {
-<a name="808" href="#808">808</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
-<a name="809" href="#809">809</a>                     {
-<a name="810" href="#810">810</a>                         j.remove();
-<a name="811" href="#811">811</a>                     }
-<a name="812" href="#812">812</a>                 }
-<a name="813" href="#813">813</a>             }
-<a name="814" href="#814">814</a> 
-<a name="815" href="#815">815</a>             <em class="jxr_comment">/*</em>
-<a name="816" href="#816">816</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
-<a name="817" href="#817">817</a> <em class="jxr_comment">             */</em>
-<a name="818" href="#818">818</a>             Manifest bundleManifest = jar.getManifest();
-<a name="819" href="#819">819</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
-<a name="820" href="#820">820</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
-<a name="821" href="#821">821</a> 
-<a name="822" href="#822">822</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
-<a name="823" href="#823">823</a>             <em class="jxr_comment">// optional resolution.</em>
-<a name="824" href="#824">824</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
-<a name="825" href="#825">825</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
-<a name="826" href="#826">826</a>             {
-<a name="827" href="#827">827</a>                 Set optionalPackages = getOptionalPackages( currentProject );
-<a name="828" href="#828">828</a> 
-<a name="829" href="#829">829</a>                 Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
-<a name="830" href="#830">830</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; entry : values.entrySet() )
-<a name="831" href="#831">831</a>                 {
-<a name="832" href="#832">832</a>                     String pkg = entry.getKey();
-<a name="833" href="#833">833</a>                     Map&lt;String, String&gt; options = entry.getValue();
-<a name="834" href="#834">834</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
-<a name="835" href="#835">835</a>                     {
-<a name="836" href="#836">836</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
-<a name="837" href="#837">837</a>                     }
-<a name="838" href="#838">838</a>                 }
-<a name="839" href="#839">839</a>                 String result = Processor.printClauses( values );
-<a name="840" href="#840">840</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
-<a name="841" href="#841">841</a>             }
-<a name="842" href="#842">842</a> 
-<a name="843" href="#843">843</a>             jar.setManifest( bundleManifest );
-<a name="844" href="#844">844</a>         }
-<a name="845" href="#845">845</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="846" href="#846">846</a>         {
-<a name="847" href="#847">847</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
-<a name="848" href="#848">848</a>         }
-<a name="849" href="#849">849</a> 
-<a name="850" href="#850">850</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
-<a name="851" href="#851">851</a>         {
-<a name="852" href="#852">852</a>             doMavenMetadata( currentProject, jar );
-<a name="853" href="#853">853</a>         }
-<a name="854" href="#854">854</a> 
-<a name="855" href="#855">855</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="856" href="#856">856</a>         {
-<a name="857" href="#857">857</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="858" href="#858">858</a>         }
-<a name="859" href="#859">859</a> 
-<a name="860" href="#860">860</a>         builder.setJar( jar );
-<a name="861" href="#861">861</a>     }
-<a name="862" href="#862">862</a> 
-<a name="863" href="#863">863</a> 
-<a name="864" href="#864">864</a>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="865" href="#865">865</a>     {
-<a name="866" href="#866">866</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="867" href="#867">867</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="868" href="#868">868</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="869" href="#869">869</a>         {
-<a name="870" href="#870">870</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="871" href="#871">871</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="872" href="#872">872</a>             {
-<a name="873" href="#873">873</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="874" href="#874">874</a>                 {
-<a name="875" href="#875">875</a>                     inscope.add( artifact );
-<a name="876" href="#876">876</a>                 }
-<a name="877" href="#877">877</a>             }
-<a name="878" href="#878">878</a>         }
-<a name="879" href="#879">879</a> 
-<a name="880" href="#880">880</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="881" href="#881">881</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="882" href="#882">882</a>         {
-<a name="883" href="#883">883</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="884" href="#884">884</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
-<a name="885" href="#885">885</a>             {
-<a name="886" href="#886">886</a>                 String id = artifact.toString();
-<a name="887" href="#887">887</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
-<a name="888" href="#888">888</a>                 {
-<a name="889" href="#889">889</a>                     <em class="jxr_comment">// strip the scope...</em>
-<a name="890" href="#890">890</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
-<a name="891" href="#891">891</a>                 }
-<a name="892" href="#892">892</a>                 optionalArtifactIds.add( id );
-<a name="893" href="#893">893</a>             }
-<a name="894" href="#894">894</a> 
-<a name="895" href="#895">895</a>         }
+<a name="803" href="#803">803</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
+<a name="804" href="#804">804</a> 
+<a name="805" href="#805">805</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
+<a name="806" href="#806">806</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
+<a name="807" href="#807">807</a>             {
+<a name="808" href="#808">808</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
+<a name="809" href="#809">809</a>                 {
+<a name="810" href="#810">810</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
+<a name="811" href="#811">811</a>                     {
+<a name="812" href="#812">812</a>                         j.remove();
+<a name="813" href="#813">813</a>                     }
+<a name="814" href="#814">814</a>                 }
+<a name="815" href="#815">815</a>             }
+<a name="816" href="#816">816</a> 
+<a name="817" href="#817">817</a>             <em class="jxr_comment">/*</em>
+<a name="818" href="#818">818</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
+<a name="819" href="#819">819</a> <em class="jxr_comment">             */</em>
+<a name="820" href="#820">820</a>             Manifest bundleManifest = jar.getManifest();
+<a name="821" href="#821">821</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
+<a name="822" href="#822">822</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
+<a name="823" href="#823">823</a> 
+<a name="824" href="#824">824</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
+<a name="825" href="#825">825</a>             <em class="jxr_comment">// optional resolution.</em>
+<a name="826" href="#826">826</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
+<a name="827" href="#827">827</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
+<a name="828" href="#828">828</a>             {
+<a name="829" href="#829">829</a>                 Set optionalPackages = getOptionalPackages( currentProject );
+<a name="830" href="#830">830</a> 
+<a name="831" href="#831">831</a>                 Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
+<a name="832" href="#832">832</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; entry : values.entrySet() )
+<a name="833" href="#833">833</a>                 {
+<a name="834" href="#834">834</a>                     String pkg = entry.getKey();
+<a name="835" href="#835">835</a>                     Map&lt;String, String&gt; options = entry.getValue();
+<a name="836" href="#836">836</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
+<a name="837" href="#837">837</a>                     {
+<a name="838" href="#838">838</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
+<a name="839" href="#839">839</a>                     }
+<a name="840" href="#840">840</a>                 }
+<a name="841" href="#841">841</a>                 String result = Processor.printClauses( values );
+<a name="842" href="#842">842</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
+<a name="843" href="#843">843</a>             }
+<a name="844" href="#844">844</a> 
+<a name="845" href="#845">845</a>             jar.setManifest( bundleManifest );
+<a name="846" href="#846">846</a>         }
+<a name="847" href="#847">847</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="848" href="#848">848</a>         {
+<a name="849" href="#849">849</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
+<a name="850" href="#850">850</a>         }
+<a name="851" href="#851">851</a> 
+<a name="852" href="#852">852</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
+<a name="853" href="#853">853</a>         {
+<a name="854" href="#854">854</a>             doMavenMetadata( currentProject, jar );
+<a name="855" href="#855">855</a>         }
+<a name="856" href="#856">856</a> 
+<a name="857" href="#857">857</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="858" href="#858">858</a>         {
+<a name="859" href="#859">859</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="860" href="#860">860</a>         }
+<a name="861" href="#861">861</a> 
+<a name="862" href="#862">862</a>         builder.setJar( jar );
+<a name="863" href="#863">863</a>     }
+<a name="864" href="#864">864</a> 
+<a name="865" href="#865">865</a> 
+<a name="866" href="#866">866</a>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
+<a name="867" href="#867">867</a>     {
+<a name="868" href="#868">868</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="869" href="#869">869</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="870" href="#870">870</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="871" href="#871">871</a>         {
+<a name="872" href="#872">872</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="873" href="#873">873</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="874" href="#874">874</a>             {
+<a name="875" href="#875">875</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="876" href="#876">876</a>                 {
+<a name="877" href="#877">877</a>                     inscope.add( artifact );
+<a name="878" href="#878">878</a>                 }
+<a name="879" href="#879">879</a>             }
+<a name="880" href="#880">880</a>         }
+<a name="881" href="#881">881</a> 
+<a name="882" href="#882">882</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="883" href="#883">883</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="884" href="#884">884</a>         {
+<a name="885" href="#885">885</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="886" href="#886">886</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
+<a name="887" href="#887">887</a>             {
+<a name="888" href="#888">888</a>                 String id = artifact.toString();
+<a name="889" href="#889">889</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
+<a name="890" href="#890">890</a>                 {
+<a name="891" href="#891">891</a>                     <em class="jxr_comment">// strip the scope...</em>
+<a name="892" href="#892">892</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
+<a name="893" href="#893">893</a>                 }
+<a name="894" href="#894">894</a>                 optionalArtifactIds.add( id );
+<a name="895" href="#895">895</a>             }
 <a name="896" href="#896">896</a> 
-<a name="897" href="#897">897</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="898" href="#898">898</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="899" href="#899">899</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="900" href="#900">900</a>         {
-<a name="901" href="#901">901</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="902" href="#902">902</a>             File file = getFile( artifact );
-<a name="903" href="#903">903</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="904" href="#904">904</a>             {
-<a name="905" href="#905">905</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="906" href="#906">906</a>             }
-<a name="907" href="#907">907</a> 
-<a name="908" href="#908">908</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="909" href="#909">909</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
-<a name="910" href="#910">910</a>             {
-<a name="911" href="#911">911</a>                 optional.addAll( jar.getPackages() );
-<a name="912" href="#912">912</a>             }
-<a name="913" href="#913">913</a>             <strong class="jxr_keyword">else</strong>
-<a name="914" href="#914">914</a>             {
-<a name="915" href="#915">915</a>                 required.addAll( jar.getPackages() );
-<a name="916" href="#916">916</a>             }
-<a name="917" href="#917">917</a>             jar.close();
-<a name="918" href="#918">918</a>         }
-<a name="919" href="#919">919</a> 
-<a name="920" href="#920">920</a>         optional.removeAll( required );
-<a name="921" href="#921">921</a>         <strong class="jxr_keyword">return</strong> optional;
-<a name="922" href="#922">922</a>     }
-<a name="923" href="#923">923</a> 
-<a name="924" href="#924">924</a> 
-<a name="925" href="#925">925</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="926" href="#926">926</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
-<a name="927" href="#927">927</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
-<a name="928" href="#928">928</a> <em class="jxr_javadoccomment">     *</em>
-<a name="929" href="#929">929</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="930" href="#930">930</a> <em class="jxr_javadoccomment">     */</em>
-<a name="931" href="#931">931</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
-<a name="932" href="#932">932</a>     {
-<a name="933" href="#933">933</a>         List trail = artifact.getDependencyTrail();
-<a name="934" href="#934">934</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
-<a name="935" href="#935">935</a>         {
-<a name="936" href="#936">936</a>             String next = ( String ) iterator.next();
-<a name="937" href="#937">937</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
-<a name="938" href="#938">938</a>             {
-<a name="939" href="#939">939</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="940" href="#940">940</a>             }
-<a name="941" href="#941">941</a>         }
-<a name="942" href="#942">942</a>         <strong class="jxr_keyword">return</strong> false;
-<a name="943" href="#943">943</a>     }
-<a name="944" href="#944">944</a> 
-<a name="945" href="#945">945</a> 
-<a name="946" href="#946">946</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
-<a name="947" href="#947">947</a>     {
-<a name="948" href="#948">948</a>         File outputDir = getOutputDirectory();
-<a name="949" href="#949">949</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
-<a name="950" href="#950">950</a>         {
-<a name="951" href="#951">951</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
-<a name="952" href="#952">952</a>         }
-<a name="953" href="#953">953</a> 
-<a name="954" href="#954">954</a>         <strong class="jxr_keyword">try</strong>
-<a name="955" href="#955">955</a>         {
-<a name="956" href="#956">956</a>             <em class="jxr_comment">/*</em>
-<a name="957" href="#957">957</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
-<a name="958" href="#958">958</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
-<a name="959" href="#959">959</a> <em class="jxr_comment">             */</em>
-<a name="960" href="#960">960</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
-<a name="961" href="#961">961</a>             {
-<a name="962" href="#962">962</a>                 outputDir.mkdirs();
-<a name="963" href="#963">963</a>             }
-<a name="964" href="#964">964</a> 
-<a name="965" href="#965">965</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
-<a name="966" href="#966">966</a>             unArchiver.setDestDirectory( outputDir );
-<a name="967" href="#967">967</a>             unArchiver.setSourceFile( jarFile );
-<a name="968" href="#968">968</a>             unArchiver.extract();
-<a name="969" href="#969">969</a>         }
-<a name="970" href="#970">970</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="971" href="#971">971</a>         {
-<a name="972" href="#972">972</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
-<a name="973" href="#973">973</a>         }
-<a name="974" href="#974">974</a>     }
-<a name="975" href="#975">975</a> 
-<a name="976" href="#976">976</a> 
-<a name="977" href="#977">977</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
-<a name="978" href="#978">978</a>     {
-<a name="979" href="#979">979</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="980" href="#980">980</a> 
-<a name="981" href="#981">981</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
-<a name="982" href="#982">982</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
-<a name="983" href="#983">983</a>         {
-<a name="984" href="#984">984</a>             String clause = clauses[i].trim();
-<a name="985" href="#985">985</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
-<a name="986" href="#986">986</a>             {
-<a name="987" href="#987">987</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
-<a name="988" href="#988">988</a>                 {
-<a name="989" href="#989">989</a>                     buf.append( ',' );
-<a name="990" href="#990">990</a>                 }
-<a name="991" href="#991">991</a>                 buf.append( clause );
-<a name="992" href="#992">992</a>             }
-<a name="993" href="#993">993</a>         }
-<a name="994" href="#994">994</a> 
-<a name="995" href="#995">995</a>         <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="996" href="#996">996</a>     }
-<a name="997" href="#997">997</a> 
-<a name="998" href="#998">998</a> 
-<a name="999" href="#999">999</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
-<a name="1000" href="#1000">1000</a>     {
-<a name="1001" href="#1001">1001</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="1002" href="#1002">1002</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
-<a name="1003" href="#1003">1003</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
-<a name="1004" href="#1004">1004</a>         {
-<a name="1005" href="#1005">1005</a>             String name = methods[i].getName();
-<a name="1006" href="#1006">1006</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
-<a name="1007" href="#1007">1007</a>             {
-<a name="1008" href="#1008">1008</a>                 <strong class="jxr_keyword">try</strong>
-<a name="1009" href="#1009">1009</a>                 {
-<a name="1010" href="#1010">1010</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
-<a name="1011" href="#1011">1011</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
-<a name="1012" href="#1012">1012</a>                     {
-<a name="1013" href="#1013">1013</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
-<a name="1014" href="#1014">1014</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
-<a name="1015" href="#1015">1015</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
-<a name="1016" href="#1016">1016</a>                         <strong class="jxr_keyword">else</strong>
-<a name="1017" href="#1017">1017</a>                             properties.put( name, v );
-<a name="1018" href="#1018">1018</a> 
-<a name="1019" href="#1019">1019</a>                     }
-<a name="1020" href="#1020">1020</a>                 }
-<a name="1021" href="#1021">1021</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1022" href="#1022">1022</a>                 {
-<a name="1023" href="#1023">1023</a>                     <em class="jxr_comment">// too bad</em>
-<a name="1024" href="#1024">1024</a>                 }
-<a name="1025" href="#1025">1025</a>             }
-<a name="1026" href="#1026">1026</a>         }
-<a name="1027" href="#1027">1027</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="1028" href="#1028">1028</a>     }
-<a name="1029" href="#1029">1029</a> 
-<a name="1030" href="#1030">1030</a> 
-<a name="1031" href="#1031">1031</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
-<a name="1032" href="#1032">1032</a>     {
-<a name="1033" href="#1033">1033</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
-<a name="1034" href="#1034">1034</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="1035" href="#1035">1035</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1036" href="#1036">1036</a>         String del = <span class="jxr_string">""</span>;
-<a name="1037" href="#1037">1037</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
-<a name="1038" href="#1038">1038</a>         {
-<a name="1039" href="#1039">1039</a>             License l = ( License ) i.next();
-<a name="1040" href="#1040">1040</a>             String url = l.getUrl();
-<a name="1041" href="#1041">1041</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
-<a name="1042" href="#1042">1042</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="1043" href="#1043">1043</a>             sb.append( del );
-<a name="1044" href="#1044">1044</a>             sb.append( url );
-<a name="1045" href="#1045">1045</a>             del = <span class="jxr_string">", "</span>;
-<a name="1046" href="#1046">1046</a>         }
-<a name="1047" href="#1047">1047</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
-<a name="1048" href="#1048">1048</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="1049" href="#1049">1049</a>         <strong class="jxr_keyword">return</strong> sb;
-<a name="1050" href="#1050">1050</a>     }
-<a name="1051" href="#1051">1051</a> 
-<a name="1052" href="#1052">1052</a> 
-<a name="1053" href="#1053">1053</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment">     * @param jar</em>
-<a name="1055" href="#1055">1055</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
-<a name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1057" href="#1057">1057</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doMavenMetadata( MavenProject currentProject, Jar jar ) <strong class="jxr_keyword">throws</strong> IOException
-<a name="1058" href="#1058">1058</a>     {
-<a name="1059" href="#1059">1059</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
-<a name="1060" href="#1060">1060</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
-<a name="1061" href="#1061">1061</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
-<a name="1062" href="#1062">1062</a> 
-<a name="1063" href="#1063">1063</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
-<a name="1064" href="#1064">1064</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
-<a name="1065" href="#1065">1065</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
-<a name="1066" href="#1066">1066</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
-<a name="1067" href="#1067">1067</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="1068" href="#1068">1068</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
-<a name="1069" href="#1069">1069</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
-<a name="1070" href="#1070">1070</a>     }
-<a name="1071" href="#1071">1071</a> 
-<a name="1072" href="#1072">1072</a> 
-<a name="1073" href="#1073">1073</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="1074" href="#1074">1074</a>     {
-<a name="1075" href="#1075">1075</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="1076" href="#1076">1076</a> 
-<a name="1077" href="#1077">1077</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
-<a name="1078" href="#1078">1078</a>         {
-<a name="1079" href="#1079">1079</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
-<a name="1080" href="#1080">1080</a>         }
-<a name="1081" href="#1081">1081</a> 
-<a name="1082" href="#1082">1082</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="1083" href="#1083">1083</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="1084" href="#1084">1084</a>         {
-<a name="1085" href="#1085">1085</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="1086" href="#1086">1086</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="1087" href="#1087">1087</a>             {
-<a name="1088" href="#1088">1088</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="1089" href="#1089">1089</a>                 {
-<a name="1090" href="#1090">1090</a>                     File file = getFile( artifact );
-<a name="1091" href="#1091">1091</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="1092" href="#1092">1092</a>                     {
-<a name="1093" href="#1093">1093</a>                         getLog().warn(
-<a name="1094" href="#1094">1094</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
-<a name="1095" href="#1095">1095</a>                                 + currentProject.getArtifact() );
-<a name="1096" href="#1096">1096</a>                         <strong class="jxr_keyword">continue</strong>;
-<a name="1097" href="#1097">1097</a>                     }
-<a name="1098" href="#1098">1098</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="1099" href="#1099">1099</a>                     list.add( jar );
-<a name="1100" href="#1100">1100</a>                 }
-<a name="1101" href="#1101">1101</a>             }
-<a name="1102" href="#1102">1102</a>         }
-<a name="1103" href="#1103">1103</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
-<a name="1104" href="#1104">1104</a>         list.toArray( cp );
-<a name="1105" href="#1105">1105</a>         <strong class="jxr_keyword">return</strong> cp;
-<a name="1106" href="#1106">1106</a>     }
-<a name="1107" href="#1107">1107</a> 
-<a name="1108" href="#1108">1108</a> 
-<a name="1109" href="#1109">1109</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1110" href="#1110">1110</a>     {
-<a name="1111" href="#1111">1111</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
-<a name="1112" href="#1112">1112</a>         {
-<a name="1113" href="#1113">1113</a>             <strong class="jxr_keyword">return</strong> artifacts;
-<a name="1114" href="#1114">1114</a>         }
-<a name="1115" href="#1115">1115</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
-<a name="1116" href="#1116">1116</a>         {
-<a name="1117" href="#1117">1117</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
-<a name="1118" href="#1118">1118</a>         }
-<a name="1119" href="#1119">1119</a> 
-<a name="1120" href="#1120">1120</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
-<a name="1121" href="#1121">1121</a>         <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> excluder = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( artifacts );
-<a name="1122" href="#1122">1122</a>         excluder.processHeaders( excludeDependencies );
-<a name="1123" href="#1123">1123</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
-<a name="1124" href="#1124">1124</a> 
-<a name="1125" href="#1125">1125</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
-<a name="1126" href="#1126">1126</a>     }
-<a name="1127" href="#1127">1127</a> 
-<a name="1128" href="#1128">1128</a> 
-<a name="1129" href="#1129">1129</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
-<a name="1131" href="#1131">1131</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1134" href="#1134">1134</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
-<a name="1135" href="#1135">1135</a>     {
-<a name="1136" href="#1136">1136</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
-<a name="1137" href="#1137">1137</a>     }
-<a name="1138" href="#1138">1138</a> 
-<a name="1139" href="#1139">1139</a> 
-<a name="1140" href="#1140">1140</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> header( Properties properties, String key, Object value )
-<a name="1141" href="#1141">1141</a>     {
-<a name="1142" href="#1142">1142</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
-<a name="1143" href="#1143">1143</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1144" href="#1144">1144</a> 
-<a name="1145" href="#1145">1145</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
-<a name="1146" href="#1146">1146</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1147" href="#1147">1147</a> 
-<a name="1148" href="#1148">1148</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
-<a name="1149" href="#1149">1149</a>     }
-<a name="1150" href="#1150">1150</a> 
-<a name="1151" href="#1151">1151</a> 
-<a name="1152" href="#1152">1152</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1153" href="#1153">1153</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
-<a name="1154" href="#1154">1154</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1155" href="#1155">1155</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
-<a name="1156" href="#1156">1156</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
-<a name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1158" href="#1158">1158</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
-<a name="1159" href="#1159">1159</a>     {
-<a name="1160" href="#1160">1160</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
-<a name="1161" href="#1161">1161</a>     }
-<a name="1162" href="#1162">1162</a> 
-<a name="1163" href="#1163">1163</a> 
-<a name="1164" href="#1164">1164</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1165" href="#1165">1165</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
-<a name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1167" href="#1167">1167</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
-<a name="1168" href="#1168">1168</a>     {
-<a name="1169" href="#1169">1169</a>         String extension;
-<a name="1170" href="#1170">1170</a>         <strong class="jxr_keyword">try</strong>
-<a name="1171" href="#1171">1171</a>         {
-<a name="1172" href="#1172">1172</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
-<a name="1173" href="#1173">1173</a>         }
-<a name="1174" href="#1174">1174</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="1175" href="#1175">1175</a>         {
-<a name="1176" href="#1176">1176</a>             extension = currentProject.getArtifact().getType();
-<a name="1177" href="#1177">1177</a>         }
-<a name="1178" href="#1178">1178</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( extension ) || <span class="jxr_string">"bundle"</span>.equals( extension ) || <span class="jxr_string">"pom"</span>.equals( extension ) )
-<a name="1179" href="#1179">1179</a>         {
-<a name="1180" href="#1180">1180</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
-<a name="1181" href="#1181">1181</a>         }
-<a name="1182" href="#1182">1182</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
-<a name="1183" href="#1183">1183</a>         {
-<a name="1184" href="#1184">1184</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
-<a name="1185" href="#1185">1185</a>         }
-<a name="1186" href="#1186">1186</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
-<a name="1187" href="#1187">1187</a>     }
-<a name="1188" href="#1188">1188</a> 
-<a name="1189" href="#1189">1189</a> 
-<a name="1190" href="#1190">1190</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
-<a name="1191" href="#1191">1191</a>     {
-<a name="1192" href="#1192">1192</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
-<a name="1193" href="#1193">1193</a>     }
-<a name="1194" href="#1194">1194</a> 
-<a name="1195" href="#1195">1195</a> 
-<a name="1196" href="#1196">1196</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
-<a name="1197" href="#1197">1197</a>     {
-<a name="1198" href="#1198">1198</a>         buildDirectory = _buildirectory;
-<a name="1199" href="#1199">1199</a>     }
-<a name="1200" href="#1200">1200</a> 
-<a name="1201" href="#1201">1201</a> 
-<a name="1202" href="#1202">1202</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
-<a name="1203" href="#1203">1203</a>     {
-<a name="1204" href="#1204">1204</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="1205" href="#1205">1205</a> 
-<a name="1206" href="#1206">1206</a>         String bsn;
-<a name="1207" href="#1207">1207</a>         <strong class="jxr_keyword">try</strong>
-<a name="1208" href="#1208">1208</a>         {
-<a name="1209" href="#1209">1209</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
-<a name="1210" href="#1210">1210</a>         }
-<a name="1211" href="#1211">1211</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1212" href="#1212">1212</a>         {
-<a name="1213" href="#1213">1213</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
-<a name="1214" href="#1214">1214</a>         }
-<a name="1215" href="#1215">1215</a> 
-<a name="1216" href="#1216">1216</a>         <em class="jxr_comment">// Setup defaults</em>
-<a name="1217" href="#1217">1217</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
-<a name="1218" href="#1218">1218</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
-<a name="1219" href="#1219">1219</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="1220" href="#1220">1220</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
-<a name="1221" href="#1221">1221</a> 
-<a name="1222" href="#1222">1222</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
-<a name="1223" href="#1223">1223</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
-<a name="1224" href="#1224">1224</a> 
-<a name="1225" href="#1225">1225</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
-<a name="1226" href="#1226">1226</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
-<a name="1227" href="#1227">1227</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
-<a name="1228" href="#1228">1228</a>         {
-<a name="1229" href="#1229">1229</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
-<a name="1230" href="#1230">1230</a>         }
-<a name="1231" href="#1231">1231</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
-<a name="1232" href="#1232">1232</a> 
-<a name="1233" href="#1233">1233</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
-<a name="1234" href="#1234">1234</a>         {
-<a name="1235" href="#1235">1235</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
-<a name="1236" href="#1236">1236</a>             {
-<a name="1237" href="#1237">1237</a>                 String organizationName = currentProject.getOrganization().getName();
-<a name="1238" href="#1238">1238</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
-<a name="1239" href="#1239">1239</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
-<a name="1240" href="#1240">1240</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
-<a name="1241" href="#1241">1241</a>             }
-<a name="1242" href="#1242">1242</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
-<a name="1243" href="#1243">1243</a>             {
-<a name="1244" href="#1244">1244</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
-<a name="1245" href="#1245">1245</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
-<a name="1246" href="#1246">1246</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
-<a name="1247" href="#1247">1247</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
-<a name="1248" href="#1248">1248</a>             }
-<a name="1249" href="#1249">1249</a>         }
-<a name="1250" href="#1250">1250</a> 
-<a name="1251" href="#1251">1251</a>         properties.putAll( currentProject.getProperties() );
-<a name="1252" href="#1252">1252</a>         properties.putAll( currentProject.getModel().getProperties() );
-<a name="1253" href="#1253">1253</a> 
-<a name="1254" href="#1254">1254</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getFilters().iterator(); i.hasNext(); )
-<a name="1255" href="#1255">1255</a>         {
-<a name="1256" href="#1256">1256</a>             File filterFile = <strong class="jxr_keyword">new</strong> File( ( String ) i.next() );
-<a name="1257" href="#1257">1257</a>             <strong class="jxr_keyword">if</strong> ( filterFile.isFile() )
-<a name="1258" href="#1258">1258</a>             {
-<a name="1259" href="#1259">1259</a>                 properties.putAll( PropertyUtils.loadProperties( filterFile ) );
-<a name="1260" href="#1260">1260</a>             }
-<a name="1261" href="#1261">1261</a>         }
-<a name="1262" href="#1262">1262</a> 
-<a name="1263" href="#1263">1263</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
-<a name="1264" href="#1264">1264</a>         {
-<a name="1265" href="#1265">1265</a>             <strong class="jxr_keyword">try</strong>
-<a name="1266" href="#1266">1266</a>             {
-<a name="1267" href="#1267">1267</a>                 <em class="jxr_comment">// don't pass upper-case session settings to bnd as they end up in the manifest</em>
-<a name="1268" href="#1268">1268</a>                 Properties sessionProperties = m_mavenSession.getExecutionProperties();
-<a name="1269" href="#1269">1269</a>                 <strong class="jxr_keyword">for</strong> ( Enumeration e = sessionProperties.propertyNames(); e.hasMoreElements(); )
-<a name="1270" href="#1270">1270</a>                 {
-<a name="1271" href="#1271">1271</a>                     String key = ( String ) e.nextElement();
-<a name="1272" href="#1272">1272</a>                     <strong class="jxr_keyword">if</strong> ( key.length() &gt; 0 &amp;&amp; !Character.isUpperCase( key.charAt( 0 ) ) )
-<a name="1273" href="#1273">1273</a>                     {
-<a name="1274" href="#1274">1274</a>                         properties.put( key, sessionProperties.getProperty( key ) );
-<a name="1275" href="#1275">1275</a>                     }
-<a name="1276" href="#1276">1276</a>                 }
-<a name="1277" href="#1277">1277</a>             }
-<a name="1278" href="#1278">1278</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1279" href="#1279">1279</a>             {
-<a name="1280" href="#1280">1280</a>                 getLog().warn( <span class="jxr_string">"Problem with Maven session properties: "</span> + e.getLocalizedMessage() );
-<a name="1281" href="#1281">1281</a>             }
-<a name="1282" href="#1282">1282</a>         }
-<a name="1283" href="#1283">1283</a> 
-<a name="1284" href="#1284">1284</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
-<a name="1285" href="#1285">1285</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
-<a name="1286" href="#1286">1286</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
-<a name="1287" href="#1287">1287</a> 
-<a name="1288" href="#1288">1288</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
-<a name="1289" href="#1289">1289</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
-<a name="1290" href="#1290">1290</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
-<a name="1291" href="#1291">1291</a> 
-<a name="1292" href="#1292">1292</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
+<a name="897" href="#897">897</a>         }
+<a name="898" href="#898">898</a> 
+<a name="899" href="#899">899</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="900" href="#900">900</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="901" href="#901">901</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="902" href="#902">902</a>         {
+<a name="903" href="#903">903</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="904" href="#904">904</a>             File file = getFile( artifact );
+<a name="905" href="#905">905</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="906" href="#906">906</a>             {
+<a name="907" href="#907">907</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="908" href="#908">908</a>             }
+<a name="909" href="#909">909</a> 
+<a name="910" href="#910">910</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="911" href="#911">911</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
+<a name="912" href="#912">912</a>             {
+<a name="913" href="#913">913</a>                 optional.addAll( jar.getPackages() );
+<a name="914" href="#914">914</a>             }
+<a name="915" href="#915">915</a>             <strong class="jxr_keyword">else</strong>
+<a name="916" href="#916">916</a>             {
+<a name="917" href="#917">917</a>                 required.addAll( jar.getPackages() );
+<a name="918" href="#918">918</a>             }
+<a name="919" href="#919">919</a>             jar.close();
+<a name="920" href="#920">920</a>         }
+<a name="921" href="#921">921</a> 
+<a name="922" href="#922">922</a>         optional.removeAll( required );
+<a name="923" href="#923">923</a>         <strong class="jxr_keyword">return</strong> optional;
+<a name="924" href="#924">924</a>     }
+<a name="925" href="#925">925</a> 
+<a name="926" href="#926">926</a> 
+<a name="927" href="#927">927</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="928" href="#928">928</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
+<a name="929" href="#929">929</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
+<a name="930" href="#930">930</a> <em class="jxr_javadoccomment">     *</em>
+<a name="931" href="#931">931</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="932" href="#932">932</a> <em class="jxr_javadoccomment">     */</em>
+<a name="933" href="#933">933</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
+<a name="934" href="#934">934</a>     {
+<a name="935" href="#935">935</a>         List trail = artifact.getDependencyTrail();
+<a name="936" href="#936">936</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
+<a name="937" href="#937">937</a>         {
+<a name="938" href="#938">938</a>             String next = ( String ) iterator.next();
+<a name="939" href="#939">939</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
+<a name="940" href="#940">940</a>             {
+<a name="941" href="#941">941</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a name="942" href="#942">942</a>             }
+<a name="943" href="#943">943</a>         }
+<a name="944" href="#944">944</a>         <strong class="jxr_keyword">return</strong> false;
+<a name="945" href="#945">945</a>     }
+<a name="946" href="#946">946</a> 
+<a name="947" href="#947">947</a> 
+<a name="948" href="#948">948</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
+<a name="949" href="#949">949</a>     {
+<a name="950" href="#950">950</a>         File outputDir = getOutputDirectory();
+<a name="951" href="#951">951</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
+<a name="952" href="#952">952</a>         {
+<a name="953" href="#953">953</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
+<a name="954" href="#954">954</a>         }
+<a name="955" href="#955">955</a> 
+<a name="956" href="#956">956</a>         <strong class="jxr_keyword">try</strong>
+<a name="957" href="#957">957</a>         {
+<a name="958" href="#958">958</a>             <em class="jxr_comment">/*</em>
+<a name="959" href="#959">959</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
+<a name="960" href="#960">960</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
+<a name="961" href="#961">961</a> <em class="jxr_comment">             */</em>
+<a name="962" href="#962">962</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
+<a name="963" href="#963">963</a>             {
+<a name="964" href="#964">964</a>                 outputDir.mkdirs();
+<a name="965" href="#965">965</a>             }
+<a name="966" href="#966">966</a> 
+<a name="967" href="#967">967</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
+<a name="968" href="#968">968</a>             unArchiver.setDestDirectory( outputDir );
+<a name="969" href="#969">969</a>             unArchiver.setSourceFile( jarFile );
+<a name="970" href="#970">970</a>             unArchiver.extract();
+<a name="971" href="#971">971</a>         }
+<a name="972" href="#972">972</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="973" href="#973">973</a>         {
+<a name="974" href="#974">974</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
+<a name="975" href="#975">975</a>         }
+<a name="976" href="#976">976</a>     }
+<a name="977" href="#977">977</a> 
+<a name="978" href="#978">978</a> 
+<a name="979" href="#979">979</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
+<a name="980" href="#980">980</a>     {
+<a name="981" href="#981">981</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="982" href="#982">982</a> 
+<a name="983" href="#983">983</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
+<a name="984" href="#984">984</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
+<a name="985" href="#985">985</a>         {
+<a name="986" href="#986">986</a>             String clause = clauses[i].trim();
+<a name="987" href="#987">987</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
+<a name="988" href="#988">988</a>             {
+<a name="989" href="#989">989</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
+<a name="990" href="#990">990</a>                 {
+<a name="991" href="#991">991</a>                     buf.append( ',' );
+<a name="992" href="#992">992</a>                 }
+<a name="993" href="#993">993</a>                 buf.append( clause );
+<a name="994" href="#994">994</a>             }
+<a name="995" href="#995">995</a>         }
+<a name="996" href="#996">996</a> 
+<a name="997" href="#997">997</a>         <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="998" href="#998">998</a>     }
+<a name="999" href="#999">999</a> 
+<a name="1000" href="#1000">1000</a> 
+<a name="1001" href="#1001">1001</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
+<a name="1002" href="#1002">1002</a>     {
+<a name="1003" href="#1003">1003</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="1004" href="#1004">1004</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
+<a name="1005" href="#1005">1005</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
+<a name="1006" href="#1006">1006</a>         {
+<a name="1007" href="#1007">1007</a>             String name = methods[i].getName();
+<a name="1008" href="#1008">1008</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
+<a name="1009" href="#1009">1009</a>             {
+<a name="1010" href="#1010">1010</a>                 <strong class="jxr_keyword">try</strong>
+<a name="1011" href="#1011">1011</a>                 {
+<a name="1012" href="#1012">1012</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
+<a name="1013" href="#1013">1013</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
+<a name="1014" href="#1014">1014</a>                     {
+<a name="1015" href="#1015">1015</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
+<a name="1016" href="#1016">1016</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
+<a name="1017" href="#1017">1017</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
+<a name="1018" href="#1018">1018</a>                         <strong class="jxr_keyword">else</strong>
+<a name="1019" href="#1019">1019</a>                             properties.put( name, v );
+<a name="1020" href="#1020">1020</a> 
+<a name="1021" href="#1021">1021</a>                     }
+<a name="1022" href="#1022">1022</a>                 }
+<a name="1023" href="#1023">1023</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1024" href="#1024">1024</a>                 {
+<a name="1025" href="#1025">1025</a>                     <em class="jxr_comment">// too bad</em>
+<a name="1026" href="#1026">1026</a>                 }
+<a name="1027" href="#1027">1027</a>             }
+<a name="1028" href="#1028">1028</a>         }
+<a name="1029" href="#1029">1029</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="1030" href="#1030">1030</a>     }
+<a name="1031" href="#1031">1031</a> 
+<a name="1032" href="#1032">1032</a> 
+<a name="1033" href="#1033">1033</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
+<a name="1034" href="#1034">1034</a>     {
+<a name="1035" href="#1035">1035</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
+<a name="1036" href="#1036">1036</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="1037" href="#1037">1037</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1038" href="#1038">1038</a>         String del = <span class="jxr_string">""</span>;
+<a name="1039" href="#1039">1039</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
+<a name="1040" href="#1040">1040</a>         {
+<a name="1041" href="#1041">1041</a>             License l = ( License ) i.next();
+<a name="1042" href="#1042">1042</a>             String url = l.getUrl();
+<a name="1043" href="#1043">1043</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
+<a name="1044" href="#1044">1044</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="1045" href="#1045">1045</a>             sb.append( del );
+<a name="1046" href="#1046">1046</a>             sb.append( url );
+<a name="1047" href="#1047">1047</a>             del = <span class="jxr_string">", "</span>;
+<a name="1048" href="#1048">1048</a>         }
+<a name="1049" href="#1049">1049</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
+<a name="1050" href="#1050">1050</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="1051" href="#1051">1051</a>         <strong class="jxr_keyword">return</strong> sb;
+<a name="1052" href="#1052">1052</a>     }
+<a name="1053" href="#1053">1053</a> 
+<a name="1054" href="#1054">1054</a> 
+<a name="1055" href="#1055">1055</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment">     * @param jar</em>
+<a name="1057" href="#1057">1057</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
+<a name="1058" href="#1058">1058</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1059" href="#1059">1059</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doMavenMetadata( MavenProject currentProject, Jar jar ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="1060" href="#1060">1060</a>     {
+<a name="1061" href="#1061">1061</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
+<a name="1062" href="#1062">1062</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
+<a name="1063" href="#1063">1063</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
+<a name="1064" href="#1064">1064</a> 
+<a name="1065" href="#1065">1065</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1066" href="#1066">1066</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
+<a name="1067" href="#1067">1067</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
+<a name="1068" href="#1068">1068</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
+<a name="1069" href="#1069">1069</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="1070" href="#1070">1070</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
+<a name="1071" href="#1071">1071</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
+<a name="1072" href="#1072">1072</a>     }
+<a name="1073" href="#1073">1073</a> 
+<a name="1074" href="#1074">1074</a> 
+<a name="1075" href="#1075">1075</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
+<a name="1076" href="#1076">1076</a>     {
+<a name="1077" href="#1077">1077</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="1078" href="#1078">1078</a> 
+<a name="1079" href="#1079">1079</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
+<a name="1080" href="#1080">1080</a>         {
+<a name="1081" href="#1081">1081</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
+<a name="1082" href="#1082">1082</a>         }
+<a name="1083" href="#1083">1083</a> 
+<a name="1084" href="#1084">1084</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="1085" href="#1085">1085</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="1086" href="#1086">1086</a>         {
+<a name="1087" href="#1087">1087</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="1088" href="#1088">1088</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="1089" href="#1089">1089</a>             {
+<a name="1090" href="#1090">1090</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="1091" href="#1091">1091</a>                 {
+<a name="1092" href="#1092">1092</a>                     File file = getFile( artifact );
+<a name="1093" href="#1093">1093</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="1094" href="#1094">1094</a>                     {
+<a name="1095" href="#1095">1095</a>                         getLog().warn(
+<a name="1096" href="#1096">1096</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
+<a name="1097" href="#1097">1097</a>                                 + currentProject.getArtifact() );
+<a name="1098" href="#1098">1098</a>                         <strong class="jxr_keyword">continue</strong>;
+<a name="1099" href="#1099">1099</a>                     }
+<a name="1100" href="#1100">1100</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="1101" href="#1101">1101</a>                     list.add( jar );
+<a name="1102" href="#1102">1102</a>                 }
+<a name="1103" href="#1103">1103</a>             }
+<a name="1104" href="#1104">1104</a>         }
+<a name="1105" href="#1105">1105</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
+<a name="1106" href="#1106">1106</a>         list.toArray( cp );
+<a name="1107" href="#1107">1107</a>         <strong class="jxr_keyword">return</strong> cp;
+<a name="1108" href="#1108">1108</a>     }
+<a name="1109" href="#1109">1109</a> 
+<a name="1110" href="#1110">1110</a> 
+<a name="1111" href="#1111">1111</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1112" href="#1112">1112</a>     {
+<a name="1113" href="#1113">1113</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
+<a name="1114" href="#1114">1114</a>         {
+<a name="1115" href="#1115">1115</a>             <strong class="jxr_keyword">return</strong> artifacts;
+<a name="1116" href="#1116">1116</a>         }
+<a name="1117" href="#1117">1117</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
+<a name="1118" href="#1118">1118</a>         {
+<a name="1119" href="#1119">1119</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
+<a name="1120" href="#1120">1120</a>         }
+<a name="1121" href="#1121">1121</a> 
+<a name="1122" href="#1122">1122</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
+<a name="1123" href="#1123">1123</a>         <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> excluder = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( artifacts );
+<a name="1124" href="#1124">1124</a>         excluder.processHeaders( excludeDependencies );
+<a name="1125" href="#1125">1125</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
+<a name="1126" href="#1126">1126</a> 
+<a name="1127" href="#1127">1127</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
+<a name="1128" href="#1128">1128</a>     }
+<a name="1129" href="#1129">1129</a> 
+<a name="1130" href="#1130">1130</a> 
+<a name="1131" href="#1131">1131</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
+<a name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1134" href="#1134">1134</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="1135" href="#1135">1135</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1136" href="#1136">1136</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
+<a name="1137" href="#1137">1137</a>     {
+<a name="1138" href="#1138">1138</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
+<a name="1139" href="#1139">1139</a>     }
+<a name="1140" href="#1140">1140</a> 
+<a name="1141" href="#1141">1141</a> 
+<a name="1142" href="#1142">1142</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> header( Properties properties, String key, Object value )
+<a name="1143" href="#1143">1143</a>     {
+<a name="1144" href="#1144">1144</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
+<a name="1145" href="#1145">1145</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1146" href="#1146">1146</a> 
+<a name="1147" href="#1147">1147</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
+<a name="1148" href="#1148">1148</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1149" href="#1149">1149</a> 
+<a name="1150" href="#1150">1150</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
+<a name="1151" href="#1151">1151</a>     }
+<a name="1152" href="#1152">1152</a> 
+<a name="1153" href="#1153">1153</a> 
+<a name="1154" href="#1154">1154</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1155" href="#1155">1155</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
+<a name="1156" href="#1156">1156</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
+<a name="1158" href="#1158">1158</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
+<a name="1159" href="#1159">1159</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1160" href="#1160">1160</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
+<a name="1161" href="#1161">1161</a>     {
+<a name="1162" href="#1162">1162</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
+<a name="1163" href="#1163">1163</a>     }
+<a name="1164" href="#1164">1164</a> 
+<a name="1165" href="#1165">1165</a> 
+<a name="1166" href="#1166">1166</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1167" href="#1167">1167</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
+<a name="1168" href="#1168">1168</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1169" href="#1169">1169</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
+<a name="1170" href="#1170">1170</a>     {
+<a name="1171" href="#1171">1171</a>         String extension;
+<a name="1172" href="#1172">1172</a>         <strong class="jxr_keyword">try</strong>
+<a name="1173" href="#1173">1173</a>         {
+<a name="1174" href="#1174">1174</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
+<a name="1175" href="#1175">1175</a>         }
+<a name="1176" href="#1176">1176</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="1177" href="#1177">1177</a>         {
+<a name="1178" href="#1178">1178</a>             extension = currentProject.getArtifact().getType();
+<a name="1179" href="#1179">1179</a>         }
+<a name="1180" href="#1180">1180</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( extension ) || <span class="jxr_string">"bundle"</span>.equals( extension ) || <span class="jxr_string">"pom"</span>.equals( extension ) )
+<a name="1181" href="#1181">1181</a>         {
+<a name="1182" href="#1182">1182</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
+<a name="1183" href="#1183">1183</a>         }
+<a name="1184" href="#1184">1184</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
+<a name="1185" href="#1185">1185</a>         {
+<a name="1186" href="#1186">1186</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
+<a name="1187" href="#1187">1187</a>         }
+<a name="1188" href="#1188">1188</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
+<a name="1189" href="#1189">1189</a>     }
+<a name="1190" href="#1190">1190</a> 
+<a name="1191" href="#1191">1191</a> 
+<a name="1192" href="#1192">1192</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
+<a name="1193" href="#1193">1193</a>     {
+<a name="1194" href="#1194">1194</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
+<a name="1195" href="#1195">1195</a>     }
+<a name="1196" href="#1196">1196</a> 
+<a name="1197" href="#1197">1197</a> 
+<a name="1198" href="#1198">1198</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
+<a name="1199" href="#1199">1199</a>     {
+<a name="1200" href="#1200">1200</a>         buildDirectory = _buildirectory;
+<a name="1201" href="#1201">1201</a>     }
+<a name="1202" href="#1202">1202</a> 
+<a name="1203" href="#1203">1203</a> 
+<a name="1204" href="#1204">1204</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
+<a name="1205" href="#1205">1205</a>     {
+<a name="1206" href="#1206">1206</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1207" href="#1207">1207</a> 
+<a name="1208" href="#1208">1208</a>         String bsn;
+<a name="1209" href="#1209">1209</a>         <strong class="jxr_keyword">try</strong>
+<a name="1210" href="#1210">1210</a>         {
+<a name="1211" href="#1211">1211</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
+<a name="1212" href="#1212">1212</a>         }
+<a name="1213" href="#1213">1213</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1214" href="#1214">1214</a>         {
+<a name="1215" href="#1215">1215</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
+<a name="1216" href="#1216">1216</a>         }
+<a name="1217" href="#1217">1217</a> 
+<a name="1218" href="#1218">1218</a>         <em class="jxr_comment">// Setup defaults</em>
+<a name="1219" href="#1219">1219</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
+<a name="1220" href="#1220">1220</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
+<a name="1221" href="#1221">1221</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
+<a name="1222" href="#1222">1222</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
+<a name="1223" href="#1223">1223</a> 
+<a name="1224" href="#1224">1224</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
+<a name="1225" href="#1225">1225</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
+<a name="1226" href="#1226">1226</a> 
+<a name="1227" href="#1227">1227</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
+<a name="1228" href="#1228">1228</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
+<a name="1229" href="#1229">1229</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
+<a name="1230" href="#1230">1230</a>         {
+<a name="1231" href="#1231">1231</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
+<a name="1232" href="#1232">1232</a>         }
+<a name="1233" href="#1233">1233</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
+<a name="1234" href="#1234">1234</a> 
+<a name="1235" href="#1235">1235</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
+<a name="1236" href="#1236">1236</a>         {
+<a name="1237" href="#1237">1237</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
+<a name="1238" href="#1238">1238</a>             {
+<a name="1239" href="#1239">1239</a>                 String organizationName = currentProject.getOrganization().getName();
+<a name="1240" href="#1240">1240</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
+<a name="1241" href="#1241">1241</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
+<a name="1242" href="#1242">1242</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
+<a name="1243" href="#1243">1243</a>             }
+<a name="1244" href="#1244">1244</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
+<a name="1245" href="#1245">1245</a>             {
+<a name="1246" href="#1246">1246</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
+<a name="1247" href="#1247">1247</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
+<a name="1248" href="#1248">1248</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
+<a name="1249" href="#1249">1249</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
+<a name="1250" href="#1250">1250</a>             }
+<a name="1251" href="#1251">1251</a>         }
+<a name="1252" href="#1252">1252</a> 
+<a name="1253" href="#1253">1253</a>         properties.putAll( currentProject.getProperties() );
+<a name="1254" href="#1254">1254</a>         properties.putAll( currentProject.getModel().getProperties() );
+<a name="1255" href="#1255">1255</a> 
+<a name="1256" href="#1256">1256</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getFilters().iterator(); i.hasNext(); )
+<a name="1257" href="#1257">1257</a>         {
+<a name="1258" href="#1258">1258</a>             File filterFile = <strong class="jxr_keyword">new</strong> File( ( String ) i.next() );
+<a name="1259" href="#1259">1259</a>             <strong class="jxr_keyword">if</strong> ( filterFile.isFile() )
+<a name="1260" href="#1260">1260</a>             {
+<a name="1261" href="#1261">1261</a>                 properties.putAll( PropertyUtils.loadProperties( filterFile ) );
+<a name="1262" href="#1262">1262</a>             }
+<a name="1263" href="#1263">1263</a>         }
+<a name="1264" href="#1264">1264</a> 
+<a name="1265" href="#1265">1265</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
+<a name="1266" href="#1266">1266</a>         {
+<a name="1267" href="#1267">1267</a>             <strong class="jxr_keyword">try</strong>
+<a name="1268" href="#1268">1268</a>             {
+<a name="1269" href="#1269">1269</a>                 <em class="jxr_comment">// don't pass upper-case session settings to bnd as they end up in the manifest</em>
+<a name="1270" href="#1270">1270</a>                 Properties sessionProperties = m_mavenSession.getExecutionProperties();
+<a name="1271" href="#1271">1271</a>                 <strong class="jxr_keyword">for</strong> ( Enumeration e = sessionProperties.propertyNames(); e.hasMoreElements(); )
+<a name="1272" href="#1272">1272</a>                 {
+<a name="1273" href="#1273">1273</a>                     String key = ( String ) e.nextElement();
+<a name="1274" href="#1274">1274</a>                     <strong class="jxr_keyword">if</strong> ( key.length() &gt; 0 &amp;&amp; !Character.isUpperCase( key.charAt( 0 ) ) )
+<a name="1275" href="#1275">1275</a>                     {
+<a name="1276" href="#1276">1276</a>                         properties.put( key, sessionProperties.getProperty( key ) );
+<a name="1277" href="#1277">1277</a>                     }
+<a name="1278" href="#1278">1278</a>                 }
+<a name="1279" href="#1279">1279</a>             }
+<a name="1280" href="#1280">1280</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1281" href="#1281">1281</a>             {
+<a name="1282" href="#1282">1282</a>                 getLog().warn( <span class="jxr_string">"Problem with Maven session properties: "</span> + e.getLocalizedMessage() );
+<a name="1283" href="#1283">1283</a>             }
+<a name="1284" href="#1284">1284</a>         }
+<a name="1285" href="#1285">1285</a> 
+<a name="1286" href="#1286">1286</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
+<a name="1287" href="#1287">1287</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
+<a name="1288" href="#1288">1288</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
+<a name="1289" href="#1289">1289</a> 
+<a name="1290" href="#1290">1290</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
+<a name="1291" href="#1291">1291</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
+<a name="1292" href="#1292">1292</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
 <a name="1293" href="#1293">1293</a> 
-<a name="1294" href="#1294">1294</a>         <em class="jxr_comment">// Add default plugins</em>
-<a name="1295" href="#1295">1295</a>         header( properties, Analyzer.PLUGIN, ScrPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span>
-<a name="1296" href="#1296">1296</a>                                            + BlueprintPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span>
-<a name="1297" href="#1297">1297</a>                                            + SpringXMLType.<strong class="jxr_keyword">class</strong>.getName() );
-<a name="1298" href="#1298">1298</a> 
-<a name="1299" href="#1299">1299</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="1300" href="#1300">1300</a>     }
-<a name="1301" href="#1301">1301</a> 
-<a name="1302" href="#1302">1302</a> 
-<a name="1303" href="#1303">1303</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
-<a name="1304" href="#1304">1304</a>     {
-<a name="1305" href="#1305">1305</a>         <strong class="jxr_keyword">return</strong> currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> ? currentProject.getBasedir() : <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">""</span> );
-<a name="1306" href="#1306">1306</a>     }
-<a name="1307" href="#1307">1307</a> 
-<a name="1308" href="#1308">1308</a> 
-<a name="1309" href="#1309">1309</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
-<a name="1310" href="#1310">1310</a>     {
-<a name="1311" href="#1311">1311</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
-<a name="1312" href="#1312">1312</a>     }
-<a name="1313" href="#1313">1313</a> 
-<a name="1314" href="#1314">1314</a> 
-<a name="1315" href="#1315">1315</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
-<a name="1316" href="#1316">1316</a>     {
-<a name="1317" href="#1317">1317</a>         outputDirectory = _outputDirectory;
-<a name="1318" href="#1318">1318</a>     }
-<a name="1319" href="#1319">1319</a> 
-<a name="1320" href="#1320">1320</a> 
-<a name="1321" href="#1321">1321</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> IOException
-<a name="1322" href="#1322">1322</a>     {
-<a name="1323" href="#1323">1323</a>         Packages packages = <strong class="jxr_keyword">new</strong> Packages();
-<a name="1324" href="#1324">1324</a> 
-<a name="1325" href="#1325">1325</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
-<a name="1326" href="#1326">1326</a>         {
-<a name="1327" href="#1327">1327</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
-<a name="1328" href="#1328">1328</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1329" href="#1329">1329</a>             scanner.setBasedir( outputDirectory );
-<a name="1330" href="#1330">1330</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
-<a name="1331" href="#1331">1331</a>                 { <span class="jxr_string">"**/*.class"</span> } );
-<a name="1332" href="#1332">1332</a> 
-<a name="1333" href="#1333">1333</a>             scanner.addDefaultExcludes();
-<a name="1334" href="#1334">1334</a>             scanner.scan();
-<a name="1335" href="#1335">1335</a> 
-<a name="1336" href="#1336">1336</a>             String[] paths = scanner.getIncludedFiles();
-<a name="1337" href="#1337">1337</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
-<a name="1338" href="#1338">1338</a>             {
-<a name="1339" href="#1339">1339</a>                 packages.put( analyzer.getPackageRef( getPackageName( paths[i] ) ) );
-<a name="1340" href="#1340">1340</a>             }
-<a name="1341" href="#1341">1341</a>         }
-<a name="1342" href="#1342">1342</a> 
-<a name="1343" href="#1343">1343</a>         Packages exportedPkgs = <strong class="jxr_keyword">new</strong> Packages();
-<a name="1344" href="#1344">1344</a>         Packages privatePkgs = <strong class="jxr_keyword">new</strong> Packages();
-<a name="1345" href="#1345">1345</a> 
-<a name="1346" href="#1346">1346</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
+<a name="1294" href="#1294">1294</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
+<a name="1295" href="#1295">1295</a> 
+<a name="1296" href="#1296">1296</a>         <em class="jxr_comment">// Add default plugins</em>
+<a name="1297" href="#1297">1297</a>         header( properties, Analyzer.PLUGIN, ScrPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span>
+<a name="1298" href="#1298">1298</a>                                            + BlueprintPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span>
+<a name="1299" href="#1299">1299</a>                                            + SpringXMLType.<strong class="jxr_keyword">class</strong>.getName() );
+<a name="1300" href="#1300">1300</a> 
+<a name="1301" href="#1301">1301</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="1302" href="#1302">1302</a>     }
+<a name="1303" href="#1303">1303</a> 
+<a name="1304" href="#1304">1304</a> 
+<a name="1305" href="#1305">1305</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
+<a name="1306" href="#1306">1306</a>     {
+<a name="1307" href="#1307">1307</a>         <strong class="jxr_keyword">return</strong> currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> ? currentProject.getBasedir() : <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">""</span> );
+<a name="1308" href="#1308">1308</a>     }
+<a name="1309" href="#1309">1309</a> 
+<a name="1310" href="#1310">1310</a> 
+<a name="1311" href="#1311">1311</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
+<a name="1312" href="#1312">1312</a>     {
+<a name="1313" href="#1313">1313</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
+<a name="1314" href="#1314">1314</a>     }
+<a name="1315" href="#1315">1315</a> 
+<a name="1316" href="#1316">1316</a> 
+<a name="1317" href="#1317">1317</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
+<a name="1318" href="#1318">1318</a>     {
+<a name="1319" href="#1319">1319</a>         outputDirectory = _outputDirectory;
+<a name="1320" href="#1320">1320</a>     }
+<a name="1321" href="#1321">1321</a> 
+<a name="1322" href="#1322">1322</a> 
+<a name="1323" href="#1323">1323</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="1324" href="#1324">1324</a>     {
+<a name="1325" href="#1325">1325</a>         Packages packages = <strong class="jxr_keyword">new</strong> Packages();
+<a name="1326" href="#1326">1326</a> 
+<a name="1327" href="#1327">1327</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
+<a name="1328" href="#1328">1328</a>         {
+<a name="1329" href="#1329">1329</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
+<a name="1330" href="#1330">1330</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1331" href="#1331">1331</a>             scanner.setBasedir( outputDirectory );
+<a name="1332" href="#1332">1332</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
+<a name="1333" href="#1333">1333</a>                 { <span class="jxr_string">"**/*.class"</span> } );
+<a name="1334" href="#1334">1334</a> 
+<a name="1335" href="#1335">1335</a>             scanner.addDefaultExcludes();
+<a name="1336" href="#1336">1336</a>             scanner.scan();
+<a name="1337" href="#1337">1337</a> 
+<a name="1338" href="#1338">1338</a>             String[] paths = scanner.getIncludedFiles();
+<a name="1339" href="#1339">1339</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
+<a name="1340" href="#1340">1340</a>             {
+<a name="1341" href="#1341">1341</a>                 packages.put( analyzer.getPackageRef( getPackageName( paths[i] ) ) );
+<a name="1342" href="#1342">1342</a>             }
+<a name="1343" href="#1343">1343</a>         }
+<a name="1344" href="#1344">1344</a> 
+<a name="1345" href="#1345">1345</a>         Packages exportedPkgs = <strong class="jxr_keyword">new</strong> Packages();
+<a name="1346" href="#1346">1346</a>         Packages privatePkgs = <strong class="jxr_keyword">new</strong> Packages();
 <a name="1347" href="#1347">1347</a> 
-<a name="1348" href="#1348">1348</a>         <strong class="jxr_keyword">for</strong> ( PackageRef pkg : packages.keySet() )
-<a name="1349" href="#1349">1349</a>         {
-<a name="1350" href="#1350">1350</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
-<a name="1351" href="#1351">1351</a>             privatePkgs.put( pkg );
-<a name="1352" href="#1352">1352</a> 
-<a name="1353" href="#1353">1353</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
-<a name="1354" href="#1354">1354</a>             String fqn = pkg.getFQN();
-<a name="1355" href="#1355">1355</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( fqn ) || fqn.contains( <span class="jxr_string">".internal"</span> ) || fqn.contains( <span class="jxr_string">".impl"</span> ) ) )
-<a name="1356" href="#1356">1356</a>             {
-<a name="1357" href="#1357">1357</a>                 exportedPkgs.put( pkg );
-<a name="1358" href="#1358">1358</a>             }
-<a name="1359" href="#1359">1359</a>         }
-<a name="1360" href="#1360">1360</a> 
-<a name="1361" href="#1361">1361</a>         Properties properties = analyzer.getProperties();
-<a name="1362" href="#1362">1362</a>         String exported = properties.getProperty( Analyzer.EXPORT_PACKAGE );
-<a name="1363" href="#1363">1363</a>         <strong class="jxr_keyword">if</strong> ( exported == <strong class="jxr_keyword">null</strong> )
-<a name="1364" href="#1364">1364</a>         {
-<a name="1365" href="#1365">1365</a>             <strong class="jxr_keyword">if</strong> ( !properties.containsKey( Analyzer.EXPORT_CONTENTS ) )
-<a name="1366" href="#1366">1366</a>             {
-<a name="1367" href="#1367">1367</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
-<a name="1368" href="#1368">1368</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : exportedPkgs.values() )
-<a name="1369" href="#1369">1369</a>                 {
-<a name="1370" href="#1370">1370</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
-<a name="1371" href="#1371">1371</a>                 }
-<a name="1372" href="#1372">1372</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, Processor.printClauses( exportedPkgs ) );
-<a name="1373" href="#1373">1373</a>             }
-<a name="1374" href="#1374">1374</a>             <strong class="jxr_keyword">else</strong>
-<a name="1375" href="#1375">1375</a>             {
-<a name="1376" href="#1376">1376</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
-<a name="1377" href="#1377">1377</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
-<a name="1378" href="#1378">1378</a>             }
-<a name="1379" href="#1379">1379</a>         }
-<a name="1380" href="#1380">1380</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1381" href="#1381">1381</a>         {
-<a name="1382" href="#1382">1382</a>             String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, Processor.printClauses( exportedPkgs ) );
-<a name="1383" href="#1383">1383</a>             properties.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
-<a name="1384" href="#1384">1384</a>         }
-<a name="1385" href="#1385">1385</a> 
-<a name="1386" href="#1386">1386</a>         String internal = properties.getProperty( Analyzer.PRIVATE_PACKAGE );
-<a name="1387" href="#1387">1387</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
-<a name="1388" href="#1388">1388</a>         {
-<a name="1389" href="#1389">1389</a>             <strong class="jxr_keyword">if</strong> ( !privatePkgs.isEmpty() )
-<a name="1390" href="#1390">1390</a>             {
-<a name="1391" href="#1391">1391</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : privatePkgs.values() )
-<a name="1392" href="#1392">1392</a>                 {
-<a name="1393" href="#1393">1393</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
-<a name="1394" href="#1394">1394</a>                 }
-<a name="1395" href="#1395">1395</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, Processor.printClauses( privatePkgs ) );
-<a name="1396" href="#1396">1396</a>             }
-<a name="1397" href="#1397">1397</a>             <strong class="jxr_keyword">else</strong>
-<a name="1398" href="#1398">1398</a>             {
-<a name="1399" href="#1399">1399</a>                 <em class="jxr_comment">// if there are really no private packages then use "!*" as this will keep the Bnd Tool happy</em>
-<a name="1400" href="#1400">1400</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
-<a name="1401" href="#1401">1401</a>             }
-<a name="1402" href="#1402">1402</a>         }
-<a name="1403" href="#1403">1403</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1404" href="#1404">1404</a>         {
-<a name="1405" href="#1405">1405</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, Processor.printClauses( privatePkgs ) );
-<a name="1406" href="#1406">1406</a>             properties.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
-<a name="1407" href="#1407">1407</a>         }
-<a name="1408" href="#1408">1408</a>     }
-<a name="1409" href="#1409">1409</a> 
-<a name="1410" href="#1410">1410</a> 
-<a name="1411" href="#1411">1411</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
-<a name="1412" href="#1412">1412</a>     {
-<a name="1413" href="#1413">1413</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
-<a name="1414" href="#1414">1414</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
-<a name="1415" href="#1415">1415</a>     }
-<a name="1416" href="#1416">1416</a> 
-<a name="1417" href="#1417">1417</a> 
-<a name="1418" href="#1418">1418</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject, <strong class="jxr_keyword">boolean</strong> test )
-<a name="1419" href="#1419">1419</a>     {
-<a name="1420" href="#1420">1420</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( test ? currentProject.getTestResources() : currentProject.getResources() );
-<a name="1421" href="#1421">1421</a> 
-<a name="1422" href="#1422">1422</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1423" href="#1423">1423</a>         {
-<a name="1424" href="#1424">1424</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
-<a name="1425" href="#1425">1425</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
-<a name="1426" href="#1426">1426</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1427" href="#1427">1427</a>             {
-<a name="1428" href="#1428">1428</a>                 String sourceRoot = ( String ) i.next();
-<a name="1429" href="#1429">1429</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
-<a name="1430" href="#1430">1430</a>                 packageInfoResource.setDirectory( sourceRoot );
-<a name="1431" href="#1431">1431</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
-<a name="1432" href="#1432">1432</a>                 resources.add( packageInfoResource );
-<a name="1433" href="#1433">1433</a>             }
-<a name="1434" href="#1434">1434</a>         }
-<a name="1435" href="#1435">1435</a> 
-<a name="1436" href="#1436">1436</a>         <strong class="jxr_keyword">return</strong> resources;
-<a name="1437" href="#1437">1437</a>     }
-<a name="1438" href="#1438">1438</a> 
-<a name="1439" href="#1439">1439</a> 
-<a name="1440" href="#1440">1440</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject, <strong class="jxr_keyword">boolean</strong> test )
-<a name="1441" href="#1441">1441</a>     {
-<a name="1442" href="#1442">1442</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
-<a name="1443" href="#1443">1443</a> 
-<a name="1444" href="#1444">1444</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="1445" href="#1445">1445</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject, test ).iterator(); i.hasNext(); )
-<a name="1446" href="#1446">1446</a>         {
-<a name="1447" href="#1447">1447</a>             Resource resource = ( Resource ) i.next();
-<a name="1448" href="#1448">1448</a> 
-<a name="1449" href="#1449">1449</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
-<a name="1450" href="#1450">1450</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
-<a name="1451" href="#1451">1451</a> 
-<a name="1452" href="#1452">1452</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
-<a name="1453" href="#1453">1453</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( sourcePath ).exists() &amp;&amp; ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) &lt; 0 ) ) )
-<a name="1454" href="#1454">1454</a>             {
-<a name="1455" href="#1455">1455</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1456" href="#1456">1456</a> 
-<a name="1457" href="#1457">1457</a>                 scanner.setBasedir( sourcePath );
-<a name="1458" href="#1458">1458</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
-<a name="1459" href="#1459">1459</a>                 {
-<a name="1460" href="#1460">1460</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1461" href="#1461">1461</a>                 }
-<a name="1462" href="#1462">1462</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1463" href="#1463">1463</a>                 {
-<a name="1464" href="#1464">1464</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
-<a name="1465" href="#1465">1465</a>                 }
-<a name="1466" href="#1466">1466</a> 
-<a name="1467" href="#1467">1467</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
-<a name="1468" href="#1468">1468</a>                 {
-<a name="1469" href="#1469">1469</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1470" href="#1470">1470</a>                 }
-<a name="1471" href="#1471">1471</a> 
-<a name="1472" href="#1472">1472</a>                 scanner.addDefaultExcludes();
-<a name="1473" href="#1473">1473</a>                 scanner.scan();
-<a name="1474" href="#1474">1474</a> 
-<a name="1475" href="#1475">1475</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
+<a name="1348" href="#1348">1348</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
+<a name="1349" href="#1349">1349</a> 
+<a name="1350" href="#1350">1350</a>         <strong class="jxr_keyword">for</strong> ( PackageRef pkg : packages.keySet() )
+<a name="1351" href="#1351">1351</a>         {
+<a name="1352" href="#1352">1352</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
+<a name="1353" href="#1353">1353</a>             privatePkgs.put( pkg );
+<a name="1354" href="#1354">1354</a> 
+<a name="1355" href="#1355">1355</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
+<a name="1356" href="#1356">1356</a>             String fqn = pkg.getFQN();
+<a name="1357" href="#1357">1357</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( fqn ) || fqn.contains( <span class="jxr_string">".internal"</span> ) || fqn.contains( <span class="jxr_string">".impl"</span> ) ) )
+<a name="1358" href="#1358">1358</a>             {
+<a name="1359" href="#1359">1359</a>                 exportedPkgs.put( pkg );
+<a name="1360" href="#1360">1360</a>             }
+<a name="1361" href="#1361">1361</a>         }
+<a name="1362" href="#1362">1362</a> 
+<a name="1363" href="#1363">1363</a>         Properties properties = analyzer.getProperties();
+<a name="1364" href="#1364">1364</a>         String exported = properties.getProperty( Analyzer.EXPORT_PACKAGE );
+<a name="1365" href="#1365">1365</a>         <strong class="jxr_keyword">if</strong> ( exported == <strong class="jxr_keyword">null</strong> )
+<a name="1366" href="#1366">1366</a>         {
+<a name="1367" href="#1367">1367</a>             <strong class="jxr_keyword">if</strong> ( !properties.containsKey( Analyzer.EXPORT_CONTENTS ) )
+<a name="1368" href="#1368">1368</a>             {
+<a name="1369" href="#1369">1369</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
+<a name="1370" href="#1370">1370</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : exportedPkgs.values() )
+<a name="1371" href="#1371">1371</a>                 {
+<a name="1372" href="#1372">1372</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
+<a name="1373" href="#1373">1373</a>                 }
+<a name="1374" href="#1374">1374</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, Processor.printClauses( exportedPkgs ) );
+<a name="1375" href="#1375">1375</a>             }
+<a name="1376" href="#1376">1376</a>             <strong class="jxr_keyword">else</strong>
+<a name="1377" href="#1377">1377</a>             {
+<a name="1378" href="#1378">1378</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
+<a name="1379" href="#1379">1379</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
+<a name="1380" href="#1380">1380</a>             }
+<a name="1381" href="#1381">1381</a>         }
+<a name="1382" href="#1382">1382</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1383" href="#1383">1383</a>         {
+<a name="1384" href="#1384">1384</a>             String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, Processor.printClauses( exportedPkgs ) );
+<a name="1385" href="#1385">1385</a>             properties.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
+<a name="1386" href="#1386">1386</a>         }
+<a name="1387" href="#1387">1387</a> 
+<a name="1388" href="#1388">1388</a>         String internal = properties.getProperty( Analyzer.PRIVATE_PACKAGE );
+<a name="1389" href="#1389">1389</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
+<a name="1390" href="#1390">1390</a>         {
+<a name="1391" href="#1391">1391</a>             <strong class="jxr_keyword">if</strong> ( !privatePkgs.isEmpty() )
+<a name="1392" href="#1392">1392</a>             {
+<a name="1393" href="#1393">1393</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : privatePkgs.values() )
+<a name="1394" href="#1394">1394</a>                 {
+<a name="1395" href="#1395">1395</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
+<a name="1396" href="#1396">1396</a>                 }
+<a name="1397" href="#1397">1397</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, Processor.printClauses( privatePkgs ) );
+<a name="1398" href="#1398">1398</a>             }
+<a name="1399" href="#1399">1399</a>             <strong class="jxr_keyword">else</strong>
+<a name="1400" href="#1400">1400</a>             {
+<a name="1401" href="#1401">1401</a>                 <em class="jxr_comment">// if there are really no private packages then use "!*" as this will keep the Bnd Tool happy</em>
+<a name="1402" href="#1402">1402</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
+<a name="1403" href="#1403">1403</a>             }
+<a name="1404" href="#1404">1404</a>         }
+<a name="1405" href="#1405">1405</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1406" href="#1406">1406</a>         {
+<a name="1407" href="#1407">1407</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, Processor.printClauses( privatePkgs ) );
+<a name="1408" href="#1408">1408</a>             properties.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
+<a name="1409" href="#1409">1409</a>         }
+<a name="1410" href="#1410">1410</a>     }
+<a name="1411" href="#1411">1411</a> 
+<a name="1412" href="#1412">1412</a> 
+<a name="1413" href="#1413">1413</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
+<a name="1414" href="#1414">1414</a>     {
+<a name="1415" href="#1415">1415</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
+<a name="1416" href="#1416">1416</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
+<a name="1417" href="#1417">1417</a>     }
+<a name="1418" href="#1418">1418</a> 
+<a name="1419" href="#1419">1419</a> 
+<a name="1420" href="#1420">1420</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject, <strong class="jxr_keyword">boolean</strong> test )
+<a name="1421" href="#1421">1421</a>     {
+<a name="1422" href="#1422">1422</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( test ? currentProject.getTestResources() : currentProject.getResources() );
+<a name="1423" href="#1423">1423</a> 
+<a name="1424" href="#1424">1424</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
+<a name="1425" href="#1425">1425</a>         {
+<a name="1426" href="#1426">1426</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
+<a name="1427" href="#1427">1427</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
+<a name="1428" href="#1428">1428</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
+<a name="1429" href="#1429">1429</a>             {
+<a name="1430" href="#1430">1430</a>                 String sourceRoot = ( String ) i.next();
+<a name="1431" href="#1431">1431</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
+<a name="1432" href="#1432">1432</a>                 packageInfoResource.setDirectory( sourceRoot );
+<a name="1433" href="#1433">1433</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
+<a name="1434" href="#1434">1434</a>                 resources.add( packageInfoResource );
+<a name="1435" href="#1435">1435</a>             }
+<a name="1436" href="#1436">1436</a>         }
+<a name="1437" href="#1437">1437</a> 
+<a name="1438" href="#1438">1438</a>         <strong class="jxr_keyword">return</strong> resources;
+<a name="1439" href="#1439">1439</a>     }
+<a name="1440" href="#1440">1440</a> 
+<a name="1441" href="#1441">1441</a> 
+<a name="1442" href="#1442">1442</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject, <strong class="jxr_keyword">boolean</strong> test )
+<a name="1443" href="#1443">1443</a>     {
+<a name="1444" href="#1444">1444</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
+<a name="1445" href="#1445">1445</a> 
+<a name="1446" href="#1446">1446</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="1447" href="#1447">1447</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject, test ).iterator(); i.hasNext(); )
+<a name="1448" href="#1448">1448</a>         {
+<a name="1449" href="#1449">1449</a>             Resource resource = ( Resource ) i.next();
+<a name="1450" href="#1450">1450</a> 
+<a name="1451" href="#1451">1451</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
+<a name="1452" href="#1452">1452</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
+<a name="1453" href="#1453">1453</a> 
+<a name="1454" href="#1454">1454</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
+<a name="1455" href="#1455">1455</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( sourcePath ).exists() &amp;&amp; ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) &lt; 0 ) ) )
+<a name="1456" href="#1456">1456</a>             {
+<a name="1457" href="#1457">1457</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1458" href="#1458">1458</a> 
+<a name="1459" href="#1459">1459</a>                 scanner.setBasedir( sourcePath );
+<a name="1460" href="#1460">1460</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
+<a name="1461" href="#1461">1461</a>                 {
+<a name="1462" href="#1462">1462</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1463" href="#1463">1463</a>                 }
+<a name="1464" href="#1464">1464</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1465" href="#1465">1465</a>                 {
+<a name="1466" href="#1466">1466</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
+<a name="1467" href="#1467">1467</a>                 }
+<a name="1468" href="#1468">1468</a> 
+<a name="1469" href="#1469">1469</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
+<a name="1470" href="#1470">1470</a>                 {
+<a name="1471" href="#1471">1471</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1472" href="#1472">1472</a>                 }
+<a name="1473" href="#1473">1473</a> 
+<a name="1474" href="#1474">1474</a>                 scanner.addDefaultExcludes();
+<a name="1475" href="#1475">1475</a>                 scanner.scan();
 <a name="1476" href="#1476">1476</a> 
-<a name="1477" href="#1477">1477</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
-<a name="1478" href="#1478">1478</a>                 {
-<a name="1479" href="#1479">1479</a>                     String name = ( String ) j.next();
-<a name="1480" href="#1480">1480</a>                     String path = sourcePath + '/' + name;
-<a name="1481" href="#1481">1481</a> 
-<a name="1482" href="#1482">1482</a>                     <em class="jxr_comment">// make relative to project</em>
-<a name="1483" href="#1483">1483</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
-<a name="1484" href="#1484">1484</a>                     {
-<a name="1485" href="#1485">1485</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
-<a name="1486" href="#1486">1486</a>                         {
-<a name="1487" href="#1487">1487</a>                             path = <span class="jxr_string">"."</span>;
-<a name="1488" href="#1488">1488</a>                         }
-<a name="1489" href="#1489">1489</a>                         <strong class="jxr_keyword">else</strong>
-<a name="1490" href="#1490">1490</a>                         {
-<a name="1491" href="#1491">1491</a>                             path = path.substring( basePath.length() + 1 );
-<a name="1492" href="#1492">1492</a>                         }
-<a name="1493" href="#1493">1493</a>                     }
-<a name="1494" href="#1494">1494</a> 
-<a name="1495" href="#1495">1495</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
-<a name="1496" href="#1496">1496</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
-<a name="1497" href="#1497">1497</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
-<a name="1498" href="#1498">1498</a>                     {
-<a name="1499" href="#1499">1499</a>                         name = name.replace( File.separatorChar, '/' );
-<a name="1500" href="#1500">1500</a>                         path = path.replace( File.separatorChar, '/' );
-<a name="1501" href="#1501">1501</a>                     }
-<a name="1502" href="#1502">1502</a> 
-<a name="1503" href="#1503">1503</a>                     <em class="jxr_comment">// copy to correct place</em>
-<a name="1504" href="#1504">1504</a>                     path = name + '=' + path;
-<a name="1505" href="#1505">1505</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
-<a name="1506" href="#1506">1506</a>                     {
-<a name="1507" href="#1507">1507</a>                         path = targetPath + '/' + path;
-<a name="1508" href="#1508">1508</a>                     }
-<a name="1509" href="#1509">1509</a> 
-<a name="1510" href="#1510">1510</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
-<a name="1511" href="#1511">1511</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
-<a name="1512" href="#1512">1512</a>                     {
-<a name="1513" href="#1513">1513</a>                         path = '{' + path + '}';
-<a name="1514" href="#1514">1514</a>                     }
-<a name="1515" href="#1515">1515</a> 
-<a name="1516" href="#1516">1516</a>                     pathSet.add( path );
-<a name="1517" href="#1517">1517</a>                 }
-<a name="1518" href="#1518">1518</a>             }
-<a name="1519" href="#1519">1519</a>         }
-<a name="1520" href="#1520">1520</a> 
-<a name="1521" href="#1521">1521</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1522" href="#1522">1522</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
-<a name="1523" href="#1523">1523</a>         {
-<a name="1524" href="#1524">1524</a>             resourcePaths.append( i.next() );
-<a name="1525" href="#1525">1525</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
-<a name="1526" href="#1526">1526</a>             {
-<a name="1527" href="#1527">1527</a>                 resourcePaths.append( ',' );
-<a name="1528" href="#1528">1528</a>             }
-<a name="1529" href="#1529">1529</a>         }
-<a name="1530" href="#1530">1530</a> 
-<a name="1531" href="#1531">1531</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
-<a name="1532" href="#1532">1532</a>     }
-<a name="1533" href="#1533">1533</a> 
-<a name="1534" href="#1534">1534</a> 
-<a name="1535" href="#1535">1535</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
-<a name="1536" href="#1536">1536</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1537" href="#1537">1537</a>     {
-<a name="1538" href="#1538">1538</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
-<a name="1539" href="#1539">1539</a> 
-<a name="1540" href="#1540">1540</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
-<a name="1541" href="#1541">1541</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
-<a name="1542" href="#1542">1542</a>         {
-<a name="1543" href="#1543">1543</a>             <em class="jxr_comment">// includes transitive dependencies</em>
-<a name="1544" href="#1544">1544</a>             artifacts = currentProject.getArtifacts();
-<a name="1545" href="#1545">1545</a>         }
-<a name="1546" href="#1546">1546</a>         <strong class="jxr_keyword">else</strong>
-<a name="1547" href="#1547">1547</a>         {
-<a name="1548" href="#1548">1548</a>             <em class="jxr_comment">// only includes direct dependencies</em>
-<a name="1549" href="#1549">1549</a>             artifacts = currentProject.getDependencyArtifacts();
-<a name="1550" href="#1550">1550</a>         }
-<a name="1551" href="#1551">1551</a> 
-<a name="1552" href="#1552">1552</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
-<a name="1553" href="#1553">1553</a>     }
-<a name="1554" href="#1554">1554</a> 
-<a name="1555" href="#1555">1555</a> 
-<a name="1556" href="#1556">1556</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addMavenSourcePath( MavenProject currentProject, Analyzer analyzer, Log log )
-<a name="1557" href="#1557">1557</a>     {
-<a name="1558" href="#1558">1558</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
-<a name="1559" href="#1559">1559</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="1560" href="#1560">1560</a>         StringBuilder mavenTestSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="1561" href="#1561">1561</a>         Map&lt;StringBuilder, List&lt;?&gt;&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;StringBuilder, List&lt;?&gt;&gt;(2);
-<a name="1562" href="#1562">1562</a>         map.put(mavenSourcePaths, currentProject.getCompileSourceRoots() );
-<a name="1563" href="#1563">1563</a>         map.put(mavenTestSourcePaths, currentProject.getTestCompileSourceRoots() );
-<a name="1564" href="#1564">1564</a>         <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;StringBuilder, List&lt;?&gt;&gt; entry : map.entrySet() )
-<a name="1565" href="#1565">1565</a>         {
-<a name="1566" href="#1566">1566</a>             List&lt;?&gt; compileSourceRoots = entry.getValue();
-<a name="1567" href="#1567">1567</a>             <strong class="jxr_keyword">if</strong> ( compileSourceRoots != <strong class="jxr_keyword">null</strong> )
-<a name="1568" href="#1568">1568</a>             {
-<a name="1569" href="#1569">1569</a>                 StringBuilder sourcePaths = entry.getKey();
-<a name="1570" href="#1570">1570</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = compileSourceRoots.iterator(); i.hasNext(); )
-<a name="1571" href="#1571">1571</a>                 {
-<a name="1572" href="#1572">1572</a>                     <strong class="jxr_keyword">if</strong> ( sourcePaths.length() &gt; 0 )
-<a name="1573" href="#1573">1573</a>                     {
-<a name="1574" href="#1574">1574</a>                         sourcePaths.append( ',' );
-<a name="1575" href="#1575">1575</a>                     }
-<a name="1576" href="#1576">1576</a>                     sourcePaths.append( ( String ) i.next() );
-<a name="1577" href="#1577">1577</a>                 }
-<a name="1578" href="#1578">1578</a>             }
-<a name="1579" href="#1579">1579</a>         }
-<a name="1580" href="#1580">1580</a>         <strong class="jxr_keyword">final</strong> String sourcePath = analyzer.getProperty( Analyzer.SOURCEPATH );
-<a name="1581" href="#1581">1581</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
-<a name="1582" href="#1582">1582</a>         {
-<a name="1583" href="#1583">1583</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.contains(MAVEN_SOURCES) || sourcePath.contains(MAVEN_TEST_RESOURCES) )
-<a name="1584" href="#1584">1584</a>             {
-<a name="1585" href="#1585">1585</a>                 String combinedSource = StringUtils.replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
-<a name="1586" href="#1586">1586</a>                 combinedSource = StringUtils.replace( combinedSource, MAVEN_TEST_SOURCES, mavenTestSourcePaths.toString() );
-<a name="1587" href="#1587">1587</a>                 <strong class="jxr_keyword">if</strong> ( combinedSource.length() &gt; 0 )
-<a name="1588" href="#1588">1588</a>                 {
-<a name="1589" href="#1589">1589</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
-<a name="1590" href="#1590">1590</a>                 }
-<a name="1591" href="#1591">1591</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1592" href="#1592">1592</a>                 {
-<a name="1593" href="#1593">1593</a>                     analyzer.unsetProperty( Analyzer.SOURCEPATH );
-<a name="1594" href="#1594">1594</a>                 }
-<a name="1595" href="#1595">1595</a>             }
-<a name="1596" href="#1596">1596</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1597" href="#1597">1597</a>             {
-<a name="1598" href="#1598">1598</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
-<a name="1599" href="#1599">1599</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
-<a name="1600" href="#1600">1600</a>             }
-<a name="1601" href="#1601">1601</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenTestSourcePaths.length() &gt; 0 )
-<a name="1602" href="#1602">1602</a>             {
-<a name="1603" href="#1603">1603</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenTestSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
-<a name="1604" href="#1604">1604</a>                         + MAVEN_TEST_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
-<a name="1605" href="#1605">1605</a>             }
-<a name="1606" href="#1606">1606</a>         }
-<a name="1607" href="#1607">1607</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1608" href="#1608">1608</a>         {
-<a name="1609" href="#1609">1609</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
-<a name="1610" href="#1610">1610</a>         }
-<a name="1611" href="#1611">1611</a>     }
-<a name="1612" href="#1612">1612</a> }
+<a name="1477" href="#1477">1477</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
+<a name="1478" href="#1478">1478</a> 
+<a name="1479" href="#1479">1479</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
+<a name="1480" href="#1480">1480</a>                 {
+<a name="1481" href="#1481">1481</a>                     String name = ( String ) j.next();
+<a name="1482" href="#1482">1482</a>                     String path = sourcePath + '/' + name;
+<a name="1483" href="#1483">1483</a> 
+<a name="1484" href="#1484">1484</a>                     <em class="jxr_comment">// make relative to project</em>
+<a name="1485" href="#1485">1485</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
+<a name="1486" href="#1486">1486</a>                     {
+<a name="1487" href="#1487">1487</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
+<a name="1488" href="#1488">1488</a>                         {
+<a name="1489" href="#1489">1489</a>                             path = <span class="jxr_string">"."</span>;
+<a name="1490" href="#1490">1490</a>                         }
+<a name="1491" href="#1491">1491</a>                         <strong class="jxr_keyword">else</strong>
+<a name="1492" href="#1492">1492</a>                         {
+<a name="1493" href="#1493">1493</a>                             path = path.substring( basePath.length() + 1 );
+<a name="1494" href="#1494">1494</a>                         }
+<a name="1495" href="#1495">1495</a>                     }
+<a name="1496" href="#1496">1496</a> 
+<a name="1497" href="#1497">1497</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
+<a name="1498" href="#1498">1498</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
+<a name="1499" href="#1499">1499</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
+<a name="1500" href="#1500">1500</a>                     {
+<a name="1501" href="#1501">1501</a>                         name = name.replace( File.separatorChar, '/' );
+<a name="1502" href="#1502">1502</a>                         path = path.replace( File.separatorChar, '/' );
+<a name="1503" href="#1503">1503</a>                     }
+<a name="1504" href="#1504">1504</a> 
+<a name="1505" href="#1505">1505</a>                     <em class="jxr_comment">// copy to correct place</em>
+<a name="1506" href="#1506">1506</a>                     path = name + '=' + path;
+<a name="1507" href="#1507">1507</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
+<a name="1508" href="#1508">1508</a>                     {
+<a name="1509" href="#1509">1509</a>                         path = targetPath + '/' + path;
+<a name="1510" href="#1510">1510</a>                     }
+<a name="1511" href="#1511">1511</a> 
+<a name="1512" href="#1512">1512</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
+<a name="1513" href="#1513">1513</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
+<a name="1514" href="#1514">1514</a>                     {
+<a name="1515" href="#1515">1515</a>                         path = '{' + path + '}';
+<a name="1516" href="#1516">1516</a>                     }
+<a name="1517" href="#1517">1517</a> 
+<a name="1518" href="#1518">1518</a>                     pathSet.add( path );
+<a name="1519" href="#1519">1519</a>                 }
+<a name="1520" href="#1520">1520</a>             }
+<a name="1521" href="#1521">1521</a>         }
+<a name="1522" href="#1522">1522</a> 
+<a name="1523" href="#1523">1523</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1524" href="#1524">1524</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
+<a name="1525" href="#1525">1525</a>         {
+<a name="1526" href="#1526">1526</a>             resourcePaths.append( i.next() );
+<a name="1527" href="#1527">1527</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
+<a name="1528" href="#1528">1528</a>             {
+<a name="1529" href="#1529">1529</a>                 resourcePaths.append( ',' );
+<a name="1530" href="#1530">1530</a>             }
+<a name="1531" href="#1531">1531</a>         }
+<a name="1532" href="#1532">1532</a> 
+<a name="1533" href="#1533">1533</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
+<a name="1534" href="#1534">1534</a>     }
+<a name="1535" href="#1535">1535</a> 
+<a name="1536" href="#1536">1536</a> 
+<a name="1537" href="#1537">1537</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
+<a name="1538" href="#1538">1538</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1539" href="#1539">1539</a>     {
+<a name="1540" href="#1540">1540</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
+<a name="1541" href="#1541">1541</a> 
+<a name="1542" href="#1542">1542</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
+<a name="1543" href="#1543">1543</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
+<a name="1544" href="#1544">1544</a>         {
+<a name="1545" href="#1545">1545</a>             <em class="jxr_comment">// includes transitive dependencies</em>
+<a name="1546" href="#1546">1546</a>             artifacts = currentProject.getArtifacts();
+<a name="1547" href="#1547">1547</a>         }
+<a name="1548" href="#1548">1548</a>         <strong class="jxr_keyword">else</strong>
+<a name="1549" href="#1549">1549</a>         {
+<a name="1550" href="#1550">1550</a>             <em class="jxr_comment">// only includes direct dependencies</em>
+<a name="1551" href="#1551">1551</a>             artifacts = currentProject.getDependencyArtifacts();
+<a name="1552" href="#1552">1552</a>         }
+<a name="1553" href="#1553">1553</a> 
+<a name="1554" href="#1554">1554</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
+<a name="1555" href="#1555">1555</a>     }
+<a name="1556" href="#1556">1556</a> 
+<a name="1557" href="#1557">1557</a> 
+<a name="1558" href="#1558">1558</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addMavenSourcePath( MavenProject currentProject, Analyzer analyzer, Log log )
+<a name="1559" href="#1559">1559</a>     {
+<a name="1560" href="#1560">1560</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
+<a name="1561" href="#1561">1561</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="1562" href="#1562">1562</a>         StringBuilder mavenTestSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="1563" href="#1563">1563</a>         Map&lt;StringBuilder, List&lt;?&gt;&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;StringBuilder, List&lt;?&gt;&gt;(2);
+<a name="1564" href="#1564">1564</a>         map.put(mavenSourcePaths, currentProject.getCompileSourceRoots() );
+<a name="1565" href="#1565">1565</a>         map.put(mavenTestSourcePaths, currentProject.getTestCompileSourceRoots() );
+<a name="1566" href="#1566">1566</a>         <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;StringBuilder, List&lt;?&gt;&gt; entry : map.entrySet() )
+<a name="1567" href="#1567">1567</a>         {
+<a name="1568" href="#1568">1568</a>             List&lt;?&gt; compileSourceRoots = entry.getValue();
+<a name="1569" href="#1569">1569</a>             <strong class="jxr_keyword">if</strong> ( compileSourceRoots != <strong class="jxr_keyword">null</strong> )
+<a name="1570" href="#1570">1570</a>             {
+<a name="1571" href="#1571">1571</a>                 StringBuilder sourcePaths = entry.getKey();
+<a name="1572" href="#1572">1572</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = compileSourceRoots.iterator(); i.hasNext(); )
+<a name="1573" href="#1573">1573</a>                 {
+<a name="1574" href="#1574">1574</a>                     <strong class="jxr_keyword">if</strong> ( sourcePaths.length() &gt; 0 )
+<a name="1575" href="#1575">1575</a>                     {
+<a name="1576" href="#1576">1576</a>                         sourcePaths.append( ',' );
+<a name="1577" href="#1577">1577</a>                     }
+<a name="1578" href="#1578">1578</a>                     sourcePaths.append( ( String ) i.next() );
+<a name="1579" href="#1579">1579</a>                 }
+<a name="1580" href="#1580">1580</a>             }
+<a name="1581" href="#1581">1581</a>         }
+<a name="1582" href="#1582">1582</a>         <strong class="jxr_keyword">final</strong> String sourcePath = analyzer.getProperty( Analyzer.SOURCEPATH );
+<a name="1583" href="#1583">1583</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
+<a name="1584" href="#1584">1584</a>         {
+<a name="1585" href="#1585">1585</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.contains(MAVEN_SOURCES) || sourcePath.contains(MAVEN_TEST_RESOURCES) )
+<a name="1586" href="#1586">1586</a>             {
+<a name="1587" href="#1587">1587</a>                 String combinedSource = StringUtils.replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
+<a name="1588" href="#1588">1588</a>                 combinedSource = StringUtils.replace( combinedSource, MAVEN_TEST_SOURCES, mavenTestSourcePaths.toString() );
+<a name="1589" href="#1589">1589</a>                 <strong class="jxr_keyword">if</strong> ( combinedSource.length() &gt; 0 )
+<a name="1590" href="#1590">1590</a>                 {
+<a name="1591" href="#1591">1591</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
+<a name="1592" href="#1592">1592</a>                 }
+<a name="1593" href="#1593">1593</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1594" href="#1594">1594</a>                 {
+<a name="1595" href="#1595">1595</a>                     analyzer.unsetProperty( Analyzer.SOURCEPATH );
+<a name="1596" href="#1596">1596</a>                 }
+<a name="1597" href="#1597">1597</a>             }
+<a name="1598" href="#1598">1598</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1599" href="#1599">1599</a>             {
+<a name="1600" href="#1600">1600</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
+<a name="1601" href="#1601">1601</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
+<a name="1602" href="#1602">1602</a>             }
+<a name="1603" href="#1603">1603</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenTestSourcePaths.length() &gt; 0 )
+<a name="1604" href="#1604">1604</a>             {
+<a name="1605" href="#1605">1605</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenTestSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
+<a name="1606" href="#1606">1606</a>                         + MAVEN_TEST_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
+<a name="1607" href="#1607">1607</a>             }
+<a name="1608" href="#1608">1608</a>         }
+<a name="1609" href="#1609">1609</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1610" href="#1610">1610</a>         {
+<a name="1611" href="#1611">1611</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
+<a name="1612" href="#1612">1612</a>         }
+<a name="1613" href="#1613">1613</a>     }
+<a name="1614" href="#1614">1614</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/VersionCleanerPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/VersionCleanerPlugin.html
index 682be62..4ddc8f9 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/VersionCleanerPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/VersionCleanerPlugin.html
@@ -41,55 +41,57 @@
 <a name="31" href="#31">31</a>  
 <a name="32" href="#32">32</a>  
 <a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * @goal cleanVersions</em>
-<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * @description clean OSGi versions</em>
-<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/VersionCleanerPlugin.html">VersionCleanerPlugin</a> <strong class="jxr_keyword">extends</strong> AbstractMojo
-<a name="39" href="#39">39</a>  {
-<a name="40" href="#40">40</a>  
-<a name="41" href="#41">41</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
-<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="46" href="#46">46</a>      <strong class="jxr_keyword">private</strong> Map versions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="47" href="#47">47</a>  
-<a name="48" href="#48">48</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     * The Maven project.</em>
-<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
-<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     * @required</em>
-<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> MavenProject project;
-<a name="56" href="#56">56</a>  
-<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> Maven2OsgiConverter maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
+<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * Convert a group of versions to OSGi format.</em>
+<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> *</em>
+<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * @goal cleanVersions</em>
+<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * @description clean OSGi versions</em>
+<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
+<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/VersionCleanerPlugin.html">VersionCleanerPlugin</a> <strong class="jxr_keyword">extends</strong> AbstractMojo
+<a name="41" href="#41">41</a>  {
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
+<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="48" href="#48">48</a>      <strong class="jxr_keyword">private</strong> Map versions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">     * The Maven project.</em>
+<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
+<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     * @required</em>
+<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> MavenProject project;
 <a name="58" href="#58">58</a>  
-<a name="59" href="#59">59</a>  
-<a name="60" href="#60">60</a>      <strong class="jxr_keyword">public</strong> Maven2OsgiConverter getMaven2OsgiConverter()
-<a name="61" href="#61">61</a>      {
-<a name="62" href="#62">62</a>          <strong class="jxr_keyword">return</strong> maven2OsgiConverter;
-<a name="63" href="#63">63</a>      }
-<a name="64" href="#64">64</a>  
-<a name="65" href="#65">65</a>  
-<a name="66" href="#66">66</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
-<a name="67" href="#67">67</a>      {
-<a name="68" href="#68">68</a>          <strong class="jxr_keyword">this</strong>.maven2OsgiConverter = maven2OsgiConverter;
-<a name="69" href="#69">69</a>      }
-<a name="70" href="#70">70</a>  
-<a name="71" href="#71">71</a>  
-<a name="72" href="#72">72</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException
-<a name="73" href="#73">73</a>      {
-<a name="74" href="#74">74</a>          <strong class="jxr_keyword">for</strong> ( Object key : versions.keySet() )
-<a name="75" href="#75">75</a>          {
-<a name="76" href="#76">76</a>              String name = ( String ) key;
-<a name="77" href="#77">77</a>              String version = ( String ) versions.get( key );
-<a name="78" href="#78">78</a>              String osgi = maven2OsgiConverter.getVersion( version );
-<a name="79" href="#79">79</a>              project.getProperties().put( name, osgi );
-<a name="80" href="#80">80</a>          }
-<a name="81" href="#81">81</a>      }
-<a name="82" href="#82">82</a>  }
+<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> Maven2OsgiConverter maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong class="jxr_keyword">public</strong> Maven2OsgiConverter getMaven2OsgiConverter()
+<a name="63" href="#63">63</a>      {
+<a name="64" href="#64">64</a>          <strong class="jxr_keyword">return</strong> maven2OsgiConverter;
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
+<a name="69" href="#69">69</a>      {
+<a name="70" href="#70">70</a>          <strong class="jxr_keyword">this</strong>.maven2OsgiConverter = maven2OsgiConverter;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException
+<a name="75" href="#75">75</a>      {
+<a name="76" href="#76">76</a>          <strong class="jxr_keyword">for</strong> ( Object key : versions.keySet() )
+<a name="77" href="#77">77</a>          {
+<a name="78" href="#78">78</a>              String name = ( String ) key;
+<a name="79" href="#79">79</a>              String version = ( String ) versions.get( key );
+<a name="80" href="#80">80</a>              String osgi = maven2OsgiConverter.getVersion( version );
+<a name="81" href="#81">81</a>              project.getProperties().put( name, osgi );
+<a name="82" href="#82">82</a>          }
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/WrapPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/WrapPlugin.html
index 9fccd57..d358002 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/WrapPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/WrapPlugin.html
@@ -33,25 +33,27 @@
 <a name="23" href="#23">23</a>  
 <a name="24" href="#24">24</a>  
 <a name="25" href="#25">25</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * @goal wrap</em>
-<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> * @phase package</em>
-<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar for direct dependencies</em>
-<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * @deprecated The wrap goal is no longer supported and may be removed in a future release</em>
-<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="32" href="#32">32</a>  @Deprecated
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/WrapPlugin.html">WrapPlugin</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/BundleAllPlugin.html">BundleAllPlugin</a>
-<a name="34" href="#34">34</a>  {
-<a name="35" href="#35">35</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="36" href="#36">36</a>      {
-<a name="37" href="#37">37</a>          getLog().warn( <span class="jxr_string">"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"</span> );
-<a name="38" href="#38">38</a>          getLog().warn( <span class="jxr_string">"! The wrap goal is no longer supported and may be removed in a future release !"</span> );
+<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * Create OSGi bundles from the direct dependencies of the Maven project.</em>
+<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> *</em>
+<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * @goal wrap</em>
+<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * @phase package</em>
+<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
+<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar for direct dependencies</em>
+<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * @deprecated The wrap goal is no longer supported and may be removed in a future release</em>
+<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="34" href="#34">34</a>  @Deprecated
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/WrapPlugin.html">WrapPlugin</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/BundleAllPlugin.html">BundleAllPlugin</a>
+<a name="36" href="#36">36</a>  {
+<a name="37" href="#37">37</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="38" href="#38">38</a>      {
 <a name="39" href="#39">39</a>          getLog().warn( <span class="jxr_string">"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"</span> );
-<a name="40" href="#40">40</a>  
-<a name="41" href="#41">41</a>          <a href="../../../../org/apache/felix/bundleplugin/BundleInfo.html">BundleInfo</a> bundleInfo = bundleAll( getProject(), 1 );
-<a name="42" href="#42">42</a>          logDuplicatedPackages( bundleInfo );
-<a name="43" href="#43">43</a>      }
-<a name="44" href="#44">44</a>  }
+<a name="40" href="#40">40</a>          getLog().warn( <span class="jxr_string">"! The wrap goal is no longer supported and may be removed in a future release !"</span> );
+<a name="41" href="#41">41</a>          getLog().warn( <span class="jxr_string">"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"</span> );
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          <a href="../../../../org/apache/felix/bundleplugin/BundleInfo.html">BundleInfo</a> bundleInfo = bundleAll( getProject(), 1 );
+<a name="44" href="#44">44</a>          logDuplicatedPackages( bundleInfo );
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
index bd29bc6..7c4145b 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
@@ -226,6 +226,8 @@
     private MavenSession m_mavenSession;
 
     /**
+     * Output a nicely formatted manifest that still respects the 72 character line limit.
+     *
      * @parameter
      */
     private boolean niceManifest = false;
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java
index 22e9024..05e7c0d 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java
@@ -31,6 +31,8 @@
 
 
 /**
+ * Convert a group of versions to OSGi format.
+ *
  * @goal cleanVersions
  * @description clean OSGi versions
  * @threadSafe
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
index fe4829a..44975a3 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
@@ -23,6 +23,8 @@
 
 
 /**
+ * Create OSGi bundles from the direct dependencies of the Maven project.
+ *
  * @goal wrap
  * @phase package
  * @requiresDependencyResolution test
