diff --git a/bundleplugin/doc/site/ant-mojo.html b/bundleplugin/doc/site/ant-mojo.html
index e0cd685..094887d 100644
--- a/bundleplugin/doc/site/ant-mojo.html
+++ b/bundleplugin/doc/site/ant-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:ant<a name="bundle:ant"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:ant</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:ant</p>
       <p><b>Description</b>:</p>
       <div>Generate Ant script to create the bundle (you should run ant:ant
 first).</div>
@@ -175,19 +175,25 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#niceManifest">niceManifest</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
 Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
             <td><tt>List</tt></td>
             <td><tt>-</tt></td>
             <td>Project types which this plugin supports.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
@@ -251,6 +257,11 @@
           <li><b>Required</b>: <tt>No</tt></li>
           <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>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
@@ -285,7 +296,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/bundle-mojo.html b/bundleplugin/doc/site/bundle-mojo.html
index ea4b148..e597c9b 100644
--- a/bundleplugin/doc/site/bundle-mojo.html
+++ b/bundleplugin/doc/site/bundle-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:bundle<a name="bundle:bundle"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:bundle</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:bundle</p>
       <p><b>Description</b>:</p>
       <div>Create an OSGi bundle from Maven project</div>
       <p><b>Attributes</b>:</p>
@@ -174,19 +174,25 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#niceManifest">niceManifest</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
 Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
             <td><tt>List</tt></td>
             <td><tt>-</tt></td>
             <td>Project types which this plugin supports.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
@@ -250,6 +256,11 @@
           <li><b>Required</b>: <tt>No</tt></li>
           <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>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
@@ -284,7 +295,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/bundleall-mojo.html b/bundleplugin/doc/site/bundleall-mojo.html
index 68d522b..3ded7ab 100644
--- a/bundleplugin/doc/site/bundleall-mojo.html
+++ b/bundleplugin/doc/site/bundleall-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:bundleall<a name="bundle:bundleall"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:bundleall</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:bundleall</p>
       <p><b>This plugin goal has been deprecated</b>:</p>
       <div>The bundleall goal is no longer supported and may be removed in a
 future release</div>
@@ -190,32 +190,38 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#niceManifest">niceManifest</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
 Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#rebuildBundle">rebuildBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>When true, generate the manifest by rebuilding the full bundle in
 memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
             <td><tt>List</tt></td>
             <td><tt>-</tt></td>
             <td>Project types which this plugin supports.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#wrapImportPackage">wrapImportPackage</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
@@ -290,6 +296,11 @@
           <li><b>Required</b>: <tt>No</tt></li>
           <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>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
@@ -338,7 +349,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/clean-mojo.html b/bundleplugin/doc/site/clean-mojo.html
index 362037c..1358dc8 100644
--- a/bundleplugin/doc/site/clean-mojo.html
+++ b/bundleplugin/doc/site/clean-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:clean<a name="bundle:clean"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:clean</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:clean</p>
       <p><b>Description</b>:</p>
       <div>Clean an OBR repository by finding and removing missing resources.</div>
       <p><b>Attributes</b>:</p>
@@ -123,7 +123,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/cleanVersions-mojo.html b/bundleplugin/doc/site/cleanVersions-mojo.html
index 242d1ca..39f8782 100644
--- a/bundleplugin/doc/site/cleanVersions-mojo.html
+++ b/bundleplugin/doc/site/cleanVersions-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:cleanVersions<a name="bundle:cleanVersions"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:cleanVersions</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:cleanVersions</p>
       <p><b>Description</b>:</p>
       <div>(no description)</div>
       <p><b>Attributes</b>:</p>
@@ -123,7 +123,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/dependencies.html b/bundleplugin/doc/site/dependencies.html
index f59497b..aa607a5 100644
--- a/bundleplugin/doc/site/dependencies.html
+++ b/bundleplugin/doc/site/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -100,7 +100,7 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <a name="Project_Dependencies"></a><div class="section"><h2>Project Dependencies<a name="Project_Dependencies"></a></h2><a name="Project_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>biz.aQute.bnd</td><td><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">bndlib</a></td><td>2.1.0</td><td>jar</td><td><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></td></tr><tr class="a"><td>org.apache.felix</td><td><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">org.apache.felix.bundlerepository</a></td><td>1.6.6</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">maven-archiver</a></td><td>2.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-core">maven-core</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.shared</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">maven-dependency-tree</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">plexus-utils</a></td><td>3.0.10</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div><a name="Project_Dependencies_test"></a><div class="section"><h3>test<a name="test"></a></h3><p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>junit</td><td><a class="externalLink" href="http://junit.org">junit</a></td><td>4.0</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.apache.maven.shared</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">maven-plugin-testing-harness</a></td><td>1.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.easymock</td><td><a class="externalLink" href="http://www.easymock.org">easymock</a></td><td>2.4</td><td>jar</td><td><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></td></tr><tr class="a"><td>org.mockito</td><td><a class="externalLink" href="http://www.mockito.org">mockito-all</a></td><td>1.7</td><td>jar</td><td><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></td></tr></table></div></div><a name="Project_Transitive_Dependencies"></a><div class="section"><h2>Project Transitive Dependencies<a name="Project_Transitive_Dependencies"></a></h2><p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p><a name="Project_Transitive_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>classworlds</td><td><a class="externalLink" href="http://classworlds.codehaus.org/">classworlds</a></td><td>1.1</td><td>jar</td><td>-</td></tr><tr class="a"><td>commons-cli</td><td>commons-cli</td><td>1.0</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-artifact">maven-artifact</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">maven-artifact-manager</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-error-diagnostics">maven-error-diagnostics</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-model">maven-model</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-monitor">maven-monitor</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">maven-plugin-api</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">maven-plugin-descriptor</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">maven-plugin-parameter-documenter</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">maven-plugin-registry</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-profile">maven-profile</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-project">maven-project</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">maven-repository-metadata</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-settings">maven-settings</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sink-api">doxia-sink-api</a></td><td>1.0-alpha-7</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.apache.maven.reporting</td><td><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">maven-reporting-api</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">wagon-provider-api</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://forge.sonatype.com/spice-parent/plexus-archiver/">plexus-archiver</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">plexus-component-annotations</a></td><td>1.5.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td>plexus-container-default</td><td>1.0-alpha-9-stable-1</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.codehaus.plexus</td><td>plexus-interactivity-api</td><td>1.0-alpha-4</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-interpolation/">plexus-interpolation</a></td><td>1.15</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">plexus-io</a></td><td>2.0.2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.eclipse.aether</td><td><a class="externalLink" href="http://www.eclipse.org/aether/aether-util/">aether-util</a></td><td>0.9.0.M2</td><td>jar</td><td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License, Version 1.0</a></td></tr><tr class="a"><td>org.osgi</td><td>org.osgi.core</td><td>4.2.0</td><td>jar</td><td>-</td></tr></table></div><a name="Project_Transitive_Dependencies_runtime"></a><div class="section"><h3>runtime<a name="runtime"></a></h3><p>The following is a list of runtime dependencies for this project. These dependencies are required to run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>com.jcraft</td><td><a class="externalLink" href="http://www.jcraft.com/jsch/">jsch</a></td><td>0.1.27</td><td>jar</td><td><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></td></tr><tr class="a"><td>jtidy</td><td><a class="externalLink" href="http://jtidy.sourceforge.net">jtidy</a></td><td>4aug2000r7-dev</td><td>jar</td><td><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">wagon-file</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">wagon-http-lightweight</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">wagon-http-shared</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">wagon-ssh</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">wagon-ssh-common</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">wagon-ssh-external</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>xml-apis</td><td><a class="externalLink" href="http://xml.apache.org/commons/#external">xml-apis</a></td><td>1.0.b2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div></div><a name="Project_Dependency_Graph"></a><div class="section"><h2>Project Dependency Graph<a name="Project_Dependency_Graph"></a></h2><script language="javascript" type="text/javascript">
+        <a name="Project_Dependencies"></a><div class="section"><h2>Project Dependencies<a name="Project_Dependencies"></a></h2><a name="Project_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>biz.aQute.bnd</td><td><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">bndlib</a></td><td>2.3.0</td><td>jar</td><td><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></td></tr><tr class="a"><td>org.apache.felix</td><td><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">org.apache.felix.bundlerepository</a></td><td>1.6.6</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.felix</td><td><a class="externalLink" href="http://felix.apache.org/org.apache.felix.utils/">org.apache.felix.utils</a></td><td>1.6.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">maven-archiver</a></td><td>2.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-core">maven-core</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-sink-api">doxia-sink-api</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer">doxia-site-renderer</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.shared</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">maven-dependency-tree</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">plexus-utils</a></td><td>3.0.10</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div><a name="Project_Dependencies_test"></a><div class="section"><h3>test<a name="test"></a></h3><p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>junit</td><td><a class="externalLink" href="http://junit.org">junit</a></td><td>4.0</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.apache.maven.shared</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">maven-plugin-testing-harness</a></td><td>1.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.easymock</td><td><a class="externalLink" href="http://www.easymock.org">easymock</a></td><td>2.4</td><td>jar</td><td><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></td></tr><tr class="a"><td>org.mockito</td><td><a class="externalLink" href="http://www.mockito.org">mockito-all</a></td><td>1.7</td><td>jar</td><td><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></td></tr></table></div></div><a name="Project_Transitive_Dependencies"></a><div class="section"><h2>Project Transitive Dependencies<a name="Project_Transitive_Dependencies"></a></h2><p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p><a name="Project_Transitive_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>classworlds</td><td><a class="externalLink" href="http://classworlds.codehaus.org/">classworlds</a></td><td>1.1</td><td>jar</td><td>-</td></tr><tr class="a"><td>commons-cli</td><td>commons-cli</td><td>1.0</td><td>jar</td><td>-</td></tr><tr class="b"><td>commons-collections</td><td><a class="externalLink" href="http://jakarta.apache.org/commons/collections/">commons-collections</a></td><td>3.2</td><td>jar</td><td>/LICENSE.txt</td></tr><tr class="a"><td>commons-lang</td><td>commons-lang</td><td>2.1</td><td>jar</td><td>/LICENSE.txt</td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-artifact">maven-artifact</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">maven-artifact-manager</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-error-diagnostics">maven-error-diagnostics</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-model">maven-model</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-monitor">maven-monitor</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">maven-plugin-api</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">maven-plugin-descriptor</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">maven-plugin-parameter-documenter</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">maven-plugin-registry</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-profile">maven-profile</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-project">maven-project</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">maven-repository-metadata</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-settings">maven-settings</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-core">doxia-core</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model">doxia-decoration-model</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-apt">doxia-module-apt</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-fml">doxia-module-fml</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xdoc">doxia-module-xdoc</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml">doxia-module-xhtml</a></td><td>1.0</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.reporting</td><td><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">maven-reporting-api</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">wagon-provider-api</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.velocity</td><td><a class="externalLink" href="http://velocity.apache.org/engine/releases/velocity-1.5/">velocity</a></td><td>1.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://forge.sonatype.com/spice-parent/plexus-archiver/">plexus-archiver</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">plexus-component-annotations</a></td><td>1.5.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td>plexus-container-default</td><td>1.0-alpha-9-stable-1</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-i18n">plexus-i18n</a></td><td>1.0-beta-7</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.codehaus.plexus</td><td>plexus-interactivity-api</td><td>1.0-alpha-4</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-interpolation/">plexus-interpolation</a></td><td>1.15</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">plexus-io</a></td><td>2.0.2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-velocity">plexus-velocity</a></td><td>1.1.7</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.eclipse.aether</td><td><a class="externalLink" href="http://www.eclipse.org/aether/aether-util/">aether-util</a></td><td>0.9.0.M2</td><td>jar</td><td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License, Version 1.0</a></td></tr><tr class="a"><td>org.osgi</td><td>org.osgi.compendium</td><td>4.2.0</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.osgi</td><td><a class="externalLink" href="http://www.osgi.org">org.osgi.core</a></td><td>4.3.1</td><td>jar</td><td><a class="externalLink" href="http://opensource.org/licenses/apache2.0.php">Apache License, Version 2.0</a></td></tr><tr class="a"><td>oro</td><td>oro</td><td>2.0.8</td><td>jar</td><td>-</td></tr></table></div><a name="Project_Transitive_Dependencies_runtime"></a><div class="section"><h3>runtime<a name="runtime"></a></h3><p>The following is a list of runtime dependencies for this project. These dependencies are required to run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>com.jcraft</td><td><a class="externalLink" href="http://www.jcraft.com/jsch/">jsch</a></td><td>0.1.27</td><td>jar</td><td><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></td></tr><tr class="a"><td>jtidy</td><td><a class="externalLink" href="http://jtidy.sourceforge.net">jtidy</a></td><td>4aug2000r7-dev</td><td>jar</td><td><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">wagon-file</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">wagon-http-lightweight</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">wagon-http-shared</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">wagon-ssh</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">wagon-ssh-common</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">wagon-ssh-external</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>xml-apis</td><td><a class="externalLink" href="http://xml.apache.org/commons/#external">xml-apis</a></td><td>1.0.b2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div></div><a name="Project_Dependency_Graph"></a><div class="section"><h2>Project Dependency Graph<a name="Project_Dependency_Graph"></a></h2><script language="javascript" type="text/javascript">
       function toggleDependencyDetail( divId, imgId )
       {
         var div = document.getElementById( divId );
@@ -117,30 +117,33 @@
         }
       }
 </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.4.0-SNAPSHOT <img id="_1397986861" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1805994600', '_1397986861' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1805994600" 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="_468888161" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1186070023', '_468888161' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1186070023" 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.1.0 (compile) <img id="_2124682751" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_847411179', '_2124682751' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_847411179" 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.2.0 (compile) <img id="_2109964013" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_668099104', '_2109964013' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_668099104" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>org.osgi.core</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.felix:org.apache.felix.bundlerepository:jar:1.6.6 (compile) <img id="_94356821" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_632718946', '_94356821' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_632718946" 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="_1940029524" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_592154419', '_1940029524' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_592154419" 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.maven:maven-core:jar:2.0.7 (compile) <img id="_1683025293" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1134722863', '_1683025293' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1134722863" 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="_438774694" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1905589642', '_438774694' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1905589642" 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="_334440622" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_215079650', '_334440622' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_215079650" 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="_1490673062" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_584696363', '_1490673062' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_584696363" 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="_2034259857" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_960942714', '_2034259857' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_960942714" 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="_751648567" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2002738904', '_751648567' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2002738904" 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="_551855458" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1523259723', '_551855458' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1523259723" 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="_100665092" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1820696432', '_100665092' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1820696432" 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="_1201806375" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1886945575', '_1201806375' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1886945575" 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="_549454036" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1003337356', '_549454036' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1003337356" 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="_2052525479" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1049928328', '_2052525479' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1049928328" 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="_88799330" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1100520037', '_88799330' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1100520037" 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="_699450177" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1055808636', '_699450177' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1055808636" 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="_166168944" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1383521807', '_166168944' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1383521807" 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="_1628526364" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_340116283', '_1628526364' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_340116283" 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="_1801102561" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_363437395', '_1801102561' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_363437395" 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="_545809774" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_221317176', '_545809774' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_221317176" 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="_1033984187" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1908155821', '_1033984187' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1908155821" 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="_1419665350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_744251585', '_1419665350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_744251585" 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="_2113561769" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_839113415', '_2113561769' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_839113415" 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="_610013260" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1901815474', '_610013260' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1901815474" 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="_1014150685" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1668043405', '_1014150685' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1668043405" 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="_83608398" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_739791519', '_83608398' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_739791519" 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="_1130055143" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1902660911', '_1130055143' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1902660911" 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="_1227084972" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1349256119', '_1227084972' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1349256119" 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="_650290750" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_606080213', '_650290750' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_606080213" 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="_315211990" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_221634725', '_315211990' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_221634725" 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="_1777759039" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_57228163', '_1777759039' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_57228163" 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="_1009698489" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1989549429', '_1009698489' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1989549429" 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="_433529003" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_953886916', '_433529003' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_953886916" 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="_468702455" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1364237050', '_468702455' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1364237050" 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="_519383332" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1772261234', '_519383332' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1772261234" 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="_529014059" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_569551080', '_529014059' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_569551080" 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="_1772316360" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1388774862', '_1772316360' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1388774862" 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><ul><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7 (compile) <img id="_641191930" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_98375116', '_641191930' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_98375116" 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>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia-sink-api</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-profile:jar:2.0.7 (compile) <img id="_109130331" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_848901081', '_109130331' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_848901081" 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="_1715773496" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_956971846', '_1715773496' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_956971846" 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="_987908459" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_445274435', '_987908459' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_445274435" 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="_474684270" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_982672932', '_474684270' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_982672932" 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="_977607974" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1493891743', '_977607974' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1493891743" 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="_1861544789" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1045378624', '_1861544789' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1045378624" 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="_2022442350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_607803463', '_2022442350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_607803463" 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="_289211267" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_754431638', '_289211267' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_754431638" 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="_1294916163" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_903647721', '_1294916163' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_903647721" 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="_1072421631" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1679607629', '_1072421631' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1679607629" 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="_785394586" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_439955551', '_785394586' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_439955551" 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="_975999339" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1285268786', '_975999339' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1285268786" 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="_748488694" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1984470414', '_748488694' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1984470414" 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="_1931355509" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_923434252', '_1931355509' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_923434252" 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="_720562550" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_116660931', '_720562550' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_116660931" 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="_1205320307" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1058046394', '_1205320307' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1058046394" 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="_1401780027" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_967352452', '_1401780027' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_967352452" 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="_861289961" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1063486742', '_861289961' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1063486742" 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="_918434445" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1336520931', '_918434445' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1336520931" 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="_763005588" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1399183699', '_763005588' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1399183699" 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="_280312999" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_12857215', '_280312999' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_12857215" 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="_547758798" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2027560698', '_547758798' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2027560698" 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="_788307588" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_922933610', '_788307588' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_922933610" 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="_636979154" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1680914308', '_636979154' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1680914308" 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="_111383492" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2086624771', '_111383492' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2086624771" 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="_106830425" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1474420893', '_106830425' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1474420893" 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="_1040994606" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_571778001', '_1040994606' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_571778001" 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="_2010589502" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_855959801', '_2010589502' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_855959801" 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="_1994257972" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_215061597', '_1994257972' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_215061597" 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="_2112712797" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2025902409', '_2112712797' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2025902409" 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="_129665817" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_287216192', '_129665817' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_287216192" 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="_1309747463" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1717459715', '_1309747463' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1717459715" 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="_511012210" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_144765269', '_511012210' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_144765269" 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="_1038786791" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_567712461', '_1038786791' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_567712461" 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="_406929046" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_558736528', '_406929046' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_558736528" 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="_534935740" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1005487344', '_534935740' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1005487344" 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="_437989524" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1188674071', '_437989524' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1188674071" 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="_1866475396" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1189911030', '_1866475396' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1189911030" 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="_686055756" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_383736426', '_686055756' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_383736426" 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="_100314459" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1606420123', '_100314459' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1606420123" 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="_1137691367" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1750993047', '_1137691367' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1750993047" 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="_176763988" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1515360673', '_176763988' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1515360673" 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="_1408596894" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1480603461', '_1408596894' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1480603461" 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="_546753716" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_779483732', '_546753716' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_779483732" 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="_515667552" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_478822775', '_515667552' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_478822775" 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="_1518286694" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1398421450', '_1518286694' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1398421450" 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="_767356445" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1688915920', '_767356445' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1688915920" 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="_1302256484" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_26275337', '_1302256484' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_26275337" 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="_2143717685" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_262811505', '_2143717685' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_262811505" 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="_800460267" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_824416429', '_800460267' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_824416429" 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="_1473309558" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1743055212', '_1473309558' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1743055212" 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="_792179736" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1070293779', '_792179736' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1070293779" 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="_463542555" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1461965533', '_463542555' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1461965533" 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="_1174506872" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2090988565', '_1174506872' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2090988565" 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="_605294658" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_813229160', '_605294658' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_813229160" 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="_917225200" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_365528086', '_917225200' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_365528086" 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="_1054512350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1381700762', '_1054512350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1381700762" 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="_1189039070" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1771473860', '_1189039070' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1771473860" 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="_1852268376" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1433456792', '_1852268376' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1433456792" 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="_1094491898" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1527098318', '_1094491898' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1527098318" 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="_403584273" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_749195466', '_403584273' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_749195466" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus :: Component Annotations</th></tr><tr class="b"><td><p><b>Description: </b>Plexus Component &quot;Java 5&quot; Annotations, to describe plexus components properties in java sources with
-    standard annotations instead of javadoc annotations.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.eclipse.aether:aether-util:jar:0.9.0.M2 (compile) <img id="_92082153" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1778626355', '_92082153' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1778626355" 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="_2088751962" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_693282372', '_2088751962' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_693282372" 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.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_592109468" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_177848473', '_592109468' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_177848473" 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="_1762745603" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1905810110', '_1762745603' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1905810110" 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="_1359855971" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1826351610', '_1359855971' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1826351610" 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="_229181996" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_778292674', '_229181996' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_778292674" 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, Doxia Sink API, Plexus Default Interactivity Handler, classworlds, junit, org.osgi.core</p><p><b>BSD: </b>JSch</p><p><b>Apache License, Version 2.0: </b>Plexus Archiver Component</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, 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.1.0.jar</td><td>1.32 MB</td><td>1,111</td><td>462</td><td>79</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>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>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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><td>doxia-sink-api-1.0-alpha-7.jar</td><td>5.80 kB</td><td>19</td><td>3</td><td>2</td><td>1.1</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>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="b"><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="a"><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="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>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="a"><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="b"><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="a"><td>org.osgi.core-4.2.0.jar</td><td>241.14 kB</td><td>180</td><td>68</td><td>8</td><td>1.2</td><td>debug</td></tr><tr class="b"><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="a"><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="b"><td>45</td><td>5.03 MB</td><td>4,687</td><td>2,755</td><td>356</td><td>1.5</td><td>41</td></tr><tr class="a"><td>compile: 32</td><td>compile: 3.46 MB</td><td>compile: 3,032</td><td>compile: 1,684</td><td>compile: 260</td><td>-</td><td>compile: 31</td></tr><tr class="b"><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="a"><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>nexus</td><td><a class="externalLink" href="https://repository.sonatype.org/content/groups/sonatype-grid">https://repository.sonatype.org/content/groups/sonatype-grid</a></td><td>Yes</td><td>-</td><td>Yes</td></tr></table><p>Repository locations for each of the Dependencies.</p><table border="0" class="bodyTable"><tr class="a"><th>Artifact</th></tr><tr class="b"><td>biz.aQute.bnd:bndlib:jar:2.1.0</td></tr><tr class="a"><td>classworlds:classworlds:jar:1.1</td></tr><tr class="b"><td>com.jcraft:jsch:jar:0.1.27</td></tr><tr class="a"><td>commons-cli:commons-cli:jar:1.0</td></tr><tr class="b"><td>jtidy:jtidy:jar:4aug2000r7-dev</td></tr><tr class="a"><td>junit:junit:jar:4.0</td></tr><tr class="b"><td>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6</td></tr><tr class="a"><td>org.apache.maven:maven-archiver:jar:2.5</td></tr><tr class="b"><td>org.apache.maven:maven-artifact:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-core:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-model:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-monitor:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-profile:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-project:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-settings:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7</td></tr><tr class="a"><td>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven.shared:maven-dependency-tree:jar:2.1</td></tr><tr class="a"><td>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-archiver:jar:2.1</td></tr><tr class="b"><td>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1</td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interpolation:jar:1.15</td></tr><tr class="b"><td>org.codehaus.plexus:plexus-io:jar:2.0.2</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-utils:jar:3.0.10</td></tr><tr class="b"><td>org.easymock:easymock:jar:2.4</td></tr><tr class="a"><td>org.eclipse.aether:aether-util:jar:0.9.0.M2</td></tr><tr class="b"><td>org.mockito:mockito-all:jar:1.7</td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.2.0</td></tr><tr class="b"><td>xml-apis:xml-apis:jar:1.0.b2</td></tr><tr class="a"><th>Total</th></tr><tr class="b"><td>45 (compile: 32, test: 4, runtime: 9)</td></tr></table></div>
+    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="_1622432996" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2092270828', '_1622432996' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2092270828" 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="_749210340" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_957646515', '_749210340' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_957646515" 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="_1206179427" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_637063626', '_1206179427' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_637063626" 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="_1240992389" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1420224444', '_1240992389' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1420224444" 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="_1968417118" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1078801677', '_1968417118' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1078801677" 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="_582857903" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_655170498', '_582857903' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_655170498" 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="_1671764436" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1168586984', '_1671764436' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1168586984" 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="_640714070" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1558621462', '_640714070' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1558621462" 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="_439075107" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1631011993', '_439075107' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1631011993" 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="_820694245" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1471036201', '_820694245' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1471036201" 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="_1059396336" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_783209472', '_1059396336' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_783209472" 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="_239894" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_199707925', '_239894' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_199707925" 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="_1673834096" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2098689918', '_1673834096' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2098689918" 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="_744369504" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1326697959', '_744369504' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1326697959" 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="_566180117" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1025182909', '_566180117' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1025182909" 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="_1732484403" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1761085280', '_1732484403' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1761085280" 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="_853941763" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1381826986', '_853941763' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1381826986" 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="_1343036283" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_578461880', '_1343036283' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_578461880" 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="_2099115097" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1816140563', '_2099115097' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1816140563" 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="_1788010157" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2124957760', '_1788010157' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2124957760" 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="_1726782870" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1909313631', '_1726782870' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1909313631" 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="_42332711" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1042311657', '_42332711' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1042311657" 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="_1187373069" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2132475905', '_1187373069' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2132475905" 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="_540931086" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1830575374', '_540931086' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1830575374" 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="_95467561" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1698975666', '_95467561' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1698975666" 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="_257044910" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_172152193', '_257044910' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_172152193" 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="_737532725" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_732627698', '_737532725' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_732627698" 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="_1662017839" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_187452912', '_1662017839' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_187452912" 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="_2060264653" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1070102118', '_2060264653' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1070102118" 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="_1960085185" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1658187565', '_1960085185' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1658187565" 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="_34107799" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_148268570', '_34107799' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_148268570" 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="_625455826" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_498877233', '_625455826' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_498877233" 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="_1763980587" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_253177966', '_1763980587' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_253177966" 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="_900010540" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_605266952', '_900010540' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_605266952" 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="_723424942" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1377801134', '_723424942' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1377801134" 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="_1112752984" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_185922477', '_1112752984' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_185922477" 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="_553184415" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_225685078', '_553184415' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_225685078" 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="_263196061" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1575543245', '_263196061' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1575543245" 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="_560608837" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_360553490', '_560608837' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_360553490" 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="_129939592" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1767705351', '_129939592' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1767705351" 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="_434600476" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_909982020', '_434600476' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_909982020" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus :: Component Annotations</th></tr><tr class="b"><td><p><b>Description: </b>Plexus Component &quot;Java 5&quot; Annotations, to describe plexus components properties in java sources with
+    standard annotations instead of javadoc annotations.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.eclipse.aether:aether-util:jar:0.9.0.M2 (compile) <img id="_539400323" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1210111966', '_539400323' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1210111966" 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="_783364787" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1103189869', '_783364787' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1103189869" 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="_803501724" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1672821852', '_803501724' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1672821852" 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="_751446244" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_962925725', '_751446244' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_962925725" 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="_1439168426" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_962655000', '_1439168426' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_962655000" 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="_1136059673" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2052752254', '_1136059673' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2052752254" 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="_1030725860" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1307449904', '_1030725860' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1307449904" 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="_1481296884" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_830463033', '_1481296884' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_830463033" 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="_90908079" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_633544582', '_90908079' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_633544582" 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="_953562833" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2112813467', '_953562833' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2112813467" 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="_1156518841" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_366211092', '_1156518841' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_366211092" 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="_1067843442" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1440806410', '_1067843442' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1440806410" 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="_1047526855" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1682524754', '_1047526855' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1682524754" 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="_1988623576" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1053542081', '_1988623576' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1053542081" 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="_1226363984" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1139843394', '_1226363984' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1139843394" 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="_2030196912" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1199113365', '_2030196912' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1199113365" 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="_1169381106" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1322363475', '_1169381106' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1322363475" 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="_1909909138" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_804093187', '_1909909138' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_804093187" 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="_2002607686" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_179928144', '_2002607686' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_179928144" 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="_857293021" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2106101164', '_857293021' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2106101164" 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="_418078595" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1969021773', '_418078595' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1969021773" 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="_406036890" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_173311606', '_406036890' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_173311606" 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="_205087894" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1842857981', '_205087894' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1842857981" 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="_621683760" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_491940653', '_621683760' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_491940653" 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="_1946705092" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1674941900', '_1946705092' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1674941900" 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="_686294880" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1205191002', '_686294880' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1205191002" 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="_448987939" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1901354341', '_448987939' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1901354341" 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="_1548517467" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_718691035', '_1548517467' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_718691035" 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="_1145913775" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_563262414', '_1145913775' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_563262414" 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="_985082213" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_455073434', '_985082213' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_455073434" 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">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/deploy-file-mojo.html b/bundleplugin/doc/site/deploy-file-mojo.html
index 73226b3..28a4023 100644
--- a/bundleplugin/doc/site/deploy-file-mojo.html
+++ b/bundleplugin/doc/site/deploy-file-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:deploy-file<a name="bundle:deploy-file"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:deploy-file</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:deploy-file</p>
       <p><b>Description</b>:</p>
       <div>Deploys bundle details to a remote OBR repository (command-line
 goal)</div>
@@ -308,7 +308,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/deploy-mojo.html b/bundleplugin/doc/site/deploy-mojo.html
index a467658..aaad96c 100644
--- a/bundleplugin/doc/site/deploy-mojo.html
+++ b/bundleplugin/doc/site/deploy-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:deploy<a name="bundle:deploy"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:deploy</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:deploy</p>
       <p><b>Description</b>:</p>
       <div>Deploys bundle details to a remote OBR repository (life-cycle goal)</div>
       <p><b>Attributes</b>:</p>
@@ -209,7 +209,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/index-mojo.html b/bundleplugin/doc/site/index-mojo.html
index 6aa6050..0d715d8 100644
--- a/bundleplugin/doc/site/index-mojo.html
+++ b/bundleplugin/doc/site/index-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:index<a name="bundle:index"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:index</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:index</p>
       <p><b>Description</b>:</p>
       <div>Index the content of a maven repository using OBR</div>
       <p><b>Attributes</b>:</p>
@@ -144,7 +144,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/index.html b/bundleplugin/doc/site/index.html
index 8cd4772..26a48ad 100644
--- a/bundleplugin/doc/site/index.html
+++ b/bundleplugin/doc/site/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
       <meta name="author" content="Stuart McCulloch" />
     <meta name="Date-Creation-yyyymmdd" content="20110628" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -29,8 +29,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -109,7 +109,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/install-file-mojo.html b/bundleplugin/doc/site/install-file-mojo.html
index 1a94866..b63d865 100644
--- a/bundleplugin/doc/site/install-file-mojo.html
+++ b/bundleplugin/doc/site/install-file-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:install-file<a name="bundle:install-file"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:install-file</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:install-file</p>
       <p><b>Description</b>:</p>
       <div>Installs bundle details in the local OBR repository (command-line
 goal)</div>
@@ -235,7 +235,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/install-mojo.html b/bundleplugin/doc/site/install-mojo.html
index 4a0bd57..3eb1e24 100644
--- a/bundleplugin/doc/site/install-mojo.html
+++ b/bundleplugin/doc/site/install-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:install<a name="bundle:install"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:install</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:install</p>
       <p><b>Description</b>:</p>
       <div>Installs bundle details in the local OBR repository (life-cycle
 goal)</div>
@@ -137,7 +137,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/instructions-mojo.html b/bundleplugin/doc/site/instructions-mojo.html
index 5b51e8d..de26882 100644
--- a/bundleplugin/doc/site/instructions-mojo.html
+++ b/bundleplugin/doc/site/instructions-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:instructions<a name="bundle:instructions"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:instructions</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:instructions</p>
       <p><b>Description</b>:</p>
       <div>Generate BND instructions for this project</div>
       <p><b>Attributes</b>:</p>
@@ -174,19 +174,25 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#niceManifest">niceManifest</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
 Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
             <td><tt>List</tt></td>
             <td><tt>-</tt></td>
             <td>Project types which this plugin supports.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
@@ -250,6 +256,11 @@
           <li><b>Required</b>: <tt>No</tt></li>
           <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>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
