Add missing descriptions
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1604145 13f79535-47bb-0310-9956-ffa450edef68
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 "Java 5" 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 "Java 5" 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">"\\p{Blank}*[\r\n]\\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 ) && 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 ) && 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">"\\p{Blank}*[\r\n]\\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 ) && 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 ) && 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 && classifier.trim().length() > 0;
-<a name="400" href="#400">400</a> <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging && packaging.trim().length() > 0;
-<a name="401" href="#401">401</a>
-<a name="402" href="#402">402</a> <strong class="jxr_keyword">if</strong> ( customClassifier && 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> && 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<String> plugin = <strong class="jxr_keyword">new</strong> LinkedHashSet<String>();
-<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() > 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<?> ) 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 < 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 && classifier.trim().length() > 0;
+<a name="402" href="#402">402</a> <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging && packaging.trim().length() > 0;
+<a name="403" href="#403">403</a>
+<a name="404" href="#404">404</a> <strong class="jxr_keyword">if</strong> ( customClassifier && 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> && 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<String> plugin = <strong class="jxr_keyword">new</strong> LinkedHashSet<String>();
+<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() > 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<?> ) 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 < 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:\\"</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">",\\"</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() > 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() > 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() > 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:\\"</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">",\\"</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() > 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() > 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() > 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 && 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 && 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() && !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() && !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 < 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<String, ? <strong class="jxr_keyword">extends</strong> Map<String, String>> 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<String, ? <strong class="jxr_keyword">extends</strong> Map<String, String>> 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<String, String> options = entry.getValue();
-<a name="834" href="#834">834</a> <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) && 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 < 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<String, ? <strong class="jxr_keyword">extends</strong> Map<String, String>> 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<String, ? <strong class="jxr_keyword">extends</strong> Map<String, String>> 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<String, String> options = entry.getValue();
+<a name="836" href="#836">836</a> <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) && 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 < 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() > 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 < 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> && 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 && ( ( 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 && classifier.trim().length() > 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() > 0 && !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 < 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() > 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 < 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> && 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 && ( ( 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 && classifier.trim().length() > 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() > 0 && !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> && 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 < 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> && 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 < 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 ) >= 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 ) >= 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 < 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() && ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) < 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> && !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> && !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 ) >= 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 ) >= 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 < 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() && ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) < 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> && !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> && !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<StringBuilder, List<?>> map = <strong class="jxr_keyword">new</strong> HashMap<StringBuilder, List<?>>(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<StringBuilder, List<?>> entry : map.entrySet() )
-<a name="1565" href="#1565">1565</a> {
-<a name="1566" href="#1566">1566</a> List<?> 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() > 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() > 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() > 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() > 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() > 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<StringBuilder, List<?>> map = <strong class="jxr_keyword">new</strong> HashMap<StringBuilder, List<?>>(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<StringBuilder, List<?>> entry : map.entrySet() )
+<a name="1567" href="#1567">1567</a> {
+<a name="1568" href="#1568">1568</a> List<?> 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() > 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() > 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() > 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() > 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() > 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>