@@ -284,7 +295,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/issue-tracking.html b/bundleplugin/doc/site/issue-tracking.html
index c4ee2be..1910707 100644
--- a/bundleplugin/doc/site/issue-tracking.html
+++ b/bundleplugin/doc/site/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -100,14 +100,14 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2>Overview<a name="Overview"></a></h2><a name="Overview"></a><p>This project uses <a class="externalLink" href="http://www.atlassian.com/software/jira">JIRA</a> a J2EE-based, issue tracking and project management application.</p></div><div class="section"><h2>Issue Tracking<a name="Issue_Tracking"></a></h2><a name="Issue_Tracking"></a><p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p><div class="source"><pre><a class="externalLink" href="http://issues.apache.org/jira/browse/FELIX">http://issues.apache.org/jira/browse/FELIX</a></pre></div></div>
+        <div class="section"><h2>Overview<a name="Overview"></a></h2><a name="Overview"></a><p>This project uses <a class="externalLink" href="http://www.atlassian.com/software/jira">JIRA</a> a J2EE-based, issue tracking and project management application.</p></div><div class="section"><h2>Issue Tracking<a name="Issue_Tracking"></a></h2><a name="Issue_Tracking"></a><p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p><div class="source"><pre><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX">https://issues.apache.org/jira/browse/FELIX</a></pre></div></div>
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/jira-report.html b/bundleplugin/doc/site/jira-report.html
index 84c3358..20c7d14 100644
--- a/bundleplugin/doc/site/jira-report.html
+++ b/bundleplugin/doc/site/jira-report.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -94,14 +94,14 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2>JIRA Report<a name="JIRA_Report"></a></h2><a name="JIRA_Report"></a><table border="0" class="bodyTable"><tr class="a"><th>Key</th><th>Summary</th><th>Status</th><th>Resolution</th><th>By</th></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4005">FELIX-4005</a></td><td>Maven Bundle Plugin fails with ArrayIndexOutOfBoundsException, &quot;Invalid Class File&quot; errors with Java 8 features</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3347">FELIX-3347</a></td><td>Upper-case environment variables end up in final manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2765">FELIX-2765</a></td><td>bundle plugin throw IllegalArgumentException while do the install</td><td>Closed</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-661">FELIX-661</a></td><td>maven bundle plugin does not close the accessed fie /jar streams</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4067">FELIX-4067</a></td><td>Old BND used causes problems during annotations processing</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3585">FELIX-3585</a></td><td>Dependencies with classes or resources in the default package cannot be embedded</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2934">FELIX-2934</a></td><td>Bundle-ClassPath contains &quot;.&quot; despite using _wab instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4017">FELIX-4017</a></td><td>@ProviderType does not work (bnd &quot;provide:=true&quot; annotation?)</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3973">FELIX-3973</a></td><td>Exclusion from {local-packages} doesn't work anymore</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3638">FELIX-3638</a></td><td>Missing package import for annotation default value</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3630">FELIX-3630</a></td><td>Packages exported by bundle are (re)-imported with incorrect version</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3602">FELIX-3602</a></td><td>The bundle plugin should generate the blueprint header with the file locations</td><td>Resolved</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3601">FELIX-3601</a></td><td>Incorrect namespace in component XML for DS Annotations</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3497">FELIX-3497</a></td><td>Wrong artifact type attached as a secondary artifact when project packaging is set to &quot;pom&quot;</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3407">FELIX-3407</a></td><td>Imports are missed for generics</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3352">FELIX-3352</a></td><td>Maven Bundle Plugin ignores resource properties configured inside &lt;filters&gt; section</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3349">FELIX-3349</a></td><td>wrong bundle manifest contents in some cases</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3310">FELIX-3310</a></td><td>[patch] maven-bundle-plugin build fails with maven3 (manageArtifactSystemPath is missing)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3293">FELIX-3293</a></td><td>Exception while creating empty fragment bundles with version 2.3.6</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3254">FELIX-3254</a></td><td>manifest goal generates wrong Export-Package when Embed-Dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3222">FELIX-3222</a></td><td>[PATCH] build fails with &quot;unreported exception&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3210">FELIX-3210</a></td><td>Maven bundle plugin remote-clean goal without user confirmation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3209">FELIX-3209</a></td><td>Make sure the properties passed to BND only include string values</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3208">FELIX-3208</a></td><td>Provide default value for sourcepath when using BND -sources=true</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3206">FELIX-3206</a></td><td>Restore the BND analyzer approach which creates a MANIFEST.MF based on the contents of the jar</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3188">FELIX-3188</a></td><td>[PATCH] exception org.apache.maven.project.artifact.InvalidDependencyVersionException has already been caught</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3185">FELIX-3185</a></td><td>Negative Embed-Dependency clauses aren't handled correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3165">FELIX-3165</a></td><td>Add an option to the manifest goal that will copy any BND generated resources to the target folder</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3092">FELIX-3092</a></td><td>Support relative paths in &quot;urlTemplate&quot; parameter of &quot;bundle:index&quot; goal in maven bundle plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3061">FELIX-3061</a></td><td>improvements to Embed-Dependency logic to allow better m2e integration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3058">FELIX-3058</a></td><td>maven-bundle-plugin 2.3.5 incompatible with maven-source-plugin (regression)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3037">FELIX-3037</a></td><td>Plugin does not work with Java 5</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3031">FELIX-3031</a></td><td>maven3 deployment fails where maven2 works</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3011">FELIX-3011</a></td><td>Add a new goal to save the bnd instructions that would be passed onto bnd, to allow people to use other toolchains such as bndtools</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2884">FELIX-2884</a></td><td>The multiplicity isn't taken into account by the maven bundle plugin and bundlerepository when generating the repository xml</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2872">FELIX-2872</a></td><td>Provide a way to have an easier to read manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2820">FELIX-2820</a></td><td>Provide a default value when using &lt;_wab/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2819">FELIX-2819</a></td><td>packageinfo files in src/main/java are ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2812">FELIX-2812</a></td><td>The &lt;Embed-Dependency&gt; filter can fail if your matching against multiple &quot;*&quot; artifact ids.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2811">FELIX-2811</a></td><td>If &lt;Private-Package&gt;!*&lt;/Private-Package&gt; is defined the all packages should be exported by {local-packages}</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2808">FELIX-2808</a></td><td>maven-bundle-plugin should scan for local packages by looking for *.class files instead of *.java so that all the JVM languages can be supported.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2701">FELIX-2701</a></td><td>Add a {local-packages} macro for automatically expanding local packages in the &lt;Export-Package&gt; instruction</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2692">FELIX-2692</a></td><td>Support maven type 'wab' for web bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2449">FELIX-2449</a></td><td>Resource filtering does not use Maven properties specified on the mvn command line via -D command line switches</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2435">FELIX-2435</a></td><td>&lt;supportedProjectType&gt; on a WAR file will switch the project to generate jar artifacts</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2427">FELIX-2427</a></td><td>maven site crashes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2346">FELIX-2346</a></td><td>mvn bundle:clean removes all, even the existing resources</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2215">FELIX-2215</a></td><td>Refactor bundlerepository and maven bundle plugin obr data model</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2210">FELIX-2210</a></td><td>Bogus import entries</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2194">FELIX-2194</a></td><td>The manifest and bundle goals seem to generate different manifest informations</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2176">FELIX-2176</a></td><td>Upgrade maven-bundle-plugin to up to date bnd</td><td>Closed</td><td>Fixed</td><td>Richard S. Hall</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2175">FELIX-2175</a></td><td>Improve the Blueprint component to parse / introspect blueprint configuration files and generate OBR service requirements / capabilities accordingly</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2173">FELIX-2173</a></td><td>Fix inconsistent maven-&gt;osgi version conversion between maven-bundle-plugin and DefaultMaven2OsgiConverter</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2155">FELIX-2155</a></td><td>The maven bundle plugin generates wrong capabilities for packages with directives</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2112">FELIX-2112</a></td><td>Carriage returns are removed from instructions, but the lines should be trimmed alltogether</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2048">FELIX-2048</a></td><td>Service-Component property doesn't allow to use wildcards for filenames</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1951">FELIX-1951</a></td><td>The SchemaObr.xsd in bundleplugin is incomplete</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1936">FELIX-1936</a></td><td>Create Output Directory for Resource-Only WARs</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1820">FELIX-1820</a></td><td>Fragment-Host version not converted</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1734">FELIX-1734</a></td><td>The _donotcopy is ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1634">FELIX-1634</a></td><td>Maven Bundle Plugin disables transitive dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1571">FELIX-1571</a></td><td>Bundle-ClassPath without &quot;.&quot; while using maven-bundle-plugin in a war project confuses the plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1568">FELIX-1568</a></td><td>Goal to transform a maven version into an OSGi version</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1552">FELIX-1552</a></td><td>Add support for blueprint and spring-dm declarations to import the discovered packages</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1539">FELIX-1539</a></td><td>generated-classes not included in bundle</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1501">FELIX-1501</a></td><td>Using a macro in Bundle-Version with the manifest goal causes garbage in the Export-Package and Private-Package headers.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1461">FELIX-1461</a></td><td>Corrupted repository.xml when maven is run in parallel</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1439">FELIX-1439</a></td><td>maven-bundle-plugin resource filtering does not substitute project.organization.*</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1262">FELIX-1262</a></td><td>[regression] shared archive resources cannot be found</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1148">FELIX-1148</a></td><td>NPE during bundleall goal</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1054">FELIX-1054</a></td><td>The deploy and deploy-file plugin should write the computed bundle uri</td><td>Closed</td><td>Fixed</td><td>Clement Escoffier</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1039">FELIX-1039</a></td><td>Inconsistency packaging vs. type</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1023">FELIX-1023</a></td><td>Category Information not exported to obr file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1021">FELIX-1021</a></td><td>Classifier always used even if not explicitly set in the configuration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1017">FELIX-1017</a></td><td>Generic types ignored when generating MANIFEST.MF</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-954">FELIX-954</a></td><td>Import-Package should include packages from optional Maven dependencies with resolution=optional</td><td>Closed</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-941">FELIX-941</a></td><td>Support singleton &amp; fragment-attachment directive generation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-907">FELIX-907</a></td><td>Regression in latest BND code: negated exports are applied to private packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-899">FELIX-899</a></td><td>Version attribute missing from Import-Package on provided dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-843">FELIX-843</a></td><td>Regression: BND 0.0.295 does not augment Ignore-Package with excluded import packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-831">FELIX-831</a></td><td>bndlib unnecessary modifies valid OSGi Bundle-Version numbers (update to bndlib 0.0.293)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-806">FELIX-806</a></td><td>changing the internal configuration of the archive plugin doesn't seem to be possible</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-782">FELIX-782</a></td><td>Manifest goal ignores version attribute specified in _exportcontents</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-759">FELIX-759</a></td><td>Version range in import declaration creates a filter using invalid operators (&lt;,&gt;)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-699">FELIX-699</a></td><td>manifest goal does not interprete _include instruction correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-677">FELIX-677</a></td><td>Parser throws error when DynamicImport-Package contains attributes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-660">FELIX-660</a></td><td>&quot;Class in different directory than declared&quot; error when bundle classes in a directory other than bundle root</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-636">FELIX-636</a></td><td>Bundle-SymbolicName is generated incorrectly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-620">FELIX-620</a></td><td>manifest goal of maven-bundle-plugin ignores _include instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-580">FELIX-580</a></td><td>Allows maven-bunde-plugin to generate a repository file outide a maven repository with absolute url</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-556">FELIX-556</a></td><td>Filtering mechanims to &lt;Embed-Dependency/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-547">FELIX-547</a></td><td>OBR portion of the plugin balks on singular version range of [1.0.0,1.0.0].</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-541">FELIX-541</a></td><td>allow repository.xml to reference to xsl file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-526">FELIX-526</a></td><td>Allow a mechanism to give preference to local resources over the ones from embedded jars</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-517">FELIX-517</a></td><td>Replacement of {maven-dependencies} in Include-Resource and Bundle-ClassPath can strip Windows path separators</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-505">FELIX-505</a></td><td>maven-bundle-plugin:bundleall modifies dependencies that are already bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-493">FELIX-493</a></td><td>maven-bundle-plugin bundle:install goal install too many artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-477">FELIX-477</a></td><td>BND: Versions with fourth section all numbers are truncated</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-472">FELIX-472</a></td><td>Embed-Dependency, Include-Resource and inline</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3772">FELIX-3772</a></td><td>maven-bundle-plugin does not scan blueprint in workspace outside default location</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3619">FELIX-3619</a></td><td>&quot;IOException: Failed to delete repository.xml while trying to rename&quot; in maven-bundle-plugin</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3582">FELIX-3582</a></td><td>finalName not properly populated in maven-bundle-plugin with buildnumber-maven-plugin</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3300">FELIX-3300</a></td><td>Avoid warning about superfluous export-package instructions for empty directories</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3299">FELIX-3299</a></td><td>Fix instable tests in BundlePluginTest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3238">FELIX-3238</a></td><td>Unable to filter out classes from identical package in a dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3173">FELIX-3173</a></td><td>Local OBR install failes when there is a space in the full path</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2722">FELIX-2722</a></td><td>With an empty  organization like this &lt;organization/&gt;, maven bundle plugin raises a NPE.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2657">FELIX-2657</a></td><td>Maven-bundle-plugin uses old version of BndLib</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2656">FELIX-2656</a></td><td>Maven-bundle-plugin identified as not thread-safe in Maven 3.0</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1985">FELIX-1985</a></td><td>Error when Include-Resource instruction contains duplicate paths.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1836">FELIX-1836</a></td><td>Maven resource filtering support for obr.xml</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1290">FELIX-1290</a></td><td>Missing dependencies silently ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-984">FELIX-984</a></td><td>site's &lt;Bundle-Version&gt; documentation is wrong</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-981">FELIX-981</a></td><td>Warning about split packages even with -split-package directive [maven-bundle-plugin-2.0.0]</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-912">FELIX-912</a></td><td>Improve default Export-Package / Private-Package settings by scanning the project source</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-850">FELIX-850</a></td><td>Wrong symbolic name computed when groupId is a single segment string.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-807">FELIX-807</a></td><td>conversion of JAR into bundle fails if there are classes is the default name space</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-684">FELIX-684</a></td><td>Enable excludeDependencies to check groupId, version, etc. rather than only artifactId</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-561">FELIX-561</a></td><td>Use same level of Bnd in script generated by bundle:ant as in the bundleplugin itself</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-560">FELIX-560</a></td><td>bundle:install and bundle:deploy goals check artifact type is &quot;bundle&quot; instead of using the supportedProjectTypes list</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-554">FELIX-554</a></td><td>allow removing a bundle from a remote OBR</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-553">FELIX-553</a></td><td>allow cleaning a remote OBR</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-549">FELIX-549</a></td><td>Import-Package should not include &quot;snapshot&quot; from snapshot dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-548">FELIX-548</a></td><td>Import-Package version qualifiers vary depending on dependency scope.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-546">FELIX-546</a></td><td>Import-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-545">FELIX-545</a></td><td>Export-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-543">FELIX-543</a></td><td>add switch to prevent classifier being appended to Bundle-Version</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-531">FELIX-531</a></td><td>Allow the import package scope to be set for the bundleall goal in the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-523">FELIX-523</a></td><td>Update bundleplugin to use BND 0.0.249</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-519">FELIX-519</a></td><td>maven-bundle-plugin should issue a WARNING for unsupported packaging types</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-499">FELIX-499</a></td><td>Enhance &quot;excludeDependencies&quot; configuration parameter to also support comma-separated list of artifactIds</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-492">FELIX-492</a></td><td>Add support to classifier: enable bunlde:bundle goal to generate classified artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-491">FELIX-491</a></td><td>Merge the maven-obr-plugin and the bundleplugin into a single plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-476">FELIX-476</a></td><td>Improve default Export-Package (used when no Export-Package and Private-Package is set)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-461">FELIX-461</a></td><td>Ensure manifest goal creates same manifest as bundle goal when project packaging is &quot;bundle&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-459">FELIX-459</a></td><td>BND: allow customization of the &quot;uses&quot; clause in the generated Export-Package</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-458">FELIX-458</a></td><td>BND: -split-package:=merge-first behaves like merge-last</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-344">FELIX-344</a></td><td>Generate standard maven documentation for the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-247">FELIX-247</a></td><td>Add ant goal to maven-bundle-plugin which creates a build.xml and MANIFEST.MF with bundle headers</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-498">FELIX-498</a></td><td>Enable javadoc deployment on OBR repository</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-462">FELIX-462</a></td><td>Support removal of manifest headers added by the bundleplugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-460">FELIX-460</a></td><td>Remove &quot;.&quot; from the Bundle-ClassPath when embedding dependencies in a bundle with no local classes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr></table></div>
+        <div class="section"><h2>JIRA Report<a name="JIRA_Report"></a></h2><a name="JIRA_Report"></a><table border="0" class="bodyTable"><tr class="a"><th>Key</th><th>Summary</th><th>Status</th><th>Resolution</th><th>By</th></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4005">FELIX-4005</a></td><td>Maven Bundle Plugin fails with ArrayIndexOutOfBoundsException, &quot;Invalid Class File&quot; errors with Java 8 features</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3347">FELIX-3347</a></td><td>Upper-case environment variables end up in final manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2765">FELIX-2765</a></td><td>bundle plugin throw IllegalArgumentException while do the install</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-661">FELIX-661</a></td><td>maven bundle plugin does not close the accessed fie /jar streams</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4067">FELIX-4067</a></td><td>Old BND used causes problems during annotations processing</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3585">FELIX-3585</a></td><td>Dependencies with classes or resources in the default package cannot be embedded</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2934">FELIX-2934</a></td><td>Bundle-ClassPath contains &quot;.&quot; despite using _wab instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4539">FELIX-4539</a></td><td>Update to Bndlib 2.3.0</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4518">FELIX-4518</a></td><td>Provide a way to disable some plugins</td><td>Resolved</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4517">FELIX-4517</a></td><td>Generate generic capabilities and requirements for services from blueprint and scr descriptors</td><td>Resolved</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4512">FELIX-4512</a></td><td>Add a new Mojo to invoke the BND Baseline tool</td><td>Closed</td><td>Fixed</td><td>Carsten Ziegeler</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4017">FELIX-4017</a></td><td>@ProviderType does not work (bnd &quot;provide:=true&quot; annotation?)</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3973">FELIX-3973</a></td><td>Exclusion from {local-packages} doesn't work anymore</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3638">FELIX-3638</a></td><td>Missing package import for annotation default value</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3630">FELIX-3630</a></td><td>Packages exported by bundle are (re)-imported with incorrect version</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3602">FELIX-3602</a></td><td>The bundle plugin should generate the blueprint header with the file locations</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3601">FELIX-3601</a></td><td>Incorrect namespace in component XML for DS Annotations</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3497">FELIX-3497</a></td><td>Wrong artifact type attached as a secondary artifact when project packaging is set to &quot;pom&quot;</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3462">FELIX-3462</a></td><td>Nicer Manifest formatting</td><td>Resolved</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3407">FELIX-3407</a></td><td>Imports are missed for generics</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3352">FELIX-3352</a></td><td>Maven Bundle Plugin ignores resource properties configured inside &lt;filters&gt; section</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3349">FELIX-3349</a></td><td>wrong bundle manifest contents in some cases</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3310">FELIX-3310</a></td><td>[patch] maven-bundle-plugin build fails with maven3 (manageArtifactSystemPath is missing)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3293">FELIX-3293</a></td><td>Exception while creating empty fragment bundles with version 2.3.6</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3254">FELIX-3254</a></td><td>manifest goal generates wrong Export-Package when Embed-Dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3222">FELIX-3222</a></td><td>[PATCH] build fails with &quot;unreported exception&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3210">FELIX-3210</a></td><td>Maven bundle plugin remote-clean goal without user confirmation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3209">FELIX-3209</a></td><td>Make sure the properties passed to BND only include string values</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3208">FELIX-3208</a></td><td>Provide default value for sourcepath when using BND -sources=true</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3206">FELIX-3206</a></td><td>Restore the BND analyzer approach which creates a MANIFEST.MF based on the contents of the jar</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3188">FELIX-3188</a></td><td>[PATCH] exception org.apache.maven.project.artifact.InvalidDependencyVersionException has already been caught</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3185">FELIX-3185</a></td><td>Negative Embed-Dependency clauses aren't handled correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3165">FELIX-3165</a></td><td>Add an option to the manifest goal that will copy any BND generated resources to the target folder</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3092">FELIX-3092</a></td><td>Support relative paths in &quot;urlTemplate&quot; parameter of &quot;bundle:index&quot; goal in maven bundle plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3061">FELIX-3061</a></td><td>improvements to Embed-Dependency logic to allow better m2e integration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3058">FELIX-3058</a></td><td>maven-bundle-plugin 2.3.5 incompatible with maven-source-plugin (regression)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3037">FELIX-3037</a></td><td>Plugin does not work with Java 5</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3031">FELIX-3031</a></td><td>maven3 deployment fails where maven2 works</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3011">FELIX-3011</a></td><td>Add a new goal to save the bnd instructions that would be passed onto bnd, to allow people to use other toolchains such as bndtools</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2884">FELIX-2884</a></td><td>The multiplicity isn't taken into account by the maven bundle plugin and bundlerepository when generating the repository xml</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2872">FELIX-2872</a></td><td>Provide a way to have an easier to read manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2820">FELIX-2820</a></td><td>Provide a default value when using &lt;_wab/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2819">FELIX-2819</a></td><td>packageinfo files in src/main/java are ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2812">FELIX-2812</a></td><td>The &lt;Embed-Dependency&gt; filter can fail if your matching against multiple &quot;*&quot; artifact ids.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2811">FELIX-2811</a></td><td>If &lt;Private-Package&gt;!*&lt;/Private-Package&gt; is defined the all packages should be exported by {local-packages}</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2808">FELIX-2808</a></td><td>maven-bundle-plugin should scan for local packages by looking for *.class files instead of *.java so that all the JVM languages can be supported.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2701">FELIX-2701</a></td><td>Add a {local-packages} macro for automatically expanding local packages in the &lt;Export-Package&gt; instruction</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2692">FELIX-2692</a></td><td>Support maven type 'wab' for web bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2449">FELIX-2449</a></td><td>Resource filtering does not use Maven properties specified on the mvn command line via -D command line switches</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2435">FELIX-2435</a></td><td>&lt;supportedProjectType&gt; on a WAR file will switch the project to generate jar artifacts</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2427">FELIX-2427</a></td><td>maven site crashes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2346">FELIX-2346</a></td><td>mvn bundle:clean removes all, even the existing resources</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2215">FELIX-2215</a></td><td>Refactor bundlerepository and maven bundle plugin obr data model</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2210">FELIX-2210</a></td><td>Bogus import entries</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2194">FELIX-2194</a></td><td>The manifest and bundle goals seem to generate different manifest informations</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2176">FELIX-2176</a></td><td>Upgrade maven-bundle-plugin to up to date bnd</td><td>Closed</td><td>Fixed</td><td>Richard S. Hall</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2175">FELIX-2175</a></td><td>Improve the Blueprint component to parse / introspect blueprint configuration files and generate OBR service requirements / capabilities accordingly</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2173">FELIX-2173</a></td><td>Fix inconsistent maven-&gt;osgi version conversion between maven-bundle-plugin and DefaultMaven2OsgiConverter</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2155">FELIX-2155</a></td><td>The maven bundle plugin generates wrong capabilities for packages with directives</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2112">FELIX-2112</a></td><td>Carriage returns are removed from instructions, but the lines should be trimmed alltogether</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2048">FELIX-2048</a></td><td>Service-Component property doesn't allow to use wildcards for filenames</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1951">FELIX-1951</a></td><td>The SchemaObr.xsd in bundleplugin is incomplete</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1936">FELIX-1936</a></td><td>Create Output Directory for Resource-Only WARs</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1820">FELIX-1820</a></td><td>Fragment-Host version not converted</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1734">FELIX-1734</a></td><td>The _donotcopy is ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1634">FELIX-1634</a></td><td>Maven Bundle Plugin disables transitive dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1571">FELIX-1571</a></td><td>Bundle-ClassPath without &quot;.&quot; while using maven-bundle-plugin in a war project confuses the plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1568">FELIX-1568</a></td><td>Goal to transform a maven version into an OSGi version</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1552">FELIX-1552</a></td><td>Add support for blueprint and spring-dm declarations to import the discovered packages</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1539">FELIX-1539</a></td><td>generated-classes not included in bundle</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1501">FELIX-1501</a></td><td>Using a macro in Bundle-Version with the manifest goal causes garbage in the Export-Package and Private-Package headers.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1461">FELIX-1461</a></td><td>Corrupted repository.xml when maven is run in parallel</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1439">FELIX-1439</a></td><td>maven-bundle-plugin resource filtering does not substitute project.organization.*</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1262">FELIX-1262</a></td><td>[regression] shared archive resources cannot be found</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1148">FELIX-1148</a></td><td>NPE during bundleall goal</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1054">FELIX-1054</a></td><td>The deploy and deploy-file plugin should write the computed bundle uri</td><td>Closed</td><td>Fixed</td><td>Clement Escoffier</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1039">FELIX-1039</a></td><td>Inconsistency packaging vs. type</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1023">FELIX-1023</a></td><td>Category Information not exported to obr file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1021">FELIX-1021</a></td><td>Classifier always used even if not explicitly set in the configuration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1017">FELIX-1017</a></td><td>Generic types ignored when generating MANIFEST.MF</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-954">FELIX-954</a></td><td>Import-Package should include packages from optional Maven dependencies with resolution=optional</td><td>Closed</td><td>Fixed</td><td>&#160;</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-941">FELIX-941</a></td><td>Support singleton &amp; fragment-attachment directive generation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-907">FELIX-907</a></td><td>Regression in latest BND code: negated exports are applied to private packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-899">FELIX-899</a></td><td>Version attribute missing from Import-Package on provided dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-843">FELIX-843</a></td><td>Regression: BND 0.0.295 does not augment Ignore-Package with excluded import packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-831">FELIX-831</a></td><td>bndlib unnecessary modifies valid OSGi Bundle-Version numbers (update to bndlib 0.0.293)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-806">FELIX-806</a></td><td>changing the internal configuration of the archive plugin doesn't seem to be possible</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-782">FELIX-782</a></td><td>Manifest goal ignores version attribute specified in _exportcontents</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-759">FELIX-759</a></td><td>Version range in import declaration creates a filter using invalid operators (&lt;,&gt;)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-699">FELIX-699</a></td><td>manifest goal does not interprete _include instruction correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-677">FELIX-677</a></td><td>Parser throws error when DynamicImport-Package contains attributes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-660">FELIX-660</a></td><td>&quot;Class in different directory than declared&quot; error when bundle classes in a directory other than bundle root</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-636">FELIX-636</a></td><td>Bundle-SymbolicName is generated incorrectly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-620">FELIX-620</a></td><td>manifest goal of maven-bundle-plugin ignores _include instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-580">FELIX-580</a></td><td>Allows maven-bunde-plugin to generate a repository file outide a maven repository with absolute url</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr></table></div>
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/license.html b/bundleplugin/doc/site/license.html
index 823c92b..e652446 100644
--- a/bundleplugin/doc/site/license.html
+++ b/bundleplugin/doc/site/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -309,7 +309,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/mail-lists.html b/bundleplugin/doc/site/mail-lists.html
index a084486..f0c8f65 100644
--- a/bundleplugin/doc/site/mail-lists.html
+++ b/bundleplugin/doc/site/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -107,7 +107,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/manifest-mojo.html b/bundleplugin/doc/site/manifest-mojo.html
index 36c4fd0..edcfd8d 100644
--- a/bundleplugin/doc/site/manifest-mojo.html
+++ b/bundleplugin/doc/site/manifest-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:manifest<a name="bundle:manifest"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:manifest</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:manifest</p>
       <p><b>Description</b>:</p>
       <div>Generate an OSGi manifest for this project</div>
       <p><b>Attributes</b>:</p>
@@ -174,26 +174,32 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#niceManifest">niceManifest</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
 Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#rebuildBundle">rebuildBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>When true, generate the manifest by rebuilding the full bundle in
 memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
             <td><tt>List</tt></td>
             <td><tt>-</tt></td>
             <td>Project types which this plugin supports.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
@@ -257,6 +263,11 @@
           <li><b>Required</b>: <tt>No</tt></li>
           <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>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
@@ -298,7 +309,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/plugin-info.html b/bundleplugin/doc/site/plugin-info.html
index c103ad8..4097601 100644
--- a/bundleplugin/doc/site/plugin-info.html
+++ b/bundleplugin/doc/site/plugin-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -94,13 +94,13 @@
     </div>
     <div id="bodyColumn">
       <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>Description</th></tr><tr class="b"><td><a href="ant-mojo.html">bundle:ant</a></td><td>Generate Ant script to create the bundle (you should run ant:ant
-first).</td></tr><tr class="a"><td><a href="bundle-mojo.html">bundle:bundle</a></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><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>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 description.</td></tr><tr class="a"><td><a href="deploy-mojo.html">bundle:deploy</a></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>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>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>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>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>Generate BND instructions for this project</td></tr><tr class="a"><td><a href="manifest-mojo.html">bundle:manifest</a></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>Clean a remote repository file. It just looks for every resources
-and check that pointed file exists.</td></tr><tr class="a"><td><a href="wrap-mojo.html">bundle:wrap</a></td><td><strong>Deprecated.</strong> The wrap goal is no longer supported and may be removed in a future
+        <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
+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
+and check that pointed file exists.</td></tr><tr class="a"><td><a href="wrap-mojo.html">bundle:wrap</a></td><td>No</td><td><strong>Deprecated.</strong> The wrap goal is no longer supported and may be removed in a future
 release</td></tr></table><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><a name="System_Requirements"></a><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>2.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><div class="section"><h3>Usage<a name="Usage"></a></h3><a name="Usage"></a><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
   ...
   &lt;build&gt;
@@ -110,7 +110,7 @@
         &lt;plugin&gt;
           &lt;groupId&gt;org.apache.felix&lt;/groupId&gt;
           &lt;artifactId&gt;maven-bundle-plugin&lt;/artifactId&gt;
-          &lt;version&gt;2.4.0-SNAPSHOT&lt;/version&gt;
+          &lt;version&gt;2.5.0&lt;/version&gt;
         &lt;/plugin&gt;
         ...
       &lt;/plugins&gt;
@@ -120,12 +120,24 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.felix&lt;/groupId&gt;
         &lt;artifactId&gt;maven-bundle-plugin&lt;/artifactId&gt;
-        &lt;version&gt;2.4.0-SNAPSHOT&lt;/version&gt;
+        &lt;version&gt;2.5.0&lt;/version&gt;
       &lt;/plugin&gt;
       ...
     &lt;/plugins&gt;
   &lt;/build&gt;
   ...
+  &lt;!-- To use the report goals in your POM or parent POM --&gt;
+  &lt;reporting&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.apache.felix&lt;/groupId&gt;
+        &lt;artifactId&gt;maven-bundle-plugin&lt;/artifactId&gt;
+        &lt;version&gt;2.5.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/reporting&gt;
+  ...
 &lt;/project&gt;
 </pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
       </div>
@@ -134,7 +146,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/project-info.html b/bundleplugin/doc/site/project-info.html
index 35226ad..7ab8b45 100644
--- a/bundleplugin/doc/site/project-info.html
+++ b/bundleplugin/doc/site/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -110,7 +110,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/project-reports.html b/bundleplugin/doc/site/project-reports.html
index d5aee44..7983d32 100644
--- a/bundleplugin/doc/site/project-reports.html
+++ b/bundleplugin/doc/site/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -101,7 +101,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/remote-clean-mojo.html b/bundleplugin/doc/site/remote-clean-mojo.html
index 3d45d6e..f7f63d6 100644
--- a/bundleplugin/doc/site/remote-clean-mojo.html
+++ b/bundleplugin/doc/site/remote-clean-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:remote-clean<a name="bundle:remote-clean"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:remote-clean</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:remote-clean</p>
       <p><b>Description</b>:</p>
       <div>Clean a remote repository file. It just looks for every resources
 and check that pointed file exists.</div>
@@ -196,7 +196,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/source-repository.html b/bundleplugin/doc/site/source-repository.html
index 955f2cf..1240947 100644
--- a/bundleplugin/doc/site/source-repository.html
+++ b/bundleplugin/doc/site/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -110,7 +110,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/surefire-report.html b/bundleplugin/doc/site/surefire-report.html
index 7c8c791..073a852 100644
--- a/bundleplugin/doc/site/surefire-report.html
+++ b/bundleplugin/doc/site/surefire-report.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -94,14 +94,14 @@
     </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>19</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>4.102</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.229</td></tr><tr class="a"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>3.873</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.229</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>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.84</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>1.311</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.722</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="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.791</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="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.518</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.787</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="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.195</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.284</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.099</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.097</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.078</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.085</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.166</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.131</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.136</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.136</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.254</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.048</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.067</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleSymbolicName</td><td>0.072</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleFileName</td><td>0.038</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetVersion</td><td>0.049</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.57</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.182</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.388</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.182</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>0.945</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.8</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.636</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.63</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprintGeneric</td><td>0.227</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testAnalyzer</td><td>0.037</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.377</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.417</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.338</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.227</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.051</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.048</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.037</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.16</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.18</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.175</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.133</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.188</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.043</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.006</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.041</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleSymbolicName</td><td>0.058</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleFileName</td><td>0.042</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetVersion</td><td>0.039</td></tr></table></div><br /></div><br />
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/team-list.html b/bundleplugin/doc/site/team-list.html
index b38ef36..7163131 100644
--- a/bundleplugin/doc/site/team-list.html
+++ b/bundleplugin/doc/site/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,8 +27,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -122,7 +122,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/wrap-mojo.html b/bundleplugin/doc/site/wrap-mojo.html
index ee5a3ee..f3cc3a1 100644
--- a/bundleplugin/doc/site/wrap-mojo.html
+++ b/bundleplugin/doc/site/wrap-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
+<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130608" />
+    <meta name="Date-Revision-yyyymmdd" content="20140620" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,8 +28,8 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2013-06-08</span>
-                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
+        <span id="publishDate">Last Published: 2014-06-20</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                       </div>
             <div class="xright">        
         
@@ -82,7 +82,7 @@
   
     <div class="section"><h2>bundle:wrap<a name="bundle:wrap"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:wrap</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.5.0:wrap</p>
       <p><b>This plugin goal has been deprecated</b>:</p>
       <div>The wrap goal is no longer supported and may be removed in a future
 release</div>
@@ -190,32 +190,38 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#niceManifest">niceManifest</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
 Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#rebuildBundle">rebuildBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>When true, generate the manifest by rebuilding the full bundle in
 memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
             <td><tt>List</tt></td>
             <td><tt>-</tt></td>
             <td>Project types which this plugin supports.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#wrapImportPackage">wrapImportPackage</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
@@ -290,6 +296,11 @@
           <li><b>Required</b>: <tt>No</tt></li>
           <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>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
@@ -338,7 +349,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2013
+      <div class="xright">Copyright &#169;                    2006-2014
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/xref-test/allclasses-frame.html b/bundleplugin/doc/site/xref-test/allclasses-frame.html
index cd43697..dddc3a8 100644
--- a/bundleplugin/doc/site/xref-test/allclasses-frame.html
+++ b/bundleplugin/doc/site/xref-test/allclasses-frame.html
@@ -27,6 +27,9 @@
 				<a href="org/apache/felix/bundleplugin/BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/ManifestWriterTest.html" target="classFrame">ManifestWriterTest</a>
+			</li>
+						<li>
 				<a href="org/apache/maven/shared/osgi/Maven2OsgiConverterTest.html" target="classFrame">Maven2OsgiConverterTest</a>
 			</li>
 			      </ul>
diff --git a/bundleplugin/doc/site/xref-test/index.html b/bundleplugin/doc/site/xref-test/index.html
index a3c1140..0260334 100644
--- a/bundleplugin/doc/site/xref-test/index.html
+++ b/bundleplugin/doc/site/xref-test/index.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 	</head>
     <frameset cols="20%,80%">
 		<frameset rows="30%,70%">
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
index d8d9a06..b53bad3 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
@@ -38,85 +38,120 @@
 <a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
 <a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
 <a name="30" href="#30">30</a>  
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
-<a name="32" href="#32">32</a>  
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Verifier;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> aQute.libg.generics.Create;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
 <a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
-<a name="38" href="#38">38</a>  
-<a name="39" href="#39">39</a>  
-<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/BlueprintComponentTest.html">BlueprintComponentTest</a> <strong class="jxr_keyword">extends</strong> TestCase
-<a name="41" href="#41">41</a>  {
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Clause;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Parser;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
 <a name="42" href="#42">42</a>  
-<a name="43" href="#43">43</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlueprint() <strong class="jxr_keyword">throws</strong> Exception
-<a name="44" href="#44">44</a>      {
-<a name="45" href="#45">45</a>          MavenProjectStub project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
-<a name="46" href="#46">46</a>          {
-<a name="47" href="#47">47</a>              <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List resources = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintComponentTest.html">BlueprintComponentTest</a> <strong class="jxr_keyword">extends</strong> TestCase
+<a name="47" href="#47">47</a>  {
 <a name="48" href="#48">48</a>  
-<a name="49" href="#49">49</a>  
-<a name="50" href="#50">50</a>              @Override
-<a name="51" href="#51">51</a>              <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addResource( Resource resource )
-<a name="52" href="#52">52</a>              {
-<a name="53" href="#53">53</a>                  resources.add( resource );
-<a name="54" href="#54">54</a>              }
-<a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>  
-<a name="57" href="#57">57</a>              @Override
-<a name="58" href="#58">58</a>              <strong class="jxr_keyword">public</strong> List getResources()
-<a name="59" href="#59">59</a>              {
-<a name="60" href="#60">60</a>                  <strong class="jxr_keyword">return</strong> resources;
-<a name="61" href="#61">61</a>              }
-<a name="62" href="#62">62</a>  
-<a name="63" href="#63">63</a>  
-<a name="64" href="#64">64</a>              @Override
-<a name="65" href="#65">65</a>              <strong class="jxr_keyword">public</strong> File getBasedir()
-<a name="66" href="#66">66</a>              {
-<a name="67" href="#67">67</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir"</span> );
-<a name="68" href="#68">68</a>              }
-<a name="69" href="#69">69</a>          };
-<a name="70" href="#70">70</a>          project.setGroupId( <span class="jxr_string">"group"</span> );
-<a name="71" href="#71">71</a>          project.setArtifactId( <span class="jxr_string">"artifact"</span> );
-<a name="72" href="#72">72</a>          project.setVersion( <span class="jxr_string">"1.1.0.0"</span> );
-<a name="73" href="#73">73</a>          Resource r = <strong class="jxr_keyword">new</strong> Resource();
-<a name="74" href="#74">74</a>          r.setDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
-<a name="75" href="#75">75</a>          r.setIncludes( Arrays.asList( <span class="jxr_string">"**/*.*"</span> ) );
-<a name="76" href="#76">76</a>          project.addResource( r );
-<a name="77" href="#77">77</a>          project.addCompileSourceRoot( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
+<a name="49" href="#49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlueprintServices() <strong class="jxr_keyword">throws</strong> Exception
+<a name="50" href="#50">50</a>      {
+<a name="51" href="#51">51</a>          test( <span class="jxr_string">"service"</span> );
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlueprintGeneric() <strong class="jxr_keyword">throws</strong> Exception
+<a name="55" href="#55">55</a>      {
+<a name="56" href="#56">56</a>          test( <span class="jxr_string">"generic"</span> );
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> test(String mode) <strong class="jxr_keyword">throws</strong> Exception
+<a name="60" href="#60">60</a>      {
+<a name="61" href="#61">61</a>          MavenProjectStub project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
+<a name="62" href="#62">62</a>          {
+<a name="63" href="#63">63</a>              <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List resources = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>              @Override
+<a name="67" href="#67">67</a>              <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addResource( Resource resource )
+<a name="68" href="#68">68</a>              {
+<a name="69" href="#69">69</a>                  resources.add( resource );
+<a name="70" href="#70">70</a>              }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>              @Override
+<a name="74" href="#74">74</a>              <strong class="jxr_keyword">public</strong> List getResources()
+<a name="75" href="#75">75</a>              {
+<a name="76" href="#76">76</a>                  <strong class="jxr_keyword">return</strong> resources;
+<a name="77" href="#77">77</a>              }
 <a name="78" href="#78">78</a>  
-<a name="79" href="#79">79</a>          ManifestPlugin plugin = <strong class="jxr_keyword">new</strong> ManifestPlugin();
-<a name="80" href="#80">80</a>          plugin.setBuildDirectory( <span class="jxr_string">"target/tmp/basedir/target"</span> );
-<a name="81" href="#81">81</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir/target/classes"</span> ) );
-<a name="82" href="#82">82</a>  
-<a name="83" href="#83">83</a>          Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="84" href="#84">84</a>          instructions.put( <span class="jxr_string">"Test"</span>, <span class="jxr_string">"Foo"</span> );
-<a name="85" href="#85">85</a>  
-<a name="86" href="#86">86</a>          instructions.put( <span class="jxr_string">"nsh_interface"</span>, <span class="jxr_string">"foo.bar.Namespace"</span> );
-<a name="87" href="#87">87</a>          instructions.put( <span class="jxr_string">"nsh_namespace"</span>, <span class="jxr_string">"ns"</span> );
-<a name="88" href="#88">88</a>  
-<a name="89" href="#89">89</a>          instructions.put( <span class="jxr_string">"Export-Service"</span>, <span class="jxr_string">"p7.Foo;mk=mv"</span> );
-<a name="90" href="#90">90</a>          instructions.put( <span class="jxr_string">"Import-Service"</span>, <span class="jxr_string">"org.osgi.service.cm.ConfigurationAdmin;availability:=optional"</span> );
-<a name="91" href="#91">91</a>  
-<a name="92" href="#92">92</a>          Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="93" href="#93">93</a>          Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>              @Override
+<a name="81" href="#81">81</a>              <strong class="jxr_keyword">public</strong> File getBasedir()
+<a name="82" href="#82">82</a>              {
+<a name="83" href="#83">83</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir"</span> );
+<a name="84" href="#84">84</a>              }
+<a name="85" href="#85">85</a>          };
+<a name="86" href="#86">86</a>          project.setGroupId( <span class="jxr_string">"group"</span> );
+<a name="87" href="#87">87</a>          project.setArtifactId( <span class="jxr_string">"artifact"</span> );
+<a name="88" href="#88">88</a>          project.setVersion( <span class="jxr_string">"1.1.0.0"</span> );
+<a name="89" href="#89">89</a>          Resource r = <strong class="jxr_keyword">new</strong> Resource();
+<a name="90" href="#90">90</a>          r.setDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
+<a name="91" href="#91">91</a>          r.setIncludes( Arrays.asList( <span class="jxr_string">"**/*.*"</span> ) );
+<a name="92" href="#92">92</a>          project.addResource( r );
+<a name="93" href="#93">93</a>          project.addCompileSourceRoot( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
 <a name="94" href="#94">94</a>  
-<a name="95" href="#95">95</a>          Manifest manifest = builder.getJar().getManifest();
-<a name="96" href="#96">96</a>          String expSvc = manifest.getMainAttributes().getValue( Constants.EXPORT_SERVICE );
-<a name="97" href="#97">97</a>          String impSvc = manifest.getMainAttributes().getValue( Constants.IMPORT_SERVICE );
-<a name="98" href="#98">98</a>          assertNotNull( expSvc );
-<a name="99" href="#99">99</a>          assertNotNull( impSvc );
-<a name="100" href="#100">100</a> 
-<a name="101" href="#101">101</a>         String impPkg = manifest.getMainAttributes().getValue( Constants.IMPORT_PACKAGE );
-<a name="102" href="#102">102</a>         List&lt;String&gt; pkgs = Arrays.asList( impPkg.split( <span class="jxr_string">","</span> ) );
-<a name="103" href="#103">103</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 1; i &lt;= 13; i++ )
-<a name="104" href="#104">104</a>         {
-<a name="105" href="#105">105</a>             assertTrue( pkgs.contains( <span class="jxr_string">"p"</span> + i ) );
-<a name="106" href="#106">106</a>         }
-<a name="107" href="#107">107</a>     }
+<a name="95" href="#95">95</a>          ManifestPlugin plugin = <strong class="jxr_keyword">new</strong> ManifestPlugin();
+<a name="96" href="#96">96</a>          plugin.setBuildDirectory( <span class="jxr_string">"target/tmp/basedir/target"</span> );
+<a name="97" href="#97">97</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir/target/classes"</span> ) );
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="100" href="#100">100</a>         instructions.put( <span class="jxr_string">"service_mode"</span>, mode );
+<a name="101" href="#101">101</a>         instructions.put( <span class="jxr_string">"Test"</span>, <span class="jxr_string">"Foo"</span> );
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         instructions.put( <span class="jxr_string">"nsh_interface"</span>, <span class="jxr_string">"foo.bar.Namespace"</span> );
+<a name="104" href="#104">104</a>         instructions.put( <span class="jxr_string">"nsh_namespace"</span>, <span class="jxr_string">"ns"</span> );
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         instructions.put( <span class="jxr_string">"Export-Service"</span>, <span class="jxr_string">"p7.Foo;mk=mv"</span> );
+<a name="107" href="#107">107</a>         instructions.put( <span class="jxr_string">"Import-Service"</span>, <span class="jxr_string">"org.osgi.service.cm.ConfigurationAdmin;availability:=optional"</span> );
 <a name="108" href="#108">108</a> 
-<a name="109" href="#109">109</a> }
+<a name="109" href="#109">109</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="110" href="#110">110</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="113" href="#113">113</a>         String expSvc = manifest.getMainAttributes().getValue( Constants.EXPORT_SERVICE );
+<a name="114" href="#114">114</a>         String impSvc = manifest.getMainAttributes().getValue( Constants.IMPORT_SERVICE );
+<a name="115" href="#115">115</a>         assertNotNull( expSvc );
+<a name="116" href="#116">116</a>         assertNotNull( impSvc );
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         String impPkg = manifest.getMainAttributes().getValue( Constants.IMPORT_PACKAGE );
+<a name="119" href="#119">119</a>         List&lt;String&gt; pkgs = Create.list();
+<a name="120" href="#120">120</a>         <strong class="jxr_keyword">for</strong> (Clause clause : Parser.parseHeader(impPkg))
+<a name="121" href="#121">121</a>         {
+<a name="122" href="#122">122</a>             pkgs.add(clause.getName());
+<a name="123" href="#123">123</a>         }
+<a name="124" href="#124">124</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 1; i &lt;= 14; i++ )
+<a name="125" href="#125">125</a>         {
+<a name="126" href="#126">126</a>             assertTrue( pkgs.contains( <span class="jxr_string">"p"</span> + i ) );
+<a name="127" href="#127">127</a>         }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong class="jxr_keyword">new</strong> Verifier(builder).verify();
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAnalyzer() <strong class="jxr_keyword">throws</strong> Exception
+<a name="133" href="#133">133</a>     {
+<a name="134" href="#134">134</a>         Analyzer analyzer = <strong class="jxr_keyword">new</strong> Analyzer();
+<a name="135" href="#135">135</a>         Manifest manifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="136" href="#136">136</a>         manifest.read(getClass().getResourceAsStream(<span class="jxr_string">"/test.mf"</span>));
+<a name="137" href="#137">137</a>         Jar jar = <strong class="jxr_keyword">new</strong> Jar(<span class="jxr_string">"name"</span>);
+<a name="138" href="#138">138</a>         jar.setManifest(manifest);
+<a name="139" href="#139">139</a>         analyzer.setJar(jar);
+<a name="140" href="#140">140</a>         analyzer.analyze();
+<a name="141" href="#141">141</a>         <strong class="jxr_keyword">new</strong> Verifier(analyzer).verify();
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</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-test/org/apache/felix/bundleplugin/BundlePluginTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
index ca1eae8..d6d9b59 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
@@ -219,7 +219,7 @@
 <a name="209" href="#209">209</a>         MavenProject project = getMavenProjectStub();
 <a name="210" href="#210">210</a>         project.addCompileSourceRoot( getBasedir() + <span class="jxr_string">"/src/test/java"</span> );
 <a name="211" href="#211">211</a> 
-<a name="212" href="#212">212</a>         String resourcePaths = plugin.getMavenResourcePaths( project );
+<a name="212" href="#212">212</a>         String resourcePaths = plugin.getMavenResourcePaths( project, false );
 <a name="213" href="#213">213</a> 
 <a name="214" href="#214">214</a>         assertEquals( <span class="jxr_string">"org/apache/felix/bundleplugin/packageinfo="</span>
 <a name="215" href="#215">215</a>             + <span class="jxr_string">"src/test/java/org/apache/felix/bundleplugin/packageinfo"</span>, resourcePaths );
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
index 8475f76..20bd549 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -30,6 +30,9 @@
           	          	<li>
             	<a href="BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
           	</li>
+          	          	<li>
+            	<a href="ManifestWriterTest.html" target="classFrame">ManifestWriterTest</a>
+          	</li>
           	      	</ul>
 
 	</body>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html
index 936f8c5..f162ce5 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -60,6 +60,11 @@
                 		<a href="BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
               		</td>
             	</tr>
+				            	<tr>
+              		<td>
+                		<a href="ManifestWriterTest.html" target="classFrame">ManifestWriterTest</a>
+              		</td>
+            	</tr>
 				        	</tbody>
       	</table>
 		
@@ -82,6 +87,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
index f8f48af..e3e689a 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.osgi</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
index 6bd63ca..2d6b403 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.osgi</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -62,6 +62,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/overview-frame.html b/bundleplugin/doc/site/xref-test/overview-frame.html
index aed0619..79b866a 100644
--- a/bundleplugin/doc/site/xref-test/overview-frame.html
+++ b/bundleplugin/doc/site/xref-test/overview-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref-test/overview-summary.html b/bundleplugin/doc/site/xref-test/overview-summary.html
index 79c5369..e995325 100644
--- a/bundleplugin/doc/site/xref-test/overview-summary.html
+++ b/bundleplugin/doc/site/xref-test/overview-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -24,7 +24,7 @@
 	        </ul>
       	</div>
 		
-		      	<h2>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</h2>
+		      	<h2>Maven Bundle Plugin 2.5.0 Reference</h2>
 
 		<table class="summary">
         	<thead>
@@ -64,6 +64,6 @@
       	</div>
 		
 		<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/allclasses-frame.html b/bundleplugin/doc/site/xref/allclasses-frame.html
index c87d361..d36d888 100644
--- a/bundleplugin/doc/site/xref/allclasses-frame.html
+++ b/bundleplugin/doc/site/xref/allclasses-frame.html
@@ -12,6 +12,9 @@
 
 		<ul>
 						<li>
+				<a href="org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.html" target="classFrame">AbstractBaselinePlugin</a>
+			</li>
+						<li>
 				<a href="org/apache/felix/bundleplugin/AbstractDependencyFilter.html" target="classFrame">AbstractDependencyFilter</a>
 			</li>
 						<li>
@@ -21,7 +24,10 @@
 				<a href="org/apache/felix/bundleplugin/AntPlugin.html" target="classFrame">AntPlugin</a>
 			</li>
 						<li>
-				<a href="org/apache/felix/bundleplugin/BlueprintPlugin.html" target="classFrame">Attribute</a>
+				<a href="org/apache/felix/bundleplugin/baseline/BaselinePlugin.html" target="classFrame">BaselinePlugin</a>
+			</li>
+						<li>
+				<a href="org/apache/felix/bundleplugin/baseline/BaselineReport.html" target="classFrame">BaselineReport</a>
 			</li>
 						<li>
 				<a href="org/apache/felix/bundleplugin/BlueprintPlugin.html" target="classFrame">BlueprintPlugin</a>
@@ -54,6 +60,15 @@
 				<a href="org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.html" target="classFrame">DependencyTreeResolutionListener</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/baseline/DiffMessage.html" target="classFrame">DiffMessage</a>
+			</li>
+						<li>
+				<a href="aQute/bnd/osgi/Verifier.html" target="classFrame">EE</a>
+			</li>
+						<li>
+				<a href="org/apache/felix/bundleplugin/baseline/InfoComparator.html" target="classFrame">InfoComparator</a>
+			</li>
+						<li>
 				<a href="org/apache/felix/bundleplugin/InstructionsPlugin.html" target="classFrame">InstructionsPlugin</a>
 			</li>
 						<li>
@@ -66,6 +81,9 @@
 				<a href="org/apache/maven/shared/osgi/ManifestReadingException.html" target="classFrame">ManifestReadingException</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/ManifestWriter.html" target="classFrame">ManifestWriter</a>
+			</li>
+						<li>
 				<a href="org/apache/maven/shared/osgi/Maven2OsgiConverter.html" target="classFrame">Maven2OsgiConverter</a>
 			</li>
 						<li>
@@ -102,6 +120,15 @@
 				<a href="org/apache/felix/obrplugin/RemoteFileManager.html" target="classFrame">RemoteFileManager</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/ScrPlugin.html" target="classFrame">ScrPlugin</a>
+			</li>
+						<li>
+				<a href="org/apache/felix/bundleplugin/baseline/DiffMessage.html" target="classFrame">Type</a>
+			</li>
+						<li>
+				<a href="aQute/bnd/osgi/Verifier.html" target="classFrame">Verifier</a>
+			</li>
+						<li>
 				<a href="org/apache/felix/bundleplugin/VersionCleanerPlugin.html" target="classFrame">VersionCleanerPlugin</a>
 			</li>
 						<li>
diff --git a/bundleplugin/doc/site/xref/index.html b/bundleplugin/doc/site/xref/index.html
index a3c1140..0260334 100644
--- a/bundleplugin/doc/site/xref/index.html
+++ b/bundleplugin/doc/site/xref/index.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 	</head>
     <frameset cols="20%,80%">
 		<frameset rows="30%,70%">
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html
index 92141ff..fb004bc 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html
@@ -36,401 +36,374 @@
 <a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
 <a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.InputStreamReader;
 <a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.net.URL;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.TreeSet;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.regex.Pattern;
-<a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.Transformer;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.TransformerFactory;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamResult;
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamSource;
-<a name="41" href="#41">41</a>  
-<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.service.AnalyzerPlugin;
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
-<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Descriptors.PackageRef;
-<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
-<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
-<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Resource;
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> aQute.libg.generics.Create;
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> aQute.libg.qtokens.QuotedTokenizer;
-<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> aQute.service.reporter.Reporter;
-<a name="51" href="#51">51</a>  
-<a name="52" href="#52">52</a>  
-<a name="53" href="#53">53</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a> implements AnalyzerPlugin
-<a name="54" href="#54">54</a>  {
-<a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>      <strong class="jxr_keyword">static</strong> Pattern QN = Pattern.compile( <span class="jxr_string">"[_A-Za-z$][_A-Za-z0-9$]*(&#92;&#92;.[_A-Za-z$][_A-Za-z0-9$]*)*"</span> );
-<a name="57" href="#57">57</a>      <strong class="jxr_keyword">static</strong> Pattern PATHS = Pattern.compile( <span class="jxr_string">".*&#92;&#92;.xml"</span> );
-<a name="58" href="#58">58</a>  
-<a name="59" href="#59">59</a>      Transformer transformer;
-<a name="60" href="#60">60</a>  
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
+<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> java.util.TreeSet;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> java.util.regex.Pattern;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.Transformer;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.TransformerFactory;
+<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamResult;
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamSource;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.header.Attrs;
+<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.service.AnalyzerPlugin;
+<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Descriptors.PackageRef;
+<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
+<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Resource;
+<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> aQute.libg.generics.Create;
+<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> aQute.libg.qtokens.QuotedTokenizer;
+<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> aQute.service.reporter.Reporter;
+<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Attribute;
+<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Clause;
+<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Directive;
+<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.apache.felix.utils.manifest.Parser.parseHeader;
 <a name="61" href="#61">61</a>  
-<a name="62" href="#62">62</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a>() <strong class="jxr_keyword">throws</strong> Exception
-<a name="63" href="#63">63</a>      {
-<a name="64" href="#64">64</a>          transformer = getTransformer( getClass().getResource( <span class="jxr_string">"blueprint.xsl"</span> ) );
-<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">boolean</strong> analyzeJar( Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="69" href="#69">69</a>      {
-<a name="70" href="#70">70</a>          transformer.setParameter( <span class="jxr_string">"nsh_interface"</span>,
-<a name="71" href="#71">71</a>              analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) : <span class="jxr_string">""</span> );
-<a name="72" href="#72">72</a>          transformer.setParameter( <span class="jxr_string">"nsh_namespace"</span>,
-<a name="73" href="#73">73</a>              analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) : <span class="jxr_string">""</span> );
-<a name="74" href="#74">74</a>  
-<a name="75" href="#75">75</a>          Set&lt;String&gt; headers = Create.set();
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a> implements AnalyzerPlugin
+<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">static</strong> Pattern QN = Pattern.compile( <span class="jxr_string">"[_A-Za-z$][_A-Za-z0-9$]*(&#92;&#92;.[_A-Za-z$][_A-Za-z0-9$]*)*"</span> );
+<a name="67" href="#67">67</a>      <strong class="jxr_keyword">static</strong> Pattern PATHS = Pattern.compile( <span class="jxr_string">".*&#92;&#92;.xml"</span> );
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      Transformer transformer;
+<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> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a>() <strong class="jxr_keyword">throws</strong> Exception
+<a name="73" href="#73">73</a>      {
+<a name="74" href="#74">74</a>          transformer = getTransformer( getClass().getResource( <span class="jxr_string">"blueprint.xsl"</span> ) );
+<a name="75" href="#75">75</a>      }
 <a name="76" href="#76">76</a>  
-<a name="77" href="#77">77</a>          String bpHeader = analyzer.getProperty( <span class="jxr_string">"Bundle-Blueprint"</span>, <span class="jxr_string">"OSGI-INF/blueprint"</span> );
-<a name="78" href="#78">78</a>          Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; map = Processor.parseHeader( bpHeader, <strong class="jxr_keyword">null</strong> );
-<a name="79" href="#79">79</a>  		bpHeader = <span class="jxr_string">""</span>;
-<a name="80" href="#80">80</a>          <strong class="jxr_keyword">for</strong> ( String root : map.keySet() )
-<a name="81" href="#81">81</a>          {
-<a name="82" href="#82">82</a>              Jar jar = analyzer.getJar();
-<a name="83" href="#83">83</a>              Map&lt;String, Resource&gt; dir = jar.getDirectories().get( root );
-<a name="84" href="#84">84</a>              <strong class="jxr_keyword">if</strong> ( dir == <strong class="jxr_keyword">null</strong> || dir.isEmpty() )
-<a name="85" href="#85">85</a>              {
-<a name="86" href="#86">86</a>                  Resource resource = jar.getResource( root );
-<a name="87" href="#87">87</a>                  <strong class="jxr_keyword">if</strong> ( resource != <strong class="jxr_keyword">null</strong> ) 
-<a name="88" href="#88">88</a>  				{
-<a name="89" href="#89">89</a>                      process( analyzer, root, resource, headers );
-<a name="90" href="#90">90</a>  					<strong class="jxr_keyword">if</strong> (bpHeader.length() &gt; 0) {
-<a name="91" href="#91">91</a>  						bpHeader += <span class="jxr_string">","</span>;
-<a name="92" href="#92">92</a>  					}
-<a name="93" href="#93">93</a>  					bpHeader += root;
-<a name="94" href="#94">94</a>  				}
-<a name="95" href="#95">95</a>                  <strong class="jxr_keyword">continue</strong>;
-<a name="96" href="#96">96</a>              }
-<a name="97" href="#97">97</a>              <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Resource&gt; entry : dir.entrySet() )
-<a name="98" href="#98">98</a>              {
-<a name="99" href="#99">99</a>                  String path = entry.getKey();
-<a name="100" href="#100">100</a>                 Resource resource = entry.getValue();
-<a name="101" href="#101">101</a>                 <strong class="jxr_keyword">if</strong> ( PATHS.matcher( path ).matches() ) 
-<a name="102" href="#102">102</a> 				{
-<a name="103" href="#103">103</a>                     process( analyzer, path, resource, headers );
-<a name="104" href="#104">104</a> 					<strong class="jxr_keyword">if</strong> (bpHeader.length() &gt; 0) {
-<a name="105" href="#105">105</a> 						bpHeader += <span class="jxr_string">","</span>;
-<a name="106" href="#106">106</a> 					}
-<a name="107" href="#107">107</a> 					bpHeader += path;
-<a name="108" href="#108">108</a> 				}
-<a name="109" href="#109">109</a>             }
-<a name="110" href="#110">110</a>         }
-<a name="111" href="#111">111</a> 		<strong class="jxr_keyword">if</strong>( !map.isEmpty() ) 
-<a name="112" href="#112">112</a> 		{
-<a name="113" href="#113">113</a> 			analyzer.setProperty(<span class="jxr_string">"Bundle-Blueprint"</span>, bpHeader);
-<a name="114" href="#114">114</a> 		}
-<a name="115" href="#115">115</a> 
-<a name="116" href="#116">116</a>         <em class="jxr_comment">// Group and analyze</em>
-<a name="117" href="#117">117</a>         Map&lt;String, Set&lt;Attribute&gt;&gt; hdrs = Create.map();
-<a name="118" href="#118">118</a>         <strong class="jxr_keyword">for</strong> ( String str : headers )
-<a name="119" href="#119">119</a>         {
-<a name="120" href="#120">120</a>             <strong class="jxr_keyword">int</strong> idx = str.indexOf( ':' );
-<a name="121" href="#121">121</a>             <strong class="jxr_keyword">if</strong> ( idx &lt; 0 )
-<a name="122" href="#122">122</a>             {
-<a name="123" href="#123">123</a>                 analyzer.warning( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Error analyzing services in blueprint resource: "</span> ) ).append(
-<a name="124" href="#124">124</a>                     str ).toString() );
-<a name="125" href="#125">125</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="126" href="#126">126</a>             }
-<a name="127" href="#127">127</a>             String h = str.substring( 0, idx ).trim();
-<a name="128" href="#128">128</a>             String v = str.substring( idx + 1 ).trim();
-<a name="129" href="#129">129</a>             Set&lt;Attribute&gt; att = hdrs.get( h );
-<a name="130" href="#130">130</a>             <strong class="jxr_keyword">if</strong> ( att == <strong class="jxr_keyword">null</strong> )
-<a name="131" href="#131">131</a>             {
-<a name="132" href="#132">132</a>                 att = <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
-<a name="133" href="#133">133</a>                 hdrs.put( h, att );
-<a name="134" href="#134">134</a>             }
-<a name="135" href="#135">135</a>             att.addAll( parseHeader( v, <strong class="jxr_keyword">null</strong> ) );
-<a name="136" href="#136">136</a>         }
-<a name="137" href="#137">137</a>         <em class="jxr_comment">// Merge</em>
-<a name="138" href="#138">138</a>         <strong class="jxr_keyword">for</strong> ( String header : hdrs.keySet() )
-<a name="139" href="#139">139</a>         {
-<a name="140" href="#140">140</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) || <span class="jxr_string">"Import-Package"</span>.equals( header ) )
-<a name="141" href="#141">141</a>             {
-<a name="142" href="#142">142</a>                 Set&lt;Attribute&gt; newAttr = hdrs.get( header );
-<a name="143" href="#143">143</a>                 <strong class="jxr_keyword">for</strong> ( Attribute a : newAttr )
-<a name="144" href="#144">144</a>                 {
-<a name="145" href="#145">145</a>                     String pkg = a.getName();
-<a name="146" href="#146">146</a>                     <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) )
-<a name="147" href="#147">147</a>                     {
-<a name="148" href="#148">148</a>                         <strong class="jxr_keyword">int</strong> n = a.getName().lastIndexOf( '.' );
-<a name="149" href="#149">149</a>                         <strong class="jxr_keyword">if</strong> ( n &gt; 0 )
-<a name="150" href="#150">150</a>                         {
-<a name="151" href="#151">151</a>                             pkg = pkg.subSequence( 0, n ).toString();
-<a name="152" href="#152">152</a>                         }
-<a name="153" href="#153">153</a>                         <strong class="jxr_keyword">else</strong>
-<a name="154" href="#154">154</a>                         {
-<a name="155" href="#155">155</a>                             <strong class="jxr_keyword">continue</strong>;
-<a name="156" href="#156">156</a>                         }
-<a name="157" href="#157">157</a>                     }
-<a name="158" href="#158">158</a>                     PackageRef pkgRef = analyzer.getPackageRef( pkg );
-<a name="159" href="#159">159</a>                     <strong class="jxr_keyword">if</strong> ( !analyzer.getReferred().containsKey( pkgRef ) )
-<a name="160" href="#160">160</a>                     {
-<a name="161" href="#161">161</a>                         analyzer.getReferred().put( pkgRef ).putAll( a.getProperties() );
-<a name="162" href="#162">162</a>                     }
-<a name="163" href="#163">163</a>                 }
-<a name="164" href="#164">164</a>             }
-<a name="165" href="#165">165</a>             <strong class="jxr_keyword">else</strong>
-<a name="166" href="#166">166</a>             {
-<a name="167" href="#167">167</a>                 Set&lt;Attribute&gt; orgAttr = parseHeader( analyzer.getProperty( header ), <strong class="jxr_keyword">null</strong> );
-<a name="168" href="#168">168</a>                 Set&lt;Attribute&gt; newAttr = hdrs.get( header );
-<a name="169" href="#169">169</a>                 <strong class="jxr_keyword">for</strong> ( Iterator&lt;Attribute&gt; it = newAttr.iterator(); it.hasNext(); )
-<a name="170" href="#170">170</a>                 {
-<a name="171" href="#171">171</a>                     <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> a = it.next();
-<a name="172" href="#172">172</a>                     <strong class="jxr_keyword">for</strong> ( Attribute b : orgAttr )
-<a name="173" href="#173">173</a>                     {
-<a name="174" href="#174">174</a>                         <strong class="jxr_keyword">if</strong> ( b.getName().equals( a.getName() ) )
-<a name="175" href="#175">175</a>                         {
-<a name="176" href="#176">176</a>                             it.remove();
-<a name="177" href="#177">177</a>                             <strong class="jxr_keyword">break</strong>;
-<a name="178" href="#178">178</a>                         }
-<a name="179" href="#179">179</a>                     }
-<a name="180" href="#180">180</a>                 }
-<a name="181" href="#181">181</a>                 orgAttr.addAll( newAttr );
-<a name="182" href="#182">182</a>                 <em class="jxr_comment">// Rebuild from orgAttr</em>
-<a name="183" href="#183">183</a>                 StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="184" href="#184">184</a>                 <strong class="jxr_keyword">for</strong> ( Attribute a : orgAttr )
-<a name="185" href="#185">185</a>                 {
-<a name="186" href="#186">186</a>                     <strong class="jxr_keyword">if</strong> ( sb.length() &gt; 0 )
-<a name="187" href="#187">187</a>                     {
-<a name="188" href="#188">188</a>                         sb.append( <span class="jxr_string">","</span> );
-<a name="189" href="#189">189</a>                     }
-<a name="190" href="#190">190</a>                     sb.append( a.getName() );
-<a name="191" href="#191">191</a>                     <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, String&gt; prop : a.getProperties().entrySet() )
-<a name="192" href="#192">192</a>                     {
-<a name="193" href="#193">193</a>                         sb.append( ';' ).append( prop.getKey() ).append( <span class="jxr_string">"="</span> );
-<a name="194" href="#194">194</a>                         <strong class="jxr_keyword">if</strong> ( prop.getValue().matches( <span class="jxr_string">"[0-9a-zA-Z_-]+"</span> ) )
-<a name="195" href="#195">195</a>                         {
-<a name="196" href="#196">196</a>                             sb.append( prop.getValue() );
-<a name="197" href="#197">197</a>                         }
-<a name="198" href="#198">198</a>                         <strong class="jxr_keyword">else</strong>
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> analyzeJar( Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="79" href="#79">79</a>      {
+<a name="80" href="#80">80</a>          String mode = analyzer.getProperty(<span class="jxr_string">"service_mode"</span>);
+<a name="81" href="#81">81</a>          <strong class="jxr_keyword">if</strong> (mode == <strong class="jxr_keyword">null</strong>) {
+<a name="82" href="#82">82</a>              mode = <span class="jxr_string">"service"</span>;
+<a name="83" href="#83">83</a>          }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          transformer.setParameter( <span class="jxr_string">"nsh_interface"</span>,
+<a name="86" href="#86">86</a>              analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) : <span class="jxr_string">""</span> );
+<a name="87" href="#87">87</a>          transformer.setParameter( <span class="jxr_string">"nsh_namespace"</span>,
+<a name="88" href="#88">88</a>              analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) : <span class="jxr_string">""</span> );
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          Set&lt;String&gt; headers = Create.set();
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          String bpHeader = analyzer.getProperty( <span class="jxr_string">"Bundle-Blueprint"</span>, <span class="jxr_string">"OSGI-INF/blueprint"</span> );
+<a name="93" href="#93">93</a>          Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; map = Processor.parseHeader( bpHeader, <strong class="jxr_keyword">null</strong> );
+<a name="94" href="#94">94</a>  		bpHeader = <span class="jxr_string">""</span>;
+<a name="95" href="#95">95</a>          <strong class="jxr_keyword">for</strong> ( String root : map.keySet() )
+<a name="96" href="#96">96</a>          {
+<a name="97" href="#97">97</a>              Jar jar = analyzer.getJar();
+<a name="98" href="#98">98</a>              Map&lt;String, Resource&gt; dir = jar.getDirectories().get( root );
+<a name="99" href="#99">99</a>              <strong class="jxr_keyword">if</strong> ( dir == <strong class="jxr_keyword">null</strong> || dir.isEmpty() )
+<a name="100" href="#100">100</a>             {
+<a name="101" href="#101">101</a>                 Resource resource = jar.getResource( root );
+<a name="102" href="#102">102</a>                 <strong class="jxr_keyword">if</strong> ( resource != <strong class="jxr_keyword">null</strong> ) 
+<a name="103" href="#103">103</a> 				{
+<a name="104" href="#104">104</a>                     process( analyzer, root, resource, headers );
+<a name="105" href="#105">105</a> 					<strong class="jxr_keyword">if</strong> (bpHeader.length() &gt; 0) {
+<a name="106" href="#106">106</a> 						bpHeader += <span class="jxr_string">","</span>;
+<a name="107" href="#107">107</a> 					}
+<a name="108" href="#108">108</a> 					bpHeader += root;
+<a name="109" href="#109">109</a> 				}
+<a name="110" href="#110">110</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="111" href="#111">111</a>             }
+<a name="112" href="#112">112</a>             <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Resource&gt; entry : dir.entrySet() )
+<a name="113" href="#113">113</a>             {
+<a name="114" href="#114">114</a>                 String path = entry.getKey();
+<a name="115" href="#115">115</a>                 Resource resource = entry.getValue();
+<a name="116" href="#116">116</a>                 <strong class="jxr_keyword">if</strong> ( PATHS.matcher( path ).matches() ) 
+<a name="117" href="#117">117</a> 				{
+<a name="118" href="#118">118</a>                     process( analyzer, path, resource, headers );
+<a name="119" href="#119">119</a> 					<strong class="jxr_keyword">if</strong> (bpHeader.length() &gt; 0) {
+<a name="120" href="#120">120</a> 						bpHeader += <span class="jxr_string">","</span>;
+<a name="121" href="#121">121</a> 					}
+<a name="122" href="#122">122</a> 					bpHeader += path;
+<a name="123" href="#123">123</a> 				}
+<a name="124" href="#124">124</a>             }
+<a name="125" href="#125">125</a>         }
+<a name="126" href="#126">126</a> 		<strong class="jxr_keyword">if</strong>( !map.isEmpty() ) 
+<a name="127" href="#127">127</a> 		{
+<a name="128" href="#128">128</a> 			analyzer.setProperty(<span class="jxr_string">"Bundle-Blueprint"</span>, bpHeader);
+<a name="129" href="#129">129</a> 		}
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         <em class="jxr_comment">// Group and analyze</em>
+<a name="132" href="#132">132</a>         Set&lt;String&gt; caps = Create.set();
+<a name="133" href="#133">133</a>         Set&lt;String&gt; reqs = Create.set();
+<a name="134" href="#134">134</a>         Map&lt;String, Set&lt;Clause&gt;&gt; hdrs = Create.map();
+<a name="135" href="#135">135</a>         <strong class="jxr_keyword">for</strong> ( String str : headers )
+<a name="136" href="#136">136</a>         {
+<a name="137" href="#137">137</a>             <strong class="jxr_keyword">int</strong> idx = str.indexOf( ':' );
+<a name="138" href="#138">138</a>             <strong class="jxr_keyword">if</strong> ( idx &lt; 0 )
+<a name="139" href="#139">139</a>             {
+<a name="140" href="#140">140</a>                 analyzer.warning( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Error analyzing services in blueprint resource: "</span> ) ).append(
+<a name="141" href="#141">141</a>                     str ).toString() );
+<a name="142" href="#142">142</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="143" href="#143">143</a>             }
+<a name="144" href="#144">144</a>             String h = str.substring( 0, idx ).trim();
+<a name="145" href="#145">145</a>             String v = str.substring( idx + 1 ).trim();
+<a name="146" href="#146">146</a>             Clause[] hc = parseHeader(v);
+<a name="147" href="#147">147</a>             <em class="jxr_comment">// Convert generic caps/reqs</em>
+<a name="148" href="#148">148</a>             <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"Import-Service"</span>.equals(h))
+<a name="149" href="#149">149</a>             {
+<a name="150" href="#150">150</a>                 <strong class="jxr_keyword">if</strong> (!<span class="jxr_string">"service"</span>.equals(mode))
+<a name="151" href="#151">151</a>                 {
+<a name="152" href="#152">152</a>                     Clause clause = hc[0];
+<a name="153" href="#153">153</a>                     String multiple = clause.getDirective(<span class="jxr_string">"multiple"</span>);
+<a name="154" href="#154">154</a>                     String avail = clause.getDirective(<span class="jxr_string">"availability"</span>);
+<a name="155" href="#155">155</a>                     String filter = clause.getAttribute(<span class="jxr_string">"filter"</span>);
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>                     StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="158" href="#158">158</a>                     sb.append(<span class="jxr_string">"osgi.service;effective:=active;"</span>);
+<a name="159" href="#159">159</a>                     <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"optional"</span>.equals(avail)) {
+<a name="160" href="#160">160</a>                         sb.append(<span class="jxr_string">"resolution:=optional;"</span>);
+<a name="161" href="#161">161</a>                     }
+<a name="162" href="#162">162</a>                     <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"true"</span>.equals(multiple)) {
+<a name="163" href="#163">163</a>                         sb.append(<span class="jxr_string">"cardinality:=multiple;"</span>);
+<a name="164" href="#164">164</a>                     }
+<a name="165" href="#165">165</a>                     <strong class="jxr_keyword">if</strong> (filter == <strong class="jxr_keyword">null</strong>) {
+<a name="166" href="#166">166</a>                         filter = <span class="jxr_string">"("</span> + Constants.OBJECTCLASS + <span class="jxr_string">"="</span> + clause.getName() + <span class="jxr_string">")"</span>;
+<a name="167" href="#167">167</a>                     } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!filter.startsWith(<span class="jxr_string">"("</span>) &amp;&amp; !filter.endsWith(<span class="jxr_string">")"</span>)) {
+<a name="168" href="#168">168</a>                         filter = <span class="jxr_string">"(&amp;("</span> + Constants.OBJECTCLASS + <span class="jxr_string">"="</span> + clause.getName() + <span class="jxr_string">")("</span> + filter + <span class="jxr_string">"))"</span>;
+<a name="169" href="#169">169</a>                     } <strong class="jxr_keyword">else</strong> {
+<a name="170" href="#170">170</a>                         filter = <span class="jxr_string">"(&amp;("</span> + Constants.OBJECTCLASS + <span class="jxr_string">"="</span> + clause.getName() + <span class="jxr_string">")"</span> + filter + <span class="jxr_string">")"</span>;
+<a name="171" href="#171">171</a>                     }
+<a name="172" href="#172">172</a>                     sb.append(<span class="jxr_string">"filter:=\&quot;"</span>).append(filter).append(<span class="jxr_string">"\&quot;"</span>);
+<a name="173" href="#173">173</a>                     reqs.add(sb.toString());
+<a name="174" href="#174">174</a>                 }
+<a name="175" href="#175">175</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!<span class="jxr_string">"generic"</span>.equals(mode))
+<a name="176" href="#176">176</a>                 {
+<a name="177" href="#177">177</a>                     Set&lt;Clause&gt; clauses = hdrs.get(h);
+<a name="178" href="#178">178</a>                     <strong class="jxr_keyword">if</strong> (clauses == <strong class="jxr_keyword">null</strong>) {
+<a name="179" href="#179">179</a>                         clauses = <strong class="jxr_keyword">new</strong> HashSet&lt;Clause&gt;();
+<a name="180" href="#180">180</a>                         hdrs.put(h, clauses);
+<a name="181" href="#181">181</a>                     }
+<a name="182" href="#182">182</a>                     clauses.addAll(Arrays.asList(hc));
+<a name="183" href="#183">183</a>                 }
+<a name="184" href="#184">184</a>             }
+<a name="185" href="#185">185</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"Export-Service"</span>.equals(h))
+<a name="186" href="#186">186</a>             {
+<a name="187" href="#187">187</a>                 <strong class="jxr_keyword">if</strong> (!<span class="jxr_string">"service"</span>.equals(mode))
+<a name="188" href="#188">188</a>                 {
+<a name="189" href="#189">189</a>                     StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="190" href="#190">190</a>                     sb.append(<span class="jxr_string">"osgi.service;effective:=active;objectClass"</span>);
+<a name="191" href="#191">191</a>                     <strong class="jxr_keyword">if</strong> (hc.length &gt; 1) {
+<a name="192" href="#192">192</a>                         sb.append(<span class="jxr_string">":List&lt;String&gt;=\&quot;"</span>);
+<a name="193" href="#193">193</a>                     } <strong class="jxr_keyword">else</strong> {
+<a name="194" href="#194">194</a>                         sb.append(<span class="jxr_string">"=\&quot;"</span>);
+<a name="195" href="#195">195</a>                     }
+<a name="196" href="#196">196</a>                     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; hc.length; i++)
+<a name="197" href="#197">197</a>                     {
+<a name="198" href="#198">198</a>                         <strong class="jxr_keyword">if</strong> (i &gt; 0)
 <a name="199" href="#199">199</a>                         {
-<a name="200" href="#200">200</a>                             sb.append( <span class="jxr_string">"\&quot;"</span> );
-<a name="201" href="#201">201</a>                             sb.append( prop.getValue().replace( <span class="jxr_string">"\&quot;"</span>, <span class="jxr_string">"&#92;&#92;\&quot;"</span> ) );
-<a name="202" href="#202">202</a>                             sb.append( <span class="jxr_string">"\&quot;"</span> );
-<a name="203" href="#203">203</a>                         }
-<a name="204" href="#204">204</a>                     }
-<a name="205" href="#205">205</a>                 }
-<a name="206" href="#206">206</a>                 analyzer.setProperty( header, sb.toString() );
-<a name="207" href="#207">207</a>             }
-<a name="208" href="#208">208</a>         }
-<a name="209" href="#209">209</a>         <strong class="jxr_keyword">return</strong> false;
-<a name="210" href="#210">210</a>     }
-<a name="211" href="#211">211</a> 
-<a name="212" href="#212">212</a> 
-<a name="213" href="#213">213</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process( Analyzer analyzer, String path, Resource resource, Set&lt;String&gt; headers )
-<a name="214" href="#214">214</a>     {
-<a name="215" href="#215">215</a>         InputStream in = <strong class="jxr_keyword">null</strong>;
-<a name="216" href="#216">216</a>         <strong class="jxr_keyword">try</strong>
-<a name="217" href="#217">217</a>         {
-<a name="218" href="#218">218</a>             in = resource.openInputStream();
-<a name="219" href="#219">219</a> 
-<a name="220" href="#220">220</a>             <em class="jxr_comment">// Retrieve headers</em>
-<a name="221" href="#221">221</a>             Set&lt;String&gt; set = analyze( in );
-<a name="222" href="#222">222</a>             headers.addAll( set );
-<a name="223" href="#223">223</a>         }
-<a name="224" href="#224">224</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="225" href="#225">225</a>         {
-<a name="226" href="#226">226</a>             analyzer.error( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Unexpected exception in processing spring resources("</span> ) )
-<a name="227" href="#227">227</a>                 .append( path ).append( <span class="jxr_string">"): "</span> ).append( e ).toString() );
-<a name="228" href="#228">228</a>         }
-<a name="229" href="#229">229</a>         <strong class="jxr_keyword">finally</strong>
-<a name="230" href="#230">230</a>         {
-<a name="231" href="#231">231</a>             <strong class="jxr_keyword">try</strong>
-<a name="232" href="#232">232</a>             {
-<a name="233" href="#233">233</a>                 <strong class="jxr_keyword">if</strong> ( in != <strong class="jxr_keyword">null</strong> )
-<a name="234" href="#234">234</a>                 {
-<a name="235" href="#235">235</a>                     in.close();
-<a name="236" href="#236">236</a>                 }
-<a name="237" href="#237">237</a>             }
-<a name="238" href="#238">238</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="239" href="#239">239</a>             {
-<a name="240" href="#240">240</a>             }
-<a name="241" href="#241">241</a>         }
-<a name="242" href="#242">242</a>     }
-<a name="243" href="#243">243</a> 
-<a name="244" href="#244">244</a> 
-<a name="245" href="#245">245</a>     <strong class="jxr_keyword">public</strong> Set&lt;String&gt; analyze( InputStream in ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="246" href="#246">246</a>     {
-<a name="247" href="#247">247</a>         Set&lt;String&gt; refers = <strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;();
-<a name="248" href="#248">248</a>         ByteArrayOutputStream bout = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="249" href="#249">249</a>         javax.xml.transform.Result r = <strong class="jxr_keyword">new</strong> StreamResult( bout );
-<a name="250" href="#250">250</a>         javax.xml.transform.Source s = <strong class="jxr_keyword">new</strong> StreamSource( in );
-<a name="251" href="#251">251</a>         transformer.transform( s, r );
-<a name="252" href="#252">252</a>         ByteArrayInputStream bin = <strong class="jxr_keyword">new</strong> ByteArrayInputStream( bout.toByteArray() );
-<a name="253" href="#253">253</a>         bout.close();
-<a name="254" href="#254">254</a>         BufferedReader br = <strong class="jxr_keyword">new</strong> BufferedReader( <strong class="jxr_keyword">new</strong> InputStreamReader( bin ) );
-<a name="255" href="#255">255</a>         <strong class="jxr_keyword">for</strong> ( String line = br.readLine(); line != <strong class="jxr_keyword">null</strong>; line = br.readLine() )
-<a name="256" href="#256">256</a>         {
-<a name="257" href="#257">257</a>             line = line.trim();
-<a name="258" href="#258">258</a>             line = line.replace( <span class="jxr_string">";availability:=mandatory"</span>, <span class="jxr_string">""</span> );
-<a name="259" href="#259">259</a>             <strong class="jxr_keyword">if</strong> ( line.length() &gt; 0 )
-<a name="260" href="#260">260</a>             {
-<a name="261" href="#261">261</a>                 refers.add( line );
-<a name="262" href="#262">262</a>             }
-<a name="263" href="#263">263</a>         }
-<a name="264" href="#264">264</a> 
-<a name="265" href="#265">265</a>         br.close();
-<a name="266" href="#266">266</a>         <strong class="jxr_keyword">return</strong> refers;
-<a name="267" href="#267">267</a>     }
-<a name="268" href="#268">268</a> 
-<a name="269" href="#269">269</a> 
-<a name="270" href="#270">270</a>     <strong class="jxr_keyword">protected</strong> Transformer getTransformer( URL url ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="271" href="#271">271</a>     {
-<a name="272" href="#272">272</a>         TransformerFactory tf = TransformerFactory.newInstance();
-<a name="273" href="#273">273</a>         javax.xml.transform.Source source = <strong class="jxr_keyword">new</strong> StreamSource( url.openStream() );
-<a name="274" href="#274">274</a>         <strong class="jxr_keyword">return</strong> tf.newTransformer( source );
-<a name="275" href="#275">275</a>     }
-<a name="276" href="#276">276</a> 
-<a name="277" href="#277">277</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> implements Comparable&lt;Attribute&gt;
-<a name="278" href="#278">278</a>     {
-<a name="279" href="#279">279</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
-<a name="280" href="#280">280</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, String&gt; properties;
-<a name="281" href="#281">281</a> 
-<a name="282" href="#282">282</a> 
-<a name="283" href="#283">283</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a>( String name, Map&lt;String, String&gt; properties )
-<a name="284" href="#284">284</a>         {
-<a name="285" href="#285">285</a>             <strong class="jxr_keyword">this</strong>.name = name;
-<a name="286" href="#286">286</a>             <strong class="jxr_keyword">this</strong>.properties = properties;
-<a name="287" href="#287">287</a>         }
-<a name="288" href="#288">288</a> 
-<a name="289" href="#289">289</a> 
-<a name="290" href="#290">290</a>         <strong class="jxr_keyword">public</strong> String getName()
-<a name="291" href="#291">291</a>         {
-<a name="292" href="#292">292</a>             <strong class="jxr_keyword">return</strong> name;
-<a name="293" href="#293">293</a>         }
-<a name="294" href="#294">294</a> 
-<a name="295" href="#295">295</a> 
-<a name="296" href="#296">296</a>         <strong class="jxr_keyword">public</strong> Map&lt;String, String&gt; getProperties()
-<a name="297" href="#297">297</a>         {
-<a name="298" href="#298">298</a>             <strong class="jxr_keyword">return</strong> properties;
-<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>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo( Attribute a )
-<a name="303" href="#303">303</a>         {
-<a name="304" href="#304">304</a>             <strong class="jxr_keyword">int</strong> c = name.compareTo( a.name );
-<a name="305" href="#305">305</a>             <strong class="jxr_keyword">if</strong> ( c == 0 )
-<a name="306" href="#306">306</a>             {
-<a name="307" href="#307">307</a>                 c = properties.equals( a.properties ) ? 0 : properties.size() &lt; a.properties.size() ? -1 : properties
-<a name="308" href="#308">308</a>                     .hashCode() &lt; a.properties.hashCode() ? -1 : +1;
-<a name="309" href="#309">309</a>             }
-<a name="310" href="#310">310</a>             <strong class="jxr_keyword">return</strong> c;
-<a name="311" href="#311">311</a>         }
-<a name="312" href="#312">312</a> 
-<a name="313" href="#313">313</a> 
-<a name="314" href="#314">314</a>         @Override
-<a name="315" href="#315">315</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals( Object o )
-<a name="316" href="#316">316</a>         {
-<a name="317" href="#317">317</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">this</strong> == o )
-<a name="318" href="#318">318</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="319" href="#319">319</a>             <strong class="jxr_keyword">if</strong> ( o == <strong class="jxr_keyword">null</strong> || getClass() != o.getClass() )
-<a name="320" href="#320">320</a>                 <strong class="jxr_keyword">return</strong> false;
-<a name="321" href="#321">321</a> 
-<a name="322" href="#322">322</a>             <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> attribute = ( Attribute ) o;
+<a name="200" href="#200">200</a>                             sb.append(<span class="jxr_string">","</span>);
+<a name="201" href="#201">201</a>                         }
+<a name="202" href="#202">202</a>                         sb.append(hc[i].getName());
+<a name="203" href="#203">203</a>                     }
+<a name="204" href="#204">204</a>                     sb.append(<span class="jxr_string">"\&quot;"</span>);
+<a name="205" href="#205">205</a>                     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; hc[0].getAttributes().length; i++)
+<a name="206" href="#206">206</a>                     {
+<a name="207" href="#207">207</a>                         sb.append(<span class="jxr_string">";"</span>);
+<a name="208" href="#208">208</a>                         sb.append(hc[0].getAttributes()[i].getName());
+<a name="209" href="#209">209</a>                         sb.append(<span class="jxr_string">"=\&quot;"</span>);
+<a name="210" href="#210">210</a>                         sb.append(hc[0].getAttributes()[i].getValue());
+<a name="211" href="#211">211</a>                         sb.append(<span class="jxr_string">"\&quot;"</span>);
+<a name="212" href="#212">212</a>                     }
+<a name="213" href="#213">213</a>                     caps.add(sb.toString());
+<a name="214" href="#214">214</a>                 }
+<a name="215" href="#215">215</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!<span class="jxr_string">"generic"</span>.equals(mode))
+<a name="216" href="#216">216</a>                 {
+<a name="217" href="#217">217</a>                     Set&lt;Clause&gt; clauses = hdrs.get(h);
+<a name="218" href="#218">218</a>                     <strong class="jxr_keyword">if</strong> (clauses == <strong class="jxr_keyword">null</strong>) {
+<a name="219" href="#219">219</a>                         clauses = <strong class="jxr_keyword">new</strong> HashSet&lt;Clause&gt;();
+<a name="220" href="#220">220</a>                         hdrs.put(h, clauses);
+<a name="221" href="#221">221</a>                     }
+<a name="222" href="#222">222</a>                     clauses.addAll(Arrays.asList(hc));
+<a name="223" href="#223">223</a>                 }
+<a name="224" href="#224">224</a>             }
+<a name="225" href="#225">225</a>             <strong class="jxr_keyword">else</strong>
+<a name="226" href="#226">226</a>             {
+<a name="227" href="#227">227</a>                 Set&lt;Clause&gt; clauses = hdrs.get(h);
+<a name="228" href="#228">228</a>                 <strong class="jxr_keyword">if</strong> (clauses == <strong class="jxr_keyword">null</strong>)
+<a name="229" href="#229">229</a>                 {
+<a name="230" href="#230">230</a>                     clauses = <strong class="jxr_keyword">new</strong> HashSet&lt;Clause&gt;();
+<a name="231" href="#231">231</a>                     hdrs.put(h, clauses);
+<a name="232" href="#232">232</a>                 }
+<a name="233" href="#233">233</a>                 clauses.addAll(Arrays.asList( hc ) );
+<a name="234" href="#234">234</a>             }
+<a name="235" href="#235">235</a>         }
+<a name="236" href="#236">236</a>         <strong class="jxr_keyword">if</strong> (!caps.isEmpty())
+<a name="237" href="#237">237</a>         {
+<a name="238" href="#238">238</a>             StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="239" href="#239">239</a>             String header = analyzer.getProperty(<span class="jxr_string">"Provide-Capability"</span>);
+<a name="240" href="#240">240</a>             <strong class="jxr_keyword">if</strong> (header != <strong class="jxr_keyword">null</strong>)
+<a name="241" href="#241">241</a>             {
+<a name="242" href="#242">242</a>                 sb.append(header);
+<a name="243" href="#243">243</a>             }
+<a name="244" href="#244">244</a>             <strong class="jxr_keyword">for</strong> (String cap : caps) {
+<a name="245" href="#245">245</a>                 <strong class="jxr_keyword">if</strong> (sb.length() &gt; 0) {
+<a name="246" href="#246">246</a>                     sb.append(<span class="jxr_string">","</span>);
+<a name="247" href="#247">247</a>                 }
+<a name="248" href="#248">248</a>                 sb.append(cap);
+<a name="249" href="#249">249</a>             }
+<a name="250" href="#250">250</a>             analyzer.setProperty(<span class="jxr_string">"Provide-Capability"</span>, sb.toString());
+<a name="251" href="#251">251</a>         }
+<a name="252" href="#252">252</a>         <strong class="jxr_keyword">if</strong> (!reqs.isEmpty())
+<a name="253" href="#253">253</a>         {
+<a name="254" href="#254">254</a>             StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="255" href="#255">255</a>             String header = analyzer.getProperty(<span class="jxr_string">"Require-Capability"</span>);
+<a name="256" href="#256">256</a>             <strong class="jxr_keyword">if</strong> (header != <strong class="jxr_keyword">null</strong>)
+<a name="257" href="#257">257</a>             {
+<a name="258" href="#258">258</a>                 sb.append(header);
+<a name="259" href="#259">259</a>             }
+<a name="260" href="#260">260</a>             <strong class="jxr_keyword">for</strong> (String req : reqs) {
+<a name="261" href="#261">261</a>                 <strong class="jxr_keyword">if</strong> (sb.length() &gt; 0) {
+<a name="262" href="#262">262</a>                     sb.append(<span class="jxr_string">","</span>);
+<a name="263" href="#263">263</a>                 }
+<a name="264" href="#264">264</a>                 sb.append(req);
+<a name="265" href="#265">265</a>             }
+<a name="266" href="#266">266</a>             analyzer.setProperty(<span class="jxr_string">"Require-Capability"</span>, sb.toString());
+<a name="267" href="#267">267</a>         }
+<a name="268" href="#268">268</a>         <em class="jxr_comment">// Merge</em>
+<a name="269" href="#269">269</a>         <strong class="jxr_keyword">for</strong> ( String header : hdrs.keySet() )
+<a name="270" href="#270">270</a>         {
+<a name="271" href="#271">271</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) || <span class="jxr_string">"Import-Package"</span>.equals( header ) )
+<a name="272" href="#272">272</a>             {
+<a name="273" href="#273">273</a>                 Set&lt;Clause&gt; newAttr = hdrs.get(header);
+<a name="274" href="#274">274</a>                 <strong class="jxr_keyword">for</strong> ( Clause a : newAttr )
+<a name="275" href="#275">275</a>                 {
+<a name="276" href="#276">276</a>                     String pkg = a.getName();
+<a name="277" href="#277">277</a>                     <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) )
+<a name="278" href="#278">278</a>                     {
+<a name="279" href="#279">279</a>                         <strong class="jxr_keyword">int</strong> n = a.getName().lastIndexOf( '.' );
+<a name="280" href="#280">280</a>                         <strong class="jxr_keyword">if</strong> ( n &gt; 0 )
+<a name="281" href="#281">281</a>                         {
+<a name="282" href="#282">282</a>                             pkg = pkg.subSequence( 0, n ).toString();
+<a name="283" href="#283">283</a>                         }
+<a name="284" href="#284">284</a>                         <strong class="jxr_keyword">else</strong>
+<a name="285" href="#285">285</a>                         {
+<a name="286" href="#286">286</a>                             <strong class="jxr_keyword">continue</strong>;
+<a name="287" href="#287">287</a>                         }
+<a name="288" href="#288">288</a>                     }
+<a name="289" href="#289">289</a>                     PackageRef pkgRef = analyzer.getPackageRef( pkg );
+<a name="290" href="#290">290</a>                     <strong class="jxr_keyword">if</strong> ( !analyzer.getReferred().containsKey( pkgRef ) )
+<a name="291" href="#291">291</a>                     {
+<a name="292" href="#292">292</a>                         Attrs attrs = analyzer.getReferred().put(pkgRef);
+<a name="293" href="#293">293</a>                         <strong class="jxr_keyword">for</strong> (Attribute attribute : a.getAttributes())
+<a name="294" href="#294">294</a>                         {
+<a name="295" href="#295">295</a>                             attrs.put(attribute.getName(), attribute.getValue());
+<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>             <strong class="jxr_keyword">else</strong>
+<a name="301" href="#301">301</a>             {
+<a name="302" href="#302">302</a>                 Set&lt;String&gt; merge = Create.set();
+<a name="303" href="#303">303</a>                 String org = analyzer.getProperty(header);
+<a name="304" href="#304">304</a>                 <strong class="jxr_keyword">if</strong> (org != <strong class="jxr_keyword">null</strong> &amp;&amp; !org.isEmpty())
+<a name="305" href="#305">305</a>                 {
+<a name="306" href="#306">306</a>                     <strong class="jxr_keyword">for</strong> (Clause clause : parseHeader(org))
+<a name="307" href="#307">307</a>                     {
+<a name="308" href="#308">308</a>                         merge.add(clause.toString());
+<a name="309" href="#309">309</a>                     }
+<a name="310" href="#310">310</a>                 }
+<a name="311" href="#311">311</a>                 <strong class="jxr_keyword">for</strong> (Clause clause : hdrs.get(header))
+<a name="312" href="#312">312</a>                 {
+<a name="313" href="#313">313</a>                     merge.add(clause.toString());
+<a name="314" href="#314">314</a>                 }
+<a name="315" href="#315">315</a>                 StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="316" href="#316">316</a>                 <strong class="jxr_keyword">for</strong> (String clause : merge)
+<a name="317" href="#317">317</a>                 {
+<a name="318" href="#318">318</a>                     <strong class="jxr_keyword">if</strong> ( sb.length() &gt; 0 )
+<a name="319" href="#319">319</a>                     {
+<a name="320" href="#320">320</a>                         sb.append( <span class="jxr_string">","</span> );
+<a name="321" href="#321">321</a>                     }
+<a name="322" href="#322">322</a>                     sb.append(clause);
 <a name="323" href="#323">323</a> 
-<a name="324" href="#324">324</a>             <strong class="jxr_keyword">if</strong> ( name != <strong class="jxr_keyword">null</strong> ? !name.equals( attribute.name ) : attribute.name != <strong class="jxr_keyword">null</strong> )
-<a name="325" href="#325">325</a>                 <strong class="jxr_keyword">return</strong> false;
-<a name="326" href="#326">326</a>             <strong class="jxr_keyword">if</strong> ( properties != <strong class="jxr_keyword">null</strong> ? !properties.equals( attribute.properties ) : attribute.properties != <strong class="jxr_keyword">null</strong> )
-<a name="327" href="#327">327</a>                 <strong class="jxr_keyword">return</strong> false;
-<a name="328" href="#328">328</a> 
-<a name="329" href="#329">329</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="330" href="#330">330</a>         }
+<a name="324" href="#324">324</a>                 }
+<a name="325" href="#325">325</a>                 analyzer.setProperty( header, sb.toString() );
+<a name="326" href="#326">326</a>             }
+<a name="327" href="#327">327</a>         }
+<a name="328" href="#328">328</a>         <strong class="jxr_keyword">return</strong> false;
+<a name="329" href="#329">329</a>     }
+<a name="330" href="#330">330</a> 
 <a name="331" href="#331">331</a> 
-<a name="332" href="#332">332</a> 
-<a name="333" href="#333">333</a>         @Override
-<a name="334" href="#334">334</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode()
-<a name="335" href="#335">335</a>         {
-<a name="336" href="#336">336</a>             <strong class="jxr_keyword">int</strong> result = name != <strong class="jxr_keyword">null</strong> ? name.hashCode() : 0;
-<a name="337" href="#337">337</a>             result = 31 * result + ( properties != <strong class="jxr_keyword">null</strong> ? properties.hashCode() : 0 );
-<a name="338" href="#338">338</a>             <strong class="jxr_keyword">return</strong> result;
-<a name="339" href="#339">339</a>         }
-<a name="340" href="#340">340</a>     }
-<a name="341" href="#341">341</a> 
-<a name="342" href="#342">342</a> 
-<a name="343" href="#343">343</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Set&lt;Attribute&gt; parseHeader( String value, Reporter logger )
-<a name="344" href="#344">344</a>     {
-<a name="345" href="#345">345</a>         <strong class="jxr_keyword">if</strong> ( ( value == <strong class="jxr_keyword">null</strong> ) || ( value.trim().length() == 0 ) )
-<a name="346" href="#346">346</a>         {
-<a name="347" href="#347">347</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
-<a name="348" href="#348">348</a>         }
-<a name="349" href="#349">349</a>         Set&lt;Attribute&gt; result = <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
-<a name="350" href="#350">350</a>         QuotedTokenizer qt = <strong class="jxr_keyword">new</strong> QuotedTokenizer( value, <span class="jxr_string">";=,"</span> );
-<a name="351" href="#351">351</a>         <strong class="jxr_keyword">char</strong> del = '\0';
-<a name="352" href="#352">352</a>         <strong class="jxr_keyword">do</strong>
-<a name="353" href="#353">353</a>         {
-<a name="354" href="#354">354</a>             <strong class="jxr_keyword">boolean</strong> hadAttribute = false;
-<a name="355" href="#355">355</a>             Map&lt;String, String&gt; clause = Create.map();
-<a name="356" href="#356">356</a>             List&lt;String&gt; aliases = Create.list();
-<a name="357" href="#357">357</a>             String name = qt.nextToken( <span class="jxr_string">",;"</span> );
-<a name="358" href="#358">358</a> 
-<a name="359" href="#359">359</a>             del = qt.getSeparator();
-<a name="360" href="#360">360</a>             <strong class="jxr_keyword">if</strong> ( ( name == <strong class="jxr_keyword">null</strong> ) || ( name.length() == 0 ) )
-<a name="361" href="#361">361</a>             {
-<a name="362" href="#362">362</a>                 <strong class="jxr_keyword">if</strong> ( ( logger != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( logger.isPedantic() ) )
-<a name="363" href="#363">363</a>                 {
-<a name="364" href="#364">364</a>                     logger
-<a name="365" href="#365">365</a>                         .warning( <span class="jxr_string">"Empty clause, usually caused by repeating a comma without any name field or by having "</span>
-<a name="366" href="#366">366</a>                             + <span class="jxr_string">"spaces after the backslash of a property file: "</span> + value );
-<a name="367" href="#367">367</a>                 }
-<a name="368" href="#368">368</a> 
-<a name="369" href="#369">369</a>                 <strong class="jxr_keyword">if</strong> ( name != <strong class="jxr_keyword">null</strong> )
-<a name="370" href="#370">370</a>                     <strong class="jxr_keyword">continue</strong>;
-<a name="371" href="#371">371</a>                 <strong class="jxr_keyword">break</strong>;
-<a name="372" href="#372">372</a>             }
-<a name="373" href="#373">373</a>             name = name.trim();
-<a name="374" href="#374">374</a> 
-<a name="375" href="#375">375</a>             aliases.add( name );
-<a name="376" href="#376">376</a>             String advalue;
-<a name="377" href="#377">377</a>             <strong class="jxr_keyword">while</strong> ( del == ';' )
-<a name="378" href="#378">378</a>             {
-<a name="379" href="#379">379</a>                 String adname = qt.nextToken();
-<a name="380" href="#380">380</a>                 <strong class="jxr_keyword">if</strong> ( ( del = qt.getSeparator() ) != '=' )
-<a name="381" href="#381">381</a>                 {
-<a name="382" href="#382">382</a>                     <strong class="jxr_keyword">if</strong> ( ( hadAttribute ) &amp;&amp; ( logger != <strong class="jxr_keyword">null</strong> ) )
-<a name="383" href="#383">383</a>                     {
-<a name="384" href="#384">384</a>                         logger.error( <span class="jxr_string">"Header contains name field after attribute or directive: "</span> + adname + <span class="jxr_string">" from "</span>
-<a name="385" href="#385">385</a>                             + value + <span class="jxr_string">". Name fields must be consecutive, separated by a ';' like a;b;c;x=3;y=4"</span> );
-<a name="386" href="#386">386</a>                     }
+<a name="332" href="#332">332</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process( Analyzer analyzer, String path, Resource resource, Set&lt;String&gt; headers )
+<a name="333" href="#333">333</a>     {
+<a name="334" href="#334">334</a>         InputStream in = <strong class="jxr_keyword">null</strong>;
+<a name="335" href="#335">335</a>         <strong class="jxr_keyword">try</strong>
+<a name="336" href="#336">336</a>         {
+<a name="337" href="#337">337</a>             in = resource.openInputStream();
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a>             <em class="jxr_comment">// Retrieve headers</em>
+<a name="340" href="#340">340</a>             Set&lt;String&gt; set = analyze( in );
+<a name="341" href="#341">341</a>             headers.addAll( set );
+<a name="342" href="#342">342</a>         }
+<a name="343" href="#343">343</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="344" href="#344">344</a>         {
+<a name="345" href="#345">345</a>             analyzer.error( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Unexpected exception in processing spring resources("</span> ) )
+<a name="346" href="#346">346</a>                 .append( path ).append( <span class="jxr_string">"): "</span> ).append( e ).toString() );
+<a name="347" href="#347">347</a>         }
+<a name="348" href="#348">348</a>         <strong class="jxr_keyword">finally</strong>
+<a name="349" href="#349">349</a>         {
+<a name="350" href="#350">350</a>             <strong class="jxr_keyword">try</strong>
+<a name="351" href="#351">351</a>             {
+<a name="352" href="#352">352</a>                 <strong class="jxr_keyword">if</strong> ( in != <strong class="jxr_keyword">null</strong> )
+<a name="353" href="#353">353</a>                 {
+<a name="354" href="#354">354</a>                     in.close();
+<a name="355" href="#355">355</a>                 }
+<a name="356" href="#356">356</a>             }
+<a name="357" href="#357">357</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="358" href="#358">358</a>             {
+<a name="359" href="#359">359</a>             }
+<a name="360" href="#360">360</a>         }
+<a name="361" href="#361">361</a>     }
+<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">public</strong> Set&lt;String&gt; analyze( InputStream in ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="365" href="#365">365</a>     {
+<a name="366" href="#366">366</a>         Set&lt;String&gt; refers = <strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;();
+<a name="367" href="#367">367</a>         ByteArrayOutputStream bout = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="368" href="#368">368</a>         javax.xml.transform.Result r = <strong class="jxr_keyword">new</strong> StreamResult( bout );
+<a name="369" href="#369">369</a>         javax.xml.transform.Source s = <strong class="jxr_keyword">new</strong> StreamSource( in );
+<a name="370" href="#370">370</a>         transformer.transform( s, r );
+<a name="371" href="#371">371</a>         ByteArrayInputStream bin = <strong class="jxr_keyword">new</strong> ByteArrayInputStream( bout.toByteArray() );
+<a name="372" href="#372">372</a>         bout.close();
+<a name="373" href="#373">373</a>         BufferedReader br = <strong class="jxr_keyword">new</strong> BufferedReader( <strong class="jxr_keyword">new</strong> InputStreamReader( bin ) );
+<a name="374" href="#374">374</a>         <strong class="jxr_keyword">for</strong> ( String line = br.readLine(); line != <strong class="jxr_keyword">null</strong>; line = br.readLine() )
+<a name="375" href="#375">375</a>         {
+<a name="376" href="#376">376</a>             line = line.trim();
+<a name="377" href="#377">377</a>             line = line.replace( <span class="jxr_string">";availability:=mandatory"</span>, <span class="jxr_string">""</span> );
+<a name="378" href="#378">378</a>             <strong class="jxr_keyword">if</strong> ( line.length() &gt; 0 )
+<a name="379" href="#379">379</a>             {
+<a name="380" href="#380">380</a>                 refers.add( line );
+<a name="381" href="#381">381</a>             }
+<a name="382" href="#382">382</a>         }
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>         br.close();
+<a name="385" href="#385">385</a>         <strong class="jxr_keyword">return</strong> refers;
+<a name="386" href="#386">386</a>     }
 <a name="387" href="#387">387</a> 
-<a name="388" href="#388">388</a>                     <strong class="jxr_keyword">if</strong> ( ( adname != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( adname.length() &gt; 0 ) )
-<a name="389" href="#389">389</a>                         aliases.add( adname.trim() );
-<a name="390" href="#390">390</a>                 }
-<a name="391" href="#391">391</a>                 <strong class="jxr_keyword">else</strong>
-<a name="392" href="#392">392</a>                 {
-<a name="393" href="#393">393</a>                     advalue = qt.nextToken();
-<a name="394" href="#394">394</a>                     <strong class="jxr_keyword">if</strong> ( ( clause.containsKey( adname ) ) &amp;&amp; ( logger != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( logger.isPedantic() ) )
-<a name="395" href="#395">395</a>                     {
-<a name="396" href="#396">396</a>                         logger.warning( <span class="jxr_string">"Duplicate attribute/directive name "</span> + adname + <span class="jxr_string">" in "</span> + value
-<a name="397" href="#397">397</a>                             + <span class="jxr_string">". This attribute/directive will be ignored"</span> );
-<a name="398" href="#398">398</a>                     }
-<a name="399" href="#399">399</a> 
-<a name="400" href="#400">400</a>                     <strong class="jxr_keyword">if</strong> ( advalue == <strong class="jxr_keyword">null</strong> )
-<a name="401" href="#401">401</a>                     {
-<a name="402" href="#402">402</a>                         <strong class="jxr_keyword">if</strong> ( logger != <strong class="jxr_keyword">null</strong> )
-<a name="403" href="#403">403</a>                         {
-<a name="404" href="#404">404</a>                             logger.error( <span class="jxr_string">"No value after '=' sign for attribute "</span> + adname );
-<a name="405" href="#405">405</a>                         }
-<a name="406" href="#406">406</a>                         advalue = <span class="jxr_string">""</span>;
-<a name="407" href="#407">407</a>                     }
-<a name="408" href="#408">408</a>                     clause.put( adname.trim(), advalue.trim() );
-<a name="409" href="#409">409</a>                     del = qt.getSeparator();
-<a name="410" href="#410">410</a>                     hadAttribute = <strong class="jxr_keyword">true</strong>;
-<a name="411" href="#411">411</a>                 }
-<a name="412" href="#412">412</a>             }
-<a name="413" href="#413">413</a> 
-<a name="414" href="#414">414</a>             <strong class="jxr_keyword">for</strong> ( String clauseName : aliases )
-<a name="415" href="#415">415</a>             {
-<a name="416" href="#416">416</a>                 result.add( <strong class="jxr_keyword">new</strong> Attribute( clauseName, clause ) );
-<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">while</strong> ( del == ',' );
-<a name="420" href="#420">420</a>         <strong class="jxr_keyword">return</strong> result;
-<a name="421" href="#421">421</a>     }
-<a name="422" href="#422">422</a> 
-<a name="423" href="#423">423</a> }
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>     <strong class="jxr_keyword">protected</strong> Transformer getTransformer( URL url ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="390" href="#390">390</a>     {
+<a name="391" href="#391">391</a>         TransformerFactory tf = TransformerFactory.newInstance();
+<a name="392" href="#392">392</a>         javax.xml.transform.Source source = <strong class="jxr_keyword">new</strong> StreamSource( url.openStream() );
+<a name="393" href="#393">393</a>         <strong class="jxr_keyword">return</strong> tf.newTransformer( source );
+<a name="394" href="#394">394</a>     }
+<a name="395" href="#395">395</a> 
+<a name="396" href="#396">396</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/BundlePlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
index 65f6d5d..54160b0 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
@@ -33,1556 +33,1593 @@
 <a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream;
 <a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.File;
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
-<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
-<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
-<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.Array;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.Method;
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
-<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
-<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Attributes;
-<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
-<a name="45" href="#45">45</a>  
-<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.ManifestSection;
-<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiveConfiguration;
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiver;
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
-<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.execution.MavenSession;
-<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.License;
-<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Model;
-<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
-<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
-<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
-<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProjectHelper;
-<a name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
-<a name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.Maven2OsgiConverter;
-<a name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.UnArchiver;
-<a name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.manager.ArchiverManager;
-<a name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.DirectoryScanner;
-<a name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
-<a name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.PropertyUtils;
-<a name="68" href="#68">68</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
-<a name="69" href="#69">69</a>  
-<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.header.Attrs;
-<a name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
-<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
-<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Constants;
-<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Descriptors.PackageRef;
-<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.EmbeddedResource;
-<a name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.FileResource;
-<a name="77" href="#77">77</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
-<a name="78" href="#78">78</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Packages;
-<a name="79" href="#79">79</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
-<a name="80" href="#80">80</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
-<a name="81" href="#81">81</a>  
-<a name="82" href="#82">82</a>  
-<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * Create an OSGi bundle from Maven project</em>
-<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> *</em>
-<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
-<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> * @phase package</em>
-<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
-<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="92" href="#92">92</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a> <strong class="jxr_keyword">extends</strong> AbstractMojo
-<a name="93" href="#93">93</a>  {
-<a name="94" href="#94">94</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
-<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
-<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="99" href="#99">99</a>      <strong class="jxr_keyword">protected</strong> File manifestLocation;
-<a name="100" href="#100">100</a> 
-<a name="101" href="#101">101</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     * File where the BND instructions will be dumped</em>
-<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     *</em>
-<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpInstructions}"</em>
-<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     */</em>
-<a name="106" href="#106">106</a>     <strong class="jxr_keyword">protected</strong> File dumpInstructions;
-<a name="107" href="#107">107</a> 
-<a name="108" href="#108">108</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     * File where the BND class-path will be dumped</em>
-<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     *</em>
-<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpClasspath}"</em>
-<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     */</em>
-<a name="113" href="#113">113</a>     <strong class="jxr_keyword">protected</strong> File dumpClasspath;
-<a name="114" href="#114">114</a> 
-<a name="115" href="#115">115</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     * When true, unpack the bundle contents to the outputDirectory</em>
-<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     *</em>
-<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     * @parameter expression="${unpackBundle}"</em>
-<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     */</em>
-<a name="120" href="#120">120</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> unpackBundle;
-<a name="121" href="#121">121</a> 
-<a name="122" href="#122">122</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)</em>
-<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     *</em>
-<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * @parameter expression="${excludeDependencies}"</em>
-<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     */</em>
-<a name="127" href="#127">127</a>     <strong class="jxr_keyword">protected</strong> String excludeDependencies;
-<a name="128" href="#128">128</a> 
-<a name="129" href="#129">129</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * Final name of the bundle (without classifier or extension)</em>
-<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * </em>
-<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.finalName}"</em>
-<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     */</em> 
-<a name="134" href="#134">134</a>     <strong class="jxr_keyword">private</strong> String finalName; 
-<a name="135" href="#135">135</a> 
-<a name="136" href="#136">136</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
-<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
-<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     *</em>
-<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     */</em>
-<a name="142" href="#142">142</a>     <strong class="jxr_keyword">protected</strong> String classifier;
-<a name="143" href="#143">143</a> 
-<a name="144" href="#144">144</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * Packaging type of the bundle to be installed.  For example, "jar".</em>
-<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * Defaults to none which means use the same packaging as the project.</em>
-<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     *</em>
-<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     */</em>
-<a name="150" href="#150">150</a>     <strong class="jxr_keyword">protected</strong> String packaging;
-<a name="151" href="#151">151</a> 
-<a name="152" href="#152">152</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">     */</em>
-<a name="155" href="#155">155</a>     <strong class="jxr_keyword">private</strong> MavenProjectHelper m_projectHelper;
-<a name="156" href="#156">156</a> 
-<a name="157" href="#157">157</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     */</em>
-<a name="160" href="#160">160</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
-<a name="161" href="#161">161</a> 
-<a name="162" href="#162">162</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     */</em>
-<a name="165" href="#165">165</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
-<a name="166" href="#166">166</a> 
-<a name="167" href="#167">167</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</em>
-<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     *</em>
-<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">     */</em>
-<a name="172" href="#172">172</a>     <strong class="jxr_keyword">protected</strong> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
-<a name="173" href="#173">173</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
-<a name="174" href="#174">174</a> 
-<a name="175" href="#175">175</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
-<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     *</em>
-<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
-<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     */</em>
-<a name="181" href="#181">181</a>     <strong class="jxr_keyword">private</strong> File outputDirectory;
-<a name="182" href="#182">182</a> 
-<a name="183" href="#183">183</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     * The directory for the generated JAR.</em>
-<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     *</em>
-<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
-<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     */</em>
-<a name="189" href="#189">189</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
-<a name="190" href="#190">190</a> 
-<a name="191" href="#191">191</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
-<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     *</em>
-<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
-<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     */</em>
-<a name="198" href="#198">198</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
-<a name="199" href="#199">199</a> 
-<a name="200" href="#200">200</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
-<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     *</em>
-<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     */</em>
-<a name="205" href="#205">205</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="206" href="#206">206</a> 
-<a name="207" href="#207">207</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</em>
-<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">     */</em>
-<a name="210" href="#210">210</a>     <strong class="jxr_keyword">private</strong> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
-<a name="211" href="#211">211</a> 
-<a name="212" href="#212">212</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     * The archive configuration to use.</em>
-<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     *</em>
-<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     */</em>
-<a name="217" href="#217">217</a>     <strong class="jxr_keyword">private</strong> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
-<a name="218" href="#218">218</a> 
-<a name="219" href="#219">219</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">     * @parameter default-value="${session}"</em>
-<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">     */</em>
-<a name="224" href="#224">224</a>     <strong class="jxr_keyword">private</strong> MavenSession m_mavenSession;
-<a name="225" href="#225">225</a> 
-<a name="226" href="#226">226</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="227" href="#227">227</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="228" href="#228">228</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="229" href="#229">229</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="230" href="#230">230</a> 
-<a name="231" href="#231">231</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="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[] DEFAULT_INCLUDES =
-<a name="234" href="#234">234</a>         { <span class="jxr_string">"**/**"</span> };
-<a name="235" href="#235">235</a> 
-<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 NL = System.getProperty( <span class="jxr_string">"line.separator"</span> );
-<a name="237" href="#237">237</a> 
-<a name="238" href="#238">238</a> 
-<a name="239" href="#239">239</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
-<a name="240" href="#240">240</a>     {
-<a name="241" href="#241">241</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
-<a name="242" href="#242">242</a>     }
-<a name="243" href="#243">243</a> 
+<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.FileOutputStream;
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.Array;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.lang.reflect.Method;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
+<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
+<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
+<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Attributes;
+<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.ManifestSection;
+<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiveConfiguration;
+<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiver;
+<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
+<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
+<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.execution.MavenSession;
+<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.License;
+<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Model;
+<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
+<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
+<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
+<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
+<a name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
+<a name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProjectHelper;
+<a name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
+<a name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.Maven2OsgiConverter;
+<a name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.UnArchiver;
+<a name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.manager.ArchiverManager;
+<a name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.DirectoryScanner;
+<a name="68" href="#68">68</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
+<a name="69" href="#69">69</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.PropertyUtils;
+<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.header.Attrs;
+<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Constants;
+<a name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Descriptors.PackageRef;
+<a name="77" href="#77">77</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.EmbeddedResource;
+<a name="78" href="#78">78</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.FileResource;
+<a name="79" href="#79">79</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="80" href="#80">80</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Packages;
+<a name="81" href="#81">81</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
+<a name="82" href="#82">82</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * Create an OSGi bundle from Maven project</em>
+<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> *</em>
+<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
+<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment"> * @phase package</em>
+<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
+<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
+<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
+<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="94" href="#94">94</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a> <strong class="jxr_keyword">extends</strong> AbstractMojo
+<a name="95" href="#95">95</a>  {
+<a name="96" href="#96">96</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
+<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
+<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     */</em>
+<a name="101" href="#101">101</a>     <strong class="jxr_keyword">protected</strong> File manifestLocation;
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * File where the BND instructions will be dumped</em>
+<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     *</em>
+<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpInstructions}"</em>
+<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     */</em>
+<a name="108" href="#108">108</a>     <strong class="jxr_keyword">protected</strong> File dumpInstructions;
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * File where the BND class-path will be dumped</em>
+<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     *</em>
+<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpClasspath}"</em>
+<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     */</em>
+<a name="115" href="#115">115</a>     <strong class="jxr_keyword">protected</strong> File dumpClasspath;
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     * When true, unpack the bundle contents to the outputDirectory</em>
+<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     *</em>
+<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">     * @parameter expression="${unpackBundle}"</em>
+<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     */</em>
+<a name="122" href="#122">122</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> unpackBundle;
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)</em>
+<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     *</em>
+<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * @parameter expression="${excludeDependencies}"</em>
+<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     */</em>
+<a name="129" href="#129">129</a>     <strong class="jxr_keyword">protected</strong> String excludeDependencies;
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * Final name of the bundle (without classifier or extension)</em>
+<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     * </em>
+<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.finalName}"</em>
+<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     */</em> 
+<a name="136" href="#136">136</a>     <strong class="jxr_keyword">private</strong> String finalName; 
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
+<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
+<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     *</em>
+<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     */</em>
+<a name="144" href="#144">144</a>     <strong class="jxr_keyword">protected</strong> String classifier;
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * Packaging type of the bundle to be installed.  For example, "jar".</em>
+<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * Defaults to none which means use the same packaging as the project.</em>
+<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     *</em>
+<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     */</em>
+<a name="152" href="#152">152</a>     <strong class="jxr_keyword">protected</strong> String packaging;
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">     */</em>
+<a name="157" href="#157">157</a>     <strong class="jxr_keyword">private</strong> MavenProjectHelper m_projectHelper;
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     */</em>
+<a name="162" href="#162">162</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     */</em>
+<a name="167" href="#167">167</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</em>
+<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">     *</em>
+<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     */</em>
+<a name="174" href="#174">174</a>     <strong class="jxr_keyword">protected</strong> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
+<a name="175" href="#175">175</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
+<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     *</em>
+<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
+<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     */</em>
+<a name="183" href="#183">183</a>     <strong class="jxr_keyword">private</strong> File outputDirectory;
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">     * The directory for the generated JAR.</em>
+<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">     *</em>
+<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
+<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     */</em>
+<a name="191" href="#191">191</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
+<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     *</em>
+<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
+<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">     */</em>
+<a name="200" href="#200">200</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
+<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     *</em>
+<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     */</em>
+<a name="207" href="#207">207</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</em>
+<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">     */</em>
+<a name="212" href="#212">212</a>     <strong class="jxr_keyword">private</strong> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     * The archive configuration to use.</em>
+<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     *</em>
+<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">     */</em>
+<a name="219" href="#219">219</a>     <strong class="jxr_keyword">private</strong> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">     * @parameter default-value="${session}"</em>
+<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">     */</em>
+<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">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
-<a name="246" href="#246">246</a>     {
-<a name="247" href="#247">247</a>         m_maven2OsgiConverter = maven2OsgiConverter;
-<a name="248" href="#248">248</a>     }
-<a name="249" href="#249">249</a> 
-<a name="250" href="#250">250</a> 
-<a name="251" href="#251">251</a>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
-<a name="252" href="#252">252</a>     {
-<a name="253" href="#253">253</a>         <strong class="jxr_keyword">return</strong> project;
-<a name="254" href="#254">254</a>     }
-<a name="255" href="#255">255</a> 
-<a name="256" href="#256">256</a> 
-<a name="257" href="#257">257</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
-<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">     */</em>
-<a name="260" href="#260">260</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<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="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>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="263" href="#263">263</a>         String projectType = getProject().getArtifact().getType();
+<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>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
-<a name="266" href="#266">266</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
-<a name="267" href="#267">267</a>         {
-<a name="268" href="#268">268</a>             getLog().warn(
-<a name="269" href="#269">269</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
-<a name="270" href="#270">270</a>             <strong class="jxr_keyword">return</strong>;
-<a name="271" href="#271">271</a>         }
-<a name="272" href="#272">272</a> 
-<a name="273" href="#273">273</a>         execute( getProject(), instructions, properties );
-<a name="274" href="#274">274</a>     }
-<a name="275" href="#275">275</a> 
-<a name="276" href="#276">276</a> 
-<a name="277" href="#277">277</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
-<a name="278" href="#278">278</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="279" href="#279">279</a>     {
-<a name="280" href="#280">280</a>         <strong class="jxr_keyword">try</strong>
-<a name="281" href="#281">281</a>         {
-<a name="282" href="#282">282</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
-<a name="283" href="#283">283</a>         }
-<a name="284" href="#284">284</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="285" href="#285">285</a>         {
-<a name="286" href="#286">286</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="287" href="#287">287</a>         }
-<a name="288" href="#288">288</a>     }
-<a name="289" href="#289">289</a> 
-<a name="290" href="#290">290</a> 
-<a name="291" href="#291">291</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="292" href="#292">292</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
-<a name="293" href="#293">293</a>     {
-<a name="294" href="#294">294</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="295" href="#295">295</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
-<a name="296" href="#296">296</a>         {
-<a name="297" href="#297">297</a>             Map.Entry e = ( Map.Entry ) i.next();
+<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>             String key = ( String ) e.getKey();
-<a name="300" href="#300">300</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
-<a name="301" href="#301">301</a>             {
-<a name="302" href="#302">302</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
-<a name="303" href="#303">303</a>             }
-<a name="304" href="#304">304</a> 
-<a name="305" href="#305">305</a>             String value = ( String ) e.getValue();
-<a name="306" href="#306">306</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
-<a name="307" href="#307">307</a>             {
-<a name="308" href="#308">308</a>                 value = <span class="jxr_string">""</span>;
-<a name="309" href="#309">309</a>             }
-<a name="310" href="#310">310</a>             <strong class="jxr_keyword">else</strong>
-<a name="311" href="#311">311</a>             {
-<a name="312" href="#312">312</a>                 value = value.replaceAll( <span class="jxr_string">"&#92;&#92;p{Blank}*[\r\n]&#92;&#92;p{Blank}*"</span>, <span class="jxr_string">""</span> );
-<a name="313" href="#313">313</a>             }
-<a name="314" href="#314">314</a> 
-<a name="315" href="#315">315</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
+<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>                 <em class="jxr_comment">// provide useful default</em>
-<a name="318" href="#318">318</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
-<a name="319" href="#319">319</a>             }
-<a name="320" href="#320">320</a> 
-<a name="321" href="#321">321</a>             transformedInstructions.put( key, value );
-<a name="322" href="#322">322</a>         }
-<a name="323" href="#323">323</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
-<a name="324" href="#324">324</a>     }
-<a name="325" href="#325">325</a> 
-<a name="326" href="#326">326</a> 
-<a name="327" href="#327">327</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
-<a name="328" href="#328">328</a>     {
-<a name="329" href="#329">329</a>         List errors = analyzer.getErrors();
-<a name="330" href="#330">330</a>         List warnings = analyzer.getWarnings();
-<a name="331" href="#331">331</a> 
-<a name="332" href="#332">332</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
-<a name="333" href="#333">333</a>         {
-<a name="334" href="#334">334</a>             String msg = ( String ) w.next();
-<a name="335" href="#335">335</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
-<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">boolean</strong> hasErrors = false;
-<a name="339" href="#339">339</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
-<a name="340" href="#340">340</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
-<a name="341" href="#341">341</a>         {
-<a name="342" href="#342">342</a>             String msg = ( String ) e.next();
-<a name="343" href="#343">343</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
-<a name="344" href="#344">344</a>             {
-<a name="345" href="#345">345</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
-<a name="346" href="#346">346</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
-<a name="347" href="#347">347</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
-<a name="348" href="#348">348</a>             }
-<a name="349" href="#349">349</a>             <strong class="jxr_keyword">else</strong>
-<a name="350" href="#350">350</a>             {
-<a name="351" href="#351">351</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="352" href="#352">352</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
-<a name="353" href="#353">353</a>             }
-<a name="354" href="#354">354</a>         }
-<a name="355" href="#355">355</a>         <strong class="jxr_keyword">return</strong> hasErrors;
-<a name="356" href="#356">356</a>     }
-<a name="357" href="#357">357</a> 
-<a name="358" href="#358">358</a> 
-<a name="359" href="#359">359</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="360" href="#360">360</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="361" href="#361">361</a>     {
-<a name="362" href="#362">362</a>         <strong class="jxr_keyword">try</strong>
-<a name="363" href="#363">363</a>         {
-<a name="364" href="#364">364</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
-<a name="365" href="#365">365</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
-<a name="366" href="#366">366</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
-<a name="367" href="#367">367</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
-<a name="368" href="#368">368</a>             {
-<a name="369" href="#369">369</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="370" href="#370">370</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="371" href="#371">371</a>                 {
-<a name="372" href="#372">372</a>                     jarFile.delete();
-<a name="373" href="#373">373</a> 
-<a name="374" href="#374">374</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="375" href="#375">375</a>                 }
-<a name="376" href="#376">376</a>             }
-<a name="377" href="#377">377</a> 
-<a name="378" href="#378">378</a>             <em class="jxr_comment">// attach bundle to maven project</em>
-<a name="379" href="#379">379</a>             jarFile.getParentFile().mkdirs();
-<a name="380" href="#380">380</a>             builder.getJar().write( jarFile );
-<a name="381" href="#381">381</a> 
-<a name="382" href="#382">382</a>             Artifact mainArtifact = currentProject.getArtifact();
-<a name="383" href="#383">383</a> 
-<a name="384" href="#384">384</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
-<a name="385" href="#385">385</a>             {
-<a name="386" href="#386">386</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
-<a name="387" href="#387">387</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
-<a name="388" href="#388">388</a>             }
-<a name="389" href="#389">389</a> 
-<a name="390" href="#390">390</a>             <strong class="jxr_keyword">boolean</strong> customClassifier = <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0;
-<a name="391" href="#391">391</a>             <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging &amp;&amp; packaging.trim().length() &gt; 0;
+<a name="317" href="#317">317</a>                 value = <span class="jxr_string">""</span>;
+<a name="318" href="#318">318</a>             }
+<a name="319" href="#319">319</a>             <strong class="jxr_keyword">else</strong>
+<a name="320" href="#320">320</a>             {
+<a name="321" href="#321">321</a>                 value = value.replaceAll( <span class="jxr_string">"&#92;&#92;p{Blank}*[\r\n]&#92;&#92;p{Blank}*"</span>, <span class="jxr_string">""</span> );
+<a name="322" href="#322">322</a>             }
+<a name="323" href="#323">323</a> 
+<a name="324" href="#324">324</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
+<a name="325" href="#325">325</a>             {
+<a name="326" href="#326">326</a>                 <em class="jxr_comment">// provide useful default</em>
+<a name="327" href="#327">327</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
+<a name="328" href="#328">328</a>             }
+<a name="329" href="#329">329</a> 
+<a name="330" href="#330">330</a>             transformedInstructions.put( key, value );
+<a name="331" href="#331">331</a>         }
+<a name="332" href="#332">332</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
+<a name="333" href="#333">333</a>     }
+<a name="334" href="#334">334</a> 
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
+<a name="337" href="#337">337</a>     {
+<a name="338" href="#338">338</a>         List errors = analyzer.getErrors();
+<a name="339" href="#339">339</a>         List warnings = analyzer.getWarnings();
+<a name="340" href="#340">340</a> 
+<a name="341" href="#341">341</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
+<a name="342" href="#342">342</a>         {
+<a name="343" href="#343">343</a>             String msg = ( String ) w.next();
+<a name="344" href="#344">344</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="345" href="#345">345</a>         }
+<a name="346" href="#346">346</a> 
+<a name="347" href="#347">347</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
+<a name="348" href="#348">348</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
+<a name="349" href="#349">349</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
+<a name="350" href="#350">350</a>         {
+<a name="351" href="#351">351</a>             String msg = ( String ) e.next();
+<a name="352" href="#352">352</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
+<a name="353" href="#353">353</a>             {
+<a name="354" href="#354">354</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
+<a name="355" href="#355">355</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
+<a name="356" href="#356">356</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
+<a name="357" href="#357">357</a>             }
+<a name="358" href="#358">358</a>             <strong class="jxr_keyword">else</strong>
+<a name="359" href="#359">359</a>             {
+<a name="360" href="#360">360</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="361" href="#361">361</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
+<a name="362" href="#362">362</a>             }
+<a name="363" href="#363">363</a>         }
+<a name="364" href="#364">364</a>         <strong class="jxr_keyword">return</strong> hasErrors;
+<a name="365" href="#365">365</a>     }
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="369" href="#369">369</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="370" href="#370">370</a>     {
+<a name="371" href="#371">371</a>         <strong class="jxr_keyword">try</strong>
+<a name="372" href="#372">372</a>         {
+<a name="373" href="#373">373</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
+<a name="374" href="#374">374</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
+<a name="375" href="#375">375</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
+<a name="376" href="#376">376</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="377" href="#377">377</a>             {
+<a name="378" href="#378">378</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
+<a name="379" href="#379">379</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
+<a name="380" href="#380">380</a>                 {
+<a name="381" href="#381">381</a>                     jarFile.delete();
+<a name="382" href="#382">382</a> 
+<a name="383" href="#383">383</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in bundle configuration"</span> );
+<a name="384" href="#384">384</a>                 }
+<a name="385" href="#385">385</a>             }
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>             <em class="jxr_comment">// attach bundle to maven project</em>
+<a name="388" href="#388">388</a>             jarFile.getParentFile().mkdirs();
+<a name="389" href="#389">389</a>             builder.getJar().write( jarFile );
+<a name="390" href="#390">390</a> 
+<a name="391" href="#391">391</a>             Artifact mainArtifact = currentProject.getArtifact();
 <a name="392" href="#392">392</a> 
-<a name="393" href="#393">393</a>             <strong class="jxr_keyword">if</strong> ( customClassifier &amp;&amp; customPackaging )
+<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>                 m_projectHelper.attachArtifact( currentProject, packaging, classifier, jarFile );
-<a name="396" href="#396">396</a>             }
-<a name="397" href="#397">397</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customClassifier )
-<a name="398" href="#398">398</a>             {
-<a name="399" href="#399">399</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
-<a name="400" href="#400">400</a>             }
-<a name="401" href="#401">401</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customPackaging )
-<a name="402" href="#402">402</a>             {
-<a name="403" href="#403">403</a>                 m_projectHelper.attachArtifact( currentProject, packaging, jarFile );
-<a name="404" href="#404">404</a>             }
-<a name="405" href="#405">405</a>             <strong class="jxr_keyword">else</strong>
-<a name="406" href="#406">406</a>             {
-<a name="407" href="#407">407</a>                 mainArtifact.setFile( jarFile );
-<a name="408" href="#408">408</a>             }
-<a name="409" href="#409">409</a> 
-<a name="410" href="#410">410</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
+<a name="395" href="#395">395</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
+<a name="396" href="#396">396</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
+<a name="397" href="#397">397</a>             }
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>             <strong class="jxr_keyword">boolean</strong> customClassifier = <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0;
+<a name="400" href="#400">400</a>             <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging &amp;&amp; packaging.trim().length() &gt; 0;
+<a name="401" href="#401">401</a> 
+<a name="402" href="#402">402</a>             <strong class="jxr_keyword">if</strong> ( customClassifier &amp;&amp; customPackaging )
+<a name="403" href="#403">403</a>             {
+<a name="404" href="#404">404</a>                 m_projectHelper.attachArtifact( currentProject, packaging, classifier, jarFile );
+<a name="405" href="#405">405</a>             }
+<a name="406" href="#406">406</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customClassifier )
+<a name="407" href="#407">407</a>             {
+<a name="408" href="#408">408</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
+<a name="409" href="#409">409</a>             }
+<a name="410" href="#410">410</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customPackaging )
 <a name="411" href="#411">411</a>             {
-<a name="412" href="#412">412</a>                 unpackBundle( jarFile );
+<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> 
-<a name="415" href="#415">415</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
-<a name="416" href="#416">416</a>             {
-<a name="417" href="#417">417</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<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">try</strong>
-<a name="420" href="#420">420</a>                 {
-<a name="421" href="#421">421</a>                     Manifest manifest = builder.getJar().getManifest();
-<a name="422" href="#422">422</a>                     ManifestPlugin.writeManifest( manifest, outputFile );
-<a name="423" href="#423">423</a>                 }
-<a name="424" href="#424">424</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="425" href="#425">425</a>                 {
-<a name="426" href="#426">426</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="427" href="#427">427</a>                 }
-<a name="428" href="#428">428</a>             }
-<a name="429" href="#429">429</a> 
-<a name="430" href="#430">430</a>             <em class="jxr_comment">// cleanup...</em>
-<a name="431" href="#431">431</a>             builder.close();
-<a name="432" href="#432">432</a>         }
-<a name="433" href="#433">433</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="434" href="#434">434</a>         {
-<a name="435" href="#435">435</a>             getLog().error( e.getLocalizedMessage() );
-<a name="436" href="#436">436</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="437" href="#437">437</a>         }
-<a name="438" href="#438">438</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="439" href="#439">439</a>         {
-<a name="440" href="#440">440</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="441" href="#441">441</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="442" href="#442">442</a>         }
-<a name="443" href="#443">443</a>     }
-<a name="444" href="#444">444</a> 
-<a name="445" href="#445">445</a> 
-<a name="446" href="#446">446</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="447" href="#447">447</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="448" href="#448">448</a>     {
-<a name="449" href="#449">449</a>         properties.putAll( getDefaultProperties( currentProject ) );
-<a name="450" href="#450">450</a>         properties.putAll( transformDirectives( originalInstructions ) );
-<a name="451" href="#451">451</a> 
-<a name="452" href="#452">452</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
-<a name="453" href="#453">453</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="454" href="#454">454</a>         {
-<a name="455" href="#455">455</a>             builder.setBase( getBase( currentProject ) );
-<a name="456" href="#456">456</a>         }
-<a name="457" href="#457">457</a>         builder.setProperties( sanitize( properties ) );
-<a name="458" href="#458">458</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
-<a name="459" href="#459">459</a>         {
-<a name="460" href="#460">460</a>             builder.setClasspath( classpath );
-<a name="461" href="#461">461</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">return</strong> builder;
-<a name="464" href="#464">464</a>     }
-<a name="465" href="#465">465</a> 
-<a name="466" href="#466">466</a> 
-<a name="467" href="#467">467</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
-<a name="468" href="#468">468</a>     {
-<a name="469" href="#469">469</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
-<a name="470" href="#470">470</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
-<a name="471" href="#471">471</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
-<a name="472" href="#472">472</a>         {
-<a name="473" href="#473">473</a>             Map.Entry entry = ( Map.Entry ) itr.next();
-<a name="474" href="#474">474</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
-<a name="475" href="#475">475</a>             {
-<a name="476" href="#476">476</a>                 String key = sanitize( entry.getKey() );
-<a name="477" href="#477">477</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
-<a name="478" href="#478">478</a>                 {
-<a name="479" href="#479">479</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
-<a name="480" href="#480">480</a>                 }
-<a name="481" href="#481">481</a>                 itr.remove();
-<a name="482" href="#482">482</a>             }
-<a name="483" href="#483">483</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
-<a name="484" href="#484">484</a>             {
-<a name="485" href="#485">485</a>                 entry.setValue( sanitize( entry.getValue() ) );
-<a name="486" href="#486">486</a>             }
-<a name="487" href="#487">487</a>         }
-<a name="488" href="#488">488</a>         properties.putAll( sanitizedEntries );
-<a name="489" href="#489">489</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="490" href="#490">490</a>     }
+<a name="463" href="#463">463</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="464" href="#464">464</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="465" href="#465">465</a>     {
+<a name="466" href="#466">466</a>         properties.putAll( getDefaultProperties( currentProject ) );
+<a name="467" href="#467">467</a>         properties.putAll( transformDirectives( originalInstructions ) );
+<a name="468" href="#468">468</a>         <strong class="jxr_keyword">if</strong> (properties.getProperty(<span class="jxr_string">"Bundle-Activator"</span>) != <strong class="jxr_keyword">null</strong>
+<a name="469" href="#469">469</a>                 &amp;&amp; properties.getProperty(<span class="jxr_string">"Bundle-Activator"</span>).isEmpty())
+<a name="470" href="#470">470</a>         {
+<a name="471" href="#471">471</a>             properties.remove(<span class="jxr_string">"Bundle-Activator"</span>);
+<a name="472" href="#472">472</a>         }
+<a name="473" href="#473">473</a>         <strong class="jxr_keyword">if</strong> (properties.containsKey(<span class="jxr_string">"-disable-plugin"</span>))
+<a name="474" href="#474">474</a>         {
+<a name="475" href="#475">475</a>             String[] disabled = properties.remove(<span class="jxr_string">"-disable-plugin"</span>).toString().replaceAll(<span class="jxr_string">" "</span>, <span class="jxr_string">""</span>).split(<span class="jxr_string">","</span>);
+<a name="476" href="#476">476</a>             String[] enabled = properties.getProperty(Analyzer.PLUGIN, <span class="jxr_string">""</span>).replaceAll(<span class="jxr_string">" "</span>, <span class="jxr_string">""</span>).split(<span class="jxr_string">","</span>);
+<a name="477" href="#477">477</a>             Set&lt;String&gt; plugin = <strong class="jxr_keyword">new</strong> LinkedHashSet&lt;String&gt;();
+<a name="478" href="#478">478</a>             plugin.addAll(Arrays.asList(enabled));
+<a name="479" href="#479">479</a>             plugin.removeAll(Arrays.asList(disabled));
+<a name="480" href="#480">480</a>             StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="481" href="#481">481</a>             <strong class="jxr_keyword">for</strong> (String s : plugin)
+<a name="482" href="#482">482</a>             {
+<a name="483" href="#483">483</a>                 <strong class="jxr_keyword">if</strong> (sb.length() &gt; 0)
+<a name="484" href="#484">484</a>                 {
+<a name="485" href="#485">485</a>                     sb.append(<span class="jxr_string">","</span>);
+<a name="486" href="#486">486</a>                 }
+<a name="487" href="#487">487</a>                 sb.append(sb);
+<a name="488" href="#488">488</a>             }
+<a name="489" href="#489">489</a>             properties.setProperty(Analyzer.PLUGIN, sb.toString());
+<a name="490" href="#490">490</a>         }
 <a name="491" href="#491">491</a> 
-<a name="492" href="#492">492</a> 
-<a name="493" href="#493">493</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
-<a name="494" href="#494">494</a>     {
-<a name="495" href="#495">495</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
-<a name="496" href="#496">496</a>         {
-<a name="497" href="#497">497</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
-<a name="498" href="#498">498</a>         }
-<a name="499" href="#499">499</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
-<a name="500" href="#500">500</a>         {
-<a name="501" href="#501">501</a>             String delim = <span class="jxr_string">""</span>;
-<a name="502" href="#502">502</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="503" href="#503">503</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
-<a name="504" href="#504">504</a>             {
-<a name="505" href="#505">505</a>                 buf.append( delim ).append( i );
-<a name="506" href="#506">506</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="507" href="#507">507</a>             }
-<a name="508" href="#508">508</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="509" href="#509">509</a>         }
-<a name="510" href="#510">510</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
-<a name="511" href="#511">511</a>         {
-<a name="512" href="#512">512</a>             String delim = <span class="jxr_string">""</span>;
-<a name="513" href="#513">513</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="514" href="#514">514</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0, len = Array.getLength( value ); i &lt; len; i++ )
+<a name="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>                 buf.append( delim ).append( Array.get( value, i ) );
-<a name="517" href="#517">517</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="518" href="#518">518</a>             }
-<a name="519" href="#519">519</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="520" href="#520">520</a>         }
-<a name="521" href="#521">521</a>         <strong class="jxr_keyword">else</strong>
-<a name="522" href="#522">522</a>         {
-<a name="523" href="#523">523</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
-<a name="524" href="#524">524</a>         }
-<a name="525" href="#525">525</a>     }
-<a name="526" href="#526">526</a> 
-<a name="527" href="#527">527</a> 
-<a name="528" href="#528">528</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="529" href="#529">529</a>     {
-<a name="530" href="#530">530</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
-<a name="531" href="#531">531</a>         {
-<a name="532" href="#532">532</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
-<a name="533" href="#533">533</a>             includeMavenResources( currentProject, builder, getLog() );
-<a name="534" href="#534">534</a> 
-<a name="535" href="#535">535</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
-<a name="536" href="#536">536</a>             addLocalPackages( outputDirectory, builder );
-<a name="537" href="#537">537</a> 
-<a name="538" href="#538">538</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
-<a name="539" href="#539">539</a>             addMavenSourcePath( currentProject, builder, getLog() );
-<a name="540" href="#540">540</a>         }
-<a name="541" href="#541">541</a> 
-<a name="542" href="#542">542</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
-<a name="543" href="#543">543</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
-<a name="544" href="#544">544</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
-<a name="545" href="#545">545</a> 
-<a name="546" href="#546">546</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="547" href="#547">547</a>         {
-<a name="548" href="#548">548</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="549" href="#549">549</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
-<a name="550" href="#550">550</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
-<a name="551" href="#551">551</a>             {
-<a name="552" href="#552">552</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
-<a name="553" href="#553">553</a>                 dumpInstructions.getParentFile().mkdirs();
-<a name="554" href="#554">554</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
-<a name="555" href="#555">555</a>             }
-<a name="556" href="#556">556</a>         }
-<a name="557" href="#557">557</a> 
-<a name="558" href="#558">558</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="559" href="#559">559</a>         {
-<a name="560" href="#560">560</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="561" href="#561">561</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
-<a name="562" href="#562">562</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
-<a name="563" href="#563">563</a>             {
-<a name="564" href="#564">564</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
-<a name="565" href="#565">565</a>                 dumpClasspath.getParentFile().mkdirs();
-<a name="566" href="#566">566</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
-<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> 
-<a name="571" href="#571">571</a> 
-<a name="572" href="#572">572</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="573" href="#573">573</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="574" href="#574">574</a>     {
-<a name="575" href="#575">575</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
-<a name="576" href="#576">576</a> 
-<a name="577" href="#577">577</a>         addMavenInstructions( currentProject, builder );
-<a name="578" href="#578">578</a> 
-<a name="579" href="#579">579</a>         builder.build();
-<a name="580" href="#580">580</a> 
-<a name="581" href="#581">581</a>         mergeMavenManifest( currentProject, builder );
-<a name="582" href="#582">582</a> 
-<a name="583" href="#583">583</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="584" href="#584">584</a>     }
+<a name="516" href="#516">516</a>                 String key = sanitize( entry.getKey() );
+<a name="517" href="#517">517</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
+<a name="518" href="#518">518</a>                 {
+<a name="519" href="#519">519</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
+<a name="520" href="#520">520</a>                 }
+<a name="521" href="#521">521</a>                 itr.remove();
+<a name="522" href="#522">522</a>             }
+<a name="523" href="#523">523</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
+<a name="524" href="#524">524</a>             {
+<a name="525" href="#525">525</a>                 entry.setValue( sanitize( entry.getValue() ) );
+<a name="526" href="#526">526</a>             }
+<a name="527" href="#527">527</a>         }
+<a name="528" href="#528">528</a>         properties.putAll( sanitizedEntries );
+<a name="529" href="#529">529</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="530" href="#530">530</a>     }
+<a name="531" href="#531">531</a> 
+<a name="532" href="#532">532</a> 
+<a name="533" href="#533">533</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
+<a name="534" href="#534">534</a>     {
+<a name="535" href="#535">535</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
+<a name="536" href="#536">536</a>         {
+<a name="537" href="#537">537</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
+<a name="538" href="#538">538</a>         }
+<a name="539" href="#539">539</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
+<a name="540" href="#540">540</a>         {
+<a name="541" href="#541">541</a>             String delim = <span class="jxr_string">""</span>;
+<a name="542" href="#542">542</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="543" href="#543">543</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
+<a name="544" href="#544">544</a>             {
+<a name="545" href="#545">545</a>                 buf.append( delim ).append( i );
+<a name="546" href="#546">546</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="547" href="#547">547</a>             }
+<a name="548" href="#548">548</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="549" href="#549">549</a>         }
+<a name="550" href="#550">550</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
+<a name="551" href="#551">551</a>         {
+<a name="552" href="#552">552</a>             String delim = <span class="jxr_string">""</span>;
+<a name="553" href="#553">553</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="554" href="#554">554</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0, len = Array.getLength( value ); i &lt; len; i++ )
+<a name="555" href="#555">555</a>             {
+<a name="556" href="#556">556</a>                 buf.append( delim ).append( Array.get( value, i ) );
+<a name="557" href="#557">557</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="558" href="#558">558</a>             }
+<a name="559" href="#559">559</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="560" href="#560">560</a>         }
+<a name="561" href="#561">561</a>         <strong class="jxr_keyword">else</strong>
+<a name="562" href="#562">562</a>         {
+<a name="563" href="#563">563</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
+<a name="564" href="#564">564</a>         }
+<a name="565" href="#565">565</a>     }
+<a name="566" href="#566">566</a> 
+<a name="567" href="#567">567</a> 
+<a name="568" href="#568">568</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addMavenInstructions( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="569" href="#569">569</a>     {
+<a name="570" href="#570">570</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
+<a name="571" href="#571">571</a>         {
+<a name="572" href="#572">572</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
+<a name="573" href="#573">573</a>             includeMavenResources( currentProject, builder, getLog() );
+<a name="574" href="#574">574</a> 
+<a name="575" href="#575">575</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
+<a name="576" href="#576">576</a>             addLocalPackages( outputDirectory, builder );
+<a name="577" href="#577">577</a> 
+<a name="578" href="#578">578</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
+<a name="579" href="#579">579</a>             addMavenSourcePath( currentProject, builder, getLog() );
+<a name="580" href="#580">580</a>         }
+<a name="581" href="#581">581</a> 
+<a name="582" href="#582">582</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
+<a name="583" href="#583">583</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
+<a name="584" href="#584">584</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
 <a name="585" href="#585">585</a> 
-<a name="586" href="#586">586</a> 
-<a name="587" href="#587">587</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
-<a name="588" href="#588">588</a>     {
-<a name="589" href="#589">589</a>         <strong class="jxr_keyword">try</strong>
-<a name="590" href="#590">590</a>         {
-<a name="591" href="#591">591</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="592" href="#592">592</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="593" href="#593">593</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
-<a name="594" href="#594">594</a>             {
-<a name="595" href="#595">595</a>                 <em class="jxr_comment">// we can only store String properties</em>
-<a name="596" href="#596">596</a>                 String key = ( String ) e.nextElement();
-<a name="597" href="#597">597</a>                 String value = properties.getProperty( key );
-<a name="598" href="#598">598</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
-<a name="599" href="#599">599</a>                 {
-<a name="600" href="#600">600</a>                     stringProperties.setProperty( key, value );
-<a name="601" href="#601">601</a>                 }
-<a name="602" href="#602">602</a>             }
-<a name="603" href="#603">603</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="604" href="#604">604</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
-<a name="605" href="#605">605</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
-<a name="606" href="#606">606</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="607" href="#607">607</a>         }
-<a name="608" href="#608">608</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="609" href="#609">609</a>         {
-<a name="610" href="#610">610</a>             <em class="jxr_comment">// ignore...</em>
-<a name="611" href="#611">611</a>         }
-<a name="612" href="#612">612</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="613" href="#613">613</a>     }
-<a name="614" href="#614">614</a> 
-<a name="615" href="#615">615</a> 
-<a name="616" href="#616">616</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
-<a name="617" href="#617">617</a>     {
-<a name="618" href="#618">618</a>         <strong class="jxr_keyword">try</strong>
-<a name="619" href="#619">619</a>         {
-<a name="620" href="#620">620</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="621" href="#621">621</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
-<a name="622" href="#622">622</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
-<a name="623" href="#623">623</a>             {
-<a name="624" href="#624">624</a>                 File path = ( ( Jar ) i.next() ).getSource();
-<a name="625" href="#625">625</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
-<a name="626" href="#626">626</a>                 {
-<a name="627" href="#627">627</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
-<a name="628" href="#628">628</a>                 }
-<a name="629" href="#629">629</a>             }
-<a name="630" href="#630">630</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="631" href="#631">631</a>         }
-<a name="632" href="#632">632</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="633" href="#633">633</a>         {
-<a name="634" href="#634">634</a>             <em class="jxr_comment">// ignore...</em>
-<a name="635" href="#635">635</a>         }
-<a name="636" href="#636">636</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="637" href="#637">637</a>     }
-<a name="638" href="#638">638</a> 
-<a name="639" href="#639">639</a> 
-<a name="640" href="#640">640</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
-<a name="641" href="#641">641</a>     {
-<a name="642" href="#642">642</a>         <strong class="jxr_keyword">try</strong>
-<a name="643" href="#643">643</a>         {
-<a name="644" href="#644">644</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="645" href="#645">645</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="646" href="#646">646</a>             Jar.writeManifest( manifest, out ); <em class="jxr_comment">// manifest encoding is UTF8</em>
-<a name="647" href="#647">647</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</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> <strong class="jxr_keyword">void</strong> includeMavenResources( MavenProject currentProject, Analyzer analyzer, Log log )
-<a name="659" href="#659">659</a>     {
-<a name="660" href="#660">660</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
-<a name="661" href="#661">661</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject );
-<a name="662" href="#662">662</a>         <strong class="jxr_keyword">final</strong> String includeResource = ( String ) analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="663" href="#663">663</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
-<a name="664" href="#664">664</a>         {
-<a name="665" href="#665">665</a>             <strong class="jxr_keyword">if</strong> ( includeResource.indexOf( MAVEN_RESOURCES ) &gt;= 0 )
-<a name="666" href="#666">666</a>             {
-<a name="667" href="#667">667</a>                 <em class="jxr_comment">// if there is no maven resource path, we do a special treatment and replace</em>
-<a name="668" href="#668">668</a>                 <em class="jxr_comment">// every occurance of MAVEN_RESOURCES and a following comma with an empty string</em>
-<a name="669" href="#669">669</a>                 <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() == 0 )
-<a name="670" href="#670">670</a>                 {
-<a name="671" href="#671">671</a>                     String cleanedResource = removeTagFromInstruction( includeResource, MAVEN_RESOURCES );
-<a name="672" href="#672">672</a>                     <strong class="jxr_keyword">if</strong> ( cleanedResource.length() &gt; 0 )
-<a name="673" href="#673">673</a>                     {
-<a name="674" href="#674">674</a>                         analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, cleanedResource );
-<a name="675" href="#675">675</a>                     }
-<a name="676" href="#676">676</a>                     <strong class="jxr_keyword">else</strong>
-<a name="677" href="#677">677</a>                     {
-<a name="678" href="#678">678</a>                         analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="679" href="#679">679</a>                     }
-<a name="680" href="#680">680</a>                 }
-<a name="681" href="#681">681</a>                 <strong class="jxr_keyword">else</strong>
-<a name="682" href="#682">682</a>                 {
-<a name="683" href="#683">683</a>                     String combinedResource = StringUtils
-<a name="684" href="#684">684</a>                         .replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
-<a name="685" href="#685">685</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
-<a name="686" href="#686">686</a>                 }
-<a name="687" href="#687">687</a>             }
-<a name="688" href="#688">688</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="689" href="#689">689</a>             {
-<a name="690" href="#690">690</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
-<a name="691" href="#691">691</a>                     + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
-<a name="692" href="#692">692</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="618" href="#618">618</a> 
+<a name="619" href="#619">619</a>         builder.build();
+<a name="620" href="#620">620</a> 
+<a name="621" href="#621">621</a>         mergeMavenManifest( currentProject, builder );
+<a name="622" href="#622">622</a> 
+<a name="623" href="#623">623</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="624" href="#624">624</a>     }
+<a name="625" href="#625">625</a> 
+<a name="626" href="#626">626</a> 
+<a name="627" href="#627">627</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
+<a name="628" href="#628">628</a>     {
+<a name="629" href="#629">629</a>         <strong class="jxr_keyword">try</strong>
+<a name="630" href="#630">630</a>         {
+<a name="631" href="#631">631</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="632" href="#632">632</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="633" href="#633">633</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
+<a name="634" href="#634">634</a>             {
+<a name="635" href="#635">635</a>                 <em class="jxr_comment">// we can only store String properties</em>
+<a name="636" href="#636">636</a>                 String key = ( String ) e.nextElement();
+<a name="637" href="#637">637</a>                 String value = properties.getProperty( key );
+<a name="638" href="#638">638</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
+<a name="639" href="#639">639</a>                 {
+<a name="640" href="#640">640</a>                     stringProperties.setProperty( key, value );
+<a name="641" href="#641">641</a>                 }
+<a name="642" href="#642">642</a>             }
+<a name="643" href="#643">643</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="644" href="#644">644</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
+<a name="645" href="#645">645</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
+<a name="646" href="#646">646</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="647" href="#647">647</a>         }
+<a name="648" href="#648">648</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="649" href="#649">649</a>         {
+<a name="650" href="#650">650</a>             <em class="jxr_comment">// ignore...</em>
+<a name="651" href="#651">651</a>         }
+<a name="652" href="#652">652</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="653" href="#653">653</a>     }
+<a name="654" href="#654">654</a> 
+<a name="655" href="#655">655</a> 
+<a name="656" href="#656">656</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
+<a name="657" href="#657">657</a>     {
+<a name="658" href="#658">658</a>         <strong class="jxr_keyword">try</strong>
+<a name="659" href="#659">659</a>         {
+<a name="660" href="#660">660</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="661" href="#661">661</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
+<a name="662" href="#662">662</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
+<a name="663" href="#663">663</a>             {
+<a name="664" href="#664">664</a>                 File path = ( ( Jar ) i.next() ).getSource();
+<a name="665" href="#665">665</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
+<a name="666" href="#666">666</a>                 {
+<a name="667" href="#667">667</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
+<a name="668" href="#668">668</a>                 }
+<a name="669" href="#669">669</a>             }
+<a name="670" href="#670">670</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="671" href="#671">671</a>         }
+<a name="672" href="#672">672</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="673" href="#673">673</a>         {
+<a name="674" href="#674">674</a>             <em class="jxr_comment">// ignore...</em>
+<a name="675" href="#675">675</a>         }
+<a name="676" href="#676">676</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="677" href="#677">677</a>     }
+<a name="678" href="#678">678</a> 
+<a name="679" href="#679">679</a> 
+<a name="680" href="#680">680</a>     <strong class="jxr_keyword">protected</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
+<a name="681" href="#681">681</a>     {
+<a name="682" href="#682">682</a>         <strong class="jxr_keyword">try</strong>
+<a name="683" href="#683">683</a>         {
+<a name="684" href="#684">684</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="685" href="#685">685</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="686" href="#686">686</a>             ManifestWriter.outputManifest( manifest, out, false ); <em class="jxr_comment">// manifest encoding is UTF8</em>
+<a name="687" href="#687">687</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
+<a name="688" href="#688">688</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="689" href="#689">689</a>         }
+<a name="690" href="#690">690</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="691" href="#691">691</a>         {
+<a name="692" href="#692">692</a>             <em class="jxr_comment">// ignore...</em>
 <a name="693" href="#693">693</a>         }
-<a name="694" href="#694">694</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="695" href="#695">695</a>         {
-<a name="696" href="#696">696</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
-<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> 
-<a name="701" href="#701">701</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="702" href="#702">702</a>     {
-<a name="703" href="#703">703</a>         Jar jar = builder.getJar();
-<a name="704" href="#704">704</a> 
-<a name="705" href="#705">705</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="706" href="#706">706</a>         {
-<a name="707" href="#707">707</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="708" href="#708">708</a>         }
-<a name="709" href="#709">709</a> 
-<a name="710" href="#710">710</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
-<a name="711" href="#711">711</a> 
-<a name="712" href="#712">712</a>         <strong class="jxr_keyword">try</strong>
-<a name="713" href="#713">713</a>         {
-<a name="714" href="#714">714</a>             <em class="jxr_comment">/*</em>
-<a name="715" href="#715">715</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
-<a name="716" href="#716">716</a> <em class="jxr_comment">             */</em>
-<a name="717" href="#717">717</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
-<a name="718" href="#718">718</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
-<a name="719" href="#719">719</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
-<a name="720" href="#720">720</a> 
-<a name="721" href="#721">721</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
-<a name="722" href="#722">722</a> 
-<a name="723" href="#723">723</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
-<a name="724" href="#724">724</a>             File externalManifestFile = archiveConfig.getManifestFile();
-<a name="725" href="#725">725</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile )
-<a name="726" href="#726">726</a>             {
-<a name="727" href="#727">727</a>                 <strong class="jxr_keyword">if</strong> ( !externalManifestFile.isAbsolute() )
-<a name="728" href="#728">728</a>                 {
-<a name="729" href="#729">729</a>                     externalManifestFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), externalManifestFile.getPath() );
-<a name="730" href="#730">730</a>                 }
-<a name="731" href="#731">731</a>                 <strong class="jxr_keyword">if</strong> ( externalManifestFile.exists() &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
-<a name="732" href="#732">732</a>                 {
-<a name="733" href="#733">733</a>                     InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
-<a name="734" href="#734">734</a>                     mavenManifest.read( mis );
-<a name="735" href="#735">735</a>                     mis.close();
-<a name="736" href="#736">736</a>                 }
-<a name="737" href="#737">737</a>             }
-<a name="738" href="#738">738</a> 
-<a name="739" href="#739">739</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
-<a name="740" href="#740">740</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
-<a name="741" href="#741">741</a> 
-<a name="742" href="#742">742</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
-<a name="743" href="#743">743</a>             {
-<a name="744" href="#744">744</a>                 <em class="jxr_comment">/*</em>
-<a name="745" href="#745">745</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
-<a name="746" href="#746">746</a> <em class="jxr_comment">                 */</em>
-<a name="747" href="#747">747</a>                 List sections = archiveConfig.getManifestSections();
-<a name="748" href="#748">748</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
-<a name="749" href="#749">749</a>                 {
-<a name="750" href="#750">750</a>                     ManifestSection section = ( ManifestSection ) i.next();
-<a name="751" href="#751">751</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
-<a name="752" href="#752">752</a> 
-<a name="753" href="#753">753</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
-<a name="754" href="#754">754</a>                     {
-<a name="755" href="#755">755</a>                         Map entries = section.getManifestEntries();
-<a name="756" href="#756">756</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
-<a name="757" href="#757">757</a>                         {
-<a name="758" href="#758">758</a>                             Map.Entry entry = ( Map.Entry ) j.next();
-<a name="759" href="#759">759</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
-<a name="760" href="#760">760</a>                         }
-<a name="761" href="#761">761</a>                     }
-<a name="762" href="#762">762</a> 
-<a name="763" href="#763">763</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
-<a name="764" href="#764">764</a>                 }
-<a name="765" href="#765">765</a>             }
-<a name="766" href="#766">766</a> 
-<a name="767" href="#767">767</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
-<a name="768" href="#768">768</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
+<a name="694" href="#694">694</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="695" href="#695">695</a>     }
+<a name="696" href="#696">696</a> 
+<a name="697" href="#697">697</a> 
+<a name="698" href="#698">698</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> includeMavenResources( MavenProject currentProject, Analyzer analyzer, Log log )
+<a name="699" href="#699">699</a>     {
+<a name="700" href="#700">700</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
+<a name="701" href="#701">701</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject, false );
+<a name="702" href="#702">702</a>         <strong class="jxr_keyword">final</strong> String mavenTestResourcePaths = getMavenResourcePaths( currentProject, <strong class="jxr_keyword">true</strong> );
+<a name="703" href="#703">703</a>         <strong class="jxr_keyword">final</strong> String includeResource = analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="704" href="#704">704</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
+<a name="705" href="#705">705</a>         {
+<a name="706" href="#706">706</a>             <strong class="jxr_keyword">if</strong> ( includeResource.contains( MAVEN_RESOURCES ) || includeResource.contains( MAVEN_TEST_RESOURCES ) )
+<a name="707" href="#707">707</a>             {
+<a name="708" href="#708">708</a>                 String combinedResource = StringUtils.replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
+<a name="709" href="#709">709</a>                 combinedResource = StringUtils.replace( combinedResource, MAVEN_TEST_RESOURCES, mavenTestResourcePaths );
+<a name="710" href="#710">710</a>                 <strong class="jxr_keyword">if</strong> ( combinedResource.length() &gt; 0 )
+<a name="711" href="#711">711</a>                 {
+<a name="712" href="#712">712</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
+<a name="713" href="#713">713</a>                 }
+<a name="714" href="#714">714</a>                 <strong class="jxr_keyword">else</strong>
+<a name="715" href="#715">715</a>                 {
+<a name="716" href="#716">716</a>                     analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="717" href="#717">717</a>                 }
+<a name="718" href="#718">718</a>             }
+<a name="719" href="#719">719</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="720" href="#720">720</a>             {
+<a name="721" href="#721">721</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
+<a name="722" href="#722">722</a>                         + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
+<a name="723" href="#723">723</a>             }
+<a name="724" href="#724">724</a>         }
+<a name="725" href="#725">725</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="726" href="#726">726</a>         {
+<a name="727" href="#727">727</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
+<a name="728" href="#728">728</a>         }
+<a name="729" href="#729">729</a>     }
+<a name="730" href="#730">730</a> 
+<a name="731" href="#731">731</a> 
+<a name="732" href="#732">732</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> mergeMavenManifest( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="733" href="#733">733</a>     {
+<a name="734" href="#734">734</a>         Jar jar = builder.getJar();
+<a name="735" href="#735">735</a> 
+<a name="736" href="#736">736</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="737" href="#737">737</a>         {
+<a name="738" href="#738">738</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="739" href="#739">739</a>         }
+<a name="740" href="#740">740</a> 
+<a name="741" href="#741">741</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
+<a name="742" href="#742">742</a> 
+<a name="743" href="#743">743</a>         <strong class="jxr_keyword">try</strong>
+<a name="744" href="#744">744</a>         {
+<a name="745" href="#745">745</a>             <em class="jxr_comment">/*</em>
+<a name="746" href="#746">746</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
+<a name="747" href="#747">747</a> <em class="jxr_comment">             */</em>
+<a name="748" href="#748">748</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
+<a name="749" href="#749">749</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
+<a name="750" href="#750">750</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
+<a name="751" href="#751">751</a> 
+<a name="752" href="#752">752</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="753" href="#753">753</a> 
+<a name="754" href="#754">754</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
+<a name="755" href="#755">755</a>             File externalManifestFile = archiveConfig.getManifestFile();
+<a name="756" href="#756">756</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile )
+<a name="757" href="#757">757</a>             {
+<a name="758" href="#758">758</a>                 <strong class="jxr_keyword">if</strong> ( !externalManifestFile.isAbsolute() )
+<a name="759" href="#759">759</a>                 {
+<a name="760" href="#760">760</a>                     externalManifestFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), externalManifestFile.getPath() );
+<a name="761" href="#761">761</a>                 }
+<a name="762" href="#762">762</a>                 <strong class="jxr_keyword">if</strong> ( externalManifestFile.exists() &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
+<a name="763" href="#763">763</a>                 {
+<a name="764" href="#764">764</a>                     InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
+<a name="765" href="#765">765</a>                     mavenManifest.read( mis );
+<a name="766" href="#766">766</a>                     mis.close();
+<a name="767" href="#767">767</a>                 }
+<a name="768" href="#768">768</a>             }
 <a name="769" href="#769">769</a> 
-<a name="770" href="#770">770</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
-<a name="771" href="#771">771</a> 
-<a name="772" href="#772">772</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
-<a name="773" href="#773">773</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
+<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>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
-<a name="776" href="#776">776</a>                 {
-<a name="777" href="#777">777</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
-<a name="778" href="#778">778</a>                     {
-<a name="779" href="#779">779</a>                         j.remove();
-<a name="780" href="#780">780</a>                     }
-<a name="781" href="#781">781</a>                 }
-<a name="782" href="#782">782</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>             <em class="jxr_comment">/*</em>
-<a name="785" href="#785">785</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
-<a name="786" href="#786">786</a> <em class="jxr_comment">             */</em>
-<a name="787" href="#787">787</a>             Manifest bundleManifest = jar.getManifest();
-<a name="788" href="#788">788</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
-<a name="789" href="#789">789</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
-<a name="790" href="#790">790</a> 
-<a name="791" href="#791">791</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
-<a name="792" href="#792">792</a>             <em class="jxr_comment">// optional resolution.</em>
-<a name="793" href="#793">793</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
-<a name="794" href="#794">794</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
-<a name="795" href="#795">795</a>             {
-<a name="796" href="#796">796</a>                 Set optionalPackages = getOptionalPackages( currentProject );
+<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>                 Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
-<a name="799" href="#799">799</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; entry : values.entrySet() )
-<a name="800" href="#800">800</a>                 {
-<a name="801" href="#801">801</a>                     String pkg = entry.getKey();
-<a name="802" href="#802">802</a>                     Map&lt;String, String&gt; options = entry.getValue();
-<a name="803" href="#803">803</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
-<a name="804" href="#804">804</a>                     {
-<a name="805" href="#805">805</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
-<a name="806" href="#806">806</a>                     }
-<a name="807" href="#807">807</a>                 }
-<a name="808" href="#808">808</a>                 String result = Processor.printClauses( values );
-<a name="809" href="#809">809</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
-<a name="810" href="#810">810</a>             }
-<a name="811" href="#811">811</a> 
-<a name="812" href="#812">812</a>             jar.setManifest( bundleManifest );
-<a name="813" href="#813">813</a>         }
-<a name="814" href="#814">814</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="815" href="#815">815</a>         {
-<a name="816" href="#816">816</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
-<a name="817" href="#817">817</a>         }
-<a name="818" href="#818">818</a> 
-<a name="819" href="#819">819</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
-<a name="820" href="#820">820</a>         {
-<a name="821" href="#821">821</a>             doMavenMetadata( currentProject, jar );
-<a name="822" href="#822">822</a>         }
-<a name="823" href="#823">823</a> 
-<a name="824" href="#824">824</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="825" href="#825">825</a>         {
-<a name="826" href="#826">826</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="827" href="#827">827</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="802" href="#802">802</a> 
+<a name="803" href="#803">803</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
+<a name="804" href="#804">804</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
+<a name="805" href="#805">805</a>             {
+<a name="806" href="#806">806</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
+<a name="807" href="#807">807</a>                 {
+<a name="808" href="#808">808</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
+<a name="809" href="#809">809</a>                     {
+<a name="810" href="#810">810</a>                         j.remove();
+<a name="811" href="#811">811</a>                     }
+<a name="812" href="#812">812</a>                 }
+<a name="813" href="#813">813</a>             }
+<a name="814" href="#814">814</a> 
+<a name="815" href="#815">815</a>             <em class="jxr_comment">/*</em>
+<a name="816" href="#816">816</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
+<a name="817" href="#817">817</a> <em class="jxr_comment">             */</em>
+<a name="818" href="#818">818</a>             Manifest bundleManifest = jar.getManifest();
+<a name="819" href="#819">819</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
+<a name="820" href="#820">820</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
+<a name="821" href="#821">821</a> 
+<a name="822" href="#822">822</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
+<a name="823" href="#823">823</a>             <em class="jxr_comment">// optional resolution.</em>
+<a name="824" href="#824">824</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
+<a name="825" href="#825">825</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
+<a name="826" href="#826">826</a>             {
+<a name="827" href="#827">827</a>                 Set optionalPackages = getOptionalPackages( currentProject );
 <a name="828" href="#828">828</a> 
-<a name="829" href="#829">829</a>         builder.setJar( jar );
-<a name="830" href="#830">830</a>     }
-<a name="831" href="#831">831</a> 
-<a name="832" href="#832">832</a> 
-<a name="833" href="#833">833</a>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="834" href="#834">834</a>     {
-<a name="835" href="#835">835</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="836" href="#836">836</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="837" href="#837">837</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="838" href="#838">838</a>         {
-<a name="839" href="#839">839</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="840" href="#840">840</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="841" href="#841">841</a>             {
-<a name="842" href="#842">842</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="843" href="#843">843</a>                 {
-<a name="844" href="#844">844</a>                     inscope.add( artifact );
-<a name="845" href="#845">845</a>                 }
-<a name="846" href="#846">846</a>             }
-<a name="847" href="#847">847</a>         }
-<a name="848" href="#848">848</a> 
-<a name="849" href="#849">849</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="850" href="#850">850</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="829" href="#829">829</a>                 Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
+<a name="830" href="#830">830</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; entry : values.entrySet() )
+<a name="831" href="#831">831</a>                 {
+<a name="832" href="#832">832</a>                     String pkg = entry.getKey();
+<a name="833" href="#833">833</a>                     Map&lt;String, String&gt; options = entry.getValue();
+<a name="834" href="#834">834</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
+<a name="835" href="#835">835</a>                     {
+<a name="836" href="#836">836</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
+<a name="837" href="#837">837</a>                     }
+<a name="838" href="#838">838</a>                 }
+<a name="839" href="#839">839</a>                 String result = Processor.printClauses( values );
+<a name="840" href="#840">840</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
+<a name="841" href="#841">841</a>             }
+<a name="842" href="#842">842</a> 
+<a name="843" href="#843">843</a>             jar.setManifest( bundleManifest );
+<a name="844" href="#844">844</a>         }
+<a name="845" href="#845">845</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="846" href="#846">846</a>         {
+<a name="847" href="#847">847</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
+<a name="848" href="#848">848</a>         }
+<a name="849" href="#849">849</a> 
+<a name="850" href="#850">850</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
 <a name="851" href="#851">851</a>         {
-<a name="852" href="#852">852</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="853" href="#853">853</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
-<a name="854" href="#854">854</a>             {
-<a name="855" href="#855">855</a>                 String id = artifact.toString();
-<a name="856" href="#856">856</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
-<a name="857" href="#857">857</a>                 {
-<a name="858" href="#858">858</a>                     <em class="jxr_comment">// strip the scope...</em>
-<a name="859" href="#859">859</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
-<a name="860" href="#860">860</a>                 }
-<a name="861" href="#861">861</a>                 optionalArtifactIds.add( id );
-<a name="862" href="#862">862</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>         }
-<a name="865" href="#865">865</a> 
-<a name="866" href="#866">866</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="867" href="#867">867</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="868" href="#868">868</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<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>             File file = getFile( artifact );
-<a name="872" href="#872">872</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="873" href="#873">873</a>             {
-<a name="874" href="#874">874</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="875" href="#875">875</a>             }
-<a name="876" href="#876">876</a> 
-<a name="877" href="#877">877</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="878" href="#878">878</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
-<a name="879" href="#879">879</a>             {
-<a name="880" href="#880">880</a>                 optional.addAll( jar.getPackages() );
-<a name="881" href="#881">881</a>             }
-<a name="882" href="#882">882</a>             <strong class="jxr_keyword">else</strong>
-<a name="883" href="#883">883</a>             {
-<a name="884" href="#884">884</a>                 required.addAll( jar.getPackages() );
-<a name="885" href="#885">885</a>             }
-<a name="886" href="#886">886</a>             jar.close();
-<a name="887" href="#887">887</a>         }
-<a name="888" href="#888">888</a> 
-<a name="889" href="#889">889</a>         optional.removeAll( required );
-<a name="890" href="#890">890</a>         <strong class="jxr_keyword">return</strong> optional;
-<a name="891" href="#891">891</a>     }
-<a name="892" href="#892">892</a> 
-<a name="893" href="#893">893</a> 
-<a name="894" href="#894">894</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="895" href="#895">895</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
-<a name="896" href="#896">896</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
-<a name="897" href="#897">897</a> <em class="jxr_javadoccomment">     *</em>
-<a name="898" href="#898">898</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="899" href="#899">899</a> <em class="jxr_javadoccomment">     */</em>
-<a name="900" href="#900">900</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
-<a name="901" href="#901">901</a>     {
-<a name="902" href="#902">902</a>         List trail = artifact.getDependencyTrail();
-<a name="903" href="#903">903</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
-<a name="904" href="#904">904</a>         {
-<a name="905" href="#905">905</a>             String next = ( String ) iterator.next();
-<a name="906" href="#906">906</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
-<a name="907" href="#907">907</a>             {
-<a name="908" href="#908">908</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="909" href="#909">909</a>             }
-<a name="910" href="#910">910</a>         }
-<a name="911" href="#911">911</a>         <strong class="jxr_keyword">return</strong> false;
-<a name="912" href="#912">912</a>     }
-<a name="913" href="#913">913</a> 
-<a name="914" href="#914">914</a> 
-<a name="915" href="#915">915</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
-<a name="916" href="#916">916</a>     {
-<a name="917" href="#917">917</a>         File outputDir = getOutputDirectory();
-<a name="918" href="#918">918</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
-<a name="919" href="#919">919</a>         {
-<a name="920" href="#920">920</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
-<a name="921" href="#921">921</a>         }
-<a name="922" href="#922">922</a> 
-<a name="923" href="#923">923</a>         <strong class="jxr_keyword">try</strong>
-<a name="924" href="#924">924</a>         {
-<a name="925" href="#925">925</a>             <em class="jxr_comment">/*</em>
-<a name="926" href="#926">926</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
-<a name="927" href="#927">927</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
-<a name="928" href="#928">928</a> <em class="jxr_comment">             */</em>
-<a name="929" href="#929">929</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
-<a name="930" href="#930">930</a>             {
-<a name="931" href="#931">931</a>                 outputDir.mkdirs();
-<a name="932" href="#932">932</a>             }
-<a name="933" href="#933">933</a> 
-<a name="934" href="#934">934</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
-<a name="935" href="#935">935</a>             unArchiver.setDestDirectory( outputDir );
-<a name="936" href="#936">936</a>             unArchiver.setSourceFile( jarFile );
-<a name="937" href="#937">937</a>             unArchiver.extract();
-<a name="938" href="#938">938</a>         }
-<a name="939" href="#939">939</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="940" href="#940">940</a>         {
-<a name="941" href="#941">941</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
-<a name="942" href="#942">942</a>         }
+<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="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">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
+<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>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="949" href="#949">949</a> 
-<a name="950" href="#950">950</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
-<a name="951" href="#951">951</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
-<a name="952" href="#952">952</a>         {
-<a name="953" href="#953">953</a>             String clause = clauses[i].trim();
-<a name="954" href="#954">954</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
-<a name="955" href="#955">955</a>             {
-<a name="956" href="#956">956</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
-<a name="957" href="#957">957</a>                 {
-<a name="958" href="#958">958</a>                     buf.append( ',' );
-<a name="959" href="#959">959</a>                 }
-<a name="960" href="#960">960</a>                 buf.append( clause );
-<a name="961" href="#961">961</a>             }
-<a name="962" href="#962">962</a>         }
-<a name="963" href="#963">963</a> 
-<a name="964" href="#964">964</a>         <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="965" href="#965">965</a>     }
-<a name="966" href="#966">966</a> 
-<a name="967" href="#967">967</a> 
-<a name="968" href="#968">968</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
-<a name="969" href="#969">969</a>     {
-<a name="970" href="#970">970</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="971" href="#971">971</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
-<a name="972" href="#972">972</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
-<a name="973" href="#973">973</a>         {
-<a name="974" href="#974">974</a>             String name = methods[i].getName();
-<a name="975" href="#975">975</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
-<a name="976" href="#976">976</a>             {
-<a name="977" href="#977">977</a>                 <strong class="jxr_keyword">try</strong>
-<a name="978" href="#978">978</a>                 {
-<a name="979" href="#979">979</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
-<a name="980" href="#980">980</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
-<a name="981" href="#981">981</a>                     {
-<a name="982" href="#982">982</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
-<a name="983" href="#983">983</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
-<a name="984" href="#984">984</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
-<a name="985" href="#985">985</a>                         <strong class="jxr_keyword">else</strong>
-<a name="986" href="#986">986</a>                             properties.put( name, v );
-<a name="987" href="#987">987</a> 
-<a name="988" href="#988">988</a>                     }
-<a name="989" href="#989">989</a>                 }
-<a name="990" href="#990">990</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="991" href="#991">991</a>                 {
-<a name="992" href="#992">992</a>                     <em class="jxr_comment">// too bad</em>
-<a name="993" href="#993">993</a>                 }
-<a name="994" href="#994">994</a>             }
-<a name="995" href="#995">995</a>         }
-<a name="996" href="#996">996</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="997" href="#997">997</a>     }
+<a name="948" href="#948">948</a>         File outputDir = getOutputDirectory();
+<a name="949" href="#949">949</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
+<a name="950" href="#950">950</a>         {
+<a name="951" href="#951">951</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
+<a name="952" href="#952">952</a>         }
+<a name="953" href="#953">953</a> 
+<a name="954" href="#954">954</a>         <strong class="jxr_keyword">try</strong>
+<a name="955" href="#955">955</a>         {
+<a name="956" href="#956">956</a>             <em class="jxr_comment">/*</em>
+<a name="957" href="#957">957</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
+<a name="958" href="#958">958</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
+<a name="959" href="#959">959</a> <em class="jxr_comment">             */</em>
+<a name="960" href="#960">960</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
+<a name="961" href="#961">961</a>             {
+<a name="962" href="#962">962</a>                 outputDir.mkdirs();
+<a name="963" href="#963">963</a>             }
+<a name="964" href="#964">964</a> 
+<a name="965" href="#965">965</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
+<a name="966" href="#966">966</a>             unArchiver.setDestDirectory( outputDir );
+<a name="967" href="#967">967</a>             unArchiver.setSourceFile( jarFile );
+<a name="968" href="#968">968</a>             unArchiver.extract();
+<a name="969" href="#969">969</a>         }
+<a name="970" href="#970">970</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="971" href="#971">971</a>         {
+<a name="972" href="#972">972</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
+<a name="973" href="#973">973</a>         }
+<a name="974" href="#974">974</a>     }
+<a name="975" href="#975">975</a> 
+<a name="976" href="#976">976</a> 
+<a name="977" href="#977">977</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
+<a name="978" href="#978">978</a>     {
+<a name="979" href="#979">979</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="980" href="#980">980</a> 
+<a name="981" href="#981">981</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
+<a name="982" href="#982">982</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
+<a name="983" href="#983">983</a>         {
+<a name="984" href="#984">984</a>             String clause = clauses[i].trim();
+<a name="985" href="#985">985</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
+<a name="986" href="#986">986</a>             {
+<a name="987" href="#987">987</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
+<a name="988" href="#988">988</a>                 {
+<a name="989" href="#989">989</a>                     buf.append( ',' );
+<a name="990" href="#990">990</a>                 }
+<a name="991" href="#991">991</a>                 buf.append( clause );
+<a name="992" href="#992">992</a>             }
+<a name="993" href="#993">993</a>         }
+<a name="994" href="#994">994</a> 
+<a name="995" href="#995">995</a>         <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="996" href="#996">996</a>     }
+<a name="997" href="#997">997</a> 
 <a name="998" href="#998">998</a> 
-<a name="999" href="#999">999</a> 
-<a name="1000" href="#1000">1000</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
-<a name="1001" href="#1001">1001</a>     {
-<a name="1002" href="#1002">1002</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
-<a name="1003" href="#1003">1003</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="1004" href="#1004">1004</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1005" href="#1005">1005</a>         String del = <span class="jxr_string">""</span>;
-<a name="1006" href="#1006">1006</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
-<a name="1007" href="#1007">1007</a>         {
-<a name="1008" href="#1008">1008</a>             License l = ( License ) i.next();
-<a name="1009" href="#1009">1009</a>             String url = l.getUrl();
-<a name="1010" href="#1010">1010</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
-<a name="1011" href="#1011">1011</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="1012" href="#1012">1012</a>             sb.append( del );
-<a name="1013" href="#1013">1013</a>             sb.append( url );
-<a name="1014" href="#1014">1014</a>             del = <span class="jxr_string">", "</span>;
-<a name="1015" href="#1015">1015</a>         }
-<a name="1016" href="#1016">1016</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
-<a name="1017" href="#1017">1017</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="1018" href="#1018">1018</a>         <strong class="jxr_keyword">return</strong> sb;
-<a name="1019" href="#1019">1019</a>     }
-<a name="1020" href="#1020">1020</a> 
-<a name="1021" href="#1021">1021</a> 
-<a name="1022" href="#1022">1022</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1023" href="#1023">1023</a> <em class="jxr_javadoccomment">     * @param jar</em>
-<a name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
-<a name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1026" href="#1026">1026</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="1027" href="#1027">1027</a>     {
-<a name="1028" href="#1028">1028</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
-<a name="1029" href="#1029">1029</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
-<a name="1030" href="#1030">1030</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
-<a name="1031" href="#1031">1031</a> 
-<a name="1032" href="#1032">1032</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
-<a name="1033" href="#1033">1033</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
-<a name="1034" href="#1034">1034</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
-<a name="1035" href="#1035">1035</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
-<a name="1036" href="#1036">1036</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="1037" href="#1037">1037</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
-<a name="1038" href="#1038">1038</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
-<a name="1039" href="#1039">1039</a>     }
-<a name="1040" href="#1040">1040</a> 
-<a name="1041" href="#1041">1041</a> 
-<a name="1042" href="#1042">1042</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="1043" href="#1043">1043</a>     {
-<a name="1044" href="#1044">1044</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="1045" href="#1045">1045</a> 
-<a name="1046" href="#1046">1046</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
-<a name="1047" href="#1047">1047</a>         {
-<a name="1048" href="#1048">1048</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
-<a name="1049" href="#1049">1049</a>         }
-<a name="1050" href="#1050">1050</a> 
-<a name="1051" href="#1051">1051</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="1052" href="#1052">1052</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="1053" href="#1053">1053</a>         {
-<a name="1054" href="#1054">1054</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="1055" href="#1055">1055</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="1056" href="#1056">1056</a>             {
-<a name="1057" href="#1057">1057</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="1058" href="#1058">1058</a>                 {
-<a name="1059" href="#1059">1059</a>                     File file = getFile( artifact );
-<a name="1060" href="#1060">1060</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="1061" href="#1061">1061</a>                     {
-<a name="1062" href="#1062">1062</a>                         getLog().warn(
-<a name="1063" href="#1063">1063</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
-<a name="1064" href="#1064">1064</a>                                 + currentProject.getArtifact() );
-<a name="1065" href="#1065">1065</a>                         <strong class="jxr_keyword">continue</strong>;
-<a name="1066" href="#1066">1066</a>                     }
-<a name="1067" href="#1067">1067</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="1068" href="#1068">1068</a>                     list.add( jar );
-<a name="1069" href="#1069">1069</a>                 }
-<a name="1070" href="#1070">1070</a>             }
-<a name="1071" href="#1071">1071</a>         }
-<a name="1072" href="#1072">1072</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
-<a name="1073" href="#1073">1073</a>         list.toArray( cp );
-<a name="1074" href="#1074">1074</a>         <strong class="jxr_keyword">return</strong> cp;
-<a name="1075" href="#1075">1075</a>     }
+<a name="999" href="#999">999</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
+<a name="1000" href="#1000">1000</a>     {
+<a name="1001" href="#1001">1001</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="1002" href="#1002">1002</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
+<a name="1003" href="#1003">1003</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
+<a name="1004" href="#1004">1004</a>         {
+<a name="1005" href="#1005">1005</a>             String name = methods[i].getName();
+<a name="1006" href="#1006">1006</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
+<a name="1007" href="#1007">1007</a>             {
+<a name="1008" href="#1008">1008</a>                 <strong class="jxr_keyword">try</strong>
+<a name="1009" href="#1009">1009</a>                 {
+<a name="1010" href="#1010">1010</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
+<a name="1011" href="#1011">1011</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
+<a name="1012" href="#1012">1012</a>                     {
+<a name="1013" href="#1013">1013</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
+<a name="1014" href="#1014">1014</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
+<a name="1015" href="#1015">1015</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
+<a name="1016" href="#1016">1016</a>                         <strong class="jxr_keyword">else</strong>
+<a name="1017" href="#1017">1017</a>                             properties.put( name, v );
+<a name="1018" href="#1018">1018</a> 
+<a name="1019" href="#1019">1019</a>                     }
+<a name="1020" href="#1020">1020</a>                 }
+<a name="1021" href="#1021">1021</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1022" href="#1022">1022</a>                 {
+<a name="1023" href="#1023">1023</a>                     <em class="jxr_comment">// too bad</em>
+<a name="1024" href="#1024">1024</a>                 }
+<a name="1025" href="#1025">1025</a>             }
+<a name="1026" href="#1026">1026</a>         }
+<a name="1027" href="#1027">1027</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="1028" href="#1028">1028</a>     }
+<a name="1029" href="#1029">1029</a> 
+<a name="1030" href="#1030">1030</a> 
+<a name="1031" href="#1031">1031</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
+<a name="1032" href="#1032">1032</a>     {
+<a name="1033" href="#1033">1033</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
+<a name="1034" href="#1034">1034</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="1035" href="#1035">1035</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1036" href="#1036">1036</a>         String del = <span class="jxr_string">""</span>;
+<a name="1037" href="#1037">1037</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
+<a name="1038" href="#1038">1038</a>         {
+<a name="1039" href="#1039">1039</a>             License l = ( License ) i.next();
+<a name="1040" href="#1040">1040</a>             String url = l.getUrl();
+<a name="1041" href="#1041">1041</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
+<a name="1042" href="#1042">1042</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="1043" href="#1043">1043</a>             sb.append( del );
+<a name="1044" href="#1044">1044</a>             sb.append( url );
+<a name="1045" href="#1045">1045</a>             del = <span class="jxr_string">", "</span>;
+<a name="1046" href="#1046">1046</a>         }
+<a name="1047" href="#1047">1047</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
+<a name="1048" href="#1048">1048</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="1049" href="#1049">1049</a>         <strong class="jxr_keyword">return</strong> sb;
+<a name="1050" href="#1050">1050</a>     }
+<a name="1051" href="#1051">1051</a> 
+<a name="1052" href="#1052">1052</a> 
+<a name="1053" href="#1053">1053</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment">     * @param jar</em>
+<a name="1055" href="#1055">1055</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
+<a name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1057" href="#1057">1057</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doMavenMetadata( MavenProject currentProject, Jar jar ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="1058" href="#1058">1058</a>     {
+<a name="1059" href="#1059">1059</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
+<a name="1060" href="#1060">1060</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
+<a name="1061" href="#1061">1061</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
+<a name="1062" href="#1062">1062</a> 
+<a name="1063" href="#1063">1063</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1064" href="#1064">1064</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
+<a name="1065" href="#1065">1065</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
+<a name="1066" href="#1066">1066</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
+<a name="1067" href="#1067">1067</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="1068" href="#1068">1068</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
+<a name="1069" href="#1069">1069</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
+<a name="1070" href="#1070">1070</a>     }
+<a name="1071" href="#1071">1071</a> 
+<a name="1072" href="#1072">1072</a> 
+<a name="1073" href="#1073">1073</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
+<a name="1074" href="#1074">1074</a>     {
+<a name="1075" href="#1075">1075</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
 <a name="1076" href="#1076">1076</a> 
-<a name="1077" href="#1077">1077</a> 
-<a name="1078" href="#1078">1078</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1079" href="#1079">1079</a>     {
-<a name="1080" href="#1080">1080</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
-<a name="1081" href="#1081">1081</a>         {
-<a name="1082" href="#1082">1082</a>             <strong class="jxr_keyword">return</strong> artifacts;
-<a name="1083" href="#1083">1083</a>         }
-<a name="1084" href="#1084">1084</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
-<a name="1085" href="#1085">1085</a>         {
-<a name="1086" href="#1086">1086</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
-<a name="1087" href="#1087">1087</a>         }
-<a name="1088" href="#1088">1088</a> 
-<a name="1089" href="#1089">1089</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
-<a name="1090" href="#1090">1090</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="1091" href="#1091">1091</a>         excluder.processHeaders( excludeDependencies );
-<a name="1092" href="#1092">1092</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
-<a name="1093" href="#1093">1093</a> 
-<a name="1094" href="#1094">1094</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
-<a name="1095" href="#1095">1095</a>     }
-<a name="1096" href="#1096">1096</a> 
-<a name="1097" href="#1097">1097</a> 
-<a name="1098" href="#1098">1098</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
-<a name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1101" href="#1101">1101</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="1102" href="#1102">1102</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1103" href="#1103">1103</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
-<a name="1104" href="#1104">1104</a>     {
-<a name="1105" href="#1105">1105</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
+<a name="1077" href="#1077">1077</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
+<a name="1078" href="#1078">1078</a>         {
+<a name="1079" href="#1079">1079</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
+<a name="1080" href="#1080">1080</a>         }
+<a name="1081" href="#1081">1081</a> 
+<a name="1082" href="#1082">1082</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="1083" href="#1083">1083</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="1084" href="#1084">1084</a>         {
+<a name="1085" href="#1085">1085</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="1086" href="#1086">1086</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="1087" href="#1087">1087</a>             {
+<a name="1088" href="#1088">1088</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="1089" href="#1089">1089</a>                 {
+<a name="1090" href="#1090">1090</a>                     File file = getFile( artifact );
+<a name="1091" href="#1091">1091</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="1092" href="#1092">1092</a>                     {
+<a name="1093" href="#1093">1093</a>                         getLog().warn(
+<a name="1094" href="#1094">1094</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
+<a name="1095" href="#1095">1095</a>                                 + currentProject.getArtifact() );
+<a name="1096" href="#1096">1096</a>                         <strong class="jxr_keyword">continue</strong>;
+<a name="1097" href="#1097">1097</a>                     }
+<a name="1098" href="#1098">1098</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="1099" href="#1099">1099</a>                     list.add( jar );
+<a name="1100" href="#1100">1100</a>                 }
+<a name="1101" href="#1101">1101</a>             }
+<a name="1102" href="#1102">1102</a>         }
+<a name="1103" href="#1103">1103</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
+<a name="1104" href="#1104">1104</a>         list.toArray( cp );
+<a name="1105" href="#1105">1105</a>         <strong class="jxr_keyword">return</strong> cp;
 <a name="1106" href="#1106">1106</a>     }
 <a name="1107" href="#1107">1107</a> 
 <a name="1108" href="#1108">1108</a> 
-<a name="1109" href="#1109">1109</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> header( Properties properties, String key, Object value )
+<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> ( value == <strong class="jxr_keyword">null</strong> )
-<a name="1112" href="#1112">1112</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1113" href="#1113">1113</a> 
-<a name="1114" href="#1114">1114</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
-<a name="1115" href="#1115">1115</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1116" href="#1116">1116</a> 
-<a name="1117" href="#1117">1117</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
-<a name="1118" href="#1118">1118</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> 
-<a name="1121" href="#1121">1121</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1122" href="#1122">1122</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
-<a name="1123" href="#1123">1123</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1124" href="#1124">1124</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
-<a name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
-<a name="1126" href="#1126">1126</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1127" href="#1127">1127</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
-<a name="1128" href="#1128">1128</a>     {
-<a name="1129" href="#1129">1129</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
-<a name="1130" href="#1130">1130</a>     }
-<a name="1131" href="#1131">1131</a> 
-<a name="1132" href="#1132">1132</a> 
-<a name="1133" href="#1133">1133</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1134" href="#1134">1134</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</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> String getBundleName( MavenProject currentProject )
-<a name="1137" href="#1137">1137</a>     {
-<a name="1138" href="#1138">1138</a>         String extension;
-<a name="1139" href="#1139">1139</a>         <strong class="jxr_keyword">try</strong>
-<a name="1140" href="#1140">1140</a>         {
-<a name="1141" href="#1141">1141</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
-<a name="1142" href="#1142">1142</a>         }
-<a name="1143" href="#1143">1143</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="1144" href="#1144">1144</a>         {
-<a name="1145" href="#1145">1145</a>             extension = currentProject.getArtifact().getType();
-<a name="1146" href="#1146">1146</a>         }
-<a name="1147" href="#1147">1147</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="1148" href="#1148">1148</a>         {
-<a name="1149" href="#1149">1149</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
-<a name="1150" href="#1150">1150</a>         }
-<a name="1151" href="#1151">1151</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
-<a name="1152" href="#1152">1152</a>         {
-<a name="1153" href="#1153">1153</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
-<a name="1154" href="#1154">1154</a>         }
-<a name="1155" href="#1155">1155</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
-<a name="1156" href="#1156">1156</a>     }
-<a name="1157" href="#1157">1157</a> 
-<a name="1158" href="#1158">1158</a> 
-<a name="1159" href="#1159">1159</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
-<a name="1160" href="#1160">1160</a>     {
-<a name="1161" href="#1161">1161</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
-<a name="1162" href="#1162">1162</a>     }
+<a name="1120" href="#1120">1120</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
+<a name="1121" href="#1121">1121</a>         <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> excluder = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( artifacts );
+<a name="1122" href="#1122">1122</a>         excluder.processHeaders( excludeDependencies );
+<a name="1123" href="#1123">1123</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
+<a name="1124" href="#1124">1124</a> 
+<a name="1125" href="#1125">1125</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
+<a name="1126" href="#1126">1126</a>     }
+<a name="1127" href="#1127">1127</a> 
+<a name="1128" href="#1128">1128</a> 
+<a name="1129" href="#1129">1129</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
+<a name="1131" href="#1131">1131</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1134" href="#1134">1134</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
+<a name="1135" href="#1135">1135</a>     {
+<a name="1136" href="#1136">1136</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
+<a name="1137" href="#1137">1137</a>     }
+<a name="1138" href="#1138">1138</a> 
+<a name="1139" href="#1139">1139</a> 
+<a name="1140" href="#1140">1140</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> header( Properties properties, String key, Object value )
+<a name="1141" href="#1141">1141</a>     {
+<a name="1142" href="#1142">1142</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
+<a name="1143" href="#1143">1143</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1144" href="#1144">1144</a> 
+<a name="1145" href="#1145">1145</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
+<a name="1146" href="#1146">1146</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1147" href="#1147">1147</a> 
+<a name="1148" href="#1148">1148</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
+<a name="1149" href="#1149">1149</a>     }
+<a name="1150" href="#1150">1150</a> 
+<a name="1151" href="#1151">1151</a> 
+<a name="1152" href="#1152">1152</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1153" href="#1153">1153</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
+<a name="1154" href="#1154">1154</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1155" href="#1155">1155</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
+<a name="1156" href="#1156">1156</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
+<a name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1158" href="#1158">1158</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
+<a name="1159" href="#1159">1159</a>     {
+<a name="1160" href="#1160">1160</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
+<a name="1161" href="#1161">1161</a>     }
+<a name="1162" href="#1162">1162</a> 
 <a name="1163" href="#1163">1163</a> 
-<a name="1164" href="#1164">1164</a> 
-<a name="1165" href="#1165">1165</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
-<a name="1166" href="#1166">1166</a>     {
-<a name="1167" href="#1167">1167</a>         buildDirectory = _buildirectory;
-<a name="1168" href="#1168">1168</a>     }
-<a name="1169" href="#1169">1169</a> 
-<a name="1170" href="#1170">1170</a> 
-<a name="1171" href="#1171">1171</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
-<a name="1172" href="#1172">1172</a>     {
-<a name="1173" href="#1173">1173</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="1174" href="#1174">1174</a> 
-<a name="1175" href="#1175">1175</a>         String bsn;
-<a name="1176" href="#1176">1176</a>         <strong class="jxr_keyword">try</strong>
-<a name="1177" href="#1177">1177</a>         {
-<a name="1178" href="#1178">1178</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
-<a name="1179" href="#1179">1179</a>         }
-<a name="1180" href="#1180">1180</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1181" href="#1181">1181</a>         {
-<a name="1182" href="#1182">1182</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
-<a name="1183" href="#1183">1183</a>         }
-<a name="1184" href="#1184">1184</a> 
-<a name="1185" href="#1185">1185</a>         <em class="jxr_comment">// Setup defaults</em>
-<a name="1186" href="#1186">1186</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
-<a name="1187" href="#1187">1187</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
-<a name="1188" href="#1188">1188</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="1189" href="#1189">1189</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
-<a name="1190" href="#1190">1190</a> 
-<a name="1191" href="#1191">1191</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
-<a name="1192" href="#1192">1192</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
-<a name="1193" href="#1193">1193</a> 
-<a name="1194" href="#1194">1194</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
-<a name="1195" href="#1195">1195</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
-<a name="1196" href="#1196">1196</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
-<a name="1197" href="#1197">1197</a>         {
-<a name="1198" href="#1198">1198</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
-<a name="1199" href="#1199">1199</a>         }
-<a name="1200" href="#1200">1200</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
+<a name="1164" href="#1164">1164</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1165" href="#1165">1165</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
+<a name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1167" href="#1167">1167</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
+<a name="1168" href="#1168">1168</a>     {
+<a name="1169" href="#1169">1169</a>         String extension;
+<a name="1170" href="#1170">1170</a>         <strong class="jxr_keyword">try</strong>
+<a name="1171" href="#1171">1171</a>         {
+<a name="1172" href="#1172">1172</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
+<a name="1173" href="#1173">1173</a>         }
+<a name="1174" href="#1174">1174</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="1175" href="#1175">1175</a>         {
+<a name="1176" href="#1176">1176</a>             extension = currentProject.getArtifact().getType();
+<a name="1177" href="#1177">1177</a>         }
+<a name="1178" href="#1178">1178</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( extension ) || <span class="jxr_string">"bundle"</span>.equals( extension ) || <span class="jxr_string">"pom"</span>.equals( extension ) )
+<a name="1179" href="#1179">1179</a>         {
+<a name="1180" href="#1180">1180</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
+<a name="1181" href="#1181">1181</a>         }
+<a name="1182" href="#1182">1182</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
+<a name="1183" href="#1183">1183</a>         {
+<a name="1184" href="#1184">1184</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
+<a name="1185" href="#1185">1185</a>         }
+<a name="1186" href="#1186">1186</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
+<a name="1187" href="#1187">1187</a>     }
+<a name="1188" href="#1188">1188</a> 
+<a name="1189" href="#1189">1189</a> 
+<a name="1190" href="#1190">1190</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
+<a name="1191" href="#1191">1191</a>     {
+<a name="1192" href="#1192">1192</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
+<a name="1193" href="#1193">1193</a>     }
+<a name="1194" href="#1194">1194</a> 
+<a name="1195" href="#1195">1195</a> 
+<a name="1196" href="#1196">1196</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
+<a name="1197" href="#1197">1197</a>     {
+<a name="1198" href="#1198">1198</a>         buildDirectory = _buildirectory;
+<a name="1199" href="#1199">1199</a>     }
+<a name="1200" href="#1200">1200</a> 
 <a name="1201" href="#1201">1201</a> 
-<a name="1202" href="#1202">1202</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
-<a name="1203" href="#1203">1203</a>         {
-<a name="1204" href="#1204">1204</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
-<a name="1205" href="#1205">1205</a>             {
-<a name="1206" href="#1206">1206</a>                 String organizationName = currentProject.getOrganization().getName();
-<a name="1207" href="#1207">1207</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
-<a name="1208" href="#1208">1208</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
-<a name="1209" href="#1209">1209</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
-<a name="1210" href="#1210">1210</a>             }
-<a name="1211" href="#1211">1211</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
-<a name="1212" href="#1212">1212</a>             {
-<a name="1213" href="#1213">1213</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
-<a name="1214" href="#1214">1214</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
-<a name="1215" href="#1215">1215</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
-<a name="1216" href="#1216">1216</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
-<a name="1217" href="#1217">1217</a>             }
-<a name="1218" href="#1218">1218</a>         }
-<a name="1219" href="#1219">1219</a> 
-<a name="1220" href="#1220">1220</a>         properties.putAll( currentProject.getProperties() );
-<a name="1221" href="#1221">1221</a>         properties.putAll( currentProject.getModel().getProperties() );
-<a name="1222" href="#1222">1222</a> 
-<a name="1223" href="#1223">1223</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getFilters().iterator(); i.hasNext(); )
-<a name="1224" href="#1224">1224</a>         {
-<a name="1225" href="#1225">1225</a>             File filterFile = <strong class="jxr_keyword">new</strong> File( ( String ) i.next() );
-<a name="1226" href="#1226">1226</a>             <strong class="jxr_keyword">if</strong> ( filterFile.isFile() )
-<a name="1227" href="#1227">1227</a>             {
-<a name="1228" href="#1228">1228</a>                 properties.putAll( PropertyUtils.loadProperties( filterFile ) );
-<a name="1229" href="#1229">1229</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> 
-<a name="1232" href="#1232">1232</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
-<a name="1233" href="#1233">1233</a>         {
-<a name="1234" href="#1234">1234</a>             <strong class="jxr_keyword">try</strong>
-<a name="1235" href="#1235">1235</a>             {
-<a name="1236" href="#1236">1236</a>                 <em class="jxr_comment">// don't pass upper-case session settings to bnd as they end up in the manifest</em>
-<a name="1237" href="#1237">1237</a>                 Properties sessionProperties = m_mavenSession.getExecutionProperties();
-<a name="1238" href="#1238">1238</a>                 <strong class="jxr_keyword">for</strong> ( Enumeration e = sessionProperties.propertyNames(); e.hasMoreElements(); )
-<a name="1239" href="#1239">1239</a>                 {
-<a name="1240" href="#1240">1240</a>                     String key = ( String ) e.nextElement();
-<a name="1241" href="#1241">1241</a>                     <strong class="jxr_keyword">if</strong> ( key.length() &gt; 0 &amp;&amp; !Character.isUpperCase( key.charAt( 0 ) ) )
-<a name="1242" href="#1242">1242</a>                     {
-<a name="1243" href="#1243">1243</a>                         properties.put( key, sessionProperties.getProperty( key ) );
-<a name="1244" href="#1244">1244</a>                     }
-<a name="1245" href="#1245">1245</a>                 }
-<a name="1246" href="#1246">1246</a>             }
-<a name="1247" href="#1247">1247</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1248" href="#1248">1248</a>             {
-<a name="1249" href="#1249">1249</a>                 getLog().warn( <span class="jxr_string">"Problem with Maven session properties: "</span> + e.getLocalizedMessage() );
-<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( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
-<a name="1254" href="#1254">1254</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
-<a name="1255" href="#1255">1255</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
-<a name="1256" href="#1256">1256</a> 
-<a name="1257" href="#1257">1257</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
-<a name="1258" href="#1258">1258</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
-<a name="1259" href="#1259">1259</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
-<a name="1260" href="#1260">1260</a> 
-<a name="1261" href="#1261">1261</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
+<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>         <em class="jxr_comment">// Add default plugins</em>
-<a name="1264" href="#1264">1264</a>         header( properties, Analyzer.PLUGIN, BlueprintPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span> + SpringXMLType.<strong class="jxr_keyword">class</strong>.getName() );
-<a name="1265" href="#1265">1265</a> 
-<a name="1266" href="#1266">1266</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="1267" href="#1267">1267</a>     }
-<a name="1268" href="#1268">1268</a> 
-<a name="1269" href="#1269">1269</a> 
-<a name="1270" href="#1270">1270</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
-<a name="1271" href="#1271">1271</a>     {
-<a name="1272" href="#1272">1272</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="1273" href="#1273">1273</a>     }
-<a name="1274" href="#1274">1274</a> 
-<a name="1275" href="#1275">1275</a> 
-<a name="1276" href="#1276">1276</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
-<a name="1277" href="#1277">1277</a>     {
-<a name="1278" href="#1278">1278</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
-<a name="1279" href="#1279">1279</a>     }
-<a name="1280" href="#1280">1280</a> 
-<a name="1281" href="#1281">1281</a> 
-<a name="1282" href="#1282">1282</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
-<a name="1283" href="#1283">1283</a>     {
-<a name="1284" href="#1284">1284</a>         outputDirectory = _outputDirectory;
-<a name="1285" href="#1285">1285</a>     }
-<a name="1286" href="#1286">1286</a> 
+<a name="1263" href="#1263">1263</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
+<a name="1264" href="#1264">1264</a>         {
+<a name="1265" href="#1265">1265</a>             <strong class="jxr_keyword">try</strong>
+<a name="1266" href="#1266">1266</a>             {
+<a name="1267" href="#1267">1267</a>                 <em class="jxr_comment">// don't pass upper-case session settings to bnd as they end up in the manifest</em>
+<a name="1268" href="#1268">1268</a>                 Properties sessionProperties = m_mavenSession.getExecutionProperties();
+<a name="1269" href="#1269">1269</a>                 <strong class="jxr_keyword">for</strong> ( Enumeration e = sessionProperties.propertyNames(); e.hasMoreElements(); )
+<a name="1270" href="#1270">1270</a>                 {
+<a name="1271" href="#1271">1271</a>                     String key = ( String ) e.nextElement();
+<a name="1272" href="#1272">1272</a>                     <strong class="jxr_keyword">if</strong> ( key.length() &gt; 0 &amp;&amp; !Character.isUpperCase( key.charAt( 0 ) ) )
+<a name="1273" href="#1273">1273</a>                     {
+<a name="1274" href="#1274">1274</a>                         properties.put( key, sessionProperties.getProperty( key ) );
+<a name="1275" href="#1275">1275</a>                     }
+<a name="1276" href="#1276">1276</a>                 }
+<a name="1277" href="#1277">1277</a>             }
+<a name="1278" href="#1278">1278</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1279" href="#1279">1279</a>             {
+<a name="1280" href="#1280">1280</a>                 getLog().warn( <span class="jxr_string">"Problem with Maven session properties: "</span> + e.getLocalizedMessage() );
+<a name="1281" href="#1281">1281</a>             }
+<a name="1282" href="#1282">1282</a>         }
+<a name="1283" href="#1283">1283</a> 
+<a name="1284" href="#1284">1284</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
+<a name="1285" href="#1285">1285</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
+<a name="1286" href="#1286">1286</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
 <a name="1287" href="#1287">1287</a> 
-<a name="1288" href="#1288">1288</a>     <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="1289" href="#1289">1289</a>     {
-<a name="1290" href="#1290">1290</a>         Packages packages = <strong class="jxr_keyword">new</strong> Packages();
+<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>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
-<a name="1293" href="#1293">1293</a>         {
-<a name="1294" href="#1294">1294</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
-<a name="1295" href="#1295">1295</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1296" href="#1296">1296</a>             scanner.setBasedir( outputDirectory );
-<a name="1297" href="#1297">1297</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
-<a name="1298" href="#1298">1298</a>                 { <span class="jxr_string">"**/*.class"</span> } );
-<a name="1299" href="#1299">1299</a> 
-<a name="1300" href="#1300">1300</a>             scanner.addDefaultExcludes();
-<a name="1301" href="#1301">1301</a>             scanner.scan();
+<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="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>             String[] paths = scanner.getIncludedFiles();
-<a name="1304" href="#1304">1304</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
-<a name="1305" href="#1305">1305</a>             {
-<a name="1306" href="#1306">1306</a>                 packages.put( analyzer.getPackageRef( getPackageName( paths[i] ) ) );
-<a name="1307" href="#1307">1307</a>             }
-<a name="1308" href="#1308">1308</a>         }
-<a name="1309" href="#1309">1309</a> 
-<a name="1310" href="#1310">1310</a>         Packages exportedPkgs = <strong class="jxr_keyword">new</strong> Packages();
-<a name="1311" href="#1311">1311</a>         Packages privatePkgs = <strong class="jxr_keyword">new</strong> Packages();
-<a name="1312" href="#1312">1312</a> 
-<a name="1313" href="#1313">1313</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
+<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">for</strong> ( PackageRef pkg : packages.keySet() )
-<a name="1316" href="#1316">1316</a>         {
-<a name="1317" href="#1317">1317</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
-<a name="1318" href="#1318">1318</a>             privatePkgs.put( pkg );
+<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>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
-<a name="1321" href="#1321">1321</a>             String fqn = pkg.getFQN();
-<a name="1322" href="#1322">1322</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="1323" href="#1323">1323</a>             {
-<a name="1324" href="#1324">1324</a>                 exportedPkgs.put( pkg );
-<a name="1325" href="#1325">1325</a>             }
-<a name="1326" href="#1326">1326</a>         }
-<a name="1327" href="#1327">1327</a> 
-<a name="1328" href="#1328">1328</a>         Properties properties = analyzer.getProperties();
-<a name="1329" href="#1329">1329</a>         String exported = properties.getProperty( Analyzer.EXPORT_PACKAGE );
-<a name="1330" href="#1330">1330</a>         <strong class="jxr_keyword">if</strong> ( exported == <strong class="jxr_keyword">null</strong> )
-<a name="1331" href="#1331">1331</a>         {
-<a name="1332" href="#1332">1332</a>             <strong class="jxr_keyword">if</strong> ( !properties.containsKey( Analyzer.EXPORT_CONTENTS ) )
-<a name="1333" href="#1333">1333</a>             {
-<a name="1334" href="#1334">1334</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
-<a name="1335" href="#1335">1335</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : exportedPkgs.values() )
-<a name="1336" href="#1336">1336</a>                 {
-<a name="1337" href="#1337">1337</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
-<a name="1338" href="#1338">1338</a>                 }
-<a name="1339" href="#1339">1339</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, Processor.printClauses( exportedPkgs ) );
+<a name="1320" href="#1320">1320</a> 
+<a name="1321" href="#1321">1321</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="1322" href="#1322">1322</a>     {
+<a name="1323" href="#1323">1323</a>         Packages packages = <strong class="jxr_keyword">new</strong> Packages();
+<a name="1324" href="#1324">1324</a> 
+<a name="1325" href="#1325">1325</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
+<a name="1326" href="#1326">1326</a>         {
+<a name="1327" href="#1327">1327</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
+<a name="1328" href="#1328">1328</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1329" href="#1329">1329</a>             scanner.setBasedir( outputDirectory );
+<a name="1330" href="#1330">1330</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
+<a name="1331" href="#1331">1331</a>                 { <span class="jxr_string">"**/*.class"</span> } );
+<a name="1332" href="#1332">1332</a> 
+<a name="1333" href="#1333">1333</a>             scanner.addDefaultExcludes();
+<a name="1334" href="#1334">1334</a>             scanner.scan();
+<a name="1335" href="#1335">1335</a> 
+<a name="1336" href="#1336">1336</a>             String[] paths = scanner.getIncludedFiles();
+<a name="1337" href="#1337">1337</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
+<a name="1338" href="#1338">1338</a>             {
+<a name="1339" href="#1339">1339</a>                 packages.put( analyzer.getPackageRef( getPackageName( paths[i] ) ) );
 <a name="1340" href="#1340">1340</a>             }
-<a name="1341" href="#1341">1341</a>             <strong class="jxr_keyword">else</strong>
-<a name="1342" href="#1342">1342</a>             {
-<a name="1343" href="#1343">1343</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
-<a name="1344" href="#1344">1344</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
-<a name="1345" href="#1345">1345</a>             }
-<a name="1346" href="#1346">1346</a>         }
-<a name="1347" href="#1347">1347</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1348" href="#1348">1348</a>         {
-<a name="1349" href="#1349">1349</a>             String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, Processor.printClauses( exportedPkgs ) );
-<a name="1350" href="#1350">1350</a>             properties.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
-<a name="1351" href="#1351">1351</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="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>         String internal = properties.getProperty( Analyzer.PRIVATE_PACKAGE );
-<a name="1354" href="#1354">1354</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
-<a name="1355" href="#1355">1355</a>         {
-<a name="1356" href="#1356">1356</a>             <strong class="jxr_keyword">if</strong> ( !privatePkgs.isEmpty() )
-<a name="1357" href="#1357">1357</a>             {
-<a name="1358" href="#1358">1358</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : privatePkgs.values() )
-<a name="1359" href="#1359">1359</a>                 {
-<a name="1360" href="#1360">1360</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
-<a name="1361" href="#1361">1361</a>                 }
-<a name="1362" href="#1362">1362</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, Processor.printClauses( privatePkgs ) );
-<a name="1363" href="#1363">1363</a>             }
-<a name="1364" href="#1364">1364</a>             <strong class="jxr_keyword">else</strong>
-<a name="1365" href="#1365">1365</a>             {
-<a name="1366" href="#1366">1366</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="1367" href="#1367">1367</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
-<a name="1368" href="#1368">1368</a>             }
-<a name="1369" href="#1369">1369</a>         }
-<a name="1370" href="#1370">1370</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1371" href="#1371">1371</a>         {
-<a name="1372" href="#1372">1372</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, Processor.printClauses( privatePkgs ) );
-<a name="1373" href="#1373">1373</a>             properties.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
-<a name="1374" href="#1374">1374</a>         }
-<a name="1375" href="#1375">1375</a>     }
-<a name="1376" href="#1376">1376</a> 
-<a name="1377" href="#1377">1377</a> 
-<a name="1378" href="#1378">1378</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
-<a name="1379" href="#1379">1379</a>     {
-<a name="1380" href="#1380">1380</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
-<a name="1381" href="#1381">1381</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
-<a name="1382" href="#1382">1382</a>     }
-<a name="1383" href="#1383">1383</a> 
-<a name="1384" href="#1384">1384</a> 
-<a name="1385" href="#1385">1385</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject )
-<a name="1386" href="#1386">1386</a>     {
-<a name="1387" href="#1387">1387</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( currentProject.getResources() );
-<a name="1388" href="#1388">1388</a> 
-<a name="1389" href="#1389">1389</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1390" href="#1390">1390</a>         {
-<a name="1391" href="#1391">1391</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
-<a name="1392" href="#1392">1392</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
-<a name="1393" href="#1393">1393</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1394" href="#1394">1394</a>             {
-<a name="1395" href="#1395">1395</a>                 String sourceRoot = ( String ) i.next();
-<a name="1396" href="#1396">1396</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
-<a name="1397" href="#1397">1397</a>                 packageInfoResource.setDirectory( sourceRoot );
-<a name="1398" href="#1398">1398</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
-<a name="1399" href="#1399">1399</a>                 resources.add( packageInfoResource );
-<a name="1400" href="#1400">1400</a>             }
-<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">return</strong> resources;
-<a name="1404" href="#1404">1404</a>     }
-<a name="1405" href="#1405">1405</a> 
-<a name="1406" href="#1406">1406</a> 
-<a name="1407" href="#1407">1407</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject )
-<a name="1408" href="#1408">1408</a>     {
-<a name="1409" href="#1409">1409</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
+<a name="1353" href="#1353">1353</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
+<a name="1354" href="#1354">1354</a>             String fqn = pkg.getFQN();
+<a name="1355" href="#1355">1355</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( fqn ) || fqn.contains( <span class="jxr_string">".internal"</span> ) || fqn.contains( <span class="jxr_string">".impl"</span> ) ) )
+<a name="1356" href="#1356">1356</a>             {
+<a name="1357" href="#1357">1357</a>                 exportedPkgs.put( pkg );
+<a name="1358" href="#1358">1358</a>             }
+<a name="1359" href="#1359">1359</a>         }
+<a name="1360" href="#1360">1360</a> 
+<a name="1361" href="#1361">1361</a>         Properties properties = analyzer.getProperties();
+<a name="1362" href="#1362">1362</a>         String exported = properties.getProperty( Analyzer.EXPORT_PACKAGE );
+<a name="1363" href="#1363">1363</a>         <strong class="jxr_keyword">if</strong> ( exported == <strong class="jxr_keyword">null</strong> )
+<a name="1364" href="#1364">1364</a>         {
+<a name="1365" href="#1365">1365</a>             <strong class="jxr_keyword">if</strong> ( !properties.containsKey( Analyzer.EXPORT_CONTENTS ) )
+<a name="1366" href="#1366">1366</a>             {
+<a name="1367" href="#1367">1367</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
+<a name="1368" href="#1368">1368</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : exportedPkgs.values() )
+<a name="1369" href="#1369">1369</a>                 {
+<a name="1370" href="#1370">1370</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
+<a name="1371" href="#1371">1371</a>                 }
+<a name="1372" href="#1372">1372</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, Processor.printClauses( exportedPkgs ) );
+<a name="1373" href="#1373">1373</a>             }
+<a name="1374" href="#1374">1374</a>             <strong class="jxr_keyword">else</strong>
+<a name="1375" href="#1375">1375</a>             {
+<a name="1376" href="#1376">1376</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
+<a name="1377" href="#1377">1377</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
+<a name="1378" href="#1378">1378</a>             }
+<a name="1379" href="#1379">1379</a>         }
+<a name="1380" href="#1380">1380</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1381" href="#1381">1381</a>         {
+<a name="1382" href="#1382">1382</a>             String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, Processor.printClauses( exportedPkgs ) );
+<a name="1383" href="#1383">1383</a>             properties.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
+<a name="1384" href="#1384">1384</a>         }
+<a name="1385" href="#1385">1385</a> 
+<a name="1386" href="#1386">1386</a>         String internal = properties.getProperty( Analyzer.PRIVATE_PACKAGE );
+<a name="1387" href="#1387">1387</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
+<a name="1388" href="#1388">1388</a>         {
+<a name="1389" href="#1389">1389</a>             <strong class="jxr_keyword">if</strong> ( !privatePkgs.isEmpty() )
+<a name="1390" href="#1390">1390</a>             {
+<a name="1391" href="#1391">1391</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : privatePkgs.values() )
+<a name="1392" href="#1392">1392</a>                 {
+<a name="1393" href="#1393">1393</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
+<a name="1394" href="#1394">1394</a>                 }
+<a name="1395" href="#1395">1395</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, Processor.printClauses( privatePkgs ) );
+<a name="1396" href="#1396">1396</a>             }
+<a name="1397" href="#1397">1397</a>             <strong class="jxr_keyword">else</strong>
+<a name="1398" href="#1398">1398</a>             {
+<a name="1399" href="#1399">1399</a>                 <em class="jxr_comment">// if there are really no private packages then use "!*" as this will keep the Bnd Tool happy</em>
+<a name="1400" href="#1400">1400</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
+<a name="1401" href="#1401">1401</a>             }
+<a name="1402" href="#1402">1402</a>         }
+<a name="1403" href="#1403">1403</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1404" href="#1404">1404</a>         {
+<a name="1405" href="#1405">1405</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, Processor.printClauses( privatePkgs ) );
+<a name="1406" href="#1406">1406</a>             properties.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
+<a name="1407" href="#1407">1407</a>         }
+<a name="1408" href="#1408">1408</a>     }
+<a name="1409" href="#1409">1409</a> 
 <a name="1410" href="#1410">1410</a> 
-<a name="1411" href="#1411">1411</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="1412" href="#1412">1412</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject ).iterator(); i.hasNext(); )
-<a name="1413" href="#1413">1413</a>         {
-<a name="1414" href="#1414">1414</a>             Resource resource = ( Resource ) i.next();
-<a name="1415" href="#1415">1415</a> 
-<a name="1416" href="#1416">1416</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
-<a name="1417" href="#1417">1417</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
-<a name="1418" href="#1418">1418</a> 
-<a name="1419" href="#1419">1419</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
-<a name="1420" href="#1420">1420</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( sourcePath ).exists() &amp;&amp; ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) &lt; 0 ) ) )
-<a name="1421" href="#1421">1421</a>             {
-<a name="1422" href="#1422">1422</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1423" href="#1423">1423</a> 
-<a name="1424" href="#1424">1424</a>                 scanner.setBasedir( sourcePath );
-<a name="1425" href="#1425">1425</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
-<a name="1426" href="#1426">1426</a>                 {
-<a name="1427" href="#1427">1427</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1428" href="#1428">1428</a>                 }
-<a name="1429" href="#1429">1429</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1430" href="#1430">1430</a>                 {
-<a name="1431" href="#1431">1431</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
-<a name="1432" href="#1432">1432</a>                 }
-<a name="1433" href="#1433">1433</a> 
-<a name="1434" href="#1434">1434</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
-<a name="1435" href="#1435">1435</a>                 {
-<a name="1436" href="#1436">1436</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1437" href="#1437">1437</a>                 }
+<a name="1411" href="#1411">1411</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
+<a name="1412" href="#1412">1412</a>     {
+<a name="1413" href="#1413">1413</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
+<a name="1414" href="#1414">1414</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
+<a name="1415" href="#1415">1415</a>     }
+<a name="1416" href="#1416">1416</a> 
+<a name="1417" href="#1417">1417</a> 
+<a name="1418" href="#1418">1418</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject, <strong class="jxr_keyword">boolean</strong> test )
+<a name="1419" href="#1419">1419</a>     {
+<a name="1420" href="#1420">1420</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( test ? currentProject.getTestResources() : currentProject.getResources() );
+<a name="1421" href="#1421">1421</a> 
+<a name="1422" href="#1422">1422</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
+<a name="1423" href="#1423">1423</a>         {
+<a name="1424" href="#1424">1424</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
+<a name="1425" href="#1425">1425</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
+<a name="1426" href="#1426">1426</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
+<a name="1427" href="#1427">1427</a>             {
+<a name="1428" href="#1428">1428</a>                 String sourceRoot = ( String ) i.next();
+<a name="1429" href="#1429">1429</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
+<a name="1430" href="#1430">1430</a>                 packageInfoResource.setDirectory( sourceRoot );
+<a name="1431" href="#1431">1431</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
+<a name="1432" href="#1432">1432</a>                 resources.add( packageInfoResource );
+<a name="1433" href="#1433">1433</a>             }
+<a name="1434" href="#1434">1434</a>         }
+<a name="1435" href="#1435">1435</a> 
+<a name="1436" href="#1436">1436</a>         <strong class="jxr_keyword">return</strong> resources;
+<a name="1437" href="#1437">1437</a>     }
 <a name="1438" href="#1438">1438</a> 
-<a name="1439" href="#1439">1439</a>                 scanner.addDefaultExcludes();
-<a name="1440" href="#1440">1440</a>                 scanner.scan();
-<a name="1441" href="#1441">1441</a> 
-<a name="1442" href="#1442">1442</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
+<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>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
-<a name="1445" href="#1445">1445</a>                 {
-<a name="1446" href="#1446">1446</a>                     String name = ( String ) j.next();
-<a name="1447" href="#1447">1447</a>                     String path = sourcePath + '/' + name;
+<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>                     <em class="jxr_comment">// make relative to project</em>
-<a name="1450" href="#1450">1450</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
-<a name="1451" href="#1451">1451</a>                     {
-<a name="1452" href="#1452">1452</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
-<a name="1453" href="#1453">1453</a>                         {
-<a name="1454" href="#1454">1454</a>                             path = <span class="jxr_string">"."</span>;
-<a name="1455" href="#1455">1455</a>                         }
-<a name="1456" href="#1456">1456</a>                         <strong class="jxr_keyword">else</strong>
-<a name="1457" href="#1457">1457</a>                         {
-<a name="1458" href="#1458">1458</a>                             path = path.substring( basePath.length() + 1 );
-<a name="1459" href="#1459">1459</a>                         }
-<a name="1460" href="#1460">1460</a>                     }
-<a name="1461" href="#1461">1461</a> 
-<a name="1462" href="#1462">1462</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
-<a name="1463" href="#1463">1463</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
-<a name="1464" href="#1464">1464</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
-<a name="1465" href="#1465">1465</a>                     {
-<a name="1466" href="#1466">1466</a>                         name = name.replace( File.separatorChar, '/' );
-<a name="1467" href="#1467">1467</a>                         path = path.replace( File.separatorChar, '/' );
-<a name="1468" href="#1468">1468</a>                     }
-<a name="1469" href="#1469">1469</a> 
-<a name="1470" href="#1470">1470</a>                     <em class="jxr_comment">// copy to correct place</em>
-<a name="1471" href="#1471">1471</a>                     path = name + '=' + path;
-<a name="1472" href="#1472">1472</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
-<a name="1473" href="#1473">1473</a>                     {
-<a name="1474" href="#1474">1474</a>                         path = targetPath + '/' + path;
-<a name="1475" href="#1475">1475</a>                     }
+<a name="1449" href="#1449">1449</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
+<a name="1450" href="#1450">1450</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
+<a name="1451" href="#1451">1451</a> 
+<a name="1452" href="#1452">1452</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
+<a name="1453" href="#1453">1453</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( sourcePath ).exists() &amp;&amp; ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) &lt; 0 ) ) )
+<a name="1454" href="#1454">1454</a>             {
+<a name="1455" href="#1455">1455</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1456" href="#1456">1456</a> 
+<a name="1457" href="#1457">1457</a>                 scanner.setBasedir( sourcePath );
+<a name="1458" href="#1458">1458</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
+<a name="1459" href="#1459">1459</a>                 {
+<a name="1460" href="#1460">1460</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1461" href="#1461">1461</a>                 }
+<a name="1462" href="#1462">1462</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1463" href="#1463">1463</a>                 {
+<a name="1464" href="#1464">1464</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
+<a name="1465" href="#1465">1465</a>                 }
+<a name="1466" href="#1466">1466</a> 
+<a name="1467" href="#1467">1467</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
+<a name="1468" href="#1468">1468</a>                 {
+<a name="1469" href="#1469">1469</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1470" href="#1470">1470</a>                 }
+<a name="1471" href="#1471">1471</a> 
+<a name="1472" href="#1472">1472</a>                 scanner.addDefaultExcludes();
+<a name="1473" href="#1473">1473</a>                 scanner.scan();
+<a name="1474" href="#1474">1474</a> 
+<a name="1475" href="#1475">1475</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
 <a name="1476" href="#1476">1476</a> 
-<a name="1477" href="#1477">1477</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
-<a name="1478" href="#1478">1478</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
-<a name="1479" href="#1479">1479</a>                     {
-<a name="1480" href="#1480">1480</a>                         path = '{' + path + '}';
-<a name="1481" href="#1481">1481</a>                     }
-<a name="1482" href="#1482">1482</a> 
-<a name="1483" href="#1483">1483</a>                     pathSet.add( path );
-<a name="1484" href="#1484">1484</a>                 }
-<a name="1485" href="#1485">1485</a>             }
-<a name="1486" href="#1486">1486</a>         }
-<a name="1487" href="#1487">1487</a> 
-<a name="1488" href="#1488">1488</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1489" href="#1489">1489</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
-<a name="1490" href="#1490">1490</a>         {
-<a name="1491" href="#1491">1491</a>             resourcePaths.append( i.next() );
-<a name="1492" href="#1492">1492</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
-<a name="1493" href="#1493">1493</a>             {
-<a name="1494" href="#1494">1494</a>                 resourcePaths.append( ',' );
-<a name="1495" href="#1495">1495</a>             }
-<a name="1496" href="#1496">1496</a>         }
-<a name="1497" href="#1497">1497</a> 
-<a name="1498" href="#1498">1498</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
-<a name="1499" href="#1499">1499</a>     }
-<a name="1500" href="#1500">1500</a> 
-<a name="1501" href="#1501">1501</a> 
-<a name="1502" href="#1502">1502</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
-<a name="1503" href="#1503">1503</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1504" href="#1504">1504</a>     {
-<a name="1505" href="#1505">1505</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
-<a name="1506" href="#1506">1506</a> 
-<a name="1507" href="#1507">1507</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
-<a name="1508" href="#1508">1508</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
-<a name="1509" href="#1509">1509</a>         {
-<a name="1510" href="#1510">1510</a>             <em class="jxr_comment">// includes transitive dependencies</em>
-<a name="1511" href="#1511">1511</a>             artifacts = currentProject.getArtifacts();
-<a name="1512" href="#1512">1512</a>         }
-<a name="1513" href="#1513">1513</a>         <strong class="jxr_keyword">else</strong>
-<a name="1514" href="#1514">1514</a>         {
-<a name="1515" href="#1515">1515</a>             <em class="jxr_comment">// only includes direct dependencies</em>
-<a name="1516" href="#1516">1516</a>             artifacts = currentProject.getDependencyArtifacts();
-<a name="1517" href="#1517">1517</a>         }
-<a name="1518" href="#1518">1518</a> 
-<a name="1519" href="#1519">1519</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
-<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>     <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="1524" href="#1524">1524</a>     {
-<a name="1525" href="#1525">1525</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
-<a name="1526" href="#1526">1526</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="1527" href="#1527">1527</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1528" href="#1528">1528</a>         {
-<a name="1529" href="#1529">1529</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1530" href="#1530">1530</a>             {
-<a name="1531" href="#1531">1531</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1532" href="#1532">1532</a>                 {
-<a name="1533" href="#1533">1533</a>                     mavenSourcePaths.append( ',' );
-<a name="1534" href="#1534">1534</a>                 }
-<a name="1535" href="#1535">1535</a>                 mavenSourcePaths.append( ( String ) i.next() );
-<a name="1536" href="#1536">1536</a>             }
-<a name="1537" href="#1537">1537</a>         }
-<a name="1538" href="#1538">1538</a>         <strong class="jxr_keyword">final</strong> String sourcePath = ( String ) analyzer.getProperty( Analyzer.SOURCEPATH );
-<a name="1539" href="#1539">1539</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
-<a name="1540" href="#1540">1540</a>         {
-<a name="1541" href="#1541">1541</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.indexOf( MAVEN_SOURCES ) &gt;= 0 )
-<a name="1542" href="#1542">1542</a>             {
-<a name="1543" href="#1543">1543</a>                 <em class="jxr_comment">// if there is no maven source path, we do a special treatment and replace</em>
-<a name="1544" href="#1544">1544</a>                 <em class="jxr_comment">// every occurance of MAVEN_SOURCES and a following comma with an empty string</em>
-<a name="1545" href="#1545">1545</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() == 0 )
-<a name="1546" href="#1546">1546</a>                 {
-<a name="1547" href="#1547">1547</a>                     String cleanedSource = removeTagFromInstruction( sourcePath, MAVEN_SOURCES );
-<a name="1548" href="#1548">1548</a>                     <strong class="jxr_keyword">if</strong> ( cleanedSource.length() &gt; 0 )
-<a name="1549" href="#1549">1549</a>                     {
-<a name="1550" href="#1550">1550</a>                         analyzer.setProperty( Analyzer.SOURCEPATH, cleanedSource );
-<a name="1551" href="#1551">1551</a>                     }
-<a name="1552" href="#1552">1552</a>                     <strong class="jxr_keyword">else</strong>
-<a name="1553" href="#1553">1553</a>                     {
-<a name="1554" href="#1554">1554</a>                         analyzer.unsetProperty( Analyzer.SOURCEPATH );
-<a name="1555" href="#1555">1555</a>                     }
-<a name="1556" href="#1556">1556</a>                 }
-<a name="1557" href="#1557">1557</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1558" href="#1558">1558</a>                 {
-<a name="1559" href="#1559">1559</a>                     String combinedSource = StringUtils
-<a name="1560" href="#1560">1560</a>                         .replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
-<a name="1561" href="#1561">1561</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
-<a name="1562" href="#1562">1562</a>                 }
-<a name="1563" href="#1563">1563</a>             }
-<a name="1564" href="#1564">1564</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1565" href="#1565">1565</a>             {
-<a name="1566" href="#1566">1566</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="1567" href="#1567">1567</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
-<a name="1568" href="#1568">1568</a>             }
-<a name="1569" href="#1569">1569</a>         }
-<a name="1570" href="#1570">1570</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1571" href="#1571">1571</a>         {
-<a name="1572" href="#1572">1572</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
-<a name="1573" href="#1573">1573</a>         }
-<a name="1574" href="#1574">1574</a>     }
-<a name="1575" href="#1575">1575</a> }
+<a name="1477" href="#1477">1477</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
+<a name="1478" href="#1478">1478</a>                 {
+<a name="1479" href="#1479">1479</a>                     String name = ( String ) j.next();
+<a name="1480" href="#1480">1480</a>                     String path = sourcePath + '/' + name;
+<a name="1481" href="#1481">1481</a> 
+<a name="1482" href="#1482">1482</a>                     <em class="jxr_comment">// make relative to project</em>
+<a name="1483" href="#1483">1483</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
+<a name="1484" href="#1484">1484</a>                     {
+<a name="1485" href="#1485">1485</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
+<a name="1486" href="#1486">1486</a>                         {
+<a name="1487" href="#1487">1487</a>                             path = <span class="jxr_string">"."</span>;
+<a name="1488" href="#1488">1488</a>                         }
+<a name="1489" href="#1489">1489</a>                         <strong class="jxr_keyword">else</strong>
+<a name="1490" href="#1490">1490</a>                         {
+<a name="1491" href="#1491">1491</a>                             path = path.substring( basePath.length() + 1 );
+<a name="1492" href="#1492">1492</a>                         }
+<a name="1493" href="#1493">1493</a>                     }
+<a name="1494" href="#1494">1494</a> 
+<a name="1495" href="#1495">1495</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
+<a name="1496" href="#1496">1496</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
+<a name="1497" href="#1497">1497</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
+<a name="1498" href="#1498">1498</a>                     {
+<a name="1499" href="#1499">1499</a>                         name = name.replace( File.separatorChar, '/' );
+<a name="1500" href="#1500">1500</a>                         path = path.replace( File.separatorChar, '/' );
+<a name="1501" href="#1501">1501</a>                     }
+<a name="1502" href="#1502">1502</a> 
+<a name="1503" href="#1503">1503</a>                     <em class="jxr_comment">// copy to correct place</em>
+<a name="1504" href="#1504">1504</a>                     path = name + '=' + path;
+<a name="1505" href="#1505">1505</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
+<a name="1506" href="#1506">1506</a>                     {
+<a name="1507" href="#1507">1507</a>                         path = targetPath + '/' + path;
+<a name="1508" href="#1508">1508</a>                     }
+<a name="1509" href="#1509">1509</a> 
+<a name="1510" href="#1510">1510</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
+<a name="1511" href="#1511">1511</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
+<a name="1512" href="#1512">1512</a>                     {
+<a name="1513" href="#1513">1513</a>                         path = '{' + path + '}';
+<a name="1514" href="#1514">1514</a>                     }
+<a name="1515" href="#1515">1515</a> 
+<a name="1516" href="#1516">1516</a>                     pathSet.add( path );
+<a name="1517" href="#1517">1517</a>                 }
+<a name="1518" href="#1518">1518</a>             }
+<a name="1519" href="#1519">1519</a>         }
+<a name="1520" href="#1520">1520</a> 
+<a name="1521" href="#1521">1521</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1522" href="#1522">1522</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
+<a name="1523" href="#1523">1523</a>         {
+<a name="1524" href="#1524">1524</a>             resourcePaths.append( i.next() );
+<a name="1525" href="#1525">1525</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
+<a name="1526" href="#1526">1526</a>             {
+<a name="1527" href="#1527">1527</a>                 resourcePaths.append( ',' );
+<a name="1528" href="#1528">1528</a>             }
+<a name="1529" href="#1529">1529</a>         }
+<a name="1530" href="#1530">1530</a> 
+<a name="1531" href="#1531">1531</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
+<a name="1532" href="#1532">1532</a>     }
+<a name="1533" href="#1533">1533</a> 
+<a name="1534" href="#1534">1534</a> 
+<a name="1535" href="#1535">1535</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
+<a name="1536" href="#1536">1536</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1537" href="#1537">1537</a>     {
+<a name="1538" href="#1538">1538</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
+<a name="1539" href="#1539">1539</a> 
+<a name="1540" href="#1540">1540</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
+<a name="1541" href="#1541">1541</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
+<a name="1542" href="#1542">1542</a>         {
+<a name="1543" href="#1543">1543</a>             <em class="jxr_comment">// includes transitive dependencies</em>
+<a name="1544" href="#1544">1544</a>             artifacts = currentProject.getArtifacts();
+<a name="1545" href="#1545">1545</a>         }
+<a name="1546" href="#1546">1546</a>         <strong class="jxr_keyword">else</strong>
+<a name="1547" href="#1547">1547</a>         {
+<a name="1548" href="#1548">1548</a>             <em class="jxr_comment">// only includes direct dependencies</em>
+<a name="1549" href="#1549">1549</a>             artifacts = currentProject.getDependencyArtifacts();
+<a name="1550" href="#1550">1550</a>         }
+<a name="1551" href="#1551">1551</a> 
+<a name="1552" href="#1552">1552</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
+<a name="1553" href="#1553">1553</a>     }
+<a name="1554" href="#1554">1554</a> 
+<a name="1555" href="#1555">1555</a> 
+<a name="1556" href="#1556">1556</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addMavenSourcePath( MavenProject currentProject, Analyzer analyzer, Log log )
+<a name="1557" href="#1557">1557</a>     {
+<a name="1558" href="#1558">1558</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
+<a name="1559" href="#1559">1559</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="1560" href="#1560">1560</a>         StringBuilder mavenTestSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="1561" href="#1561">1561</a>         Map&lt;StringBuilder, List&lt;?&gt;&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;StringBuilder, List&lt;?&gt;&gt;(2);
+<a name="1562" href="#1562">1562</a>         map.put(mavenSourcePaths, currentProject.getCompileSourceRoots() );
+<a name="1563" href="#1563">1563</a>         map.put(mavenTestSourcePaths, currentProject.getTestCompileSourceRoots() );
+<a name="1564" href="#1564">1564</a>         <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;StringBuilder, List&lt;?&gt;&gt; entry : map.entrySet() )
+<a name="1565" href="#1565">1565</a>         {
+<a name="1566" href="#1566">1566</a>             List&lt;?&gt; compileSourceRoots = entry.getValue();
+<a name="1567" href="#1567">1567</a>             <strong class="jxr_keyword">if</strong> ( compileSourceRoots != <strong class="jxr_keyword">null</strong> )
+<a name="1568" href="#1568">1568</a>             {
+<a name="1569" href="#1569">1569</a>                 StringBuilder sourcePaths = entry.getKey();
+<a name="1570" href="#1570">1570</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = compileSourceRoots.iterator(); i.hasNext(); )
+<a name="1571" href="#1571">1571</a>                 {
+<a name="1572" href="#1572">1572</a>                     <strong class="jxr_keyword">if</strong> ( sourcePaths.length() &gt; 0 )
+<a name="1573" href="#1573">1573</a>                     {
+<a name="1574" href="#1574">1574</a>                         sourcePaths.append( ',' );
+<a name="1575" href="#1575">1575</a>                     }
+<a name="1576" href="#1576">1576</a>                     sourcePaths.append( ( String ) i.next() );
+<a name="1577" href="#1577">1577</a>                 }
+<a name="1578" href="#1578">1578</a>             }
+<a name="1579" href="#1579">1579</a>         }
+<a name="1580" href="#1580">1580</a>         <strong class="jxr_keyword">final</strong> String sourcePath = analyzer.getProperty( Analyzer.SOURCEPATH );
+<a name="1581" href="#1581">1581</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
+<a name="1582" href="#1582">1582</a>         {
+<a name="1583" href="#1583">1583</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.contains(MAVEN_SOURCES) || sourcePath.contains(MAVEN_TEST_RESOURCES) )
+<a name="1584" href="#1584">1584</a>             {
+<a name="1585" href="#1585">1585</a>                 String combinedSource = StringUtils.replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
+<a name="1586" href="#1586">1586</a>                 combinedSource = StringUtils.replace( combinedSource, MAVEN_TEST_SOURCES, mavenTestSourcePaths.toString() );
+<a name="1587" href="#1587">1587</a>                 <strong class="jxr_keyword">if</strong> ( combinedSource.length() &gt; 0 )
+<a name="1588" href="#1588">1588</a>                 {
+<a name="1589" href="#1589">1589</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
+<a name="1590" href="#1590">1590</a>                 }
+<a name="1591" href="#1591">1591</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1592" href="#1592">1592</a>                 {
+<a name="1593" href="#1593">1593</a>                     analyzer.unsetProperty( Analyzer.SOURCEPATH );
+<a name="1594" href="#1594">1594</a>                 }
+<a name="1595" href="#1595">1595</a>             }
+<a name="1596" href="#1596">1596</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1597" href="#1597">1597</a>             {
+<a name="1598" href="#1598">1598</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
+<a name="1599" href="#1599">1599</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
+<a name="1600" href="#1600">1600</a>             }
+<a name="1601" href="#1601">1601</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenTestSourcePaths.length() &gt; 0 )
+<a name="1602" href="#1602">1602</a>             {
+<a name="1603" href="#1603">1603</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenTestSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
+<a name="1604" href="#1604">1604</a>                         + MAVEN_TEST_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
+<a name="1605" href="#1605">1605</a>             }
+<a name="1606" href="#1606">1606</a>         }
+<a name="1607" href="#1607">1607</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1608" href="#1608">1608</a>         {
+<a name="1609" href="#1609">1609</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
+<a name="1610" href="#1610">1610</a>         }
+<a name="1611" href="#1611">1611</a>     }
+<a name="1612" href="#1612">1612</a> }
 </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/ManifestPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
index f213940..05d9ac4 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
@@ -174,10 +174,10 @@
 <a name="164" href="#164">164</a>             <strong class="jxr_keyword">return</strong> buildOSGiBundle( project, instructions, properties, classpath );
 <a name="165" href="#165">165</a>         }
 <a name="166" href="#166">166</a> 
-<a name="167" href="#167">167</a>         File file = project.getArtifact().getFile();
+<a name="167" href="#167">167</a>         File file = getOutputDirectory();
 <a name="168" href="#168">168</a>         <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
 <a name="169" href="#169">169</a>         {
-<a name="170" href="#170">170</a>             file = getOutputDirectory();
+<a name="170" href="#170">170</a>             file = project.getArtifact().getFile();
 <a name="171" href="#171">171</a>         }
 <a name="172" href="#172">172</a> 
 <a name="173" href="#173">173</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
index 61bac60..23358d6 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -22,9 +22,6 @@
             	<a href="AntPlugin.html" target="classFrame">AntPlugin</a>
           	</li>
           	          	<li>
-            	<a href="BlueprintPlugin.html" target="classFrame">Attribute</a>
-          	</li>
-          	          	<li>
             	<a href="BlueprintPlugin.html" target="classFrame">BlueprintPlugin</a>
           	</li>
           	          	<li>
@@ -55,6 +52,12 @@
             	<a href="ManifestPlugin.html" target="classFrame">ManifestPlugin</a>
           	</li>
           	          	<li>
+            	<a href="ManifestWriter.html" target="classFrame">ManifestWriter</a>
+          	</li>
+          	          	<li>
+            	<a href="ScrPlugin.html" target="classFrame">ScrPlugin</a>
+          	</li>
+          	          	<li>
             	<a href="VersionCleanerPlugin.html" target="classFrame">VersionCleanerPlugin</a>
           	</li>
           	          	<li>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html
index ca96ffb..5f37bc9 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -47,11 +47,6 @@
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="BlueprintPlugin.html" target="classFrame">Attribute</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="BlueprintPlugin.html" target="classFrame">BlueprintPlugin</a>
               		</td>
             	</tr>
@@ -102,6 +97,16 @@
             	</tr>
 				            	<tr>
               		<td>
+                		<a href="ManifestWriter.html" target="classFrame">ManifestWriter</a>
+              		</td>
+            	</tr>
+				            	<tr>
+              		<td>
+                		<a href="ScrPlugin.html" target="classFrame">ScrPlugin</a>
+              		</td>
+            	</tr>
+				            	<tr>
+              		<td>
                 		<a href="VersionCleanerPlugin.html" target="classFrame">VersionCleanerPlugin</a>
               		</td>
             	</tr>
@@ -132,6 +137,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-frame.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-frame.html
index 0a42ba9..3d80c6e 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-frame.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.obrplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.obrplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html
index cc61bef..1eabd51 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.obrplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.obrplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -127,6 +127,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-frame.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-frame.html
index a417e01..b8535c3 100644
--- a/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-frame.html
+++ b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.dependency.tree</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.dependency.tree</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html
index 35a062c..0356460 100644
--- a/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html
+++ b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.dependency.tree</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.dependency.tree</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -62,6 +62,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-frame.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-frame.html
index dbc9a7c..4b48423 100644
--- a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-frame.html
+++ b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.osgi</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html
index a444a61..58b87bd 100644
--- a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html
+++ b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.osgi</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -72,6 +72,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/overview-frame.html b/bundleplugin/doc/site/xref/overview-frame.html
index 793d6a7..5050dcd 100644
--- a/bundleplugin/doc/site/xref/overview-frame.html
+++ b/bundleplugin/doc/site/xref/overview-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -16,9 +16,15 @@
 
 		<ul>
 						<li>
+				<a href="aQute/bnd/osgi/package-frame.html" target="packageFrame">aQute.bnd.osgi</a>
+			</li>
+						<li>
 				<a href="org/apache/felix/bundleplugin/package-frame.html" target="packageFrame">org.apache.felix.bundleplugin</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/baseline/package-frame.html" target="packageFrame">org.apache.felix.bundleplugin.baseline</a>
+			</li>
+						<li>
 				<a href="org/apache/felix/obrplugin/package-frame.html" target="packageFrame">org.apache.felix.obrplugin</a>
 			</li>
 						<li>
diff --git a/bundleplugin/doc/site/xref/overview-summary.html b/bundleplugin/doc/site/xref/overview-summary.html
index d69f514..08e1302 100644
--- a/bundleplugin/doc/site/xref/overview-summary.html
+++ b/bundleplugin/doc/site/xref/overview-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -24,7 +24,7 @@
 	        </ul>
       	</div>
 		
-		      	<h2>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</h2>
+		      	<h2>Maven Bundle Plugin 2.5.0 Reference</h2>
 
 		<table class="summary">
         	<thead>
@@ -35,11 +35,21 @@
         	<tbody>
     	    	            	<tr>
               		<td>
+                		<a href="aQute/bnd/osgi/package-summary.html">aQute.bnd.osgi</a>
+              		</td>
+            	</tr>
+	          	            	<tr>
+              		<td>
                 		<a href="org/apache/felix/bundleplugin/package-summary.html">org.apache.felix.bundleplugin</a>
               		</td>
             	</tr>
 	          	            	<tr>
               		<td>
+                		<a href="org/apache/felix/bundleplugin/baseline/package-summary.html">org.apache.felix.bundleplugin.baseline</a>
+              		</td>
+            	</tr>
+	          	            	<tr>
+              		<td>
                 		<a href="org/apache/felix/obrplugin/package-summary.html">org.apache.felix.obrplugin</a>
               		</td>
             	</tr>
@@ -74,6 +84,6 @@
       	</div>
 		
 		<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
