Latest site doc

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1207409 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/doc/site/ant-mojo.html b/bundleplugin/doc/site/ant-mojo.html
index d04d676..071a363 100644
--- a/bundleplugin/doc/site/ant-mojo.html
+++ b/bundleplugin/doc/site/ant-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:ant</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:ant<a name="bundle:ant"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:ant</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:ant</p>
       <p><b>Description</b>:</p>
       <div>Generate Ant script to create the bundle (you should run ant:ant
 first).</div>
@@ -333,38 +254,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/bundle-mojo.html b/bundleplugin/doc/site/bundle-mojo.html
index 4dbbac1..feb2e32 100644
--- a/bundleplugin/doc/site/bundle-mojo.html
+++ b/bundleplugin/doc/site/bundle-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:bundle</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:bundle<a name="bundle:bundle"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:bundle</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:bundle</p>
       <p><b>Description</b>:</p>
       <div>Create an OSGi bundle from Maven project</div>
       <p><b>Attributes</b>:</p>
@@ -332,38 +253,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/bundleall-mojo.html b/bundleplugin/doc/site/bundleall-mojo.html
index e848211..0612795 100644
--- a/bundleplugin/doc/site/bundleall-mojo.html
+++ b/bundleplugin/doc/site/bundleall-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:bundleall</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:bundleall<a name="bundle:bundleall"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:bundleall</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT: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>
@@ -263,18 +184,25 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
           </tr>
           <tr class="a">
+            <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 /></td>
+          </tr>
+          <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>
             <td>When true, unpack the bundle contents to the outputDirectory<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#wrapImportPackage">wrapImportPackage</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
@@ -349,6 +277,13 @@
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
           <li><b>Expression</b>: <tt>${project.build.outputDirectory}</tt></li>
+        </ul><hr /><p><b><a name="rebuildBundle">rebuildBundle</a>:</b></p>
+        <div>When true, generate the manifest by rebuilding the full bundle in
+memory</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${rebuildBundle}</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -372,38 +307,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/clean-mojo.html b/bundleplugin/doc/site/clean-mojo.html
index ca6f111..6faa593 100644
--- a/bundleplugin/doc/site/clean-mojo.html
+++ b/bundleplugin/doc/site/clean-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:clean</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:clean<a name="bundle:clean"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:clean</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:clean</p>
       <p><b>Description</b>:</p>
       <div>Clean an OBR repository by finding and removing missing resources.</div>
       <p><b>Attributes</b>:</p>
@@ -196,38 +117,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/cleanVersions-mojo.html b/bundleplugin/doc/site/cleanVersions-mojo.html
index 012b11f..7f4f8ac 100644
--- a/bundleplugin/doc/site/cleanVersions-mojo.html
+++ b/bundleplugin/doc/site/cleanVersions-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:cleanVersions</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:cleanVersions<a name="bundle:cleanVersions"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:cleanVersions</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:cleanVersions</p>
       <p><b>Description</b>:</p>
       <div>(no description)</div>
       <p><b>Attributes</b>:</p>
@@ -196,38 +117,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/dependencies.html b/bundleplugin/doc/site/dependencies.html
index eae9ada..ab6639a 100644
--- a/bundleplugin/doc/site/dependencies.html
+++ b/bundleplugin/doc/site/dependencies.html
@@ -1,210 +1,106 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Project Dependencies</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Dependencies</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
-        <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</td><td><a class="externalLink" href="http://www.aQute.biz/Code/Bnd">bndlib</a></td><td>1.43.0</td><td>jar</td><td><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">All files contained in this JAR are licensed under the Apache
-         2.0 license, unless noted differently in their source (see
-         swing2swt).</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.7-SNAPSHOT</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.4.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.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>1.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-utils">plexus-utils</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Public License 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://plexus.codehaus.org/plexus-components/plexus-archiver">plexus-archiver</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.codehaus.plexus</td><td>plexus-container-default</td><td>1.0-alpha-9-stable-1</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-components/plexus-interpolation">plexus-interpolation</a></td><td>1.13</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>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.osgi</td><td>org.osgi.core</td><td>4.1.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</td><td><a class="externalLink" href="http://www.aQute.biz/Code/Bnd">bndlib</a></td><td>1.50.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.4.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.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>1.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-utils">plexus-utils</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Public License 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://plexus.codehaus.org/plexus-components/plexus-archiver">plexus-archiver</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.codehaus.plexus</td><td>plexus-container-default</td><td>1.0-alpha-9-stable-1</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-components/plexus-interpolation">plexus-interpolation</a></td><td>1.13</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>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.osgi</td><td>org.osgi.core</td><td>4.1.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">
       function toggleDependencyDetail( divId, imgId )
       {
         var div = document.getElementById( divId );
@@ -221,56 +117,34 @@
         }
       }
 </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.3.5 <img id="_1982014511" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1166184083', '_1982014511' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1166184083" 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.4.0-SNAPSHOT <img id="_600218426" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_166455204', '_600218426' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_166455204" 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:bndlib:jar:1.43.0 (compile) <img id="_314116278" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_355949571', '_314116278' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_355949571" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>aQute Bundle Tool Library</th></tr><tr class="b"><td><p><b>Description: </b>A library for manipulating and generating bundles</p><p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd">http://www.aQute.biz/Code/Bnd</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">All files contained in this JAR are licensed under the Apache
-         2.0 license, unless noted differently in their source (see
-         swing2swt).</a></p></td></tr></table></div></li><li>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.7-SNAPSHOT (compile) <img id="_19116370" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1677930057', '_19116370' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1677930057" 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.osgi:org.osgi.core:jar:4.1.0 (compile) <img id="_717996973" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1576671539', '_717996973' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1576671539" 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>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.easymock:easymock:jar:2.4 (compile) <img id="_1669205881" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_367733059', '_1669205881' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_367733059" 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="_1897590488" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_447388164', '_1897590488' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_447388164" 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="_1010394741" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1990580786', '_1010394741' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1990580786" 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="_2061930861" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_724386874', '_2061930861' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_724386874" 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="_929650834" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_51187694', '_929650834' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_51187694" 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="_466424831" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1467056165', '_466424831' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1467056165" 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="_32961049" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1662175654', '_32961049' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1662175654" 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="_1480094306" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_598686730', '_1480094306' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_598686730" 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="_849094250" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_539196783', '_849094250' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_539196783" 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="_1763211487" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2032475818', '_1763211487' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2032475818" 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="_1373129714" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_961883882', '_1373129714' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_961883882" 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="_1626076478" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1382943608', '_1626076478' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1382943608" 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="_1211407158" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_118769752', '_1211407158' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_118769752" 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="_1467969357" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1385523409', '_1467969357' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1385523409" 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:bndlib:jar:1.50.0 (compile) <img id="_163286937" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_566139234', '_163286937' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_566139234" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>bnd - Bundle Tool</th></tr><tr class="b"><td><p><b>Description: </b>A Swiss Army Knife for OSGi</p><p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd">http://www.aQute.biz/Code/Bnd</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></li><li>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6 (compile) <img id="_706099303" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_332659850', '_706099303' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_332659850" 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.osgi:org.osgi.core:jar:4.1.0 (compile) <img id="_193761762" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1962599059', '_193761762' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1962599059" 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>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.easymock:easymock:jar:2.4 (compile) <img id="_69179354" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_11435894', '_69179354' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_11435894" 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="_1298920029" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_356871923', '_1298920029' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_356871923" 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="_762115435" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_303348887', '_762115435' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_303348887" 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="_1298316015" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_210552231', '_1298316015' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_210552231" 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="_426477495" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1491427871', '_426477495' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1491427871" 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="_118921405" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_784468329', '_118921405' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_784468329" 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="_682925218" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1340927648', '_682925218' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1340927648" 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="_1618879266" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_271398532', '_1618879266' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_271398532" 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="_1795036523" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2093006119', '_1795036523' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2093006119" 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="_736875817" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2033231920', '_736875817' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2033231920" 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="_1027431905" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1821062301', '_1027431905' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1821062301" 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="_1914407907" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_318562508', '_1914407907' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_318562508" 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="_2005071808" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1336620240', '_2005071808' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1336620240" 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="_1803426155" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_342303351', '_1803426155' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_342303351" 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="_236407633" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_210860658', '_236407633' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_210860658" 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="_1134440054" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_692520916', '_1134440054' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_692520916" 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="_863718237" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_138287351', '_863718237' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_138287351" 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="_109048558" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1278159887', '_109048558' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1278159887" 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="_1389834597" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_372445514', '_1389834597' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_372445514" 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="_942772687" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1367359890', '_942772687' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1367359890" 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="_965487966" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2028165417', '_965487966' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2028165417" 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="_1875042451" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1171141677', '_1875042451' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1171141677" 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="_135864780" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_549090288', '_135864780' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_549090288" 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="_285900613" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1205975998', '_285900613' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1205975998" 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="_1187648295" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2118351205', '_1187648295' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2118351205" 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="_421725650" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1514520282', '_421725650' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1514520282" 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="_877595087" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_391133684', '_877595087' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_391133684" 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="_1170210746" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_491056451', '_1170210746' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_491056451" 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="_1856589849" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_665476717', '_1856589849' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_665476717" 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="_195937185" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1804085636', '_195937185' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1804085636" 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="_2034886787" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_472724154', '_2034886787' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_472724154" 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="_339847428" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1014772351', '_339847428' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1014772351" 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="_1666215696" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_913266231', '_1666215696' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_913266231" 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="_55110863" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1265699076', '_55110863' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1265699076" 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="_1248149458" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_813326309', '_1248149458' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_813326309" 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="_274961955" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_43590959', '_274961955' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_43590959" 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="_1609175212" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_985793156', '_1609175212' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_985793156" 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="_1675170069" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_631159704', '_1675170069' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_631159704" 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="_1804770917" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_521651220', '_1804770917' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_521651220" 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="_1483806472" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_890666396', '_1483806472' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_890666396" 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="_202783568" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1224919832', '_202783568' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1224919832" 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="_1078734611" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_275975091', '_1078734611' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_275975091" 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="_896750207" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_486934841', '_896750207' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_486934841" 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="_530602812" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_167796755', '_530602812' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_167796755" 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="_1046161011" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_257761106', '_1046161011' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_257761106" 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="_1551369094" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_218703813', '_1551369094' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_218703813" 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="_717916417" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1955669445', '_717916417' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1955669445" 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="_952691018" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_90389832', '_952691018' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_90389832" 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="_775621942" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1936247541', '_775621942' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1936247541" 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="_13831018" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_364573635', '_13831018' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_364573635" 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="_456532977" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1321012172', '_456532977' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1321012172" 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="_1322037830" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1906188691', '_1322037830' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1906188691" 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="_1588254315" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1386459805', '_1588254315' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1386459805" 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="_1668341321" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1288532247', '_1668341321' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1288532247" 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="_1385544610" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1143436760', '_1385544610' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1143436760" 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="_1331331771" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_757168259', '_1331331771' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_757168259" 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="_1971223993" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1535531655', '_1971223993' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1535531655" 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="_492286453" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1130455560', '_492286453' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1130455560" 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="_1619801952" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_250294471', '_1619801952' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_250294471" 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="_1560546732" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_970883958', '_1560546732' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_970883958" 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="_393066777" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1692214524', '_393066777' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1692214524" 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="_145386098" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1908839319', '_145386098' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1908839319" 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="_1828159784" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1361473249', '_1828159784' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1361473249" 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="_1487539957" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_646858476', '_1487539957' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_646858476" 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="_1993525187" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_143955342', '_1993525187' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_143955342" 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="_1268223866" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_135304936', '_1268223866' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_135304936" 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="_1120633392" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_270363627', '_1120633392' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_270363627" 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="_1705322276" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_972460232', '_1705322276' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_972460232" 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="_102724657" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_72500043', '_102724657' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_72500043" 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="_2080062805" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_540198154', '_2080062805' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_540198154" 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="_300527961" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1913562945', '_300527961' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1913562945" 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="_1445102256" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2129733677', '_1445102256' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2129733677" 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.4.1 (compile) <img id="_213717798" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_441287002', '_213717798' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_441287002" 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:1.0 (compile) <img id="_813699282" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_390149676', '_813699282' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_390149676" 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>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-archiver">http://plexus.codehaus.org/plexus-components/plexus-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-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1093043612" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_7858953', '_1093043612' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_7858953" 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:1.0 (compile) <img id="_2010731892" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_758394684', '_2010731892' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_758394684" 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.13 (compile) <img id="_617021499" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1402293567', '_617021499' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1402293567" 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-components/plexus-interpolation">http://plexus.codehaus.org/plexus-components/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:1.2 (compile) <img id="_117637062" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_88649030', '_117637062' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_88649030" 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>Maven shared components</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></li><li>org.codehaus.plexus:plexus-utils:jar:2.1 (compile) <img id="_706069189" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1018439113', '_706069189' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1018439113" 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">Apache Public License 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_996536033" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2055454290', '_996536033' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2055454290" 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="_2100941692" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_100141940', '_2100941692' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_100141940" 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="_461498582" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_13683687', '_461498582' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_13683687" 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="_1294071128" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1933345996', '_1294071128' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1933345996" 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 Public License 2.0: </b>Plexus Common Utilities</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>All files contained in this JAR are licensed under the Apache
-         2.0 license, unless noted differently in their source (see
-         swing2swt).: </b>aQute Bundle Tool Library</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 Archiver Component, 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-1.43.0.jar</td><td>663.85 kB</td><td>423</td><td>197</td><td>42</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.7-SNAPSHOT.jar</td><td>164.36 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.4.1.jar</td><td>19.63 kB</td><td>19</td><td>5</td><td>1</td><td>1.4</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-1.2.jar</td><td>33.75 kB</td><td>40</td><td>21</td><td>3</td><td>1.4</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-1.0.jar</td><td>173.01 kB</td><td>132</td><td>107</td><td>12</td><td>1.4</td><td>debug</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-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="b"><td>plexus-interpolation-1.13.jar</td><td>59.63 kB</td><td>60</td><td>44</td><td>6</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>plexus-io-1.0.jar</td><td>49.61 kB</td><td>61</td><td>42</td><td>5</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>plexus-utils-2.1.jar</td><td>219.24 kB</td><td>123</td><td>98</td><td>9</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>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.1.0.jar</td><td>159.63 kB</td><td>132</td><td>49</td><td>6</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>43</td><td>4.10 MB</td><td>3,785</td><td>2,347</td><td>299</td><td>1.5</td><td>40</td></tr><tr class="a"><td>compile: 30</td><td>compile: 2.53 MB</td><td>compile: 2,130</td><td>compile: 1,276</td><td>compile: 203</td><td>-</td><td>compile: 30</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>apache.snapshots</td><td><a class="externalLink" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></td><td>-</td><td>Yes</td><td>-</td></tr><tr class="a"><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="b"><td>central</td><td><a class="externalLink" href="http://repo1.maven.org/maven2">http://repo1.maven.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>apache.snapshots</th><th>central</th></tr><tr class="b"><td>biz.aQute:bndlib:jar:1.43.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/biz/aQute/bndlib/1.43.0/bndlib-1.43.0.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/junit/junit/4.0/junit-4.0.jar"><img alt="Found at http://repo1.maven.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.7-SNAPSHOT</td><td>-</td><td>-</td></tr><tr class="a"><td>org.apache.maven:maven-archiver:jar:2.4.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-artifact:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-core:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0.7/maven-core-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.7/maven-error-diagnostics-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-model:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-monitor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0.7/maven-monitor-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.7/maven-plugin-descriptor-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.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://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-profile:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-project:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-settings:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.7/maven-reporting-api-2.0.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.shared:maven-dependency-tree:jar:1.2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.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://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-archiver:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.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://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.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://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interpolation:jar:1.13</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-io:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-utils:jar:2.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.jar"><img alt="Found at http://repo1.maven.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://repo1.maven.org/maven2/org/easymock/easymock/2.4/easymock-2.4.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.mockito:mockito-all:jar:1.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/mockito/mockito-all/1.7/mockito-all-1.7.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/org/osgi/org.osgi.core/4.1.0/org.osgi.core-4.1.0.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>xml-apis:xml-apis:jar:1.0.b2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><th>Total</th><th>apache.snapshots</th><th>central</th></tr><tr class="b"><td>43 (compile: 30, test: 4, runtime: 9)</td><td>0</td><td>42</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="_232764410" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_76523456', '_232764410' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_76523456" 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="_2047577345" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_955843349', '_2047577345' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_955843349" 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="_1918669500" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1603995934', '_1918669500' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1603995934" 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="_1032783530" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_641382849', '_1032783530' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_641382849" 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="_1164043960" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_491700752', '_1164043960' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_491700752" 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="_146147976" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_283400150', '_146147976' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_283400150" 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="_635288059" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_557939786', '_635288059' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_557939786" 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="_241948333" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_140136714', '_241948333' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_140136714" 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="_1228795395" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2459098', '_1228795395' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2459098" 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="_442685991" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1678625381', '_442685991' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1678625381" 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="_377506102" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_410095129', '_377506102' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_410095129" 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="_1306099494" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_887750297', '_1306099494' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_887750297" 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="_1609235912" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1075317463', '_1609235912' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1075317463" 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="_1371264074" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1138437499', '_1371264074' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1138437499" 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="_430287967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2047866040', '_430287967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2047866040" 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="_735211016" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1243200954', '_735211016' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1243200954" 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="_185451934" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1558297905', '_185451934' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1558297905" 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="_980432526" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_985359577', '_980432526' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_985359577" 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="_167526828" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1805420480', '_167526828' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1805420480" 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="_902195672" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1973262933', '_902195672' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1973262933" 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="_192826515" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_852006100', '_192826515' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_852006100" 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="_373252117" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1521685709', '_373252117' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1521685709" 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="_196620029" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1910423503', '_196620029' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1910423503" 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="_246745017" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_69669246', '_246745017' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_69669246" 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="_975008548" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1801199732', '_975008548' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1801199732" 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="_1080704967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1024214476', '_1080704967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1024214476" 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="_860080967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1803802780', '_860080967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1803802780" 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="_637439052" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1925077448', '_637439052' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1925077448" 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="_1009407163" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_63810072', '_1009407163' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_63810072" 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="_1827821857" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_419401662', '_1827821857' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_419401662" 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="_1965468351" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_581780390', '_1965468351' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_581780390" 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="_825441105" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1976667868', '_825441105' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1976667868" 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="_1474222141" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_24650929', '_1474222141' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_24650929" 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="_584910123" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1825551732', '_584910123' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1825551732" 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.4.1 (compile) <img id="_1120790602" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_333142223', '_1120790602' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_333142223" 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:1.0 (compile) <img id="_1355330592" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_307610661', '_1355330592' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_307610661" 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>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-archiver">http://plexus.codehaus.org/plexus-components/plexus-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-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1240783557" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1781179287', '_1240783557' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1781179287" 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:1.0 (compile) <img id="_773233607" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1278447821', '_773233607' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1278447821" 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.13 (compile) <img id="_612938940" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_500566577', '_612938940' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_500566577" 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-components/plexus-interpolation">http://plexus.codehaus.org/plexus-components/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:1.2 (compile) <img id="_1252812035" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1190632209', '_1252812035' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1190632209" 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>Maven shared components</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></li><li>org.codehaus.plexus:plexus-utils:jar:2.1 (compile) <img id="_1360470190" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1095904844', '_1360470190' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1095904844" 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">Apache Public License 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_1139162165" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1738746101', '_1139162165' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1738746101" 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="_1572922203" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1590345845', '_1572922203' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1590345845" 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="_1614490432" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_726703024', '_1614490432' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_726703024" 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="_369272914" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1973763399', '_369272914' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1973763399" 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>bnd - Bundle Tool</p><p><b>Apache Public License 2.0: </b>Plexus Common Utilities</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>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 Archiver Component, 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-1.50.0.jar</td><td>898.02 kB</td><td>665</td><td>261</td><td>55</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.4.1.jar</td><td>19.63 kB</td><td>19</td><td>5</td><td>1</td><td>1.4</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-1.2.jar</td><td>33.75 kB</td><td>40</td><td>21</td><td>3</td><td>1.4</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-1.0.jar</td><td>173.01 kB</td><td>132</td><td>107</td><td>12</td><td>1.4</td><td>debug</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-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="b"><td>plexus-interpolation-1.13.jar</td><td>59.63 kB</td><td>60</td><td>44</td><td>6</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>plexus-io-1.0.jar</td><td>49.61 kB</td><td>61</td><td>42</td><td>5</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>plexus-utils-2.1.jar</td><td>219.24 kB</td><td>123</td><td>98</td><td>9</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>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.1.0.jar</td><td>159.63 kB</td><td>132</td><td>49</td><td>6</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>43</td><td>4.33 MB</td><td>4,027</td><td>2,411</td><td>312</td><td>1.5</td><td>40</td></tr><tr class="a"><td>compile: 30</td><td>compile: 2.76 MB</td><td>compile: 2,372</td><td>compile: 1,340</td><td>compile: 216</td><td>-</td><td>compile: 30</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>apache.snapshots</td><td><a class="externalLink" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></td><td>-</td><td>Yes</td><td>-</td></tr><tr class="a"><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="b"><td>central</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2">http://repo1.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>apache.snapshots</th><th>central</th></tr><tr class="b"><td>biz.aQute:bndlib:jar:1.50.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/biz/aQute/bndlib/1.50.0/bndlib-1.50.0.jar"><img alt="Found at http://repo1.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://repo1.maven.apache.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.jar"><img alt="Found at http://repo1.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://repo1.maven.apache.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar"><img alt="Found at http://repo1.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://repo1.maven.apache.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"><img alt="Found at http://repo1.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://repo1.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar"><img alt="Found at http://repo1.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://repo1.maven.apache.org/maven2/junit/junit/4.0/junit-4.0.jar"><img alt="Found at http://repo1.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://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-archiver:jar:2.4.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-artifact:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-core:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-core/2.0.7/maven-core-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-model:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-monitor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.0.7/maven-monitor-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-profile:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-project:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-settings:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar"><img alt="Found at http://repo1.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://repo1.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://repo1.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:1.2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"><img alt="Found at http://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-archiver:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar"><img alt="Found at http://repo1.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://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td><td>-</td><td><a class="externalLink" href="http://repo1.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://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interpolation:jar:1.13</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-io:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-utils:jar:2.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.jar"><img alt="Found at http://repo1.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://repo1.maven.apache.org/maven2/org/easymock/easymock/2.4/easymock-2.4.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.mockito:mockito-all:jar:1.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/mockito/mockito-all/1.7/mockito-all-1.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/osgi/org.osgi.core/4.1.0/org.osgi.core-4.1.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>xml-apis:xml-apis:jar:1.0.b2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><th>Total</th><th>apache.snapshots</th><th>central</th></tr><tr class="b"><td>43 (compile: 30, test: 4, runtime: 9)</td><td>0</td><td>43</td></tr></table></div>
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/deploy-file-mojo.html b/bundleplugin/doc/site/deploy-file-mojo.html
index 3a40db7..9323bae 100644
--- a/bundleplugin/doc/site/deploy-file-mojo.html
+++ b/bundleplugin/doc/site/deploy-file-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:deploy-file</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:deploy-file<a name="bundle:deploy-file"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:deploy-file</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:deploy-file</p>
       <p><b>Description</b>:</p>
       <div>Deploys bundle details to a remote OBR repository (command-line
 goal)</div>
@@ -381,38 +302,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/deploy-mojo.html b/bundleplugin/doc/site/deploy-mojo.html
index faff7d8..71eab81 100644
--- a/bundleplugin/doc/site/deploy-mojo.html
+++ b/bundleplugin/doc/site/deploy-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:deploy</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:deploy<a name="bundle:deploy"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:deploy</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT: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>
@@ -282,38 +203,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/index-mojo.html b/bundleplugin/doc/site/index-mojo.html
index fa53faf..fe79ec4 100644
--- a/bundleplugin/doc/site/index-mojo.html
+++ b/bundleplugin/doc/site/index-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:index</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:index<a name="bundle:index"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:index</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:index</p>
       <p><b>Description</b>:</p>
       <div>Index the content of a maven repository using OBR</div>
       <p><b>Attributes</b>:</p>
@@ -217,38 +138,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/index.html b/bundleplugin/doc/site/index.html
index 4262a80..baf80d0 100644
--- a/bundleplugin/doc/site/index.html
+++ b/bundleplugin/doc/site/index.html
@@ -1,244 +1,122 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Introduction</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
       <meta name="author" content="Stuart McCulloch" />
-
     <meta name="Date-Creation-yyyymmdd" content="20110628" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
             <strong>Introduction</strong>
-
           </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
             <strong>About</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements.  See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership.  The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License.  You may obtain a copy of the License at --><!--  --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!--  --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied.  See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/references/apt-format.html --><div class="section"><h2>Maven Bundle Plugin<a name="Maven_Bundle_Plugin"></a></h2><p>This Maven 2 plugin is based on the <a class="externalLink" href="http://www.aqute.biz/Bnd/Bnd/">BND</a> tool from Peter Kriens. The way BND works is by treating your project as a big collection of classes (e.g., project code, dependencies, and the class path). The way you create a bundle with BND is to tell it the content of the bundle's JAR file as a subset of the available classes. This plugin wraps BND to make it work specifically with the Maven 2 project structure and to provide it with reasonable default behavior for Maven 2 projects.</p><div class="section"><h3>Goals Overview<a name="Goals_Overview"></a></h3><p>General Information about the goals.</p><ul><li><a href="./bundle-mojo.html">bundle:bundle</a> Create an OSGi bundle from Maven project. (life-cycle goal)</li><li><a href="./manifest-mojo.html">bundle:manifest</a> Generate an OSGi manifest for this project.</li><li><a href="./cleanVersions-mojo.html">bundle:cleanVersions</a> Convert a group of versions to OSGi format.</li><li><a href="./instructions-mojo.html">bundle:instructions</a> Generate BND instructions for this project.</li><li><a href="./install-mojo.html">bundle:install</a> Installs bundle details in the local OBR repository. (life-cycle goal)</li><li><a href="./deploy-mojo.html">bundle:deploy</a> Deploys bundle details to a remote OBR repository. (life-cycle goal)</li><li><a href="./index-mojo.html">bundle:index</a> Index the content of a maven repository using OBR.</li><li><a href="./install-file-mojo.html">bundle:install-file</a> Installs bundle details in the local OBR repository. (command-line goal)</li><li><a href="./deploy-file-mojo.html">bundle:deploy-file</a> Deploys bundle details to a remote OBR repository. (command-line goal)</li><li><a href="./clean-mojo.html">bundle:clean</a> Clean a local OBR repository by finding and removing missing resources.</li><li><a href="./remote-clean-mojo.html">bundle:remote-clean</a> Clean a remote OBR repository by finding and removing missing resources.</li><li><a href="./ant-mojo.html">bundle:ant</a> Generate Ant script to create the bundle. (you should run ant:ant first)</li></ul></div><div class="section"><h3>Usage<a name="Usage"></a></h3><p>General instructions on how to use the Maven Bundle Plugin can be found on the <a class="externalLink" href="http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html">wiki page</a>. Some more specific use cases are described in the examples given below.</p><p>In case you still have questions regarding the plugin's usage, please have a look at the <a class="externalLink" href="http://felix.apache.org/site/apache-felix-bundle-plugin-faq.html">FAQ</a> and feel free to contact the <a class="externalLink" href="http://felix.apache.org/site/mailinglists.html">user mailing list</a>. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the <a class="externalLink" href="http://www.mail-archive.com/users@felix.apache.org/">mail archive</a>.</p><p>If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our <a href="./issue-tracking.html">issue tracker</a>. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our <a href="./source-repository.html">source repository</a> and will find supplementary information in the <a class="externalLink" href="http://felix.apache.org/site/development.html">Apache Felix developers guide</a>. </p></div><div class="section"><h3>Examples<a name="Examples"></a></h3><p>To provide you with better understanding on some usages of the Maven Bundle Plugin, you can take a look into the following examples:</p><ul><li>Examples coming soon!</li></ul></div></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/install-file-mojo.html b/bundleplugin/doc/site/install-file-mojo.html
index f4473c3..9924944 100644
--- a/bundleplugin/doc/site/install-file-mojo.html
+++ b/bundleplugin/doc/site/install-file-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:install-file</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:install-file<a name="bundle:install-file"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:install-file</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:install-file</p>
       <p><b>Description</b>:</p>
       <div>Installs bundle details in the local OBR repository (command-line
 goal)</div>
@@ -308,38 +229,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/install-mojo.html b/bundleplugin/doc/site/install-mojo.html
index ba450c7..375fb21 100644
--- a/bundleplugin/doc/site/install-mojo.html
+++ b/bundleplugin/doc/site/install-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:install</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:install<a name="bundle:install"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:install</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:install</p>
       <p><b>Description</b>:</p>
       <div>Installs bundle details in the local OBR repository (life-cycle
 goal)</div>
@@ -210,38 +131,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/instructions-mojo.html b/bundleplugin/doc/site/instructions-mojo.html
index 7a14e92..112251c 100644
--- a/bundleplugin/doc/site/instructions-mojo.html
+++ b/bundleplugin/doc/site/instructions-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:instructions</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:instructions<a name="bundle:instructions"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:instructions</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:instructions</p>
       <p><b>Description</b>:</p>
       <div>Generate BND instructions for this project</div>
       <p><b>Attributes</b>:</p>
@@ -332,38 +253,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/issue-tracking.html b/bundleplugin/doc/site/issue-tracking.html
index d387e25..d6b53c7 100644
--- a/bundleplugin/doc/site/issue-tracking.html
+++ b/bundleplugin/doc/site/issue-tracking.html
@@ -1,240 +1,120 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Issue Tracking</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Issue Tracking</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>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>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/jira-report.html b/bundleplugin/doc/site/jira-report.html
index db00ad0..289edfa 100644
--- a/bundleplugin/doc/site/jira-report.html
+++ b/bundleplugin/doc/site/jira-report.html
@@ -1,228 +1,114 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - JIRA Report</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
             <strong>Release Notes</strong>
-
           </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                                       <li class="expanded">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                     <ul>
-
                       <li class="none">
-
             <strong>JIRA Report</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="plugin-info.html" title="Plugin Documentation">Plugin Documentation</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref/index.html" title="Source Xref">Source Xref</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="surefire-report.html" title="Surefire Report">Surefire Report</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a>
-
             </li>
-
               </ul>
-
         </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
-        <div class="section"><h2>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-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>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><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>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-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-2820">FELIX-2820</a></td><td>Provide a default value when using &lt;_wab/&gt;</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-2819">FELIX-2819</a></td><td>packageinfo files in src/main/java are ignored</td><td>Resolved</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-2765">FELIX-2765</a></td><td>bundle plugin throw IllegalArgumentException while do the install</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-2722">FELIX-2722</a></td><td>With an empty  organization like this &lt;organization/&gt;, maven bundle plugin raises a NPE.</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-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-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="a"><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>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-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>Resolved</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>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-2427">FELIX-2427</a></td><td>maven site crashes</td><td>Resolved</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>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-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>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-2194">FELIX-2194</a></td><td>The manifest and bundle goals seem to generate different manifest informations</td><td>Resolved</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>Resolved</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>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-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>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-1836">FELIX-1836</a></td><td>Maven resource filtering support for obr.xml</td><td>Resolved</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>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-1734">FELIX-1734</a></td><td>The _donotcopy is ignored</td><td>Resolved</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>Resolved</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-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-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>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-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-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="b"><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="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>Resolved</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-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="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-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="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-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="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>Resolved</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-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="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-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="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><tr class="a"><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="b"><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="a"><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="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-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="a"><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="b"><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="a"><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="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-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-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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="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-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-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="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-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><tr class="b"><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="a"><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="b"><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>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><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></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-3238">FELIX-3238</a></td><td>Unable to filter out classes from identical package in a dependency</td><td>Resolved</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>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-3210">FELIX-3210</a></td><td>Maven bundle plugin remote-clean goal without user confirmation</td><td>Resolved</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>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-3208">FELIX-3208</a></td><td>Provide default value for sourcepath when using BND -sources=true</td><td>Resolved</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>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-3188">FELIX-3188</a></td><td>[PATCH] exception org.apache.maven.project.artifact.InvalidDependencyVersionException has already been caught</td><td>Resolved</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>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-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="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>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-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>Resolved</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>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-3058">FELIX-3058</a></td><td>maven-bundle-plugin 2.3.5 incompatible with maven-source-plugin (regression)</td><td>Resolved</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>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-3031">FELIX-3031</a></td><td>maven3 deployment fails where maven2 works</td><td>Resolved</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-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-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>Resolved</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-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-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="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-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="a"><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="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-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-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-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-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-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-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-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="b"><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="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-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="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-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="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-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="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-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="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-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="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><tr class="a"><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="b"><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="a"><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="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-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="a"><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="b"><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="a"><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="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-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-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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="a"><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="b"><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="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-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-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="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-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><tr class="b"><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="a"><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="b"><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="a"><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></table></div>
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/license.html b/bundleplugin/doc/site/license.html
index f61eb26..cbed9e1 100644
--- a/bundleplugin/doc/site/license.html
+++ b/bundleplugin/doc/site/license.html
@@ -1,207 +1,105 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Project License</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Project License</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>Overview<a name="Overview"></a></h2><a name="Overview"></a><p>Typically the licenses listed for the project are that of the project itself, and not of dependencies.</p></div><div class="section"><h2>Project License<a name="Project_License"></a></h2><a name="Project_License"></a><div class="section"><h3>The Apache Software License, Version 2.0<a name="The_Apache_Software_License_Version_2.0"></a></h3><a name="The_Apache_Software_License_Version_2.0"></a><div class="source"><pre>
                                  Apache License
                            Version 2.0, January 2004
@@ -405,38 +303,20 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 </pre></div></div></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/mail-lists.html b/bundleplugin/doc/site/mail-lists.html
index bcd2eed..26663f1 100644
--- a/bundleplugin/doc/site/mail-lists.html
+++ b/bundleplugin/doc/site/mail-lists.html
@@ -1,240 +1,120 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Project Mailing Lists</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Mailing Lists</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>Project Mailing Lists<a name="Project_Mailing_Lists"></a></h2><a name="Project_Mailing_Lists"></a><p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p><table border="0" class="bodyTable"><tr class="a"><th>Name</th><th>Subscribe</th><th>Unsubscribe</th><th>Post</th><th>Archive</th></tr><tr class="b"><td>Felix Dev</td><td><a class="externalLink" href="mailto:dev-subscribe@felix.apache.org">Subscribe</a></td><td><a class="externalLink" href="mailto:dev-unsubscribe@felix.apache.org">Unsubscribe</a></td><td>-</td><td><a class="externalLink" href="http://www.mail-archive.com/dev%40felix.apache.org/">www.mail-archive.com</a></td></tr><tr class="a"><td>Felix Commits</td><td><a class="externalLink" href="mailto:commits-subscribe@felix.apache.org">Subscribe</a></td><td><a class="externalLink" href="mailto:commits-unsubscribe@felix.apache.org">Unsubscribe</a></td><td>-</td><td><a class="externalLink" href="http://www.mail-archive.com/commits%40felix.apache.org/">www.mail-archive.com</a></td></tr></table></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/manifest-mojo.html b/bundleplugin/doc/site/manifest-mojo.html
index c3dcdc4..338daa5 100644
--- a/bundleplugin/doc/site/manifest-mojo.html
+++ b/bundleplugin/doc/site/manifest-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:manifest</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:manifest<a name="bundle:manifest"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:manifest</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT:manifest</p>
       <p><b>Description</b>:</p>
       <div>Generate an OSGi manifest for this project</div>
       <p><b>Attributes</b>:</p>
@@ -247,12 +168,19 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
           </tr>
           <tr class="a">
+            <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 /></td>
+          </tr>
+          <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>
@@ -316,6 +244,13 @@
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
           <li><b>Expression</b>: <tt>${project.build.outputDirectory}</tt></li>
+        </ul><hr /><p><b><a name="rebuildBundle">rebuildBundle</a>:</b></p>
+        <div>When true, generate the manifest by rebuilding the full bundle in
+memory</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${rebuildBundle}</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -332,38 +267,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/plugin-info.html b/bundleplugin/doc/site/plugin-info.html
index 5b471d3..8548d95 100644
--- a/bundleplugin/doc/site/plugin-info.html
+++ b/bundleplugin/doc/site/plugin-info.html
@@ -1,195 +1,99 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Plugin Documentation</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
             <strong>Goals</strong>
-
           </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                                       <li class="expanded">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="jira-report.html" title="JIRA Report">JIRA Report</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Plugin Documentation</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="xref/index.html" title="Source Xref">Source Xref</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="surefire-report.html" title="Surefire Report">Surefire Report</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a>
-
             </li>
-
               </ul>
-
         </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><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
@@ -206,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.3.5&lt;/version&gt;
+          &lt;version&gt;2.4.0-SNAPSHOT&lt;/version&gt;
         &lt;/plugin&gt;
         ...
       &lt;/plugins&gt;
@@ -216,7 +120,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.3.5&lt;/version&gt;
+        &lt;version&gt;2.4.0-SNAPSHOT&lt;/version&gt;
       &lt;/plugin&gt;
       ...
     &lt;/plugins&gt;
@@ -224,38 +128,20 @@
   ...
 &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>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/project-info.html b/bundleplugin/doc/site/project-info.html
index cfdcd30..7d243b1 100644
--- a/bundleplugin/doc/site/project-info.html
+++ b/bundleplugin/doc/site/project-info.html
@@ -1,243 +1,123 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Project Information</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                     <li class="expanded">
-
             <strong>Project Information</strong>
-
                   <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Provides a maven plugin that supports creating an OSGi bundle
   from the contents of the compilation classpath along with its
   resources and dependencies. Plus a zillion other features.
   The plugin uses the Bnd tool (http://www.aqute.biz/Code/Bnd)</td></tr><tr class="a"><td><a href="dependencies.html">Dependencies</a></td><td>This document lists the project's dependencies and provides information on each dependency.</td></tr><tr class="b"><td><a href="issue-tracking.html">Issue Tracking</a></td><td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td></tr><tr class="a"><td><a href="mail-lists.html">Mailing Lists</a></td><td>This document provides subscription and archive information for this project's mailing lists.</td></tr><tr class="b"><td><a href="license.html">Project License</a></td><td>This is a link to the definitions of project licenses.</td></tr><tr class="a"><td><a href="team-list.html">Project Team</a></td><td>This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.</td></tr><tr class="b"><td><a href="source-repository.html">Source Repository</a></td><td>This is a link to the online source repository that can be viewed via a web browser.</td></tr></table></div></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/project-reports.html b/bundleplugin/doc/site/project-reports.html
index b8b0bdb..62ff9da 100644
--- a/bundleplugin/doc/site/project-reports.html
+++ b/bundleplugin/doc/site/project-reports.html
@@ -1,228 +1,114 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Generated Reports</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                                 <li class="expanded">
-
             <strong>Project Reports</strong>
-
                   <ul>
-
                       <li class="none">
-
                           <a href="jira-report.html" title="JIRA Report">JIRA Report</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="plugin-info.html" title="Plugin Documentation">Plugin Documentation</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref/index.html" title="Source Xref">Source Xref</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="surefire-report.html" title="Surefire Report">Surefire Report</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a>
-
             </li>
-
               </ul>
-
         </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="jira-report.html">JIRA Report</a></td><td>Report on Issues from the JIRA Issue Tracking System.</td></tr><tr class="a"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr><tr class="b"><td><a href="xref/index.html">Source Xref</a></td><td>HTML based, cross-reference version of Java source code.</td></tr><tr class="a"><td><a href="surefire-report.html">Surefire Report</a></td><td>Report on the test results of the project.</td></tr><tr class="b"><td><a href="xref-test/index.html">Test Source Xref</a></td><td>HTML based, cross-reference version of Java test source code.</td></tr></table></div></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/remote-clean-mojo.html b/bundleplugin/doc/site/remote-clean-mojo.html
index 4c79621..4bd5338 100644
--- a/bundleplugin/doc/site/remote-clean-mojo.html
+++ b/bundleplugin/doc/site/remote-clean-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:remote-clean</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:remote-clean<a name="bundle:remote-clean"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:remote-clean</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT: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>
@@ -269,38 +190,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/source-repository.html b/bundleplugin/doc/site/source-repository.html
index 3d21711..22090da 100644
--- a/bundleplugin/doc/site/source-repository.html
+++ b/bundleplugin/doc/site/source-repository.html
@@ -1,243 +1,123 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Source Repository</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="team-list.html" title="Project Team">Project Team</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Source Repository</strong>
-
           </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>Overview<a name="Overview"></a></h2><a name="Overview"></a><p>This project uses <a class="externalLink" href="http://subversion.apache.org/">Subversion</a> to manage its source code. Instructions on Subversion use can be found at <a class="externalLink" href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>.</p></div><div class="section"><h2>Web Access<a name="Web_Access"></a></h2><a name="Web_Access"></a><p>The following is a link to the online source repository.</p><div class="source"><pre><a class="externalLink" href="http://svn.apache.org/repos/asf/felix/trunk/bundleplugin">http://svn.apache.org/repos/asf/felix/trunk/bundleplugin</a></pre></div></div><div class="section"><h2>Anonymous access<a name="Anonymous_access"></a></h2><a name="Anonymous_access"></a><p>The source can be checked out anonymously from SVN with this command:</p><div class="source"><pre>$ svn checkout http://svn.apache.org/repos/asf/felix/trunk/bundleplugin maven-bundle-plugin</pre></div></div><div class="section"><h2>Developer access<a name="Developer_access"></a></h2><a name="Developer_access"></a><p>Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS.</p><div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/felix/trunk/bundleplugin maven-bundle-plugin</pre></div><p>To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)</p><div class="source"><pre>$ svn commit --username your-username -m &quot;A message&quot;</pre></div></div><div class="section"><h2>Access from behind a firewall<a name="Access_from_behind_a_firewall"></a></h2><a name="Access_from_behind_a_firewall"></a><p>For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:</p><div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/felix/trunk/bundleplugin maven-bundle-plugin</pre></div></div><div class="section"><h2>Access through a proxy<a name="Access_through_a_proxy"></a></h2><a name="Access_through_a_proxy"></a><p>The Subversion client can go through a proxy, if you configure it to do so. First, edit your &quot;servers&quot; configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory &quot;~/.subversion&quot;. On Windows it is in &quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is a hidden directory.)</p><p>There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.</p><p>Example: Edit the 'servers' file and add something like:</p><div class="source"><pre>[global]
 http-proxy-host = your.proxy.name
 http-proxy-port = 3128
 </pre></div></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/surefire-report.html b/bundleplugin/doc/site/surefire-report.html
index b73b54a..92b921f 100644
--- a/bundleplugin/doc/site/surefire-report.html
+++ b/bundleplugin/doc/site/surefire-report.html
@@ -1,228 +1,114 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Surefire Report</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                                       <li class="expanded">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="jira-report.html" title="JIRA Report">JIRA Report</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="plugin-info.html" title="Plugin Documentation">Plugin Documentation</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="xref/index.html" title="Source Xref">Source Xref</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Surefire Report</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a>
-
             </li>
-
               </ul>
-
         </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
-        <div class="section"><h2>Surefire Report<a name="Surefire_Report"></a></h2></div><div class="section"><h2><a name="Summary"></a>Summary<a name="Summary"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td>9</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.764</td></tr></table><br />Note: failures are anticipated and checked for with assertions while errors are unanticipated.<br /></div><div class="section"><h2><a name="Package_List"></a>Package List<a name="Package_List"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>9</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.764</td></tr></table><br />Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.<div class="section"><h3><a name="org.apache.felix.bundleplugin"></a>org.apache.felix.bundleplugin<a name="org.apache.felix.bundleplugin"></a></h3><table border="0" class="bodyTable"><tr class="a"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest">BlueprintComponentTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.497</td></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest">BundleAllPluginTest</a></td><td>2</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.771</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBundlePluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundlePluginTest">BundlePluginTest</a></td><td>6</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.496</td></tr></table></div><br /></div><div class="section"><h2><a name="Test_Cases"></a>Test Cases<a name="Test_Cases"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><div class="section"><h3><a name="org.apache.felix.bundlepluginBlueprintComponentTest"></a>BlueprintComponentTest<a name="BlueprintComponentTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.463</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundleAllPluginTest"></a>BundleAllPluginTest<a name="BundleAllPluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.319</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.449</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundlePluginTest"></a>BundlePluginTest<a name="BundlePluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.059</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.153</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.069</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.06</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.069</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.083</td></tr></table></div><br /></div><br />
-
+        <div class="section"><h2>Surefire Report<a name="Surefire_Report"></a></h2></div><div class="section"><h2><a name="Summary"></a>Summary<a name="Summary"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>2.93</td></tr></table><br />Note: failures are anticipated and checked for with assertions while errors are unanticipated.<br /></div><div class="section"><h2><a name="Package_List"></a>Package List<a name="Package_List"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>2.93</td></tr></table><br />Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.<div class="section"><h3><a name="org.apache.felix.bundleplugin"></a>org.apache.felix.bundleplugin<a name="org.apache.felix.bundleplugin"></a></h3><table border="0" class="bodyTable"><tr class="a"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest">BlueprintComponentTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.761</td></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest">BundleAllPluginTest</a></td><td>2</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.953</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBundlePluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundlePluginTest">BundlePluginTest</a></td><td>12</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.216</td></tr></table></div><br /></div><div class="section"><h2><a name="Test_Cases"></a>Test Cases<a name="Test_Cases"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><div class="section"><h3><a name="org.apache.felix.bundlepluginBlueprintComponentTest"></a>BlueprintComponentTest<a name="BlueprintComponentTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.711</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundleAllPluginTest"></a>BundleAllPluginTest<a name="BundleAllPluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.463</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.484</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundlePluginTest"></a>BundlePluginTest<a name="BundlePluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.057</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.178</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.052</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.064</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.046</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.064</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.151</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.127</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.142</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.127</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.172</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.03</td></tr></table></div><br /></div><br />
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/team-list.html b/bundleplugin/doc/site/team-list.html
index 115e818..956fe33 100644
--- a/bundleplugin/doc/site/team-list.html
+++ b/bundleplugin/doc/site/team-list.html
@@ -1,207 +1,105 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - Team list</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                           <li class="expanded">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                     <ul>
-
                       <li class="none">
-
                           <a href="index.html" title="About">About</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="dependencies.html" title="Dependencies">Dependencies</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-
             </li>
-
                       <li class="none">
-
                           <a href="license.html" title="Project License">Project License</a>
-
             </li>
-
                       <li class="none">
-
             <strong>Project Team</strong>
-
           </li>
-
                       <li class="none">
-
                           <a href="source-repository.html" title="Source Repository">Source Repository</a>
-
             </li>
-
               </ul>
-
         </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         <div class="section"><h2>The Team<a name="The_Team"></a></h2><a name="The_Team"></a><p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p><p>The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p><div class="section"><h3>Members<a name="Members"></a></h3><a name="Members"></a><p>There are no developers working on this project.</p></div><div class="section"><h3>Contributors<a name="Contributors"></a></h3><a name="Contributors"></a><p>There are no contributors listed for this project. Please check back again later.</p><script type="text/javascript">
 function offsetDate(id, offset) {
     var now = new Date();
@@ -218,38 +116,20 @@
 
 window.onLoad = init();
 </script></div></div>
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/wrap-mojo.html b/bundleplugin/doc/site/wrap-mojo.html
index f75df61..4be3cb6 100644
--- a/bundleplugin/doc/site/wrap-mojo.html
+++ b/bundleplugin/doc/site/wrap-mojo.html
@@ -1,167 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->
-
+<!-- Generated by Apache Maven Doxia at Nov 28, 2011 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
   <head>
-
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
     <title>Maven Bundle Plugin - 
     bundle:wrap</title>
-
     <style type="text/css" media="all">
-
       @import url("./css/maven-base.css");
-
       @import url("./css/maven-theme.css");
-
       @import url("./css/site.css");
-
     </style>
-
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-
-    <meta name="Date-Revision-yyyymmdd" content="20110705" />
-
+    <meta name="Date-Revision-yyyymmdd" content="20111128" />
     <meta http-equiv="Content-Language" content="en" />
-
         
-
   </head>
-
   <body class="composite">
-
     <div id="banner">
-
                     <div id="bannerLeft">
-
                 Maven Bundle Plugin
-
                 </div>
-
                     <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="breadcrumbs">
-
             
-
         
-
                 <div class="xleft">
-
-        <span id="publishDate">Last Published: 2011-07-05</span>
-
-                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>
-
+        <span id="publishDate">Last Published: 2011-11-28</span>
+                  &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
-
             <div class="xright">        
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
     <div id="leftColumn">
-
       <div id="navcolumn">
-
              
-
         
-
                                 <h5>Overview</h5>
-
                   <ul>
-
                   <li class="none">
-
                           <a href="index.html" title="Introduction">Introduction</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="plugin-info.html" title="Goals">Goals</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
-
             </li>
-
                   <li class="none">
-
                           <a href="jira-report.html" title="Release Notes">Release Notes</a>
-
             </li>
-
           </ul>
-
                        <h5>Project Documentation</h5>
-
                   <ul>
-
                                                                                                                                                                                 <li class="collapsed">
-
                           <a href="project-info.html" title="Project Information">Project Information</a>
-
                   </li>
-
                                                                                                                                             <li class="collapsed">
-
                           <a href="project-reports.html" title="Project Reports">Project Reports</a>
-
                   </li>
-
           </ul>
-
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-
       </a>
-
                    
-
         
-
             </div>
-
     </div>
-
     <div id="bodyColumn">
-
       <div id="contentBox">
-
         
   
     <div class="section"><h2>bundle:wrap<a name="bundle:wrap"></a></h2>
       <p><b>Full name</b>:</p>
-      <p>org.apache.felix:maven-bundle-plugin:2.3.5:wrap</p>
+      <p>org.apache.felix:maven-bundle-plugin:2.4.0-SNAPSHOT: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>
@@ -263,18 +184,25 @@
             <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
           </tr>
           <tr class="a">
+            <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 /></td>
+          </tr>
+          <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>
             <td>When true, unpack the bundle contents to the outputDirectory<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#wrapImportPackage">wrapImportPackage</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
@@ -349,6 +277,13 @@
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
           <li><b>Expression</b>: <tt>${project.build.outputDirectory}</tt></li>
+        </ul><hr /><p><b><a name="rebuildBundle">rebuildBundle</a>:</b></p>
+        <div>When true, generate the manifest by rebuilding the full bundle in
+memory</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${rebuildBundle}</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -372,38 +307,20 @@
     </div>
   
 
-
       </div>
-
     </div>
-
     <div class="clear">
-
       <hr/>
-
     </div>
-
     <div id="footer">
-
       <div class="xright">Copyright &#169;                    2006-2011
-
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-
             All Rights Reserved.      
-
         
-
       </div>
-
       <div class="clear">
-
         <hr/>
-
       </div>
-
     </div>
-
   </body>
-
 </html>
-
diff --git a/bundleplugin/doc/site/xref-test/index.html b/bundleplugin/doc/site/xref-test/index.html
index b66913a..a3c1140 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.3.5 Reference</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
 	</head>
     <frameset cols="20%,80%">
 		<frameset rows="30%,70%">
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/AbstractBundlePluginTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/AbstractBundlePluginTest.html
index 19ec3c9..def8707 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/AbstractBundlePluginTest.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/AbstractBundlePluginTest.html
@@ -33,35 +33,46 @@
 <a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.File;
 <a name="24" href="#24">24</a>  
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.ArtifactStub;
-<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.PlexusTestCase;
-<a name="27" href="#27">27</a>  
+<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.PlexusTestCase;
 <a name="28" href="#28">28</a>  
-<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * Common methods for bundle plugin testing</em>
-<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:carlos@apache.org" target="alexandria_uri">mailto:carlos@apache.org</a>"&gt;Carlos Sanchez&lt;/a&gt;</em>
-<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * @version $Id$</em>
-<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractBundlePluginTest.html">AbstractBundlePluginTest</a> <strong class="jxr_keyword">extends</strong> PlexusTestCase
-<a name="36" href="#36">36</a>  {
-<a name="37" href="#37">37</a>  
-<a name="38" href="#38">38</a>      <strong class="jxr_keyword">protected</strong> ArtifactStub getArtifactStub()
-<a name="39" href="#39">39</a>      {
-<a name="40" href="#40">40</a>          ArtifactStub artifact = <strong class="jxr_keyword">new</strong> ArtifactStub();
-<a name="41" href="#41">41</a>          artifact.setGroupId( <span class="jxr_string">"group"</span> );
-<a name="42" href="#42">42</a>          artifact.setArtifactId( <span class="jxr_string">"artifact"</span> );
-<a name="43" href="#43">43</a>          artifact.setVersion( <span class="jxr_string">"1.0"</span> );
-<a name="44" href="#44">44</a>          <strong class="jxr_keyword">return</strong> artifact;
-<a name="45" href="#45">45</a>      }
-<a name="46" href="#46">46</a>  
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * Common methods for bundle plugin testing</em>
+<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:carlos@apache.org" target="alexandria_uri">mailto:carlos@apache.org</a>"&gt;Carlos Sanchez&lt;/a&gt;</em>
+<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * @version $Id$</em>
+<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="36" href="#36">36</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractBundlePluginTest.html">AbstractBundlePluginTest</a> <strong class="jxr_keyword">extends</strong> PlexusTestCase
+<a name="37" href="#37">37</a>  {
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong class="jxr_keyword">protected</strong> MavenProjectStub getMavenProjectStub()
+<a name="40" href="#40">40</a>      {
+<a name="41" href="#41">41</a>          MavenProjectStub project = <strong class="jxr_keyword">new</strong> MavenProjectStub();
+<a name="42" href="#42">42</a>          project.setGroupId( <span class="jxr_string">"group"</span> );
+<a name="43" href="#43">43</a>          project.setArtifactId( <span class="jxr_string">"project"</span> );
+<a name="44" href="#44">44</a>          project.setVersion( <span class="jxr_string">"1.2.3.4"</span> );
+<a name="45" href="#45">45</a>          <strong class="jxr_keyword">return</strong> project;
+<a name="46" href="#46">46</a>      }
 <a name="47" href="#47">47</a>  
-<a name="48" href="#48">48</a>      <strong class="jxr_keyword">protected</strong> File getTestBundle()
-<a name="49" href="#49">49</a>      {
-<a name="50" href="#50">50</a>          String osgiBundleFileName = <span class="jxr_string">"org.apache.maven.maven-model_2.1.0.SNAPSHOT.jar"</span>;
-<a name="51" href="#51">51</a>          <strong class="jxr_keyword">return</strong> getTestFile( getBasedir(), <span class="jxr_string">"src/test/resources/"</span> + osgiBundleFileName );
-<a name="52" href="#52">52</a>      }
-<a name="53" href="#53">53</a>  
-<a name="54" href="#54">54</a>  }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong class="jxr_keyword">protected</strong> ArtifactStub getArtifactStub()
+<a name="50" href="#50">50</a>      {
+<a name="51" href="#51">51</a>          ArtifactStub artifact = <strong class="jxr_keyword">new</strong> ArtifactStub();
+<a name="52" href="#52">52</a>          artifact.setGroupId( <span class="jxr_string">"group"</span> );
+<a name="53" href="#53">53</a>          artifact.setArtifactId( <span class="jxr_string">"artifact"</span> );
+<a name="54" href="#54">54</a>          artifact.setVersion( <span class="jxr_string">"1.0"</span> );
+<a name="55" href="#55">55</a>          <strong class="jxr_keyword">return</strong> artifact;
+<a name="56" href="#56">56</a>      }
+<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> File getTestBundle()
+<a name="60" href="#60">60</a>      {
+<a name="61" href="#61">61</a>          String osgiBundleFileName = <span class="jxr_string">"org.apache.maven.maven-model_2.1.0.SNAPSHOT.jar"</span>;
+<a name="62" href="#62">62</a>          <strong class="jxr_keyword">return</strong> getTestFile( getBasedir(), <span class="jxr_string">"src/test/resources/"</span> + osgiBundleFileName );
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</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 37b70d7..4e778ee 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
@@ -31,196 +31,380 @@
 <a name="21" href="#21">21</a>  <em class="jxr_comment"> */</em>
 <a name="22" href="#22">22</a>  
 <a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.File;
-<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
-<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.TreeMap;
-<a name="27" href="#27">27</a>  
-<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Organization;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
-<a name="32" href="#32">32</a>  
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  
-<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * Test for {@link BundlePlugin}.</em>
-<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePluginTest.html">BundlePluginTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractBundlePluginTest.html">AbstractBundlePluginTest</a>
-<a name="44" href="#44">44</a>  {
+<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.FileOutputStream;
+<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
+<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.TreeMap;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Organization;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.ArtifactStubFactory;
+<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
+<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
+<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">private</strong> BundlePlugin plugin;
-<a name="47" href="#47">47</a>  
-<a name="48" href="#48">48</a>  
-<a name="49" href="#49">49</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception
-<a name="50" href="#50">50</a>      {
-<a name="51" href="#51">51</a>          <strong class="jxr_keyword">super</strong>.setUp();
-<a name="52" href="#52">52</a>          plugin = <strong class="jxr_keyword">new</strong> BundlePlugin();
-<a name="53" href="#53">53</a>          plugin.setMaven2OsgiConverter( <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter() );
-<a name="54" href="#54">54</a>          plugin.setBuildDirectory( <span class="jxr_string">"."</span> );
-<a name="55" href="#55">55</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"."</span> ) );
-<a name="56" href="#56">56</a>      }
-<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">public</strong> <strong class="jxr_keyword">void</strong> testConvertVersionToOsgi()
-<a name="60" href="#60">60</a>      {
-<a name="61" href="#61">61</a>          String osgiVersion;
-<a name="62" href="#62">62</a>  
-<a name="63" href="#63">63</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.0-SNAPSHOT"</span> );
-<a name="64" href="#64">64</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * Test for {@link BundlePlugin}.</em>
+<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
+<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="51" href="#51">51</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePluginTest.html">BundlePluginTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractBundlePluginTest.html">AbstractBundlePluginTest</a>
+<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">private</strong> BundlePlugin plugin;
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception
+<a name="58" href="#58">58</a>      {
+<a name="59" href="#59">59</a>          <strong class="jxr_keyword">super</strong>.setUp();
+<a name="60" href="#60">60</a>          plugin = <strong class="jxr_keyword">new</strong> BundlePlugin();
+<a name="61" href="#61">61</a>          plugin.setMaven2OsgiConverter( <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter() );
+<a name="62" href="#62">62</a>          plugin.setBuildDirectory( <span class="jxr_string">"."</span> );
+<a name="63" href="#63">63</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( getBasedir(), <span class="jxr_string">"target"</span> + File.separatorChar + <span class="jxr_string">"scratch"</span> ) );
+<a name="64" href="#64">64</a>      }
 <a name="65" href="#65">65</a>  
-<a name="66" href="#66">66</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1-SNAPSHOT"</span> );
-<a name="67" href="#67">67</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
-<a name="68" href="#68">68</a>  
-<a name="69" href="#69">69</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2-SNAPSHOT"</span> );
-<a name="70" href="#70">70</a>          assertEquals( <span class="jxr_string">"2.0.0.SNAPSHOT"</span>, osgiVersion );
-<a name="71" href="#71">71</a>  
-<a name="72" href="#72">72</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2"</span> );
-<a name="73" href="#73">73</a>          assertEquals( <span class="jxr_string">"2.0.0"</span>, osgiVersion );
-<a name="74" href="#74">74</a>  
-<a name="75" href="#75">75</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1"</span> );
-<a name="76" href="#76">76</a>          assertEquals( <span class="jxr_string">"2.1.0"</span>, osgiVersion );
-<a name="77" href="#77">77</a>  
-<a name="78" href="#78">78</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3"</span> );
-<a name="79" href="#79">79</a>          assertEquals( <span class="jxr_string">"2.1.3"</span>, osgiVersion );
-<a name="80" href="#80">80</a>  
-<a name="81" href="#81">81</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3.4"</span> );
-<a name="82" href="#82">82</a>          assertEquals( <span class="jxr_string">"2.1.3.4"</span>, osgiVersion );
-<a name="83" href="#83">83</a>  
-<a name="84" href="#84">84</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"4aug2000r7-dev"</span> );
-<a name="85" href="#85">85</a>          assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
-<a name="86" href="#86">86</a>  
-<a name="87" href="#87">87</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.1-alpha-2"</span> );
-<a name="88" href="#88">88</a>          assertEquals( <span class="jxr_string">"1.1.0.alpha-2"</span>, osgiVersion );
-<a name="89" href="#89">89</a>  
-<a name="90" href="#90">90</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-alpha-16-20070122.203121-13"</span> );
-<a name="91" href="#91">91</a>          assertEquals( <span class="jxr_string">"1.0.0.alpha-16-20070122_203121-13"</span>, osgiVersion );
-<a name="92" href="#92">92</a>  
-<a name="93" href="#93">93</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-20070119.021432-1"</span> );
-<a name="94" href="#94">94</a>          assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
-<a name="95" href="#95">95</a>  
-<a name="96" href="#96">96</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1-20070119.021432-1"</span> );
-<a name="97" href="#97">97</a>          assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
-<a name="98" href="#98">98</a>  
-<a name="99" href="#99">99</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.4.1-20070217.082013-7"</span> );
-<a name="100" href="#100">100</a>         assertEquals( <span class="jxr_string">"1.4.1.20070217_082013-7"</span>, osgiVersion );
-<a name="101" href="#101">101</a>     }
-<a name="102" href="#102">102</a> 
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConvertVersionToOsgi()
+<a name="68" href="#68">68</a>      {
+<a name="69" href="#69">69</a>          String osgiVersion;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.0-SNAPSHOT"</span> );
+<a name="72" href="#72">72</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1-SNAPSHOT"</span> );
+<a name="75" href="#75">75</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2-SNAPSHOT"</span> );
+<a name="78" href="#78">78</a>          assertEquals( <span class="jxr_string">"2.0.0.SNAPSHOT"</span>, osgiVersion );
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2"</span> );
+<a name="81" href="#81">81</a>          assertEquals( <span class="jxr_string">"2.0.0"</span>, osgiVersion );
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1"</span> );
+<a name="84" href="#84">84</a>          assertEquals( <span class="jxr_string">"2.1.0"</span>, osgiVersion );
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3"</span> );
+<a name="87" href="#87">87</a>          assertEquals( <span class="jxr_string">"2.1.3"</span>, osgiVersion );
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3.4"</span> );
+<a name="90" href="#90">90</a>          assertEquals( <span class="jxr_string">"2.1.3.4"</span>, osgiVersion );
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"4aug2000r7-dev"</span> );
+<a name="93" href="#93">93</a>          assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.1-alpha-2"</span> );
+<a name="96" href="#96">96</a>          assertEquals( <span class="jxr_string">"1.1.0.alpha-2"</span>, osgiVersion );
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-alpha-16-20070122.203121-13"</span> );
+<a name="99" href="#99">99</a>          assertEquals( <span class="jxr_string">"1.0.0.alpha-16-20070122_203121-13"</span>, osgiVersion );
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-20070119.021432-1"</span> );
+<a name="102" href="#102">102</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
 <a name="103" href="#103">103</a> 
-<a name="104" href="#104">104</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReadExportedModules() <strong class="jxr_keyword">throws</strong> Exception
-<a name="105" href="#105">105</a>     {
-<a name="106" href="#106">106</a>         File osgiBundleFile = getTestBundle();
-<a name="107" href="#107">107</a> 
-<a name="108" href="#108">108</a>         assertTrue( osgiBundleFile.exists() );
-<a name="109" href="#109">109</a> 
-<a name="110" href="#110">110</a>         MavenProject project = <strong class="jxr_keyword">new</strong> MavenProjectStub();
-<a name="111" href="#111">111</a>         project.setGroupId( <span class="jxr_string">"group"</span> );
-<a name="112" href="#112">112</a>         project.setArtifactId( <span class="jxr_string">"artifact"</span> );
-<a name="113" href="#113">113</a>         project.setVersion( <span class="jxr_string">"1.1.0.0"</span> );
-<a name="114" href="#114">114</a> 
-<a name="115" href="#115">115</a>         <em class="jxr_comment">//        PackageVersionAnalyzer analyzer = new PackageVersionAnalyzer();</em>
-<a name="116" href="#116">116</a>         Builder analyzer = <strong class="jxr_keyword">new</strong> Builder();
-<a name="117" href="#117">117</a>         Jar jar = <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"name"</span>, osgiBundleFile );
-<a name="118" href="#118">118</a>         analyzer.setJar( jar );
-<a name="119" href="#119">119</a>         analyzer.setClasspath( <strong class="jxr_keyword">new</strong> Jar[]
-<a name="120" href="#120">120</a>             { jar } );
-<a name="121" href="#121">121</a> 
-<a name="122" href="#122">122</a>         analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="123" href="#123">123</a>         analyzer.calcManifest();
-<a name="124" href="#124">124</a> 
-<a name="125" href="#125">125</a>         assertEquals( 3, analyzer.getExports().size() );
+<a name="104" href="#104">104</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1-20070119.021432-1"</span> );
+<a name="105" href="#105">105</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.4.1-20070217.082013-7"</span> );
+<a name="108" href="#108">108</a>         assertEquals( <span class="jxr_string">"1.4.1.20070217_082013-7"</span>, osgiVersion );
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReadExportedModules() <strong class="jxr_keyword">throws</strong> Exception
+<a name="113" href="#113">113</a>     {
+<a name="114" href="#114">114</a>         File osgiBundleFile = getTestBundle();
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         assertTrue( osgiBundleFile.exists() );
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         MavenProject project = getMavenProjectStub();
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         <em class="jxr_comment">//        PackageVersionAnalyzer analyzer = new PackageVersionAnalyzer();</em>
+<a name="121" href="#121">121</a>         Builder analyzer = <strong class="jxr_keyword">new</strong> Builder();
+<a name="122" href="#122">122</a>         Jar jar = <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"name"</span>, osgiBundleFile );
+<a name="123" href="#123">123</a>         analyzer.setJar( jar );
+<a name="124" href="#124">124</a>         analyzer.setClasspath( <strong class="jxr_keyword">new</strong> Jar[]
+<a name="125" href="#125">125</a>             { jar } );
 <a name="126" href="#126">126</a> 
-<a name="127" href="#127">127</a>         analyzer.close();
-<a name="128" href="#128">128</a>     }
+<a name="127" href="#127">127</a>         analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">"*"</span> );
+<a name="128" href="#128">128</a>         analyzer.calcManifest();
 <a name="129" href="#129">129</a> 
-<a name="130" href="#130">130</a> 
-<a name="131" href="#131">131</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTransformDirectives() <strong class="jxr_keyword">throws</strong> Exception
-<a name="132" href="#132">132</a>     {
-<a name="133" href="#133">133</a>         Map instructions = <strong class="jxr_keyword">new</strong> TreeMap();
+<a name="130" href="#130">130</a>         assertEquals( 3, analyzer.getExports().size() );
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         analyzer.close();
+<a name="133" href="#133">133</a>     }
 <a name="134" href="#134">134</a> 
-<a name="135" href="#135">135</a>         instructions.put( <span class="jxr_string">"a"</span>, <span class="jxr_string">"1"</span> );
-<a name="136" href="#136">136</a>         instructions.put( <span class="jxr_string">"-a"</span>, <span class="jxr_string">"2"</span> );
-<a name="137" href="#137">137</a>         instructions.put( <span class="jxr_string">"_a"</span>, <span class="jxr_string">"3"</span> );
-<a name="138" href="#138">138</a>         instructions.put( <span class="jxr_string">"A"</span>, <span class="jxr_string">"3"</span> );
-<a name="139" href="#139">139</a>         instructions.put( <span class="jxr_string">"_A"</span>, <span class="jxr_string">"1"</span> );
-<a name="140" href="#140">140</a>         instructions.put( <span class="jxr_string">"_b"</span>, <span class="jxr_string">"4"</span> );
-<a name="141" href="#141">141</a>         instructions.put( <span class="jxr_string">"b"</span>, <span class="jxr_string">"6"</span> );
-<a name="142" href="#142">142</a>         instructions.put( <span class="jxr_string">"_B"</span>, <span class="jxr_string">"6"</span> );
-<a name="143" href="#143">143</a>         instructions.put( <span class="jxr_string">"-B"</span>, <span class="jxr_string">"5"</span> );
-<a name="144" href="#144">144</a>         instructions.put( <span class="jxr_string">"B"</span>, <span class="jxr_string">"4"</span> );
-<a name="145" href="#145">145</a> 
-<a name="146" href="#146">146</a>         instructions.put( <span class="jxr_string">"z"</span>, <strong class="jxr_keyword">null</strong> );
-<a name="147" href="#147">147</a>         instructions.put( <span class="jxr_string">"_z"</span>, <strong class="jxr_keyword">null</strong> );
-<a name="148" href="#148">148</a> 
-<a name="149" href="#149">149</a>         Map transformedInstructions = BundlePlugin.transformDirectives( instructions );
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTransformDirectives() <strong class="jxr_keyword">throws</strong> Exception
+<a name="137" href="#137">137</a>     {
+<a name="138" href="#138">138</a>         Map instructions = <strong class="jxr_keyword">new</strong> TreeMap();
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         instructions.put( <span class="jxr_string">"a"</span>, <span class="jxr_string">"1"</span> );
+<a name="141" href="#141">141</a>         instructions.put( <span class="jxr_string">"-a"</span>, <span class="jxr_string">"2"</span> );
+<a name="142" href="#142">142</a>         instructions.put( <span class="jxr_string">"_a"</span>, <span class="jxr_string">"3"</span> );
+<a name="143" href="#143">143</a>         instructions.put( <span class="jxr_string">"A"</span>, <span class="jxr_string">"3"</span> );
+<a name="144" href="#144">144</a>         instructions.put( <span class="jxr_string">"_A"</span>, <span class="jxr_string">"1"</span> );
+<a name="145" href="#145">145</a>         instructions.put( <span class="jxr_string">"_b"</span>, <span class="jxr_string">"4"</span> );
+<a name="146" href="#146">146</a>         instructions.put( <span class="jxr_string">"b"</span>, <span class="jxr_string">"6"</span> );
+<a name="147" href="#147">147</a>         instructions.put( <span class="jxr_string">"_B"</span>, <span class="jxr_string">"6"</span> );
+<a name="148" href="#148">148</a>         instructions.put( <span class="jxr_string">"-B"</span>, <span class="jxr_string">"5"</span> );
+<a name="149" href="#149">149</a>         instructions.put( <span class="jxr_string">"B"</span>, <span class="jxr_string">"4"</span> );
 <a name="150" href="#150">150</a> 
-<a name="151" href="#151">151</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"a"</span> ) );
-<a name="152" href="#152">152</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"-a"</span> ) );
-<a name="153" href="#153">153</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_a"</span> ) );
-<a name="154" href="#154">154</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"A"</span> ) );
-<a name="155" href="#155">155</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"-A"</span> ) );
-<a name="156" href="#156">156</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_A"</span> ) );
-<a name="157" href="#157">157</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_b"</span> ) );
-<a name="158" href="#158">158</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"-b"</span> ) );
-<a name="159" href="#159">159</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"b"</span> ) );
-<a name="160" href="#160">160</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_B"</span> ) );
-<a name="161" href="#161">161</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"-B"</span> ) );
-<a name="162" href="#162">162</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"B"</span> ) );
-<a name="163" href="#163">163</a> 
-<a name="164" href="#164">164</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"z"</span> ) );
-<a name="165" href="#165">165</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"-z"</span> ) );
-<a name="166" href="#166">166</a>     }
-<a name="167" href="#167">167</a> 
+<a name="151" href="#151">151</a>         instructions.put( <span class="jxr_string">"z"</span>, <strong class="jxr_keyword">null</strong> );
+<a name="152" href="#152">152</a>         instructions.put( <span class="jxr_string">"_z"</span>, <strong class="jxr_keyword">null</strong> );
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>         Map transformedInstructions = BundlePlugin.transformDirectives( instructions );
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"a"</span> ) );
+<a name="157" href="#157">157</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"-a"</span> ) );
+<a name="158" href="#158">158</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_a"</span> ) );
+<a name="159" href="#159">159</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"A"</span> ) );
+<a name="160" href="#160">160</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"-A"</span> ) );
+<a name="161" href="#161">161</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_A"</span> ) );
+<a name="162" href="#162">162</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_b"</span> ) );
+<a name="163" href="#163">163</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"-b"</span> ) );
+<a name="164" href="#164">164</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"b"</span> ) );
+<a name="165" href="#165">165</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_B"</span> ) );
+<a name="166" href="#166">166</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"-B"</span> ) );
+<a name="167" href="#167">167</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"B"</span> ) );
 <a name="168" href="#168">168</a> 
-<a name="169" href="#169">169</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultPropertiesIncludeOrganization()
-<a name="170" href="#170">170</a>     {
-<a name="171" href="#171">171</a>         <strong class="jxr_keyword">final</strong> Organization organization = <strong class="jxr_keyword">new</strong> Organization();
-<a name="172" href="#172">172</a>         organization.setName( <span class="jxr_string">"Example Organization"</span> );
-<a name="173" href="#173">173</a>         organization.setUrl( <span class="jxr_string">"http://example.org"</span> );
-<a name="174" href="#174">174</a> 
-<a name="175" href="#175">175</a>         <em class="jxr_comment">// MavenProjectStub.setOrganization(Organization) doesn't do anything, so we have to make it work this way</em>
-<a name="176" href="#176">176</a>         MavenProject project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
-<a name="177" href="#177">177</a>         {
-<a name="178" href="#178">178</a>             @Override
-<a name="179" href="#179">179</a>             <strong class="jxr_keyword">public</strong> Organization getOrganization()
-<a name="180" href="#180">180</a>             {
-<a name="181" href="#181">181</a>                 <strong class="jxr_keyword">return</strong> organization;
-<a name="182" href="#182">182</a>             }
-<a name="183" href="#183">183</a>         };
-<a name="184" href="#184">184</a>         project.setGroupId( <span class="jxr_string">"group"</span> );
-<a name="185" href="#185">185</a>         project.setArtifactId( <span class="jxr_string">"artifact"</span> );
-<a name="186" href="#186">186</a>         project.setVersion( <span class="jxr_string">"1.1.0.0"</span> );
-<a name="187" href="#187">187</a> 
-<a name="188" href="#188">188</a>         Properties properties = plugin.getDefaultProperties( project );
-<a name="189" href="#189">189</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"project.organization.name"</span> ) );
-<a name="190" href="#190">190</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"pom.organization.name"</span> ) );
-<a name="191" href="#191">191</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"project.organization.url"</span> ) );
-<a name="192" href="#192">192</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"pom.organization.url"</span> ) );
-<a name="193" href="#193">193</a>     }
-<a name="194" href="#194">194</a> 
-<a name="195" href="#195">195</a> 
-<a name="196" href="#196">196</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testVersion() <strong class="jxr_keyword">throws</strong> Exception
-<a name="197" href="#197">197</a>     {
-<a name="198" href="#198">198</a>         String cleanupVersion = Builder.cleanupVersion( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span> );
-<a name="199" href="#199">199</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, cleanupVersion );
-<a name="200" href="#200">200</a>     }
-<a name="201" href="#201">201</a> 
-<a name="202" href="#202">202</a> 
-<a name="203" href="#203">203</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPackageInfoDetection() <strong class="jxr_keyword">throws</strong> Exception
-<a name="204" href="#204">204</a>     {
-<a name="205" href="#205">205</a>         MavenProject project = <strong class="jxr_keyword">new</strong> MavenProjectStub();
-<a name="206" href="#206">206</a>         project.addCompileSourceRoot( getBasedir() + <span class="jxr_string">"/src/test/java"</span> );
+<a name="169" href="#169">169</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"z"</span> ) );
+<a name="170" href="#170">170</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"-z"</span> ) );
+<a name="171" href="#171">171</a>     }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultPropertiesIncludeOrganization()
+<a name="175" href="#175">175</a>     {
+<a name="176" href="#176">176</a>         <strong class="jxr_keyword">final</strong> Organization organization = <strong class="jxr_keyword">new</strong> Organization();
+<a name="177" href="#177">177</a>         organization.setName( <span class="jxr_string">"Example Organization"</span> );
+<a name="178" href="#178">178</a>         organization.setUrl( <span class="jxr_string">"http://example.org"</span> );
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>         <em class="jxr_comment">// MavenProjectStub.setOrganization(Organization) doesn't do anything, so we have to make it work this way</em>
+<a name="181" href="#181">181</a>         MavenProject project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
+<a name="182" href="#182">182</a>         {
+<a name="183" href="#183">183</a>             @Override
+<a name="184" href="#184">184</a>             <strong class="jxr_keyword">public</strong> Organization getOrganization()
+<a name="185" href="#185">185</a>             {
+<a name="186" href="#186">186</a>                 <strong class="jxr_keyword">return</strong> organization;
+<a name="187" href="#187">187</a>             }
+<a name="188" href="#188">188</a>         };
+<a name="189" href="#189">189</a>         project.setGroupId( <span class="jxr_string">"group"</span> );
+<a name="190" href="#190">190</a>         project.setArtifactId( <span class="jxr_string">"project"</span> );
+<a name="191" href="#191">191</a>         project.setVersion( <span class="jxr_string">"1.2.3.4"</span> );
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>         Properties properties = plugin.getDefaultProperties( project );
+<a name="194" href="#194">194</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"project.organization.name"</span> ) );
+<a name="195" href="#195">195</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"pom.organization.name"</span> ) );
+<a name="196" href="#196">196</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"project.organization.url"</span> ) );
+<a name="197" href="#197">197</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"pom.organization.url"</span> ) );
+<a name="198" href="#198">198</a>     }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testVersion() <strong class="jxr_keyword">throws</strong> Exception
+<a name="202" href="#202">202</a>     {
+<a name="203" href="#203">203</a>         String cleanupVersion = Builder.cleanupVersion( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span> );
+<a name="204" href="#204">204</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, cleanupVersion );
+<a name="205" href="#205">205</a>     }
+<a name="206" href="#206">206</a> 
 <a name="207" href="#207">207</a> 
-<a name="208" href="#208">208</a>         String resourcePaths = plugin.getMavenResourcePaths( project );
-<a name="209" href="#209">209</a> 
-<a name="210" href="#210">210</a>         assertEquals( <span class="jxr_string">"org/apache/felix/bundleplugin/packageinfo="</span>
-<a name="211" href="#211">211</a>             + <span class="jxr_string">"src/test/java/org/apache/felix/bundleplugin/packageinfo"</span>, resourcePaths );
-<a name="212" href="#212">212</a>     }
-<a name="213" href="#213">213</a> }
+<a name="208" href="#208">208</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPackageInfoDetection() <strong class="jxr_keyword">throws</strong> Exception
+<a name="209" href="#209">209</a>     {
+<a name="210" href="#210">210</a>         MavenProject project = getMavenProjectStub();
+<a name="211" href="#211">211</a>         project.addCompileSourceRoot( getBasedir() + <span class="jxr_string">"/src/test/java"</span> );
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         String resourcePaths = plugin.getMavenResourcePaths( project );
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         assertEquals( <span class="jxr_string">"org/apache/felix/bundleplugin/packageinfo="</span>
+<a name="216" href="#216">216</a>             + <span class="jxr_string">"src/test/java/org/apache/felix/bundleplugin/packageinfo"</span>, resourcePaths );
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyPositiveClauses() <strong class="jxr_keyword">throws</strong> Exception
+<a name="221" href="#221">221</a>     {
+<a name="222" href="#222">222</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="227" href="#227">227</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="228" href="#228">228</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="229" href="#229">229</a> 
+<a name="230" href="#230">230</a>         MavenProject project = getMavenProjectStub();
+<a name="231" href="#231">231</a>         project.setDependencyArtifacts( artifacts );
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="234" href="#234">234</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"*;classifier=;type=jar;scope=compile,"</span>
+<a name="235" href="#235">235</a>             + <span class="jxr_string">"*;classifier=;type=jar;scope=runtime"</span> );
+<a name="236" href="#236">236</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="239" href="#239">239</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="242" href="#242">242</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"compile-1.0.jar,b-1.0.jar,runtime-1.0.jar"</span>, bcp );
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="245" href="#245">245</a>         assertEquals( <span class="jxr_string">"compile-1.0.jar;g=\&quot;g\&quot;;a=\&quot;compile\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"b-1.0.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="246" href="#246">246</a>             + <span class="jxr_string">"runtime-1.0.jar;g=\&quot;g\&quot;;a=\&quot;runtime\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="247" href="#247">247</a>     }
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyNegativeClauses() <strong class="jxr_keyword">throws</strong> Exception
+<a name="251" href="#251">251</a>     {
+<a name="252" href="#252">252</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="257" href="#257">257</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="258" href="#258">258</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>         MavenProject project = getMavenProjectStub();
+<a name="261" href="#261">261</a>         project.setDependencyArtifacts( artifacts );
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="264" href="#264">264</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"!type=jar, !artifactId=c"</span> );
+<a name="265" href="#265">265</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="268" href="#268">268</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="271" href="#271">271</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"e-1.0.rar,"</span> + <span class="jxr_string">"a-1.0.war,"</span> + <span class="jxr_string">"d-1.0.zip"</span>, bcp );
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="274" href="#274">274</a>         assertEquals( <span class="jxr_string">"e-1.0.rar;g=\&quot;g\&quot;;a=\&quot;e\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"a-1.0.war;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="275" href="#275">275</a>             + <span class="jxr_string">"d-1.0.zip;g=\&quot;g\&quot;;a=\&quot;d\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="276" href="#276">276</a>     }
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a> 
+<a name="279" href="#279">279</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyDuplicateKeys() <strong class="jxr_keyword">throws</strong> Exception
+<a name="280" href="#280">280</a>     {
+<a name="281" href="#281">281</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="282" href="#282">282</a> 
+<a name="283" href="#283">283</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="286" href="#286">286</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="287" href="#287">287</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="288" href="#288">288</a> 
+<a name="289" href="#289">289</a>         MavenProject project = getMavenProjectStub();
+<a name="290" href="#290">290</a>         project.setDependencyArtifacts( artifacts );
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="293" href="#293">293</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"c;type=jar,c;type=sources"</span> );
+<a name="294" href="#294">294</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="297" href="#297">297</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="300" href="#300">300</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"c-1.0-three.jar,"</span> + <span class="jxr_string">"c-1.0.sources"</span>, bcp );
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="303" href="#303">303</a>         assertEquals( <span class="jxr_string">"c-1.0-three.jar;g=\&quot;g\&quot;;a=\&quot;c\&quot;;v=\&quot;1.0\&quot;;c=\&quot;three\&quot;,"</span>
+<a name="304" href="#304">304</a>             + <span class="jxr_string">"c-1.0.sources;g=\&quot;g\&quot;;a=\&quot;c\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="305" href="#305">305</a>     }
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyMissingPositiveKey() <strong class="jxr_keyword">throws</strong> Exception
+<a name="309" href="#309">309</a>     {
+<a name="310" href="#310">310</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="311" href="#311">311</a> 
+<a name="312" href="#312">312</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="313" href="#313">313</a> 
+<a name="314" href="#314">314</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="315" href="#315">315</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="316" href="#316">316</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>         MavenProject project = getMavenProjectStub();
+<a name="319" href="#319">319</a>         project.setDependencyArtifacts( artifacts );
+<a name="320" href="#320">320</a> 
+<a name="321" href="#321">321</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="322" href="#322">322</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"artifactId=a|b"</span> );
+<a name="323" href="#323">323</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="324" href="#324">324</a> 
+<a name="325" href="#325">325</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="326" href="#326">326</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="327" href="#327">327</a> 
+<a name="328" href="#328">328</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="329" href="#329">329</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"a-1.0-one.jar,"</span> + <span class="jxr_string">"b-1.0-two.jar,"</span> + <span class="jxr_string">"a-1.0.war,"</span> + <span class="jxr_string">"b-1.0.jar"</span>, bcp );
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="332" href="#332">332</a>         assertEquals( <span class="jxr_string">"a-1.0-one.jar;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;;c=\&quot;one\&quot;,"</span>
+<a name="333" href="#333">333</a>             + <span class="jxr_string">"b-1.0-two.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;;c=\&quot;two\&quot;,"</span> + <span class="jxr_string">"a-1.0.war;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="334" href="#334">334</a>             + <span class="jxr_string">"b-1.0.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="335" href="#335">335</a>     }
+<a name="336" href="#336">336</a> 
+<a name="337" href="#337">337</a> 
+<a name="338" href="#338">338</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyMissingNegativeKey() <strong class="jxr_keyword">throws</strong> Exception
+<a name="339" href="#339">339</a>     {
+<a name="340" href="#340">340</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="341" href="#341">341</a> 
+<a name="342" href="#342">342</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="343" href="#343">343</a> 
+<a name="344" href="#344">344</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="345" href="#345">345</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="346" href="#346">346</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="347" href="#347">347</a> 
+<a name="348" href="#348">348</a>         MavenProject project = getMavenProjectStub();
+<a name="349" href="#349">349</a>         project.setDependencyArtifacts( artifacts );
+<a name="350" href="#350">350</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="351" href="#351">351</a> 
+<a name="352" href="#352">352</a>         Map instructions1 = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="353" href="#353">353</a>         instructions1.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"!scope=compile"</span> );
+<a name="354" href="#354">354</a>         Builder builder1 = plugin.buildOSGiBundle( project, instructions1, props, plugin.getClasspath( project ) );
+<a name="355" href="#355">355</a>         Manifest manifest1 = builder1.getJar().getManifest();
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a>         Map instructions2 = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="358" href="#358">358</a>         instructions2.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"scope=!compile"</span> );
+<a name="359" href="#359">359</a>         Builder builder2 = plugin.buildOSGiBundle( project, instructions2, props, plugin.getClasspath( project ) );
+<a name="360" href="#360">360</a>         Manifest manifest2 = builder2.getJar().getManifest();
+<a name="361" href="#361">361</a> 
+<a name="362" href="#362">362</a>         String bcp1 = manifest1.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="363" href="#363">363</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"test-1.0.jar,"</span> + <span class="jxr_string">"provided-1.0.jar,"</span> + <span class="jxr_string">"runtime-1.0.jar,"</span> + <span class="jxr_string">"system-1.0.jar"</span>, bcp1 );
+<a name="364" href="#364">364</a> 
+<a name="365" href="#365">365</a>         String eas1 = manifest1.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="366" href="#366">366</a>         assertEquals( <span class="jxr_string">"test-1.0.jar;g=\&quot;g\&quot;;a=\&quot;test\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="367" href="#367">367</a>             + <span class="jxr_string">"provided-1.0.jar;g=\&quot;g\&quot;;a=\&quot;provided\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"runtime-1.0.jar;g=\&quot;g\&quot;;a=\&quot;runtime\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="368" href="#368">368</a>             + <span class="jxr_string">"system-1.0.jar;g=\&quot;g\&quot;;a=\&quot;system\&quot;;v=\&quot;1.0\&quot;"</span>, eas1 );
+<a name="369" href="#369">369</a> 
+<a name="370" href="#370">370</a>         String bcp2 = manifest2.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="371" href="#371">371</a>         assertEquals( bcp1, bcp2 );
+<a name="372" href="#372">372</a> 
+<a name="373" href="#373">373</a>         String eas2 = manifest2.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="374" href="#374">374</a>         assertEquals( eas1, eas2 );
+<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>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPropertySanitizing() <strong class="jxr_keyword">throws</strong> Exception
+<a name="379" href="#379">379</a>     {
+<a name="380" href="#380">380</a>         MavenProject project = getMavenProjectStub();
+<a name="381" href="#381">381</a> 
+<a name="382" href="#382">382</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>         props.put( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"A"</span> ), <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"B"</span> ) );
+<a name="385" href="#385">385</a>         props.put( <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[4], <strong class="jxr_keyword">new</strong> HashMap( 2 ) );
+<a name="386" href="#386">386</a>         props.put( Arrays.asList( 1, <span class="jxr_string">"two"</span>, 3.0 ), <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">float</strong>[5] );
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>         props.put( <span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"B"</span> ) );
+<a name="389" href="#389">389</a>         props.put( <span class="jxr_string">"4"</span>, <strong class="jxr_keyword">new</strong> HashMap( 2 ) );
+<a name="390" href="#390">390</a>         props.put( <span class="jxr_string">"1, two, 3.0"</span>, <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[5] );
+<a name="391" href="#391">391</a> 
+<a name="392" href="#392">392</a>         Builder builder = plugin.getOSGiBuilder( project, <strong class="jxr_keyword">new</strong> HashMap(), props, plugin.getClasspath( project ) );
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>         File file = <strong class="jxr_keyword">new</strong> File( getBasedir(), <span class="jxr_string">"target"</span> + File.separatorChar + <span class="jxr_string">"test.props"</span> );
+<a name="395" href="#395">395</a>         builder.getProperties().store( <strong class="jxr_keyword">new</strong> FileOutputStream( file ), <span class="jxr_string">"TEST"</span> );
+<a name="396" href="#396">396</a>     }
+<a name="397" href="#397">397</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/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
index 7ecd151..63119ee 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.3.5 Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<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 223ce97..8d80e15 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.3.5 Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref-test/overview-frame.html b/bundleplugin/doc/site/xref-test/overview-frame.html
index 8aa06f0..a586ab9 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.3.5 Reference</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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 7d163ad..7f24bf5 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.3.5 Reference</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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.3.5 Reference</h2>
+		      	<h2>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</h2>
 
 		<table class="summary">
         	<thead>
diff --git a/bundleplugin/doc/site/xref/index.html b/bundleplugin/doc/site/xref/index.html
index b66913a..a3c1140 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.3.5 Reference</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
 	</head>
     <frameset cols="20%,80%">
 		<frameset rows="30%,70%">
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html
index 552f2f9..d8961e8 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html
@@ -30,219 +30,243 @@
 <a name="20" href="#20">20</a>  
 <a name="21" href="#21">21</a>  
 <a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
-<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
-<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
+<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
+<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="26" href="#26">26</a>  
-<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
-<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="29" href="#29">29</a>  
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Instruction;
-<a name="31" href="#31">31</a>  
-<a name="32" href="#32">32</a>  
-<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * Apply clause-based filter over given dependencies</em>
-<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
-<a name="39" href="#39">39</a>  {
-<a name="40" href="#40">40</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">     * Dependency artifacts.</em>
-<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="43" href="#43">43</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection m_dependencyArtifacts;
-<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> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>( Collection dependencyArtifacts )
-<a name="47" href="#47">47</a>      {
-<a name="48" href="#48">48</a>          m_dependencyArtifacts = dependencyArtifacts;
-<a name="49" href="#49">49</a>      }
-<a name="50" href="#50">50</a>  
-<a name="51" href="#51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>
-<a name="52" href="#52">52</a>      {
-<a name="53" href="#53">53</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Instruction m_instruction;
-<a name="54" href="#54">54</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String m_defaultValue;
-<a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>  
-<a name="57" href="#57">57</a>          <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( String expression )
-<a name="58" href="#58">58</a>          {
-<a name="59" href="#59">59</a>              <strong class="jxr_keyword">this</strong>( expression, <span class="jxr_string">""</span> );
-<a name="60" href="#60">60</a>          }
-<a name="61" href="#61">61</a>  
-<a name="62" href="#62">62</a>  
-<a name="63" href="#63">63</a>          <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( String expression, String defaultValue )
-<a name="64" href="#64">64</a>          {
-<a name="65" href="#65">65</a>              m_instruction = Instruction.getPattern( expression );
-<a name="66" href="#66">66</a>              m_defaultValue = defaultValue;
-<a name="67" href="#67">67</a>          }
-<a name="68" href="#68">68</a>  
-<a name="69" href="#69">69</a>  
-<a name="70" href="#70">70</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filter( Collection dependencies )
-<a name="71" href="#71">71</a>          {
-<a name="72" href="#72">72</a>              <strong class="jxr_keyword">for</strong> ( Iterator i = dependencies.iterator(); i.hasNext(); )
-<a name="73" href="#73">73</a>              {
-<a name="74" href="#74">74</a>                  <strong class="jxr_keyword">if</strong> ( false == matches( ( Artifact ) i.next() ) )
-<a name="75" href="#75">75</a>                  {
-<a name="76" href="#76">76</a>                      i.remove();
-<a name="77" href="#77">77</a>                  }
-<a name="78" href="#78">78</a>              }
-<a name="79" href="#79">79</a>          }
-<a name="80" href="#80">80</a>  
-<a name="81" href="#81">81</a>  
-<a name="82" href="#82">82</a>          <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency );
-<a name="83" href="#83">83</a>  
+<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.regex.Pattern;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Instruction;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.libg.header.OSGiHeader;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * Apply clause-based filter over given dependencies</em>
+<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
+<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
+<a name="41" href="#41">41</a>  {
+<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern MISSING_KEY_PATTERN = Pattern.compile( <span class="jxr_string">"(^|,)&#92;&#92;p{Blank}*(!)?&#92;&#92;p{Blank}*([a-zA-Z]+=)"</span> );
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     * Dependency artifacts.</em>
+<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="47" href="#47">47</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection m_dependencyArtifacts;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>( Collection dependencyArtifacts )
+<a name="51" href="#51">51</a>      {
+<a name="52" href="#52">52</a>          m_dependencyArtifacts = dependencyArtifacts;
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>
+<a name="56" href="#56">56</a>      {
+<a name="57" href="#57">57</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Instruction m_instruction;
+<a name="58" href="#58">58</a>          <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String m_defaultValue;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( String expression )
+<a name="62" href="#62">62</a>          {
+<a name="63" href="#63">63</a>              <strong class="jxr_keyword">this</strong>( expression, <span class="jxr_string">""</span> );
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( String expression, String defaultValue )
+<a name="68" href="#68">68</a>          {
+<a name="69" href="#69">69</a>              m_instruction = Instruction.getPattern( expression );
+<a name="70" href="#70">70</a>              m_defaultValue = defaultValue;
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filter( Collection dependencies )
+<a name="75" href="#75">75</a>          {
+<a name="76" href="#76">76</a>              <strong class="jxr_keyword">for</strong> ( Iterator i = dependencies.iterator(); i.hasNext(); )
+<a name="77" href="#77">77</a>              {
+<a name="78" href="#78">78</a>                  <strong class="jxr_keyword">if</strong> ( false == matches( ( Artifact ) i.next() ) )
+<a name="79" href="#79">79</a>                  {
+<a name="80" href="#80">80</a>                      i.remove();
+<a name="81" href="#81">81</a>                  }
+<a name="82" href="#82">82</a>              }
+<a name="83" href="#83">83</a>          }
 <a name="84" href="#84">84</a>  
-<a name="85" href="#85">85</a>          <strong class="jxr_keyword">boolean</strong> matches( String text )
-<a name="86" href="#86">86</a>          {
-<a name="87" href="#87">87</a>              <strong class="jxr_keyword">boolean</strong> result;
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency );
+<a name="87" href="#87">87</a>  
 <a name="88" href="#88">88</a>  
-<a name="89" href="#89">89</a>              <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == text )
-<a name="90" href="#90">90</a>              {
-<a name="91" href="#91">91</a>                  result = m_instruction.matches( m_defaultValue );
-<a name="92" href="#92">92</a>              }
-<a name="93" href="#93">93</a>              <strong class="jxr_keyword">else</strong>
+<a name="89" href="#89">89</a>          <strong class="jxr_keyword">boolean</strong> matches( String text )
+<a name="90" href="#90">90</a>          {
+<a name="91" href="#91">91</a>              <strong class="jxr_keyword">boolean</strong> result;
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>              <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == text )
 <a name="94" href="#94">94</a>              {
-<a name="95" href="#95">95</a>                  result = m_instruction.matches( text );
+<a name="95" href="#95">95</a>                  result = m_instruction.matches( m_defaultValue );
 <a name="96" href="#96">96</a>              }
-<a name="97" href="#97">97</a>  
-<a name="98" href="#98">98</a>              <strong class="jxr_keyword">return</strong> m_instruction.isNegated() ? !result : result;
-<a name="99" href="#99">99</a>          }
-<a name="100" href="#100">100</a>     }
+<a name="97" href="#97">97</a>              <strong class="jxr_keyword">else</strong>
+<a name="98" href="#98">98</a>              {
+<a name="99" href="#99">99</a>                  result = m_instruction.matches( text );
+<a name="100" href="#100">100</a>             }
 <a name="101" href="#101">101</a> 
-<a name="102" href="#102">102</a> 
-<a name="103" href="#103">103</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> processInstructions( Map instructions ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="104" href="#104">104</a>     {
-<a name="105" href="#105">105</a>         <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a> filter;
-<a name="106" href="#106">106</a>         <strong class="jxr_keyword">for</strong> ( Iterator clauseIterator = instructions.entrySet().iterator(); clauseIterator.hasNext(); )
-<a name="107" href="#107">107</a>         {
-<a name="108" href="#108">108</a>             String inline = <span class="jxr_string">"false"</span>;
-<a name="109" href="#109">109</a> 
-<a name="110" href="#110">110</a>             <em class="jxr_comment">// must use a fresh *modifiable* collection for each unique clause</em>
-<a name="111" href="#111">111</a>             Collection filteredDependencies = <strong class="jxr_keyword">new</strong> HashSet( m_dependencyArtifacts );
+<a name="102" href="#102">102</a>             <strong class="jxr_keyword">return</strong> m_instruction.isNegated() ? !result : result;
+<a name="103" href="#103">103</a>         }
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> processInstructions( String header ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="108" href="#108">108</a>     {
+<a name="109" href="#109">109</a>         Map instructions = OSGiHeader.parseHeader( MISSING_KEY_PATTERN.matcher( header ).replaceAll( <span class="jxr_string">"$1$2*;$3"</span> ) );
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         Collection availableDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( m_dependencyArtifacts );
 <a name="112" href="#112">112</a> 
-<a name="113" href="#113">113</a>             <em class="jxr_comment">// CLAUSE: REGEXP --&gt; { ATTRIBUTE MAP }</em>
-<a name="114" href="#114">114</a>             Map.Entry clause = ( Map.Entry ) clauseIterator.next();
-<a name="115" href="#115">115</a>             StringBuilder tag = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="116" href="#116">116</a>             tag.append( clause.getKey() );
+<a name="113" href="#113">113</a>         <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a> filter;
+<a name="114" href="#114">114</a>         <strong class="jxr_keyword">for</strong> ( Iterator clauseIterator = instructions.entrySet().iterator(); clauseIterator.hasNext(); )
+<a name="115" href="#115">115</a>         {
+<a name="116" href="#116">116</a>             String inline = <span class="jxr_string">"false"</span>;
 <a name="117" href="#117">117</a> 
-<a name="118" href="#118">118</a>             <strong class="jxr_keyword">if</strong> ( !( ( String ) clause.getKey() ).matches( <span class="jxr_string">"&#92;&#92;*~*"</span> ) )
-<a name="119" href="#119">119</a>             {
-<a name="120" href="#120">120</a>                 filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) clause.getKey() )
-<a name="121" href="#121">121</a>                 {
-<a name="122" href="#122">122</a>                     <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
-<a name="123" href="#123">123</a>                     {
-<a name="124" href="#124">124</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getArtifactId() );
-<a name="125" href="#125">125</a>                     }
-<a name="126" href="#126">126</a>                 };
-<a name="127" href="#127">127</a>                 <em class="jxr_comment">// FILTER ON MAIN CLAUSE</em>
-<a name="128" href="#128">128</a>                 filter.filter( filteredDependencies );
-<a name="129" href="#129">129</a>             }
-<a name="130" href="#130">130</a> 
-<a name="131" href="#131">131</a>             <strong class="jxr_keyword">for</strong> ( Iterator attrIterator = ( ( Map ) clause.getValue() ).entrySet().iterator(); attrIterator.hasNext(); )
-<a name="132" href="#132">132</a>             {
-<a name="133" href="#133">133</a>                 <em class="jxr_comment">// ATTRIBUTE: KEY --&gt; REGEXP</em>
-<a name="134" href="#134">134</a>                 Map.Entry attr = ( Map.Entry ) attrIterator.next();
-<a name="135" href="#135">135</a>                 tag.append( ';' ).append( attr );
-<a name="136" href="#136">136</a> 
-<a name="137" href="#137">137</a>                 <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"groupId"</span>.equals( attr.getKey() ) )
-<a name="138" href="#138">138</a>                 {
-<a name="139" href="#139">139</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue() )
-<a name="140" href="#140">140</a>                     {
-<a name="141" href="#141">141</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
-<a name="142" href="#142">142</a>                         {
-<a name="143" href="#143">143</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getGroupId() );
-<a name="144" href="#144">144</a>                         }
-<a name="145" href="#145">145</a>                     };
-<a name="146" href="#146">146</a>                 }
-<a name="147" href="#147">147</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"artifactId"</span>.equals( attr.getKey() ) )
+<a name="118" href="#118">118</a>             <em class="jxr_comment">// always start with a fresh *modifiable* collection for each unique clause</em>
+<a name="119" href="#119">119</a>             Collection filteredDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( availableDependencies );
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>             <em class="jxr_comment">// CLAUSE: REGEXP --&gt; { ATTRIBUTE MAP }</em>
+<a name="122" href="#122">122</a>             Map.Entry clause = ( Map.Entry ) clauseIterator.next();
+<a name="123" href="#123">123</a>             String primaryKey = ( ( String ) clause.getKey() ).replaceFirst( <span class="jxr_string">"~+$"</span>, <span class="jxr_string">""</span> );
+<a name="124" href="#124">124</a>             <strong class="jxr_keyword">boolean</strong> isNegative = primaryKey.startsWith( <span class="jxr_string">"!"</span> );
+<a name="125" href="#125">125</a>             <strong class="jxr_keyword">if</strong> ( isNegative )
+<a name="126" href="#126">126</a>             {
+<a name="127" href="#127">127</a>                 primaryKey = primaryKey.substring( 1 );
+<a name="128" href="#128">128</a>             }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>             <strong class="jxr_keyword">if</strong> ( !<span class="jxr_string">"*"</span>.equals( primaryKey ) )
+<a name="131" href="#131">131</a>             {
+<a name="132" href="#132">132</a>                 filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( primaryKey )
+<a name="133" href="#133">133</a>                 {
+<a name="134" href="#134">134</a>                     <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
+<a name="135" href="#135">135</a>                     {
+<a name="136" href="#136">136</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getArtifactId() );
+<a name="137" href="#137">137</a>                     }
+<a name="138" href="#138">138</a>                 };
+<a name="139" href="#139">139</a>                 <em class="jxr_comment">// FILTER ON MAIN CLAUSE</em>
+<a name="140" href="#140">140</a>                 filter.filter( filteredDependencies );
+<a name="141" href="#141">141</a>             }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>             <strong class="jxr_keyword">for</strong> ( Iterator attrIterator = ( ( Map ) clause.getValue() ).entrySet().iterator(); attrIterator.hasNext(); )
+<a name="144" href="#144">144</a>             {
+<a name="145" href="#145">145</a>                 <em class="jxr_comment">// ATTRIBUTE: KEY --&gt; REGEXP</em>
+<a name="146" href="#146">146</a>                 Map.Entry attr = ( Map.Entry ) attrIterator.next();
+<a name="147" href="#147">147</a>                 <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"groupId"</span>.equals( attr.getKey() ) )
 <a name="148" href="#148">148</a>                 {
 <a name="149" href="#149">149</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue() )
 <a name="150" href="#150">150</a>                     {
 <a name="151" href="#151">151</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
 <a name="152" href="#152">152</a>                         {
-<a name="153" href="#153">153</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getArtifactId() );
+<a name="153" href="#153">153</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getGroupId() );
 <a name="154" href="#154">154</a>                         }
 <a name="155" href="#155">155</a>                     };
 <a name="156" href="#156">156</a>                 }
-<a name="157" href="#157">157</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"version"</span>.equals( attr.getKey() ) )
+<a name="157" href="#157">157</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"artifactId"</span>.equals( attr.getKey() ) )
 <a name="158" href="#158">158</a>                 {
 <a name="159" href="#159">159</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue() )
 <a name="160" href="#160">160</a>                     {
 <a name="161" href="#161">161</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
 <a name="162" href="#162">162</a>                         {
-<a name="163" href="#163">163</a>                             <strong class="jxr_keyword">try</strong>
-<a name="164" href="#164">164</a>                             {
-<a name="165" href="#165">165</a>                                 <em class="jxr_comment">// use the symbolic version if available (ie. 1.0.0-SNAPSHOT)</em>
-<a name="166" href="#166">166</a>                                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getSelectedVersion().toString() );
-<a name="167" href="#167">167</a>                             }
-<a name="168" href="#168">168</a>                             <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="169" href="#169">169</a>                             {
-<a name="170" href="#170">170</a>                                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getVersion() );
-<a name="171" href="#171">171</a>                             }
-<a name="172" href="#172">172</a>                         }
-<a name="173" href="#173">173</a>                     };
-<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">"scope"</span>.equals( attr.getKey() ) )
-<a name="176" href="#176">176</a>                 {
-<a name="177" href="#177">177</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue(), <span class="jxr_string">"compile"</span> )
-<a name="178" href="#178">178</a>                     {
-<a name="179" href="#179">179</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
-<a name="180" href="#180">180</a>                         {
-<a name="181" href="#181">181</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getScope() );
+<a name="163" href="#163">163</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getArtifactId() );
+<a name="164" href="#164">164</a>                         }
+<a name="165" href="#165">165</a>                     };
+<a name="166" href="#166">166</a>                 }
+<a name="167" href="#167">167</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"version"</span>.equals( attr.getKey() ) )
+<a name="168" href="#168">168</a>                 {
+<a name="169" href="#169">169</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue() )
+<a name="170" href="#170">170</a>                     {
+<a name="171" href="#171">171</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
+<a name="172" href="#172">172</a>                         {
+<a name="173" href="#173">173</a>                             <strong class="jxr_keyword">try</strong>
+<a name="174" href="#174">174</a>                             {
+<a name="175" href="#175">175</a>                                 <em class="jxr_comment">// use the symbolic version if available (ie. 1.0.0-SNAPSHOT)</em>
+<a name="176" href="#176">176</a>                                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getSelectedVersion().toString() );
+<a name="177" href="#177">177</a>                             }
+<a name="178" href="#178">178</a>                             <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="179" href="#179">179</a>                             {
+<a name="180" href="#180">180</a>                                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getVersion() );
+<a name="181" href="#181">181</a>                             }
 <a name="182" href="#182">182</a>                         }
 <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">"type"</span>.equals( attr.getKey() ) )
+<a name="185" href="#185">185</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"scope"</span>.equals( attr.getKey() ) )
 <a name="186" href="#186">186</a>                 {
-<a name="187" href="#187">187</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue(), <span class="jxr_string">"jar"</span> )
+<a name="187" href="#187">187</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue(), <span class="jxr_string">"compile"</span> )
 <a name="188" href="#188">188</a>                     {
 <a name="189" href="#189">189</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
 <a name="190" href="#190">190</a>                         {
-<a name="191" href="#191">191</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getType() );
+<a name="191" href="#191">191</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getScope() );
 <a name="192" href="#192">192</a>                         }
 <a name="193" href="#193">193</a>                     };
 <a name="194" href="#194">194</a>                 }
-<a name="195" href="#195">195</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"classifier"</span>.equals( attr.getKey() ) )
+<a name="195" href="#195">195</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"type"</span>.equals( attr.getKey() ) )
 <a name="196" href="#196">196</a>                 {
-<a name="197" href="#197">197</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue() )
+<a name="197" href="#197">197</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue(), <span class="jxr_string">"jar"</span> )
 <a name="198" href="#198">198</a>                     {
 <a name="199" href="#199">199</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
 <a name="200" href="#200">200</a>                         {
-<a name="201" href="#201">201</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getClassifier() );
+<a name="201" href="#201">201</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getType() );
 <a name="202" href="#202">202</a>                         }
 <a name="203" href="#203">203</a>                     };
 <a name="204" href="#204">204</a>                 }
-<a name="205" href="#205">205</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"optional"</span>.equals( attr.getKey() ) )
+<a name="205" href="#205">205</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"classifier"</span>.equals( attr.getKey() ) )
 <a name="206" href="#206">206</a>                 {
-<a name="207" href="#207">207</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue(), <span class="jxr_string">"false"</span> )
+<a name="207" href="#207">207</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue() )
 <a name="208" href="#208">208</a>                     {
 <a name="209" href="#209">209</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
 <a name="210" href="#210">210</a>                         {
-<a name="211" href="#211">211</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( <span class="jxr_string">""</span> + dependency.isOptional() );
+<a name="211" href="#211">211</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( dependency.getClassifier() );
 <a name="212" href="#212">212</a>                         }
 <a name="213" href="#213">213</a>                     };
 <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">"inline"</span>.equals( attr.getKey() ) )
+<a name="215" href="#215">215</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"optional"</span>.equals( attr.getKey() ) )
 <a name="216" href="#216">216</a>                 {
-<a name="217" href="#217">217</a>                     inline = ( String ) attr.getValue();
-<a name="218" href="#218">218</a>                     <strong class="jxr_keyword">continue</strong>;
-<a name="219" href="#219">219</a>                 }
-<a name="220" href="#220">220</a>                 <strong class="jxr_keyword">else</strong>
-<a name="221" href="#221">221</a>                 {
-<a name="222" href="#222">222</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unexpected attribute "</span> + attr.getKey() );
-<a name="223" href="#223">223</a>                 }
-<a name="224" href="#224">224</a> 
-<a name="225" href="#225">225</a>                 <em class="jxr_comment">// FILTER ON EACH ATTRIBUTE</em>
-<a name="226" href="#226">226</a>                 filter.filter( filteredDependencies );
-<a name="227" href="#227">227</a>             }
-<a name="228" href="#228">228</a> 
-<a name="229" href="#229">229</a>             processDependencies( tag.toString(), inline, filteredDependencies );
-<a name="230" href="#230">230</a>         }
-<a name="231" href="#231">231</a>     }
-<a name="232" href="#232">232</a> 
-<a name="233" href="#233">233</a> 
-<a name="234" href="#234">234</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> processDependencies( String clause, String inline, Collection dependencies );
-<a name="235" href="#235">235</a> }
+<a name="217" href="#217">217</a>                     filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">DependencyFilter</a>( ( String ) attr.getValue(), <span class="jxr_string">"false"</span> )
+<a name="218" href="#218">218</a>                     {
+<a name="219" href="#219">219</a>                         <strong class="jxr_keyword">boolean</strong> matches( Artifact dependency )
+<a name="220" href="#220">220</a>                         {
+<a name="221" href="#221">221</a>                             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.matches( <span class="jxr_string">""</span> + dependency.isOptional() );
+<a name="222" href="#222">222</a>                         }
+<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> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"inline"</span>.equals( attr.getKey() ) )
+<a name="226" href="#226">226</a>                 {
+<a name="227" href="#227">227</a>                     inline = ( String ) attr.getValue();
+<a name="228" href="#228">228</a>                     <strong class="jxr_keyword">continue</strong>;
+<a name="229" href="#229">229</a>                 }
+<a name="230" href="#230">230</a>                 <strong class="jxr_keyword">else</strong>
+<a name="231" href="#231">231</a>                 {
+<a name="232" href="#232">232</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unexpected attribute "</span> + attr.getKey() );
+<a name="233" href="#233">233</a>                 }
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>                 <em class="jxr_comment">// FILTER ON EACH ATTRIBUTE</em>
+<a name="236" href="#236">236</a>                 filter.filter( filteredDependencies );
+<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">if</strong> ( isNegative )
+<a name="240" href="#240">240</a>             {
+<a name="241" href="#241">241</a>                 <em class="jxr_comment">// negative clauses reduce the set of available artifacts</em>
+<a name="242" href="#242">242</a>                 availableDependencies.removeAll( filteredDependencies );
+<a name="243" href="#243">243</a>                 <strong class="jxr_keyword">if</strong> ( !clauseIterator.hasNext() )
+<a name="244" href="#244">244</a>                 {
+<a name="245" href="#245">245</a>                     <em class="jxr_comment">// assume there's an implicit * missing at the end</em>
+<a name="246" href="#246">246</a>                     processDependencies( availableDependencies, inline );
+<a name="247" href="#247">247</a>                 }
+<a name="248" href="#248">248</a>             }
+<a name="249" href="#249">249</a>             <strong class="jxr_keyword">else</strong>
+<a name="250" href="#250">250</a>             {
+<a name="251" href="#251">251</a>                 <em class="jxr_comment">// positive clause; doesn't alter the available artifacts</em>
+<a name="252" href="#252">252</a>                 processDependencies( filteredDependencies, inline );
+<a name="253" href="#253">253</a>             }
+<a name="254" href="#254">254</a>         }
+<a name="255" href="#255">255</a>     }
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> processDependencies( Collection dependencies, String inline );
+<a name="259" href="#259">259</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/BundleAllPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundleAllPlugin.html
index 4133b19..196ee0d 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundleAllPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundleAllPlugin.html
@@ -281,13 +281,13 @@
 <a name="271" href="#271">271</a>                     childProject.setDependencyArtifacts( childProject.createArtifacts( m_factory, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong> ) );
 <a name="272" href="#272">272</a>                 }
 <a name="273" href="#273">273</a>             }
-<a name="274" href="#274">274</a>             <strong class="jxr_keyword">catch</strong> ( ProjectBuildingException e )
+<a name="274" href="#274">274</a>             <strong class="jxr_keyword">catch</strong> ( InvalidDependencyVersionException e )
 <a name="275" href="#275">275</a>             {
-<a name="276" href="#276">276</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to build project object for artifact "</span> + artifact, e );
+<a name="276" href="#276">276</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Invalid dependency version for artifact "</span> + artifact );
 <a name="277" href="#277">277</a>             }
-<a name="278" href="#278">278</a>             <strong class="jxr_keyword">catch</strong> ( InvalidDependencyVersionException e )
+<a name="278" href="#278">278</a>             <strong class="jxr_keyword">catch</strong> ( ProjectBuildingException e )
 <a name="279" href="#279">279</a>             {
-<a name="280" href="#280">280</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Invalid dependency version for artifact "</span> + artifact );
+<a name="280" href="#280">280</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to build project object for artifact "</span> + artifact, e );
 <a name="281" href="#281">281</a>             }
 <a name="282" href="#282">282</a> 
 <a name="283" href="#283">283</a>             childProject.setArtifact( artifact );
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 f067875..8d92a4c 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
@@ -35,1356 +35,1494 @@
 <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.Method;
-<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.Collection;
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
-<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
-<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
-<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Attributes;
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
-<a name="44" href="#44">44</a>  
-<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.ManifestSection;
-<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiveConfiguration;
-<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiver;
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.execution.MavenSession;
-<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.License;
-<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Model;
-<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
-<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
-<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
-<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProjectHelper;
-<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
-<a name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.Maven2OsgiConverter;
-<a name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.UnArchiver;
-<a name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.manager.ArchiverManager;
-<a name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.DirectoryScanner;
-<a name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
-<a name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
-<a name="67" href="#67">67</a>  
-<a name="68" href="#68">68</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="69" href="#69">69</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Constants;
-<a name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.EmbeddedResource;
-<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.FileResource;
-<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Processor;
-<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
-<a name="76" href="#76">76</a>  
+<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.StringUtils;
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
+<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
+<a name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Constants;
+<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.EmbeddedResource;
+<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.FileResource;
+<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
+<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Processor;
+<a name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
 <a name="77" href="#77">77</a>  
-<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment"> * Create an OSGi bundle from Maven project</em>
-<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> *</em>
-<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
-<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> * @phase package</em>
-<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
-<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="87" href="#87">87</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="88" href="#88">88</a>  {
-<a name="89" href="#89">89</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
-<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
-<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="94" href="#94">94</a>      <strong class="jxr_keyword">protected</strong> File manifestLocation;
-<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">     * File where the BND instructions will be dumped</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="${dumpInstructions}"</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 dumpInstructions;
-<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 class-path 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="${dumpClasspath}"</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 dumpClasspath;
-<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">     * When true, unpack the bundle contents to the outputDirectory</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="${unpackBundle}"</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> <strong class="jxr_keyword">boolean</strong> unpackBundle;
-<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">     * Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)</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="${excludeDependencies}"</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> String excludeDependencies;
-<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">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
-<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
-<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     *</em>
-<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     */</em>
-<a name="130" href="#130">130</a>     <strong class="jxr_keyword">protected</strong> String classifier;
-<a name="131" href="#131">131</a> 
-<a name="132" href="#132">132</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     */</em>
-<a name="135" href="#135">135</a>     <strong class="jxr_keyword">private</strong> MavenProjectHelper m_projectHelper;
-<a name="136" href="#136">136</a> 
-<a name="137" href="#137">137</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     */</em>
-<a name="140" href="#140">140</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
-<a name="141" href="#141">141</a> 
-<a name="142" href="#142">142</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     */</em>
-<a name="145" href="#145">145</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
-<a name="146" href="#146">146</a> 
-<a name="147" href="#147">147</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</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> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
-<a name="153" href="#153">153</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
-<a name="154" href="#154">154</a> 
-<a name="155" href="#155">155</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
-<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">     *</em>
-<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
-<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     */</em>
-<a name="161" href="#161">161</a>     <strong class="jxr_keyword">private</strong> File outputDirectory;
-<a name="162" href="#162">162</a> 
-<a name="163" href="#163">163</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     * The directory for the generated JAR.</em>
-<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     *</em>
-<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
-<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     */</em>
-<a name="169" href="#169">169</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
-<a name="170" href="#170">170</a> 
-<a name="171" href="#171">171</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
-<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     *</em>
-<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
-<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     */</em>
-<a name="178" href="#178">178</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
-<a name="179" href="#179">179</a> 
-<a name="180" href="#180">180</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
-<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     *</em>
-<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     */</em>
-<a name="185" href="#185">185</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="186" href="#186">186</a> 
-<a name="187" href="#187">187</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</em>
-<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     */</em>
-<a name="190" href="#190">190</a>     <strong class="jxr_keyword">private</strong> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
-<a name="191" href="#191">191</a> 
-<a name="192" href="#192">192</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     * The archive configuration to use.</em>
-<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     *</em>
-<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     */</em>
-<a name="197" href="#197">197</a>     <strong class="jxr_keyword">private</strong> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
-<a name="198" href="#198">198</a> 
-<a name="199" href="#199">199</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">     * @parameter default-value="${session}"</em>
-<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     */</em>
-<a name="204" href="#204">204</a>     <strong class="jxr_keyword">private</strong> MavenSession m_mavenSession;
-<a name="205" href="#205">205</a> 
-<a name="206" href="#206">206</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="207" href="#207">207</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="208" href="#208">208</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="209" href="#209">209</a> 
-<a name="210" href="#210">210</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="211" href="#211">211</a>         {};
-<a name="212" href="#212">212</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] DEFAULT_INCLUDES =
-<a name="213" href="#213">213</a>         { <span class="jxr_string">"**/**"</span> };
-<a name="214" href="#214">214</a> 
-<a name="215" href="#215">215</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="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> * Create an OSGi bundle from Maven project</em>
+<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> *</em>
+<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
+<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * @phase package</em>
+<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
+<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
+<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
+<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="88" href="#88">88</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="89" href="#89">89</a>  {
+<a name="90" href="#90">90</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
+<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
+<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="95" href="#95">95</a>      <strong class="jxr_keyword">protected</strong> File manifestLocation;
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     * File where the BND instructions will be dumped</em>
+<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpInstructions}"</em>
+<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     */</em>
+<a name="102" href="#102">102</a>     <strong class="jxr_keyword">protected</strong> File dumpInstructions;
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * File where the BND class-path will be dumped</em>
+<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     *</em>
+<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpClasspath}"</em>
+<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     */</em>
+<a name="109" href="#109">109</a>     <strong class="jxr_keyword">protected</strong> File dumpClasspath;
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     * When true, unpack the bundle contents to the outputDirectory</em>
+<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     *</em>
+<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * @parameter expression="${unpackBundle}"</em>
+<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     */</em>
+<a name="116" href="#116">116</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> unpackBundle;
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="119" href="#119">119</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="120" href="#120">120</a> <em class="jxr_javadoccomment">     *</em>
+<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * @parameter expression="${excludeDependencies}"</em>
+<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     */</em>
+<a name="123" href="#123">123</a>     <strong class="jxr_keyword">protected</strong> String excludeDependencies;
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
+<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
+<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     *</em>
+<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     */</em>
+<a name="131" href="#131">131</a>     <strong class="jxr_keyword">protected</strong> String classifier;
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * @component</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> MavenProjectHelper m_projectHelper;
+<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">     * @component</em>
+<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     */</em>
+<a name="141" href="#141">141</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     */</em>
+<a name="146" href="#146">146</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</em>
+<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     *</em>
+<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     */</em>
+<a name="153" href="#153">153</a>     <strong class="jxr_keyword">protected</strong> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
+<a name="154" href="#154">154</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
+<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     *</em>
+<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
+<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * @required</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> File outputDirectory;
+<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">     * The directory for the generated JAR.</em>
+<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     *</em>
+<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
+<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     */</em>
+<a name="170" href="#170">170</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
+<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     *</em>
+<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
+<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     */</em>
+<a name="179" href="#179">179</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
+<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     *</em>
+<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     */</em>
+<a name="186" href="#186">186</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</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> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
+<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 archive configuration to use.</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</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> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
+<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">     * @parameter default-value="${session}"</em>
+<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * @readonly</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> MavenSession m_mavenSession;
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</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="208" href="#208">208</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="209" href="#209">209</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="210" href="#210">210</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="211" href="#211">211</a> 
+<a name="212" href="#212">212</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="213" href="#213">213</a>         {};
+<a name="214" href="#214">214</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] DEFAULT_INCLUDES =
+<a name="215" href="#215">215</a>         { <span class="jxr_string">"**/**"</span> };
 <a name="216" href="#216">216</a> 
-<a name="217" href="#217">217</a> 
-<a name="218" href="#218">218</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
-<a name="219" href="#219">219</a>     {
-<a name="220" href="#220">220</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
-<a name="221" href="#221">221</a>     }
-<a name="222" href="#222">222</a> 
-<a name="223" href="#223">223</a> 
-<a name="224" href="#224">224</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
-<a name="225" href="#225">225</a>     {
-<a name="226" href="#226">226</a>         m_maven2OsgiConverter = maven2OsgiConverter;
-<a name="227" href="#227">227</a>     }
-<a name="228" href="#228">228</a> 
-<a name="229" href="#229">229</a> 
-<a name="230" href="#230">230</a>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
-<a name="231" href="#231">231</a>     {
-<a name="232" href="#232">232</a>         <strong class="jxr_keyword">return</strong> project;
-<a name="233" href="#233">233</a>     }
-<a name="234" href="#234">234</a> 
-<a name="235" href="#235">235</a> 
-<a name="236" href="#236">236</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
-<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">     */</em>
-<a name="239" href="#239">239</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="240" href="#240">240</a>     {
-<a name="241" href="#241">241</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="242" href="#242">242</a>         String projectType = getProject().getArtifact().getType();
-<a name="243" href="#243">243</a> 
-<a name="244" href="#244">244</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
-<a name="245" href="#245">245</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
-<a name="246" href="#246">246</a>         {
-<a name="247" href="#247">247</a>             getLog().warn(
-<a name="248" href="#248">248</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
-<a name="249" href="#249">249</a>             <strong class="jxr_keyword">return</strong>;
-<a name="250" href="#250">250</a>         }
-<a name="251" href="#251">251</a> 
-<a name="252" href="#252">252</a>         execute( getProject(), instructions, properties );
-<a name="253" href="#253">253</a>     }
-<a name="254" href="#254">254</a> 
-<a name="255" href="#255">255</a> 
-<a name="256" href="#256">256</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
-<a name="257" href="#257">257</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="258" href="#258">258</a>     {
-<a name="259" href="#259">259</a>         <strong class="jxr_keyword">try</strong>
-<a name="260" href="#260">260</a>         {
-<a name="261" href="#261">261</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
-<a name="262" href="#262">262</a>         }
-<a name="263" href="#263">263</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="264" href="#264">264</a>         {
-<a name="265" href="#265">265</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="266" href="#266">266</a>         }
-<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>     <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="271" href="#271">271</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
-<a name="272" href="#272">272</a>     {
-<a name="273" href="#273">273</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="274" href="#274">274</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
-<a name="275" href="#275">275</a>         {
-<a name="276" href="#276">276</a>             Map.Entry e = ( Map.Entry ) i.next();
-<a name="277" href="#277">277</a> 
-<a name="278" href="#278">278</a>             String key = ( String ) e.getKey();
-<a name="279" href="#279">279</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
-<a name="280" href="#280">280</a>             {
-<a name="281" href="#281">281</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
-<a name="282" href="#282">282</a>             }
-<a name="283" href="#283">283</a> 
-<a name="284" href="#284">284</a>             String value = ( String ) e.getValue();
-<a name="285" href="#285">285</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
-<a name="286" href="#286">286</a>             {
-<a name="287" href="#287">287</a>                 value = <span class="jxr_string">""</span>;
-<a name="288" href="#288">288</a>             }
-<a name="289" href="#289">289</a>             <strong class="jxr_keyword">else</strong>
-<a name="290" href="#290">290</a>             {
-<a name="291" href="#291">291</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="292" href="#292">292</a>             }
-<a name="293" href="#293">293</a> 
-<a name="294" href="#294">294</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
-<a name="295" href="#295">295</a>             {
-<a name="296" href="#296">296</a>                 <em class="jxr_comment">// provide useful default</em>
-<a name="297" href="#297">297</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
-<a name="298" href="#298">298</a>             }
-<a name="299" href="#299">299</a> 
-<a name="300" href="#300">300</a>             transformedInstructions.put( key, value );
-<a name="301" href="#301">301</a>         }
-<a name="302" href="#302">302</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
-<a name="303" href="#303">303</a>     }
-<a name="304" href="#304">304</a> 
-<a name="305" href="#305">305</a> 
-<a name="306" href="#306">306</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
-<a name="307" href="#307">307</a>     {
-<a name="308" href="#308">308</a>         List errors = analyzer.getErrors();
-<a name="309" href="#309">309</a>         List warnings = analyzer.getWarnings();
-<a name="310" href="#310">310</a> 
-<a name="311" href="#311">311</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
-<a name="312" href="#312">312</a>         {
-<a name="313" href="#313">313</a>             String msg = ( String ) w.next();
-<a name="314" href="#314">314</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="315" href="#315">315</a>         }
-<a name="316" href="#316">316</a> 
-<a name="317" href="#317">317</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
-<a name="318" href="#318">318</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
-<a name="319" href="#319">319</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
-<a name="320" href="#320">320</a>         {
-<a name="321" href="#321">321</a>             String msg = ( String ) e.next();
-<a name="322" href="#322">322</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
-<a name="323" href="#323">323</a>             {
-<a name="324" href="#324">324</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
-<a name="325" href="#325">325</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
-<a name="326" href="#326">326</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
-<a name="327" href="#327">327</a>             }
-<a name="328" href="#328">328</a>             <strong class="jxr_keyword">else</strong>
-<a name="329" href="#329">329</a>             {
-<a name="330" href="#330">330</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="331" href="#331">331</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
-<a name="332" href="#332">332</a>             }
-<a name="333" href="#333">333</a>         }
-<a name="334" href="#334">334</a>         <strong class="jxr_keyword">return</strong> hasErrors;
-<a name="335" href="#335">335</a>     }
-<a name="336" href="#336">336</a> 
-<a name="337" href="#337">337</a> 
-<a name="338" href="#338">338</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="339" href="#339">339</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="340" href="#340">340</a>     {
-<a name="341" href="#341">341</a>         <strong class="jxr_keyword">try</strong>
-<a name="342" href="#342">342</a>         {
-<a name="343" href="#343">343</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
-<a name="344" href="#344">344</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
-<a name="345" href="#345">345</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
-<a name="346" href="#346">346</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
-<a name="347" href="#347">347</a>             {
-<a name="348" href="#348">348</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="349" href="#349">349</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="350" href="#350">350</a>                 {
-<a name="351" href="#351">351</a>                     jarFile.delete();
-<a name="352" href="#352">352</a> 
-<a name="353" href="#353">353</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="354" href="#354">354</a>                 }
-<a name="355" href="#355">355</a>             }
-<a name="356" href="#356">356</a> 
-<a name="357" href="#357">357</a>             <em class="jxr_comment">// attach bundle to maven project</em>
-<a name="358" href="#358">358</a>             jarFile.getParentFile().mkdirs();
-<a name="359" href="#359">359</a>             builder.getJar().write( jarFile );
-<a name="360" href="#360">360</a> 
-<a name="361" href="#361">361</a>             Artifact mainArtifact = currentProject.getArtifact();
+<a name="217" href="#217">217</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="218" href="#218">218</a> 
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
+<a name="221" href="#221">221</a>     {
+<a name="222" href="#222">222</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
+<a name="223" href="#223">223</a>     }
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
+<a name="227" href="#227">227</a>     {
+<a name="228" href="#228">228</a>         m_maven2OsgiConverter = maven2OsgiConverter;
+<a name="229" href="#229">229</a>     }
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
+<a name="233" href="#233">233</a>     {
+<a name="234" href="#234">234</a>         <strong class="jxr_keyword">return</strong> project;
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
+<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     */</em>
+<a name="241" href="#241">241</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="242" href="#242">242</a>     {
+<a name="243" href="#243">243</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="244" href="#244">244</a>         String projectType = getProject().getArtifact().getType();
+<a name="245" href="#245">245</a> 
+<a name="246" href="#246">246</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
+<a name="247" href="#247">247</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
+<a name="248" href="#248">248</a>         {
+<a name="249" href="#249">249</a>             getLog().warn(
+<a name="250" href="#250">250</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
+<a name="251" href="#251">251</a>             <strong class="jxr_keyword">return</strong>;
+<a name="252" href="#252">252</a>         }
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>         execute( getProject(), instructions, properties );
+<a name="255" href="#255">255</a>     }
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
+<a name="259" href="#259">259</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="260" href="#260">260</a>     {
+<a name="261" href="#261">261</a>         <strong class="jxr_keyword">try</strong>
+<a name="262" href="#262">262</a>         {
+<a name="263" href="#263">263</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
+<a name="264" href="#264">264</a>         }
+<a name="265" href="#265">265</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="266" href="#266">266</a>         {
+<a name="267" href="#267">267</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="268" href="#268">268</a>         }
+<a name="269" href="#269">269</a>     }
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</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="273" href="#273">273</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
+<a name="274" href="#274">274</a>     {
+<a name="275" href="#275">275</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="276" href="#276">276</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
+<a name="277" href="#277">277</a>         {
+<a name="278" href="#278">278</a>             Map.Entry e = ( Map.Entry ) i.next();
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>             String key = ( String ) e.getKey();
+<a name="281" href="#281">281</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
+<a name="282" href="#282">282</a>             {
+<a name="283" href="#283">283</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
+<a name="284" href="#284">284</a>             }
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>             String value = ( String ) e.getValue();
+<a name="287" href="#287">287</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
+<a name="288" href="#288">288</a>             {
+<a name="289" href="#289">289</a>                 value = <span class="jxr_string">""</span>;
+<a name="290" href="#290">290</a>             }
+<a name="291" href="#291">291</a>             <strong class="jxr_keyword">else</strong>
+<a name="292" href="#292">292</a>             {
+<a name="293" href="#293">293</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="294" href="#294">294</a>             }
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
+<a name="297" href="#297">297</a>             {
+<a name="298" href="#298">298</a>                 <em class="jxr_comment">// provide useful default</em>
+<a name="299" href="#299">299</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
+<a name="300" href="#300">300</a>             }
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>             transformedInstructions.put( key, value );
+<a name="303" href="#303">303</a>         }
+<a name="304" href="#304">304</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
+<a name="305" href="#305">305</a>     }
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
+<a name="309" href="#309">309</a>     {
+<a name="310" href="#310">310</a>         List errors = analyzer.getErrors();
+<a name="311" href="#311">311</a>         List warnings = analyzer.getWarnings();
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
+<a name="314" href="#314">314</a>         {
+<a name="315" href="#315">315</a>             String msg = ( String ) w.next();
+<a name="316" href="#316">316</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="317" href="#317">317</a>         }
+<a name="318" href="#318">318</a> 
+<a name="319" href="#319">319</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
+<a name="320" href="#320">320</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
+<a name="321" href="#321">321</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
+<a name="322" href="#322">322</a>         {
+<a name="323" href="#323">323</a>             String msg = ( String ) e.next();
+<a name="324" href="#324">324</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
+<a name="325" href="#325">325</a>             {
+<a name="326" href="#326">326</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
+<a name="327" href="#327">327</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
+<a name="328" href="#328">328</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
+<a name="329" href="#329">329</a>             }
+<a name="330" href="#330">330</a>             <strong class="jxr_keyword">else</strong>
+<a name="331" href="#331">331</a>             {
+<a name="332" href="#332">332</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="333" href="#333">333</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
+<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">return</strong> hasErrors;
+<a name="337" href="#337">337</a>     }
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a> 
+<a name="340" href="#340">340</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="341" href="#341">341</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="342" href="#342">342</a>     {
+<a name="343" href="#343">343</a>         <strong class="jxr_keyword">try</strong>
+<a name="344" href="#344">344</a>         {
+<a name="345" href="#345">345</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
+<a name="346" href="#346">346</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
+<a name="347" href="#347">347</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
+<a name="348" href="#348">348</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="349" href="#349">349</a>             {
+<a name="350" href="#350">350</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
+<a name="351" href="#351">351</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
+<a name="352" href="#352">352</a>                 {
+<a name="353" href="#353">353</a>                     jarFile.delete();
+<a name="354" href="#354">354</a> 
+<a name="355" href="#355">355</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="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>             <em class="jxr_comment">// attach bundle to maven project</em>
+<a name="360" href="#360">360</a>             jarFile.getParentFile().mkdirs();
+<a name="361" href="#361">361</a>             builder.getJar().write( jarFile );
 <a name="362" href="#362">362</a> 
-<a name="363" href="#363">363</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
-<a name="364" href="#364">364</a>             {
-<a name="365" href="#365">365</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
-<a name="366" href="#366">366</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
-<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> ( <strong class="jxr_keyword">null</strong> == classifier || classifier.trim().length() == 0 )
-<a name="370" href="#370">370</a>             {
-<a name="371" href="#371">371</a>                 mainArtifact.setFile( jarFile );
-<a name="372" href="#372">372</a>             }
-<a name="373" href="#373">373</a>             <strong class="jxr_keyword">else</strong>
-<a name="374" href="#374">374</a>             {
-<a name="375" href="#375">375</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
-<a name="376" href="#376">376</a>             }
-<a name="377" href="#377">377</a> 
-<a name="378" href="#378">378</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
-<a name="379" href="#379">379</a>             {
-<a name="380" href="#380">380</a>                 unpackBundle( jarFile );
-<a name="381" href="#381">381</a>             }
-<a name="382" href="#382">382</a> 
-<a name="383" href="#383">383</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
-<a name="384" href="#384">384</a>             {
-<a name="385" href="#385">385</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
-<a name="386" href="#386">386</a> 
-<a name="387" href="#387">387</a>                 <strong class="jxr_keyword">try</strong>
-<a name="388" href="#388">388</a>                 {
-<a name="389" href="#389">389</a>                     Manifest manifest = builder.getJar().getManifest();
-<a name="390" href="#390">390</a>                     ManifestPlugin.writeManifest( manifest, outputFile );
-<a name="391" href="#391">391</a>                 }
-<a name="392" href="#392">392</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="393" href="#393">393</a>                 {
-<a name="394" href="#394">394</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="395" href="#395">395</a>                 }
-<a name="396" href="#396">396</a>             }
-<a name="397" href="#397">397</a> 
-<a name="398" href="#398">398</a>             <em class="jxr_comment">// cleanup...</em>
-<a name="399" href="#399">399</a>             builder.close();
-<a name="400" href="#400">400</a>         }
-<a name="401" href="#401">401</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="402" href="#402">402</a>         {
-<a name="403" href="#403">403</a>             getLog().error( e.getLocalizedMessage() );
-<a name="404" href="#404">404</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="405" href="#405">405</a>         }
-<a name="406" href="#406">406</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="407" href="#407">407</a>         {
-<a name="408" href="#408">408</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="409" href="#409">409</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="410" href="#410">410</a>         }
-<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">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="415" href="#415">415</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="416" href="#416">416</a>     {
-<a name="417" href="#417">417</a>         properties.putAll( getDefaultProperties( currentProject ) );
-<a name="418" href="#418">418</a>         properties.putAll( transformDirectives( originalInstructions ) );
-<a name="419" href="#419">419</a> 
-<a name="420" href="#420">420</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
-<a name="421" href="#421">421</a>         builder.setBase( getBase( currentProject ) );
-<a name="422" href="#422">422</a>         builder.setProperties( properties );
-<a name="423" href="#423">423</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
-<a name="424" href="#424">424</a>         {
-<a name="425" href="#425">425</a>             builder.setClasspath( classpath );
-<a name="426" href="#426">426</a>         }
-<a name="427" href="#427">427</a> 
-<a name="428" href="#428">428</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="429" href="#429">429</a>     }
-<a name="430" href="#430">430</a> 
-<a name="431" href="#431">431</a> 
-<a name="432" href="#432">432</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="433" href="#433">433</a>     {
-<a name="434" href="#434">434</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
-<a name="435" href="#435">435</a>         {
-<a name="436" href="#436">436</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
-<a name="437" href="#437">437</a>             includeMavenResources( currentProject, builder, getLog() );
-<a name="438" href="#438">438</a> 
-<a name="439" href="#439">439</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
-<a name="440" href="#440">440</a>             addLocalPackages( outputDirectory, builder );
-<a name="441" href="#441">441</a>         }
-<a name="442" href="#442">442</a> 
-<a name="443" href="#443">443</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
-<a name="444" href="#444">444</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
-<a name="445" href="#445">445</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
-<a name="446" href="#446">446</a> 
-<a name="447" href="#447">447</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="448" href="#448">448</a>         {
-<a name="449" href="#449">449</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="450" href="#450">450</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
-<a name="451" href="#451">451</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
-<a name="452" href="#452">452</a>             {
-<a name="453" href="#453">453</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
-<a name="454" href="#454">454</a>                 dumpInstructions.getParentFile().mkdirs();
-<a name="455" href="#455">455</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
-<a name="456" href="#456">456</a>             }
-<a name="457" href="#457">457</a>         }
+<a name="363" href="#363">363</a>             Artifact mainArtifact = currentProject.getArtifact();
+<a name="364" href="#364">364</a> 
+<a name="365" href="#365">365</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
+<a name="366" href="#366">366</a>             {
+<a name="367" href="#367">367</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
+<a name="368" href="#368">368</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
+<a name="369" href="#369">369</a>             }
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == classifier || classifier.trim().length() == 0 )
+<a name="372" href="#372">372</a>             {
+<a name="373" href="#373">373</a>                 mainArtifact.setFile( jarFile );
+<a name="374" href="#374">374</a>             }
+<a name="375" href="#375">375</a>             <strong class="jxr_keyword">else</strong>
+<a name="376" href="#376">376</a>             {
+<a name="377" href="#377">377</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
+<a name="378" href="#378">378</a>             }
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
+<a name="381" href="#381">381</a>             {
+<a name="382" href="#382">382</a>                 unpackBundle( jarFile );
+<a name="383" href="#383">383</a>             }
+<a name="384" href="#384">384</a> 
+<a name="385" href="#385">385</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
+<a name="386" href="#386">386</a>             {
+<a name="387" href="#387">387</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>                 <strong class="jxr_keyword">try</strong>
+<a name="390" href="#390">390</a>                 {
+<a name="391" href="#391">391</a>                     Manifest manifest = builder.getJar().getManifest();
+<a name="392" href="#392">392</a>                     ManifestPlugin.writeManifest( manifest, outputFile );
+<a name="393" href="#393">393</a>                 }
+<a name="394" href="#394">394</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="395" href="#395">395</a>                 {
+<a name="396" href="#396">396</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
+<a name="397" href="#397">397</a>                 }
+<a name="398" href="#398">398</a>             }
+<a name="399" href="#399">399</a> 
+<a name="400" href="#400">400</a>             <em class="jxr_comment">// cleanup...</em>
+<a name="401" href="#401">401</a>             builder.close();
+<a name="402" href="#402">402</a>         }
+<a name="403" href="#403">403</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
+<a name="404" href="#404">404</a>         {
+<a name="405" href="#405">405</a>             getLog().error( e.getLocalizedMessage() );
+<a name="406" href="#406">406</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="407" href="#407">407</a>         }
+<a name="408" href="#408">408</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="409" href="#409">409</a>         {
+<a name="410" href="#410">410</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
+<a name="411" href="#411">411</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="412" href="#412">412</a>         }
+<a name="413" href="#413">413</a>     }
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a> 
+<a name="416" href="#416">416</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="417" href="#417">417</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="418" href="#418">418</a>     {
+<a name="419" href="#419">419</a>         properties.putAll( getDefaultProperties( currentProject ) );
+<a name="420" href="#420">420</a>         properties.putAll( transformDirectives( originalInstructions ) );
+<a name="421" href="#421">421</a> 
+<a name="422" href="#422">422</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
+<a name="423" href="#423">423</a>         builder.setBase( getBase( currentProject ) );
+<a name="424" href="#424">424</a>         builder.setProperties( sanitize( properties ) );
+<a name="425" href="#425">425</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
+<a name="426" href="#426">426</a>         {
+<a name="427" href="#427">427</a>             builder.setClasspath( classpath );
+<a name="428" href="#428">428</a>         }
+<a name="429" href="#429">429</a> 
+<a name="430" href="#430">430</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="431" href="#431">431</a>     }
+<a name="432" href="#432">432</a> 
+<a name="433" href="#433">433</a> 
+<a name="434" href="#434">434</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
+<a name="435" href="#435">435</a>     {
+<a name="436" href="#436">436</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
+<a name="437" href="#437">437</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
+<a name="438" href="#438">438</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
+<a name="439" href="#439">439</a>         {
+<a name="440" href="#440">440</a>             Map.Entry entry = ( Map.Entry ) itr.next();
+<a name="441" href="#441">441</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
+<a name="442" href="#442">442</a>             {
+<a name="443" href="#443">443</a>                 String key = sanitize( entry.getKey() );
+<a name="444" href="#444">444</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
+<a name="445" href="#445">445</a>                 {
+<a name="446" href="#446">446</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
+<a name="447" href="#447">447</a>                 }
+<a name="448" href="#448">448</a>                 itr.remove();
+<a name="449" href="#449">449</a>             }
+<a name="450" href="#450">450</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
+<a name="451" href="#451">451</a>             {
+<a name="452" href="#452">452</a>                 entry.setValue( sanitize( entry.getValue() ) );
+<a name="453" href="#453">453</a>             }
+<a name="454" href="#454">454</a>         }
+<a name="455" href="#455">455</a>         properties.putAll( sanitizedEntries );
+<a name="456" href="#456">456</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="457" href="#457">457</a>     }
 <a name="458" href="#458">458</a> 
-<a name="459" href="#459">459</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="460" href="#460">460</a>         {
-<a name="461" href="#461">461</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="462" href="#462">462</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
-<a name="463" href="#463">463</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
-<a name="464" href="#464">464</a>             {
-<a name="465" href="#465">465</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
-<a name="466" href="#466">466</a>                 dumpClasspath.getParentFile().mkdirs();
-<a name="467" href="#467">467</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
-<a name="468" href="#468">468</a>             }
-<a name="469" href="#469">469</a>         }
-<a name="470" href="#470">470</a>     }
-<a name="471" href="#471">471</a> 
-<a name="472" href="#472">472</a> 
-<a name="473" href="#473">473</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="474" href="#474">474</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="475" href="#475">475</a>     {
-<a name="476" href="#476">476</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
-<a name="477" href="#477">477</a> 
-<a name="478" href="#478">478</a>         addMavenInstructions( currentProject, builder );
-<a name="479" href="#479">479</a> 
-<a name="480" href="#480">480</a>         builder.build();
-<a name="481" href="#481">481</a> 
-<a name="482" href="#482">482</a>         mergeMavenManifest( currentProject, builder );
-<a name="483" href="#483">483</a> 
-<a name="484" href="#484">484</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="485" href="#485">485</a>     }
-<a name="486" href="#486">486</a> 
-<a name="487" href="#487">487</a> 
-<a name="488" href="#488">488</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
-<a name="489" href="#489">489</a>     {
-<a name="490" href="#490">490</a>         <strong class="jxr_keyword">try</strong>
-<a name="491" href="#491">491</a>         {
-<a name="492" href="#492">492</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="493" href="#493">493</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="494" href="#494">494</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
-<a name="495" href="#495">495</a>             {
-<a name="496" href="#496">496</a>                 <em class="jxr_comment">// we can only store String properties</em>
-<a name="497" href="#497">497</a>                 String key = ( String ) e.nextElement();
-<a name="498" href="#498">498</a>                 String value = properties.getProperty( key );
-<a name="499" href="#499">499</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
-<a name="500" href="#500">500</a>                 {
-<a name="501" href="#501">501</a>                     stringProperties.setProperty( key, value );
-<a name="502" href="#502">502</a>                 }
-<a name="503" href="#503">503</a>             }
-<a name="504" href="#504">504</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="505" href="#505">505</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
-<a name="506" href="#506">506</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
-<a name="507" href="#507">507</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="508" href="#508">508</a>         }
-<a name="509" href="#509">509</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="510" href="#510">510</a>         {
-<a name="511" href="#511">511</a>             <em class="jxr_comment">// ignore...</em>
-<a name="512" href="#512">512</a>         }
-<a name="513" href="#513">513</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="514" href="#514">514</a>     }
-<a name="515" href="#515">515</a> 
-<a name="516" href="#516">516</a> 
-<a name="517" href="#517">517</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
-<a name="518" href="#518">518</a>     {
-<a name="519" href="#519">519</a>         <strong class="jxr_keyword">try</strong>
-<a name="520" href="#520">520</a>         {
-<a name="521" href="#521">521</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="522" href="#522">522</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
-<a name="523" href="#523">523</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
-<a name="524" href="#524">524</a>             {
-<a name="525" href="#525">525</a>                 File path = ( ( Jar ) i.next() ).getSource();
-<a name="526" href="#526">526</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
-<a name="527" href="#527">527</a>                 {
-<a name="528" href="#528">528</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
-<a name="529" href="#529">529</a>                 }
-<a name="530" href="#530">530</a>             }
-<a name="531" href="#531">531</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="532" href="#532">532</a>         }
-<a name="533" href="#533">533</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="534" href="#534">534</a>         {
-<a name="535" href="#535">535</a>             <em class="jxr_comment">// ignore...</em>
-<a name="536" href="#536">536</a>         }
-<a name="537" href="#537">537</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="538" href="#538">538</a>     }
-<a name="539" href="#539">539</a> 
-<a name="540" href="#540">540</a> 
-<a name="541" href="#541">541</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
-<a name="542" href="#542">542</a>     {
-<a name="543" href="#543">543</a>         <strong class="jxr_keyword">try</strong>
-<a name="544" href="#544">544</a>         {
-<a name="545" href="#545">545</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="546" href="#546">546</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="547" href="#547">547</a>             manifest.write( out ); <em class="jxr_comment">// manifest encoding is UTF8</em>
-<a name="548" href="#548">548</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
-<a name="549" href="#549">549</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="550" href="#550">550</a>         }
-<a name="551" href="#551">551</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="552" href="#552">552</a>         {
-<a name="553" href="#553">553</a>             <em class="jxr_comment">// ignore...</em>
-<a name="554" href="#554">554</a>         }
-<a name="555" href="#555">555</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="556" href="#556">556</a>     }
-<a name="557" href="#557">557</a> 
-<a name="558" href="#558">558</a> 
-<a name="559" href="#559">559</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="560" href="#560">560</a>     {
-<a name="561" href="#561">561</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
-<a name="562" href="#562">562</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject );
-<a name="563" href="#563">563</a>         <strong class="jxr_keyword">final</strong> String includeResource = ( String ) analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="564" href="#564">564</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
-<a name="565" href="#565">565</a>         {
-<a name="566" href="#566">566</a>             <strong class="jxr_keyword">if</strong> ( includeResource.indexOf( MAVEN_RESOURCES ) &gt;= 0 )
-<a name="567" href="#567">567</a>             {
-<a name="568" href="#568">568</a>                 <em class="jxr_comment">// if there is no maven resource path, we do a special treatment and replace</em>
-<a name="569" href="#569">569</a>                 <em class="jxr_comment">// every occurance of MAVEN_RESOURCES and a following comma with an empty string</em>
-<a name="570" href="#570">570</a>                 <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() == 0 )
-<a name="571" href="#571">571</a>                 {
-<a name="572" href="#572">572</a>                     String cleanedResource = removeTagFromInstruction( includeResource, MAVEN_RESOURCES );
-<a name="573" href="#573">573</a>                     <strong class="jxr_keyword">if</strong> ( cleanedResource.length() &gt; 0 )
-<a name="574" href="#574">574</a>                     {
-<a name="575" href="#575">575</a>                         analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, cleanedResource );
-<a name="576" href="#576">576</a>                     }
-<a name="577" href="#577">577</a>                     <strong class="jxr_keyword">else</strong>
-<a name="578" href="#578">578</a>                     {
-<a name="579" href="#579">579</a>                         analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="580" href="#580">580</a>                     }
-<a name="581" href="#581">581</a>                 }
-<a name="582" href="#582">582</a>                 <strong class="jxr_keyword">else</strong>
-<a name="583" href="#583">583</a>                 {
-<a name="584" href="#584">584</a>                     String combinedResource = StringUtils
-<a name="585" href="#585">585</a>                         .replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
-<a name="586" href="#586">586</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
-<a name="587" href="#587">587</a>                 }
-<a name="588" href="#588">588</a>             }
-<a name="589" href="#589">589</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="459" href="#459">459</a> 
+<a name="460" href="#460">460</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
+<a name="461" href="#461">461</a>     {
+<a name="462" href="#462">462</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
+<a name="463" href="#463">463</a>         {
+<a name="464" href="#464">464</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
+<a name="465" href="#465">465</a>         }
+<a name="466" href="#466">466</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
+<a name="467" href="#467">467</a>         {
+<a name="468" href="#468">468</a>             String delim = <span class="jxr_string">""</span>;
+<a name="469" href="#469">469</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="470" href="#470">470</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
+<a name="471" href="#471">471</a>             {
+<a name="472" href="#472">472</a>                 buf.append( delim ).append( i );
+<a name="473" href="#473">473</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="474" href="#474">474</a>             }
+<a name="475" href="#475">475</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="476" href="#476">476</a>         }
+<a name="477" href="#477">477</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
+<a name="478" href="#478">478</a>         {
+<a name="479" href="#479">479</a>             String delim = <span class="jxr_string">""</span>;
+<a name="480" href="#480">480</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="481" href="#481">481</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="482" href="#482">482</a>             {
+<a name="483" href="#483">483</a>                 buf.append( delim ).append( Array.get( value, i ) );
+<a name="484" href="#484">484</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="485" href="#485">485</a>             }
+<a name="486" href="#486">486</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="487" href="#487">487</a>         }
+<a name="488" href="#488">488</a>         <strong class="jxr_keyword">else</strong>
+<a name="489" href="#489">489</a>         {
+<a name="490" href="#490">490</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
+<a name="491" href="#491">491</a>         }
+<a name="492" href="#492">492</a>     }
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a> 
+<a name="495" href="#495">495</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="496" href="#496">496</a>     {
+<a name="497" href="#497">497</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
+<a name="498" href="#498">498</a>         {
+<a name="499" href="#499">499</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
+<a name="500" href="#500">500</a>             includeMavenResources( currentProject, builder, getLog() );
+<a name="501" href="#501">501</a> 
+<a name="502" href="#502">502</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
+<a name="503" href="#503">503</a>             addLocalPackages( outputDirectory, builder );
+<a name="504" href="#504">504</a> 
+<a name="505" href="#505">505</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
+<a name="506" href="#506">506</a>             addMavenSourcePath( currentProject, builder, getLog() );
+<a name="507" href="#507">507</a>         }
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
+<a name="510" href="#510">510</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
+<a name="511" href="#511">511</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
+<a name="512" href="#512">512</a> 
+<a name="513" href="#513">513</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
+<a name="514" href="#514">514</a>         {
+<a name="515" href="#515">515</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="516" href="#516">516</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
+<a name="517" href="#517">517</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
+<a name="518" href="#518">518</a>             {
+<a name="519" href="#519">519</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
+<a name="520" href="#520">520</a>                 dumpInstructions.getParentFile().mkdirs();
+<a name="521" href="#521">521</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
+<a name="522" href="#522">522</a>             }
+<a name="523" href="#523">523</a>         }
+<a name="524" href="#524">524</a> 
+<a name="525" href="#525">525</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
+<a name="526" href="#526">526</a>         {
+<a name="527" href="#527">527</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="528" href="#528">528</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
+<a name="529" href="#529">529</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
+<a name="530" href="#530">530</a>             {
+<a name="531" href="#531">531</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
+<a name="532" href="#532">532</a>                 dumpClasspath.getParentFile().mkdirs();
+<a name="533" href="#533">533</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
+<a name="534" href="#534">534</a>             }
+<a name="535" href="#535">535</a>         }
+<a name="536" href="#536">536</a>     }
+<a name="537" href="#537">537</a> 
+<a name="538" href="#538">538</a> 
+<a name="539" href="#539">539</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="540" href="#540">540</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="541" href="#541">541</a>     {
+<a name="542" href="#542">542</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
+<a name="543" href="#543">543</a> 
+<a name="544" href="#544">544</a>         addMavenInstructions( currentProject, builder );
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a>         builder.build();
+<a name="547" href="#547">547</a> 
+<a name="548" href="#548">548</a>         mergeMavenManifest( currentProject, builder );
+<a name="549" href="#549">549</a> 
+<a name="550" href="#550">550</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="551" href="#551">551</a>     }
+<a name="552" href="#552">552</a> 
+<a name="553" href="#553">553</a> 
+<a name="554" href="#554">554</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
+<a name="555" href="#555">555</a>     {
+<a name="556" href="#556">556</a>         <strong class="jxr_keyword">try</strong>
+<a name="557" href="#557">557</a>         {
+<a name="558" href="#558">558</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="559" href="#559">559</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="560" href="#560">560</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
+<a name="561" href="#561">561</a>             {
+<a name="562" href="#562">562</a>                 <em class="jxr_comment">// we can only store String properties</em>
+<a name="563" href="#563">563</a>                 String key = ( String ) e.nextElement();
+<a name="564" href="#564">564</a>                 String value = properties.getProperty( key );
+<a name="565" href="#565">565</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
+<a name="566" href="#566">566</a>                 {
+<a name="567" href="#567">567</a>                     stringProperties.setProperty( key, value );
+<a name="568" href="#568">568</a>                 }
+<a name="569" href="#569">569</a>             }
+<a name="570" href="#570">570</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="571" href="#571">571</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
+<a name="572" href="#572">572</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
+<a name="573" href="#573">573</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="574" href="#574">574</a>         }
+<a name="575" href="#575">575</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="576" href="#576">576</a>         {
+<a name="577" href="#577">577</a>             <em class="jxr_comment">// ignore...</em>
+<a name="578" href="#578">578</a>         }
+<a name="579" href="#579">579</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="580" href="#580">580</a>     }
+<a name="581" href="#581">581</a> 
+<a name="582" href="#582">582</a> 
+<a name="583" href="#583">583</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
+<a name="584" href="#584">584</a>     {
+<a name="585" href="#585">585</a>         <strong class="jxr_keyword">try</strong>
+<a name="586" href="#586">586</a>         {
+<a name="587" href="#587">587</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="588" href="#588">588</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
+<a name="589" href="#589">589</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
 <a name="590" href="#590">590</a>             {
-<a name="591" href="#591">591</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
-<a name="592" href="#592">592</a>                     + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
-<a name="593" href="#593">593</a>             }
-<a name="594" href="#594">594</a>         }
-<a name="595" href="#595">595</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="596" href="#596">596</a>         {
-<a name="597" href="#597">597</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
+<a name="591" href="#591">591</a>                 File path = ( ( Jar ) i.next() ).getSource();
+<a name="592" href="#592">592</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
+<a name="593" href="#593">593</a>                 {
+<a name="594" href="#594">594</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
+<a name="595" href="#595">595</a>                 }
+<a name="596" href="#596">596</a>             }
+<a name="597" href="#597">597</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
 <a name="598" href="#598">598</a>         }
-<a name="599" href="#599">599</a>     }
-<a name="600" href="#600">600</a> 
-<a name="601" href="#601">601</a> 
-<a name="602" href="#602">602</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="603" href="#603">603</a>     {
-<a name="604" href="#604">604</a>         Jar jar = builder.getJar();
+<a name="599" href="#599">599</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="600" href="#600">600</a>         {
+<a name="601" href="#601">601</a>             <em class="jxr_comment">// ignore...</em>
+<a name="602" href="#602">602</a>         }
+<a name="603" href="#603">603</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="604" href="#604">604</a>     }
 <a name="605" href="#605">605</a> 
-<a name="606" href="#606">606</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="607" href="#607">607</a>         {
-<a name="608" href="#608">608</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="609" href="#609">609</a>         }
-<a name="610" href="#610">610</a> 
-<a name="611" href="#611">611</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
-<a name="612" href="#612">612</a> 
-<a name="613" href="#613">613</a>         <strong class="jxr_keyword">try</strong>
-<a name="614" href="#614">614</a>         {
-<a name="615" href="#615">615</a>             <em class="jxr_comment">/*</em>
-<a name="616" href="#616">616</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
-<a name="617" href="#617">617</a> <em class="jxr_comment">             */</em>
-<a name="618" href="#618">618</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
-<a name="619" href="#619">619</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
-<a name="620" href="#620">620</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
-<a name="621" href="#621">621</a> 
-<a name="622" href="#622">622</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="606" href="#606">606</a> 
+<a name="607" href="#607">607</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
+<a name="608" href="#608">608</a>     {
+<a name="609" href="#609">609</a>         <strong class="jxr_keyword">try</strong>
+<a name="610" href="#610">610</a>         {
+<a name="611" href="#611">611</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="612" href="#612">612</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="613" href="#613">613</a>             Jar.writeManifest( manifest, out ); <em class="jxr_comment">// manifest encoding is UTF8</em>
+<a name="614" href="#614">614</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
+<a name="615" href="#615">615</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="616" href="#616">616</a>         }
+<a name="617" href="#617">617</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="618" href="#618">618</a>         {
+<a name="619" href="#619">619</a>             <em class="jxr_comment">// ignore...</em>
+<a name="620" href="#620">620</a>         }
+<a name="621" href="#621">621</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="622" href="#622">622</a>     }
 <a name="623" href="#623">623</a> 
-<a name="624" href="#624">624</a>             <em class="jxr_comment">// First grab the external manifest file (if specified)</em>
-<a name="625" href="#625">625</a>             File externalManifestFile = archiveConfig.getManifestFile();
-<a name="626" href="#626">626</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile &amp;&amp; externalManifestFile.exists() )
-<a name="627" href="#627">627</a>             {
-<a name="628" href="#628">628</a>                 InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
-<a name="629" href="#629">629</a>                 mavenManifest.read( mis );
-<a name="630" href="#630">630</a>                 mis.close();
-<a name="631" href="#631">631</a>             }
-<a name="632" href="#632">632</a> 
-<a name="633" href="#633">633</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
-<a name="634" href="#634">634</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
-<a name="635" href="#635">635</a> 
-<a name="636" href="#636">636</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
-<a name="637" href="#637">637</a>             {
-<a name="638" href="#638">638</a>                 <em class="jxr_comment">/*</em>
-<a name="639" href="#639">639</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
-<a name="640" href="#640">640</a> <em class="jxr_comment">                 */</em>
-<a name="641" href="#641">641</a>                 List sections = archiveConfig.getManifestSections();
-<a name="642" href="#642">642</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
-<a name="643" href="#643">643</a>                 {
-<a name="644" href="#644">644</a>                     ManifestSection section = ( ManifestSection ) i.next();
-<a name="645" href="#645">645</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
-<a name="646" href="#646">646</a> 
-<a name="647" href="#647">647</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
-<a name="648" href="#648">648</a>                     {
-<a name="649" href="#649">649</a>                         Map entries = section.getManifestEntries();
-<a name="650" href="#650">650</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
-<a name="651" href="#651">651</a>                         {
-<a name="652" href="#652">652</a>                             Map.Entry entry = ( Map.Entry ) j.next();
-<a name="653" href="#653">653</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
-<a name="654" href="#654">654</a>                         }
-<a name="655" href="#655">655</a>                     }
-<a name="656" href="#656">656</a> 
-<a name="657" href="#657">657</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
-<a name="658" href="#658">658</a>                 }
+<a name="624" href="#624">624</a> 
+<a name="625" href="#625">625</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="626" href="#626">626</a>     {
+<a name="627" href="#627">627</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
+<a name="628" href="#628">628</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject );
+<a name="629" href="#629">629</a>         <strong class="jxr_keyword">final</strong> String includeResource = ( String ) analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="630" href="#630">630</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
+<a name="631" href="#631">631</a>         {
+<a name="632" href="#632">632</a>             <strong class="jxr_keyword">if</strong> ( includeResource.indexOf( MAVEN_RESOURCES ) &gt;= 0 )
+<a name="633" href="#633">633</a>             {
+<a name="634" href="#634">634</a>                 <em class="jxr_comment">// if there is no maven resource path, we do a special treatment and replace</em>
+<a name="635" href="#635">635</a>                 <em class="jxr_comment">// every occurance of MAVEN_RESOURCES and a following comma with an empty string</em>
+<a name="636" href="#636">636</a>                 <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() == 0 )
+<a name="637" href="#637">637</a>                 {
+<a name="638" href="#638">638</a>                     String cleanedResource = removeTagFromInstruction( includeResource, MAVEN_RESOURCES );
+<a name="639" href="#639">639</a>                     <strong class="jxr_keyword">if</strong> ( cleanedResource.length() &gt; 0 )
+<a name="640" href="#640">640</a>                     {
+<a name="641" href="#641">641</a>                         analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, cleanedResource );
+<a name="642" href="#642">642</a>                     }
+<a name="643" href="#643">643</a>                     <strong class="jxr_keyword">else</strong>
+<a name="644" href="#644">644</a>                     {
+<a name="645" href="#645">645</a>                         analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="646" href="#646">646</a>                     }
+<a name="647" href="#647">647</a>                 }
+<a name="648" href="#648">648</a>                 <strong class="jxr_keyword">else</strong>
+<a name="649" href="#649">649</a>                 {
+<a name="650" href="#650">650</a>                     String combinedResource = StringUtils
+<a name="651" href="#651">651</a>                         .replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
+<a name="652" href="#652">652</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
+<a name="653" href="#653">653</a>                 }
+<a name="654" href="#654">654</a>             }
+<a name="655" href="#655">655</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="656" href="#656">656</a>             {
+<a name="657" href="#657">657</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
+<a name="658" href="#658">658</a>                     + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
 <a name="659" href="#659">659</a>             }
-<a name="660" href="#660">660</a> 
-<a name="661" href="#661">661</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
-<a name="662" href="#662">662</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
-<a name="663" href="#663">663</a> 
-<a name="664" href="#664">664</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
-<a name="665" href="#665">665</a> 
-<a name="666" href="#666">666</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
-<a name="667" href="#667">667</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
-<a name="668" href="#668">668</a>             {
-<a name="669" href="#669">669</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
-<a name="670" href="#670">670</a>                 {
-<a name="671" href="#671">671</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
-<a name="672" href="#672">672</a>                     {
-<a name="673" href="#673">673</a>                         j.remove();
-<a name="674" href="#674">674</a>                     }
-<a name="675" href="#675">675</a>                 }
-<a name="676" href="#676">676</a>             }
-<a name="677" href="#677">677</a> 
-<a name="678" href="#678">678</a>             <em class="jxr_comment">/*</em>
-<a name="679" href="#679">679</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
-<a name="680" href="#680">680</a> <em class="jxr_comment">             */</em>
-<a name="681" href="#681">681</a>             Manifest bundleManifest = jar.getManifest();
-<a name="682" href="#682">682</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
-<a name="683" href="#683">683</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
-<a name="684" href="#684">684</a> 
-<a name="685" href="#685">685</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
-<a name="686" href="#686">686</a>             <em class="jxr_comment">// optional resolution.</em>
-<a name="687" href="#687">687</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
-<a name="688" href="#688">688</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
-<a name="689" href="#689">689</a>             {
-<a name="690" href="#690">690</a>                 Set optionalPackages = getOptionalPackages( currentProject );
-<a name="691" href="#691">691</a> 
-<a name="692" href="#692">692</a>                 Map&lt;String, Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
-<a name="693" href="#693">693</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Map&lt;String, String&gt;&gt; entry : values.entrySet() )
-<a name="694" href="#694">694</a>                 {
-<a name="695" href="#695">695</a>                     String pkg = entry.getKey();
-<a name="696" href="#696">696</a>                     Map&lt;String, String&gt; options = entry.getValue();
-<a name="697" href="#697">697</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
-<a name="698" href="#698">698</a>                     {
-<a name="699" href="#699">699</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
-<a name="700" href="#700">700</a>                     }
-<a name="701" href="#701">701</a>                 }
-<a name="702" href="#702">702</a>                 String result = Processor.printClauses( values, <span class="jxr_string">"resolution:"</span> );
-<a name="703" href="#703">703</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
-<a name="704" href="#704">704</a>             }
-<a name="705" href="#705">705</a> 
-<a name="706" href="#706">706</a>             jar.setManifest( bundleManifest );
-<a name="707" href="#707">707</a>         }
-<a name="708" href="#708">708</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="709" href="#709">709</a>         {
-<a name="710" href="#710">710</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
-<a name="711" href="#711">711</a>         }
-<a name="712" href="#712">712</a> 
-<a name="713" href="#713">713</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
-<a name="714" href="#714">714</a>         {
-<a name="715" href="#715">715</a>             doMavenMetadata( currentProject, jar );
-<a name="716" href="#716">716</a>         }
-<a name="717" href="#717">717</a> 
-<a name="718" href="#718">718</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="719" href="#719">719</a>         {
-<a name="720" href="#720">720</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="721" href="#721">721</a>         }
-<a name="722" href="#722">722</a> 
-<a name="723" href="#723">723</a>         builder.setJar( jar );
-<a name="724" href="#724">724</a>     }
-<a name="725" href="#725">725</a> 
-<a name="726" href="#726">726</a> 
-<a name="727" href="#727">727</a>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="728" href="#728">728</a>     {
-<a name="729" href="#729">729</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="730" href="#730">730</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="731" href="#731">731</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="732" href="#732">732</a>         {
-<a name="733" href="#733">733</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="734" href="#734">734</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="660" href="#660">660</a>         }
+<a name="661" href="#661">661</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="662" href="#662">662</a>         {
+<a name="663" href="#663">663</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
+<a name="664" href="#664">664</a>         }
+<a name="665" href="#665">665</a>     }
+<a name="666" href="#666">666</a> 
+<a name="667" href="#667">667</a> 
+<a name="668" href="#668">668</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="669" href="#669">669</a>     {
+<a name="670" href="#670">670</a>         Jar jar = builder.getJar();
+<a name="671" href="#671">671</a> 
+<a name="672" href="#672">672</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="673" href="#673">673</a>         {
+<a name="674" href="#674">674</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="675" href="#675">675</a>         }
+<a name="676" href="#676">676</a> 
+<a name="677" href="#677">677</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
+<a name="678" href="#678">678</a> 
+<a name="679" href="#679">679</a>         <strong class="jxr_keyword">try</strong>
+<a name="680" href="#680">680</a>         {
+<a name="681" href="#681">681</a>             <em class="jxr_comment">/*</em>
+<a name="682" href="#682">682</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
+<a name="683" href="#683">683</a> <em class="jxr_comment">             */</em>
+<a name="684" href="#684">684</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
+<a name="685" href="#685">685</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
+<a name="686" href="#686">686</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
+<a name="687" href="#687">687</a> 
+<a name="688" href="#688">688</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="689" href="#689">689</a> 
+<a name="690" href="#690">690</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
+<a name="691" href="#691">691</a>             File externalManifestFile = archiveConfig.getManifestFile();
+<a name="692" href="#692">692</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile &amp;&amp; externalManifestFile.exists()
+<a name="693" href="#693">693</a>                 &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
+<a name="694" href="#694">694</a>             {
+<a name="695" href="#695">695</a>                 InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
+<a name="696" href="#696">696</a>                 mavenManifest.read( mis );
+<a name="697" href="#697">697</a>                 mis.close();
+<a name="698" href="#698">698</a>             }
+<a name="699" href="#699">699</a> 
+<a name="700" href="#700">700</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
+<a name="701" href="#701">701</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
+<a name="702" href="#702">702</a> 
+<a name="703" href="#703">703</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
+<a name="704" href="#704">704</a>             {
+<a name="705" href="#705">705</a>                 <em class="jxr_comment">/*</em>
+<a name="706" href="#706">706</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
+<a name="707" href="#707">707</a> <em class="jxr_comment">                 */</em>
+<a name="708" href="#708">708</a>                 List sections = archiveConfig.getManifestSections();
+<a name="709" href="#709">709</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
+<a name="710" href="#710">710</a>                 {
+<a name="711" href="#711">711</a>                     ManifestSection section = ( ManifestSection ) i.next();
+<a name="712" href="#712">712</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
+<a name="713" href="#713">713</a> 
+<a name="714" href="#714">714</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
+<a name="715" href="#715">715</a>                     {
+<a name="716" href="#716">716</a>                         Map entries = section.getManifestEntries();
+<a name="717" href="#717">717</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
+<a name="718" href="#718">718</a>                         {
+<a name="719" href="#719">719</a>                             Map.Entry entry = ( Map.Entry ) j.next();
+<a name="720" href="#720">720</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
+<a name="721" href="#721">721</a>                         }
+<a name="722" href="#722">722</a>                     }
+<a name="723" href="#723">723</a> 
+<a name="724" href="#724">724</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
+<a name="725" href="#725">725</a>                 }
+<a name="726" href="#726">726</a>             }
+<a name="727" href="#727">727</a> 
+<a name="728" href="#728">728</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
+<a name="729" href="#729">729</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
+<a name="730" href="#730">730</a> 
+<a name="731" href="#731">731</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
+<a name="732" href="#732">732</a> 
+<a name="733" href="#733">733</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
+<a name="734" href="#734">734</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
 <a name="735" href="#735">735</a>             {
-<a name="736" href="#736">736</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="736" href="#736">736</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
 <a name="737" href="#737">737</a>                 {
-<a name="738" href="#738">738</a>                     inscope.add( artifact );
-<a name="739" href="#739">739</a>                 }
-<a name="740" href="#740">740</a>             }
-<a name="741" href="#741">741</a>         }
-<a name="742" href="#742">742</a> 
-<a name="743" href="#743">743</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="744" href="#744">744</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="745" href="#745">745</a>         {
-<a name="746" href="#746">746</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="747" href="#747">747</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
-<a name="748" href="#748">748</a>             {
-<a name="749" href="#749">749</a>                 String id = artifact.toString();
-<a name="750" href="#750">750</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
-<a name="751" href="#751">751</a>                 {
-<a name="752" href="#752">752</a>                     <em class="jxr_comment">// strip the scope...</em>
-<a name="753" href="#753">753</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
-<a name="754" href="#754">754</a>                 }
-<a name="755" href="#755">755</a>                 optionalArtifactIds.add( id );
-<a name="756" href="#756">756</a>             }
-<a name="757" href="#757">757</a> 
-<a name="758" href="#758">758</a>         }
-<a name="759" href="#759">759</a> 
-<a name="760" href="#760">760</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="761" href="#761">761</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="762" href="#762">762</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="763" href="#763">763</a>         {
-<a name="764" href="#764">764</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="765" href="#765">765</a>             File file = getFile( artifact );
-<a name="766" href="#766">766</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="767" href="#767">767</a>             {
-<a name="768" href="#768">768</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="769" href="#769">769</a>             }
-<a name="770" href="#770">770</a> 
-<a name="771" href="#771">771</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="772" href="#772">772</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
-<a name="773" href="#773">773</a>             {
-<a name="774" href="#774">774</a>                 optional.addAll( jar.getPackages() );
-<a name="775" href="#775">775</a>             }
-<a name="776" href="#776">776</a>             <strong class="jxr_keyword">else</strong>
-<a name="777" href="#777">777</a>             {
-<a name="778" href="#778">778</a>                 required.addAll( jar.getPackages() );
-<a name="779" href="#779">779</a>             }
-<a name="780" href="#780">780</a>             jar.close();
-<a name="781" href="#781">781</a>         }
-<a name="782" href="#782">782</a> 
-<a name="783" href="#783">783</a>         optional.removeAll( required );
-<a name="784" href="#784">784</a>         <strong class="jxr_keyword">return</strong> optional;
-<a name="785" href="#785">785</a>     }
-<a name="786" href="#786">786</a> 
-<a name="787" href="#787">787</a> 
-<a name="788" href="#788">788</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="789" href="#789">789</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
-<a name="790" href="#790">790</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
-<a name="791" href="#791">791</a> <em class="jxr_javadoccomment">     *</em>
-<a name="792" href="#792">792</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="793" href="#793">793</a> <em class="jxr_javadoccomment">     */</em>
-<a name="794" href="#794">794</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
+<a name="738" href="#738">738</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
+<a name="739" href="#739">739</a>                     {
+<a name="740" href="#740">740</a>                         j.remove();
+<a name="741" href="#741">741</a>                     }
+<a name="742" href="#742">742</a>                 }
+<a name="743" href="#743">743</a>             }
+<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">             * Overlay generated bundle manifest with customized entries</em>
+<a name="747" href="#747">747</a> <em class="jxr_comment">             */</em>
+<a name="748" href="#748">748</a>             Manifest bundleManifest = jar.getManifest();
+<a name="749" href="#749">749</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
+<a name="750" href="#750">750</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
+<a name="751" href="#751">751</a> 
+<a name="752" href="#752">752</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
+<a name="753" href="#753">753</a>             <em class="jxr_comment">// optional resolution.</em>
+<a name="754" href="#754">754</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
+<a name="755" href="#755">755</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
+<a name="756" href="#756">756</a>             {
+<a name="757" href="#757">757</a>                 Set optionalPackages = getOptionalPackages( currentProject );
+<a name="758" href="#758">758</a> 
+<a name="759" href="#759">759</a>                 Map&lt;String, Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
+<a name="760" href="#760">760</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Map&lt;String, String&gt;&gt; entry : values.entrySet() )
+<a name="761" href="#761">761</a>                 {
+<a name="762" href="#762">762</a>                     String pkg = entry.getKey();
+<a name="763" href="#763">763</a>                     Map&lt;String, String&gt; options = entry.getValue();
+<a name="764" href="#764">764</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
+<a name="765" href="#765">765</a>                     {
+<a name="766" href="#766">766</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
+<a name="767" href="#767">767</a>                     }
+<a name="768" href="#768">768</a>                 }
+<a name="769" href="#769">769</a>                 String result = Processor.printClauses( values );
+<a name="770" href="#770">770</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
+<a name="771" href="#771">771</a>             }
+<a name="772" href="#772">772</a> 
+<a name="773" href="#773">773</a>             jar.setManifest( bundleManifest );
+<a name="774" href="#774">774</a>         }
+<a name="775" href="#775">775</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="776" href="#776">776</a>         {
+<a name="777" href="#777">777</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
+<a name="778" href="#778">778</a>         }
+<a name="779" href="#779">779</a> 
+<a name="780" href="#780">780</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
+<a name="781" href="#781">781</a>         {
+<a name="782" href="#782">782</a>             doMavenMetadata( currentProject, jar );
+<a name="783" href="#783">783</a>         }
+<a name="784" href="#784">784</a> 
+<a name="785" href="#785">785</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="786" href="#786">786</a>         {
+<a name="787" href="#787">787</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="788" href="#788">788</a>         }
+<a name="789" href="#789">789</a> 
+<a name="790" href="#790">790</a>         builder.setJar( jar );
+<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>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
 <a name="795" href="#795">795</a>     {
-<a name="796" href="#796">796</a>         List trail = artifact.getDependencyTrail();
-<a name="797" href="#797">797</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
-<a name="798" href="#798">798</a>         {
-<a name="799" href="#799">799</a>             String next = ( String ) iterator.next();
-<a name="800" href="#800">800</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
-<a name="801" href="#801">801</a>             {
-<a name="802" href="#802">802</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="803" href="#803">803</a>             }
-<a name="804" href="#804">804</a>         }
-<a name="805" href="#805">805</a>         <strong class="jxr_keyword">return</strong> false;
-<a name="806" href="#806">806</a>     }
-<a name="807" href="#807">807</a> 
-<a name="808" href="#808">808</a> 
-<a name="809" href="#809">809</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
-<a name="810" href="#810">810</a>     {
-<a name="811" href="#811">811</a>         File outputDir = getOutputDirectory();
-<a name="812" href="#812">812</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
-<a name="813" href="#813">813</a>         {
-<a name="814" href="#814">814</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
-<a name="815" href="#815">815</a>         }
-<a name="816" href="#816">816</a> 
-<a name="817" href="#817">817</a>         <strong class="jxr_keyword">try</strong>
-<a name="818" href="#818">818</a>         {
-<a name="819" href="#819">819</a>             <em class="jxr_comment">/*</em>
-<a name="820" href="#820">820</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
-<a name="821" href="#821">821</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
-<a name="822" href="#822">822</a> <em class="jxr_comment">             */</em>
-<a name="823" href="#823">823</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
-<a name="824" href="#824">824</a>             {
-<a name="825" href="#825">825</a>                 outputDir.mkdirs();
-<a name="826" href="#826">826</a>             }
-<a name="827" href="#827">827</a> 
-<a name="828" href="#828">828</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
-<a name="829" href="#829">829</a>             unArchiver.setDestDirectory( outputDir );
-<a name="830" href="#830">830</a>             unArchiver.setSourceFile( jarFile );
-<a name="831" href="#831">831</a>             unArchiver.extract();
-<a name="832" href="#832">832</a>         }
-<a name="833" href="#833">833</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="834" href="#834">834</a>         {
-<a name="835" href="#835">835</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
-<a name="836" href="#836">836</a>         }
-<a name="837" href="#837">837</a>     }
-<a name="838" href="#838">838</a> 
-<a name="839" href="#839">839</a> 
-<a name="840" href="#840">840</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
-<a name="841" href="#841">841</a>     {
-<a name="842" href="#842">842</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="843" href="#843">843</a> 
-<a name="844" href="#844">844</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
-<a name="845" href="#845">845</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
-<a name="846" href="#846">846</a>         {
-<a name="847" href="#847">847</a>             String clause = clauses[i].trim();
-<a name="848" href="#848">848</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
-<a name="849" href="#849">849</a>             {
-<a name="850" href="#850">850</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
-<a name="851" href="#851">851</a>                 {
-<a name="852" href="#852">852</a>                     buf.append( ',' );
-<a name="853" href="#853">853</a>                 }
-<a name="854" href="#854">854</a>                 buf.append( clause );
-<a name="855" href="#855">855</a>             }
-<a name="856" href="#856">856</a>         }
-<a name="857" href="#857">857</a> 
-<a name="858" href="#858">858</a>         <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="859" href="#859">859</a>     }
-<a name="860" href="#860">860</a> 
-<a name="861" href="#861">861</a> 
-<a name="862" href="#862">862</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
-<a name="863" href="#863">863</a>     {
-<a name="864" href="#864">864</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="865" href="#865">865</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
-<a name="866" href="#866">866</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
-<a name="867" href="#867">867</a>         {
-<a name="868" href="#868">868</a>             String name = methods[i].getName();
-<a name="869" href="#869">869</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
-<a name="870" href="#870">870</a>             {
-<a name="871" href="#871">871</a>                 <strong class="jxr_keyword">try</strong>
-<a name="872" href="#872">872</a>                 {
-<a name="873" href="#873">873</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
-<a name="874" href="#874">874</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
-<a name="875" href="#875">875</a>                     {
-<a name="876" href="#876">876</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
-<a name="877" href="#877">877</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
-<a name="878" href="#878">878</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
-<a name="879" href="#879">879</a>                         <strong class="jxr_keyword">else</strong>
-<a name="880" href="#880">880</a>                             properties.put( name, v );
-<a name="881" href="#881">881</a> 
-<a name="882" href="#882">882</a>                     }
-<a name="883" href="#883">883</a>                 }
-<a name="884" href="#884">884</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="885" href="#885">885</a>                 {
-<a name="886" href="#886">886</a>                     <em class="jxr_comment">// too bad</em>
-<a name="887" href="#887">887</a>                 }
-<a name="888" href="#888">888</a>             }
-<a name="889" href="#889">889</a>         }
-<a name="890" href="#890">890</a>         <strong class="jxr_keyword">return</strong> properties;
-<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>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
-<a name="895" href="#895">895</a>     {
-<a name="896" href="#896">896</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
-<a name="897" href="#897">897</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="898" href="#898">898</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="899" href="#899">899</a>         String del = <span class="jxr_string">""</span>;
-<a name="900" href="#900">900</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
+<a name="796" href="#796">796</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="797" href="#797">797</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="798" href="#798">798</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="799" href="#799">799</a>         {
+<a name="800" href="#800">800</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="801" href="#801">801</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="802" href="#802">802</a>             {
+<a name="803" href="#803">803</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="804" href="#804">804</a>                 {
+<a name="805" href="#805">805</a>                     inscope.add( artifact );
+<a name="806" href="#806">806</a>                 }
+<a name="807" href="#807">807</a>             }
+<a name="808" href="#808">808</a>         }
+<a name="809" href="#809">809</a> 
+<a name="810" href="#810">810</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="811" href="#811">811</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="812" href="#812">812</a>         {
+<a name="813" href="#813">813</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="814" href="#814">814</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
+<a name="815" href="#815">815</a>             {
+<a name="816" href="#816">816</a>                 String id = artifact.toString();
+<a name="817" href="#817">817</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
+<a name="818" href="#818">818</a>                 {
+<a name="819" href="#819">819</a>                     <em class="jxr_comment">// strip the scope...</em>
+<a name="820" href="#820">820</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
+<a name="821" href="#821">821</a>                 }
+<a name="822" href="#822">822</a>                 optionalArtifactIds.add( id );
+<a name="823" href="#823">823</a>             }
+<a name="824" href="#824">824</a> 
+<a name="825" href="#825">825</a>         }
+<a name="826" href="#826">826</a> 
+<a name="827" href="#827">827</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="828" href="#828">828</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="829" href="#829">829</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="830" href="#830">830</a>         {
+<a name="831" href="#831">831</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="832" href="#832">832</a>             File file = getFile( artifact );
+<a name="833" href="#833">833</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="834" href="#834">834</a>             {
+<a name="835" href="#835">835</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="836" href="#836">836</a>             }
+<a name="837" href="#837">837</a> 
+<a name="838" href="#838">838</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="839" href="#839">839</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
+<a name="840" href="#840">840</a>             {
+<a name="841" href="#841">841</a>                 optional.addAll( jar.getPackages() );
+<a name="842" href="#842">842</a>             }
+<a name="843" href="#843">843</a>             <strong class="jxr_keyword">else</strong>
+<a name="844" href="#844">844</a>             {
+<a name="845" href="#845">845</a>                 required.addAll( jar.getPackages() );
+<a name="846" href="#846">846</a>             }
+<a name="847" href="#847">847</a>             jar.close();
+<a name="848" href="#848">848</a>         }
+<a name="849" href="#849">849</a> 
+<a name="850" href="#850">850</a>         optional.removeAll( required );
+<a name="851" href="#851">851</a>         <strong class="jxr_keyword">return</strong> optional;
+<a name="852" href="#852">852</a>     }
+<a name="853" href="#853">853</a> 
+<a name="854" href="#854">854</a> 
+<a name="855" href="#855">855</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="856" href="#856">856</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
+<a name="857" href="#857">857</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
+<a name="858" href="#858">858</a> <em class="jxr_javadoccomment">     *</em>
+<a name="859" href="#859">859</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="860" href="#860">860</a> <em class="jxr_javadoccomment">     */</em>
+<a name="861" href="#861">861</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
+<a name="862" href="#862">862</a>     {
+<a name="863" href="#863">863</a>         List trail = artifact.getDependencyTrail();
+<a name="864" href="#864">864</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
+<a name="865" href="#865">865</a>         {
+<a name="866" href="#866">866</a>             String next = ( String ) iterator.next();
+<a name="867" href="#867">867</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
+<a name="868" href="#868">868</a>             {
+<a name="869" href="#869">869</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a name="870" href="#870">870</a>             }
+<a name="871" href="#871">871</a>         }
+<a name="872" href="#872">872</a>         <strong class="jxr_keyword">return</strong> false;
+<a name="873" href="#873">873</a>     }
+<a name="874" href="#874">874</a> 
+<a name="875" href="#875">875</a> 
+<a name="876" href="#876">876</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
+<a name="877" href="#877">877</a>     {
+<a name="878" href="#878">878</a>         File outputDir = getOutputDirectory();
+<a name="879" href="#879">879</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
+<a name="880" href="#880">880</a>         {
+<a name="881" href="#881">881</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
+<a name="882" href="#882">882</a>         }
+<a name="883" href="#883">883</a> 
+<a name="884" href="#884">884</a>         <strong class="jxr_keyword">try</strong>
+<a name="885" href="#885">885</a>         {
+<a name="886" href="#886">886</a>             <em class="jxr_comment">/*</em>
+<a name="887" href="#887">887</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
+<a name="888" href="#888">888</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
+<a name="889" href="#889">889</a> <em class="jxr_comment">             */</em>
+<a name="890" href="#890">890</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
+<a name="891" href="#891">891</a>             {
+<a name="892" href="#892">892</a>                 outputDir.mkdirs();
+<a name="893" href="#893">893</a>             }
+<a name="894" href="#894">894</a> 
+<a name="895" href="#895">895</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
+<a name="896" href="#896">896</a>             unArchiver.setDestDirectory( outputDir );
+<a name="897" href="#897">897</a>             unArchiver.setSourceFile( jarFile );
+<a name="898" href="#898">898</a>             unArchiver.extract();
+<a name="899" href="#899">899</a>         }
+<a name="900" href="#900">900</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
 <a name="901" href="#901">901</a>         {
-<a name="902" href="#902">902</a>             License l = ( License ) i.next();
-<a name="903" href="#903">903</a>             String url = l.getUrl();
-<a name="904" href="#904">904</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
-<a name="905" href="#905">905</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="906" href="#906">906</a>             sb.append( del );
-<a name="907" href="#907">907</a>             sb.append( url );
-<a name="908" href="#908">908</a>             del = <span class="jxr_string">", "</span>;
-<a name="909" href="#909">909</a>         }
-<a name="910" href="#910">910</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
-<a name="911" href="#911">911</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="912" href="#912">912</a>         <strong class="jxr_keyword">return</strong> sb;
-<a name="913" href="#913">913</a>     }
-<a name="914" href="#914">914</a> 
-<a name="915" href="#915">915</a> 
-<a name="916" href="#916">916</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="917" href="#917">917</a> <em class="jxr_javadoccomment">     * @param jar</em>
-<a name="918" href="#918">918</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
-<a name="919" href="#919">919</a> <em class="jxr_javadoccomment">     */</em>
-<a name="920" href="#920">920</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="921" href="#921">921</a>     {
-<a name="922" href="#922">922</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
-<a name="923" href="#923">923</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
-<a name="924" href="#924">924</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
-<a name="925" href="#925">925</a> 
-<a name="926" href="#926">926</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
-<a name="927" href="#927">927</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
-<a name="928" href="#928">928</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
-<a name="929" href="#929">929</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
-<a name="930" href="#930">930</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="931" href="#931">931</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
-<a name="932" href="#932">932</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
-<a name="933" href="#933">933</a>     }
-<a name="934" href="#934">934</a> 
-<a name="935" href="#935">935</a> 
-<a name="936" href="#936">936</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="937" href="#937">937</a>     {
-<a name="938" href="#938">938</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="939" href="#939">939</a> 
-<a name="940" href="#940">940</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
-<a name="941" href="#941">941</a>         {
-<a name="942" href="#942">942</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
-<a name="943" href="#943">943</a>         }
-<a name="944" href="#944">944</a> 
-<a name="945" href="#945">945</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="946" href="#946">946</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="947" href="#947">947</a>         {
-<a name="948" href="#948">948</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="949" href="#949">949</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="950" href="#950">950</a>             {
-<a name="951" href="#951">951</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="902" href="#902">902</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
+<a name="903" href="#903">903</a>         }
+<a name="904" href="#904">904</a>     }
+<a name="905" href="#905">905</a> 
+<a name="906" href="#906">906</a> 
+<a name="907" href="#907">907</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
+<a name="908" href="#908">908</a>     {
+<a name="909" href="#909">909</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="910" href="#910">910</a> 
+<a name="911" href="#911">911</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
+<a name="912" href="#912">912</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
+<a name="913" href="#913">913</a>         {
+<a name="914" href="#914">914</a>             String clause = clauses[i].trim();
+<a name="915" href="#915">915</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
+<a name="916" href="#916">916</a>             {
+<a name="917" href="#917">917</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
+<a name="918" href="#918">918</a>                 {
+<a name="919" href="#919">919</a>                     buf.append( ',' );
+<a name="920" href="#920">920</a>                 }
+<a name="921" href="#921">921</a>                 buf.append( clause );
+<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>         <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="926" href="#926">926</a>     }
+<a name="927" href="#927">927</a> 
+<a name="928" href="#928">928</a> 
+<a name="929" href="#929">929</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
+<a name="930" href="#930">930</a>     {
+<a name="931" href="#931">931</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="932" href="#932">932</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
+<a name="933" href="#933">933</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
+<a name="934" href="#934">934</a>         {
+<a name="935" href="#935">935</a>             String name = methods[i].getName();
+<a name="936" href="#936">936</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
+<a name="937" href="#937">937</a>             {
+<a name="938" href="#938">938</a>                 <strong class="jxr_keyword">try</strong>
+<a name="939" href="#939">939</a>                 {
+<a name="940" href="#940">940</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
+<a name="941" href="#941">941</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
+<a name="942" href="#942">942</a>                     {
+<a name="943" href="#943">943</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
+<a name="944" href="#944">944</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
+<a name="945" href="#945">945</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
+<a name="946" href="#946">946</a>                         <strong class="jxr_keyword">else</strong>
+<a name="947" href="#947">947</a>                             properties.put( name, v );
+<a name="948" href="#948">948</a> 
+<a name="949" href="#949">949</a>                     }
+<a name="950" href="#950">950</a>                 }
+<a name="951" href="#951">951</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
 <a name="952" href="#952">952</a>                 {
-<a name="953" href="#953">953</a>                     File file = getFile( artifact );
-<a name="954" href="#954">954</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="955" href="#955">955</a>                     {
-<a name="956" href="#956">956</a>                         getLog().warn(
-<a name="957" href="#957">957</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
-<a name="958" href="#958">958</a>                                 + currentProject.getArtifact() );
-<a name="959" href="#959">959</a>                         <strong class="jxr_keyword">continue</strong>;
-<a name="960" href="#960">960</a>                     }
-<a name="961" href="#961">961</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="962" href="#962">962</a>                     list.add( jar );
-<a name="963" href="#963">963</a>                 }
-<a name="964" href="#964">964</a>             }
-<a name="965" href="#965">965</a>         }
-<a name="966" href="#966">966</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
-<a name="967" href="#967">967</a>         list.toArray( cp );
-<a name="968" href="#968">968</a>         <strong class="jxr_keyword">return</strong> cp;
-<a name="969" href="#969">969</a>     }
-<a name="970" href="#970">970</a> 
-<a name="971" href="#971">971</a> 
-<a name="972" href="#972">972</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="973" href="#973">973</a>     {
-<a name="974" href="#974">974</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
-<a name="975" href="#975">975</a>         {
-<a name="976" href="#976">976</a>             <strong class="jxr_keyword">return</strong> artifacts;
-<a name="977" href="#977">977</a>         }
-<a name="978" href="#978">978</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
-<a name="979" href="#979">979</a>         {
-<a name="980" href="#980">980</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
-<a name="981" href="#981">981</a>         }
+<a name="953" href="#953">953</a>                     <em class="jxr_comment">// too bad</em>
+<a name="954" href="#954">954</a>                 }
+<a name="955" href="#955">955</a>             }
+<a name="956" href="#956">956</a>         }
+<a name="957" href="#957">957</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="958" href="#958">958</a>     }
+<a name="959" href="#959">959</a> 
+<a name="960" href="#960">960</a> 
+<a name="961" href="#961">961</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
+<a name="962" href="#962">962</a>     {
+<a name="963" href="#963">963</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
+<a name="964" href="#964">964</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="965" href="#965">965</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="966" href="#966">966</a>         String del = <span class="jxr_string">""</span>;
+<a name="967" href="#967">967</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
+<a name="968" href="#968">968</a>         {
+<a name="969" href="#969">969</a>             License l = ( License ) i.next();
+<a name="970" href="#970">970</a>             String url = l.getUrl();
+<a name="971" href="#971">971</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
+<a name="972" href="#972">972</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="973" href="#973">973</a>             sb.append( del );
+<a name="974" href="#974">974</a>             sb.append( url );
+<a name="975" href="#975">975</a>             del = <span class="jxr_string">", "</span>;
+<a name="976" href="#976">976</a>         }
+<a name="977" href="#977">977</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
+<a name="978" href="#978">978</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="979" href="#979">979</a>         <strong class="jxr_keyword">return</strong> sb;
+<a name="980" href="#980">980</a>     }
+<a name="981" href="#981">981</a> 
 <a name="982" href="#982">982</a> 
-<a name="983" href="#983">983</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
-<a name="984" href="#984">984</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="985" href="#985">985</a>         excluder.processHeaders( excludeDependencies );
-<a name="986" href="#986">986</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
-<a name="987" href="#987">987</a> 
-<a name="988" href="#988">988</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
-<a name="989" href="#989">989</a>     }
-<a name="990" href="#990">990</a> 
-<a name="991" href="#991">991</a> 
-<a name="992" href="#992">992</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="993" href="#993">993</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
-<a name="994" href="#994">994</a> <em class="jxr_javadoccomment">     *</em>
-<a name="995" href="#995">995</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="996" href="#996">996</a> <em class="jxr_javadoccomment">     */</em>
-<a name="997" href="#997">997</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
-<a name="998" href="#998">998</a>     {
-<a name="999" href="#999">999</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
+<a name="983" href="#983">983</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="984" href="#984">984</a> <em class="jxr_javadoccomment">     * @param jar</em>
+<a name="985" href="#985">985</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
+<a name="986" href="#986">986</a> <em class="jxr_javadoccomment">     */</em>
+<a name="987" href="#987">987</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="988" href="#988">988</a>     {
+<a name="989" href="#989">989</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
+<a name="990" href="#990">990</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
+<a name="991" href="#991">991</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
+<a name="992" href="#992">992</a> 
+<a name="993" href="#993">993</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
+<a name="994" href="#994">994</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
+<a name="995" href="#995">995</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
+<a name="996" href="#996">996</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
+<a name="997" href="#997">997</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="998" href="#998">998</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
+<a name="999" href="#999">999</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
 <a name="1000" href="#1000">1000</a>     }
 <a name="1001" href="#1001">1001</a> 
 <a name="1002" href="#1002">1002</a> 
-<a name="1003" href="#1003">1003</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="1003" href="#1003">1003</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
 <a name="1004" href="#1004">1004</a>     {
-<a name="1005" href="#1005">1005</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
-<a name="1006" href="#1006">1006</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1007" href="#1007">1007</a> 
-<a name="1008" href="#1008">1008</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
-<a name="1009" href="#1009">1009</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1010" href="#1010">1010</a> 
-<a name="1011" href="#1011">1011</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
-<a name="1012" href="#1012">1012</a>     }
-<a name="1013" href="#1013">1013</a> 
-<a name="1014" href="#1014">1014</a> 
-<a name="1015" href="#1015">1015</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1016" href="#1016">1016</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
-<a name="1017" href="#1017">1017</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1018" href="#1018">1018</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
-<a name="1019" href="#1019">1019</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
-<a name="1020" href="#1020">1020</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1021" href="#1021">1021</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
-<a name="1022" href="#1022">1022</a>     {
-<a name="1023" href="#1023">1023</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
-<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>     <em class="jxr_javadoccomment">/**</em>
-<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
-<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1030" href="#1030">1030</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
-<a name="1031" href="#1031">1031</a>     {
-<a name="1032" href="#1032">1032</a>         String extension;
-<a name="1033" href="#1033">1033</a>         <strong class="jxr_keyword">try</strong>
-<a name="1034" href="#1034">1034</a>         {
-<a name="1035" href="#1035">1035</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
-<a name="1036" href="#1036">1036</a>         }
-<a name="1037" href="#1037">1037</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="1038" href="#1038">1038</a>         {
-<a name="1039" href="#1039">1039</a>             extension = currentProject.getArtifact().getType();
-<a name="1040" href="#1040">1040</a>         }
-<a name="1041" href="#1041">1041</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="1005" href="#1005">1005</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="1006" href="#1006">1006</a> 
+<a name="1007" href="#1007">1007</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
+<a name="1008" href="#1008">1008</a>         {
+<a name="1009" href="#1009">1009</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
+<a name="1010" href="#1010">1010</a>         }
+<a name="1011" href="#1011">1011</a> 
+<a name="1012" href="#1012">1012</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="1013" href="#1013">1013</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="1014" href="#1014">1014</a>         {
+<a name="1015" href="#1015">1015</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="1016" href="#1016">1016</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="1017" href="#1017">1017</a>             {
+<a name="1018" href="#1018">1018</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="1019" href="#1019">1019</a>                 {
+<a name="1020" href="#1020">1020</a>                     File file = getFile( artifact );
+<a name="1021" href="#1021">1021</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="1022" href="#1022">1022</a>                     {
+<a name="1023" href="#1023">1023</a>                         getLog().warn(
+<a name="1024" href="#1024">1024</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
+<a name="1025" href="#1025">1025</a>                                 + currentProject.getArtifact() );
+<a name="1026" href="#1026">1026</a>                         <strong class="jxr_keyword">continue</strong>;
+<a name="1027" href="#1027">1027</a>                     }
+<a name="1028" href="#1028">1028</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="1029" href="#1029">1029</a>                     list.add( jar );
+<a name="1030" href="#1030">1030</a>                 }
+<a name="1031" href="#1031">1031</a>             }
+<a name="1032" href="#1032">1032</a>         }
+<a name="1033" href="#1033">1033</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
+<a name="1034" href="#1034">1034</a>         list.toArray( cp );
+<a name="1035" href="#1035">1035</a>         <strong class="jxr_keyword">return</strong> cp;
+<a name="1036" href="#1036">1036</a>     }
+<a name="1037" href="#1037">1037</a> 
+<a name="1038" href="#1038">1038</a> 
+<a name="1039" href="#1039">1039</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1040" href="#1040">1040</a>     {
+<a name="1041" href="#1041">1041</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
 <a name="1042" href="#1042">1042</a>         {
-<a name="1043" href="#1043">1043</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
+<a name="1043" href="#1043">1043</a>             <strong class="jxr_keyword">return</strong> artifacts;
 <a name="1044" href="#1044">1044</a>         }
-<a name="1045" href="#1045">1045</a>         String finalName = currentProject.getBuild().getFinalName();
-<a name="1046" href="#1046">1046</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
-<a name="1047" href="#1047">1047</a>         {
-<a name="1048" href="#1048">1048</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
-<a name="1049" href="#1049">1049</a>         }
-<a name="1050" href="#1050">1050</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
-<a name="1051" href="#1051">1051</a>     }
-<a name="1052" href="#1052">1052</a> 
-<a name="1053" href="#1053">1053</a> 
-<a name="1054" href="#1054">1054</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
-<a name="1055" href="#1055">1055</a>     {
-<a name="1056" href="#1056">1056</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
-<a name="1057" href="#1057">1057</a>     }
+<a name="1045" href="#1045">1045</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
+<a name="1046" href="#1046">1046</a>         {
+<a name="1047" href="#1047">1047</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
+<a name="1048" href="#1048">1048</a>         }
+<a name="1049" href="#1049">1049</a> 
+<a name="1050" href="#1050">1050</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
+<a name="1051" href="#1051">1051</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="1052" href="#1052">1052</a>         excluder.processHeaders( excludeDependencies );
+<a name="1053" href="#1053">1053</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
+<a name="1054" href="#1054">1054</a> 
+<a name="1055" href="#1055">1055</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
+<a name="1056" href="#1056">1056</a>     }
+<a name="1057" href="#1057">1057</a> 
 <a name="1058" href="#1058">1058</a> 
-<a name="1059" href="#1059">1059</a> 
-<a name="1060" href="#1060">1060</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
-<a name="1061" href="#1061">1061</a>     {
-<a name="1062" href="#1062">1062</a>         buildDirectory = _buildirectory;
-<a name="1063" href="#1063">1063</a>     }
-<a name="1064" href="#1064">1064</a> 
-<a name="1065" href="#1065">1065</a> 
-<a name="1066" href="#1066">1066</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
-<a name="1067" href="#1067">1067</a>     {
-<a name="1068" href="#1068">1068</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1059" href="#1059">1059</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1060" href="#1060">1060</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
+<a name="1061" href="#1061">1061</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1062" href="#1062">1062</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="1063" href="#1063">1063</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1064" href="#1064">1064</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
+<a name="1065" href="#1065">1065</a>     {
+<a name="1066" href="#1066">1066</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
+<a name="1067" href="#1067">1067</a>     }
+<a name="1068" href="#1068">1068</a> 
 <a name="1069" href="#1069">1069</a> 
-<a name="1070" href="#1070">1070</a>         String bsn;
-<a name="1071" href="#1071">1071</a>         <strong class="jxr_keyword">try</strong>
-<a name="1072" href="#1072">1072</a>         {
-<a name="1073" href="#1073">1073</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
-<a name="1074" href="#1074">1074</a>         }
-<a name="1075" href="#1075">1075</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1076" href="#1076">1076</a>         {
-<a name="1077" href="#1077">1077</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
-<a name="1078" href="#1078">1078</a>         }
-<a name="1079" href="#1079">1079</a> 
-<a name="1080" href="#1080">1080</a>         <em class="jxr_comment">// Setup defaults</em>
-<a name="1081" href="#1081">1081</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
-<a name="1082" href="#1082">1082</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
-<a name="1083" href="#1083">1083</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="1084" href="#1084">1084</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
-<a name="1085" href="#1085">1085</a> 
-<a name="1086" href="#1086">1086</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
-<a name="1087" href="#1087">1087</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
-<a name="1088" href="#1088">1088</a> 
-<a name="1089" href="#1089">1089</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
-<a name="1090" href="#1090">1090</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
-<a name="1091" href="#1091">1091</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
-<a name="1092" href="#1092">1092</a>         {
-<a name="1093" href="#1093">1093</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
-<a name="1094" href="#1094">1094</a>         }
-<a name="1095" href="#1095">1095</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
-<a name="1096" href="#1096">1096</a> 
-<a name="1097" href="#1097">1097</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
-<a name="1098" href="#1098">1098</a>         {
-<a name="1099" href="#1099">1099</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
-<a name="1100" href="#1100">1100</a>             {
-<a name="1101" href="#1101">1101</a>                 String organizationName = currentProject.getOrganization().getName();
-<a name="1102" href="#1102">1102</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
-<a name="1103" href="#1103">1103</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
-<a name="1104" href="#1104">1104</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
-<a name="1105" href="#1105">1105</a>             }
-<a name="1106" href="#1106">1106</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
-<a name="1107" href="#1107">1107</a>             {
-<a name="1108" href="#1108">1108</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
-<a name="1109" href="#1109">1109</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
-<a name="1110" href="#1110">1110</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
-<a name="1111" href="#1111">1111</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
-<a name="1112" href="#1112">1112</a>             }
-<a name="1113" href="#1113">1113</a>         }
-<a name="1114" href="#1114">1114</a> 
-<a name="1115" href="#1115">1115</a>         properties.putAll( currentProject.getProperties() );
-<a name="1116" href="#1116">1116</a>         properties.putAll( currentProject.getModel().getProperties() );
-<a name="1117" href="#1117">1117</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
-<a name="1118" href="#1118">1118</a>         {
-<a name="1119" href="#1119">1119</a>             properties.putAll( m_mavenSession.getExecutionProperties() );
-<a name="1120" href="#1120">1120</a>         }
-<a name="1121" href="#1121">1121</a> 
-<a name="1122" href="#1122">1122</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
-<a name="1123" href="#1123">1123</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
-<a name="1124" href="#1124">1124</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
+<a name="1070" href="#1070">1070</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="1071" href="#1071">1071</a>     {
+<a name="1072" href="#1072">1072</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
+<a name="1073" href="#1073">1073</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1074" href="#1074">1074</a> 
+<a name="1075" href="#1075">1075</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
+<a name="1076" href="#1076">1076</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1077" href="#1077">1077</a> 
+<a name="1078" href="#1078">1078</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
+<a name="1079" href="#1079">1079</a>     }
+<a name="1080" href="#1080">1080</a> 
+<a name="1081" href="#1081">1081</a> 
+<a name="1082" href="#1082">1082</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1083" href="#1083">1083</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
+<a name="1084" href="#1084">1084</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1085" href="#1085">1085</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
+<a name="1086" href="#1086">1086</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
+<a name="1087" href="#1087">1087</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1088" href="#1088">1088</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
+<a name="1089" href="#1089">1089</a>     {
+<a name="1090" href="#1090">1090</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
+<a name="1091" href="#1091">1091</a>     }
+<a name="1092" href="#1092">1092</a> 
+<a name="1093" href="#1093">1093</a> 
+<a name="1094" href="#1094">1094</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
+<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1097" href="#1097">1097</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
+<a name="1098" href="#1098">1098</a>     {
+<a name="1099" href="#1099">1099</a>         String extension;
+<a name="1100" href="#1100">1100</a>         <strong class="jxr_keyword">try</strong>
+<a name="1101" href="#1101">1101</a>         {
+<a name="1102" href="#1102">1102</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
+<a name="1103" href="#1103">1103</a>         }
+<a name="1104" href="#1104">1104</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="1105" href="#1105">1105</a>         {
+<a name="1106" href="#1106">1106</a>             extension = currentProject.getArtifact().getType();
+<a name="1107" href="#1107">1107</a>         }
+<a name="1108" href="#1108">1108</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="1109" href="#1109">1109</a>         {
+<a name="1110" href="#1110">1110</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
+<a name="1111" href="#1111">1111</a>         }
+<a name="1112" href="#1112">1112</a>         String finalName = currentProject.getBuild().getFinalName();
+<a name="1113" href="#1113">1113</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
+<a name="1114" href="#1114">1114</a>         {
+<a name="1115" href="#1115">1115</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
+<a name="1116" href="#1116">1116</a>         }
+<a name="1117" href="#1117">1117</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
+<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>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
+<a name="1122" href="#1122">1122</a>     {
+<a name="1123" href="#1123">1123</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
+<a name="1124" href="#1124">1124</a>     }
 <a name="1125" href="#1125">1125</a> 
-<a name="1126" href="#1126">1126</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
-<a name="1127" href="#1127">1127</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
-<a name="1128" href="#1128">1128</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
-<a name="1129" href="#1129">1129</a> 
-<a name="1130" href="#1130">1130</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
+<a name="1126" href="#1126">1126</a> 
+<a name="1127" href="#1127">1127</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
+<a name="1128" href="#1128">1128</a>     {
+<a name="1129" href="#1129">1129</a>         buildDirectory = _buildirectory;
+<a name="1130" href="#1130">1130</a>     }
 <a name="1131" href="#1131">1131</a> 
-<a name="1132" href="#1132">1132</a>         <em class="jxr_comment">// Add default plugins</em>
-<a name="1133" href="#1133">1133</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="1134" href="#1134">1134</a> 
-<a name="1135" href="#1135">1135</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="1136" href="#1136">1136</a>     }
-<a name="1137" href="#1137">1137</a> 
-<a name="1138" href="#1138">1138</a> 
-<a name="1139" href="#1139">1139</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
-<a name="1140" href="#1140">1140</a>     {
-<a name="1141" href="#1141">1141</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="1142" href="#1142">1142</a>     }
-<a name="1143" href="#1143">1143</a> 
-<a name="1144" href="#1144">1144</a> 
-<a name="1145" href="#1145">1145</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
-<a name="1146" href="#1146">1146</a>     {
-<a name="1147" href="#1147">1147</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
-<a name="1148" href="#1148">1148</a>     }
-<a name="1149" href="#1149">1149</a> 
-<a name="1150" href="#1150">1150</a> 
-<a name="1151" href="#1151">1151</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
-<a name="1152" href="#1152">1152</a>     {
-<a name="1153" href="#1153">1153</a>         outputDirectory = _outputDirectory;
-<a name="1154" href="#1154">1154</a>     }
+<a name="1132" href="#1132">1132</a> 
+<a name="1133" href="#1133">1133</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
+<a name="1134" href="#1134">1134</a>     {
+<a name="1135" href="#1135">1135</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1136" href="#1136">1136</a> 
+<a name="1137" href="#1137">1137</a>         String bsn;
+<a name="1138" href="#1138">1138</a>         <strong class="jxr_keyword">try</strong>
+<a name="1139" href="#1139">1139</a>         {
+<a name="1140" href="#1140">1140</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
+<a name="1141" href="#1141">1141</a>         }
+<a name="1142" href="#1142">1142</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1143" href="#1143">1143</a>         {
+<a name="1144" href="#1144">1144</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
+<a name="1145" href="#1145">1145</a>         }
+<a name="1146" href="#1146">1146</a> 
+<a name="1147" href="#1147">1147</a>         <em class="jxr_comment">// Setup defaults</em>
+<a name="1148" href="#1148">1148</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
+<a name="1149" href="#1149">1149</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
+<a name="1150" href="#1150">1150</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
+<a name="1151" href="#1151">1151</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
+<a name="1152" href="#1152">1152</a> 
+<a name="1153" href="#1153">1153</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
+<a name="1154" href="#1154">1154</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
 <a name="1155" href="#1155">1155</a> 
-<a name="1156" href="#1156">1156</a> 
-<a name="1157" href="#1157">1157</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer )
-<a name="1158" href="#1158">1158</a>     {
-<a name="1159" href="#1159">1159</a>         Collection packages = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="1160" href="#1160">1160</a> 
-<a name="1161" href="#1161">1161</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
-<a name="1162" href="#1162">1162</a>         {
-<a name="1163" href="#1163">1163</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
-<a name="1164" href="#1164">1164</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1165" href="#1165">1165</a>             scanner.setBasedir( outputDirectory );
-<a name="1166" href="#1166">1166</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
-<a name="1167" href="#1167">1167</a>                 { <span class="jxr_string">"**/*.class"</span> } );
-<a name="1168" href="#1168">1168</a> 
-<a name="1169" href="#1169">1169</a>             scanner.addDefaultExcludes();
-<a name="1170" href="#1170">1170</a>             scanner.scan();
-<a name="1171" href="#1171">1171</a> 
-<a name="1172" href="#1172">1172</a>             String[] paths = scanner.getIncludedFiles();
-<a name="1173" href="#1173">1173</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
+<a name="1156" href="#1156">1156</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
+<a name="1157" href="#1157">1157</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
+<a name="1158" href="#1158">1158</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
+<a name="1159" href="#1159">1159</a>         {
+<a name="1160" href="#1160">1160</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
+<a name="1161" href="#1161">1161</a>         }
+<a name="1162" href="#1162">1162</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
+<a name="1163" href="#1163">1163</a> 
+<a name="1164" href="#1164">1164</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
+<a name="1165" href="#1165">1165</a>         {
+<a name="1166" href="#1166">1166</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
+<a name="1167" href="#1167">1167</a>             {
+<a name="1168" href="#1168">1168</a>                 String organizationName = currentProject.getOrganization().getName();
+<a name="1169" href="#1169">1169</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
+<a name="1170" href="#1170">1170</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
+<a name="1171" href="#1171">1171</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
+<a name="1172" href="#1172">1172</a>             }
+<a name="1173" href="#1173">1173</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
 <a name="1174" href="#1174">1174</a>             {
-<a name="1175" href="#1175">1175</a>                 packages.add( getPackageName( paths[i] ) );
-<a name="1176" href="#1176">1176</a>             }
-<a name="1177" href="#1177">1177</a>         }
-<a name="1178" href="#1178">1178</a> 
-<a name="1179" href="#1179">1179</a>         StringBuffer exportedPkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1180" href="#1180">1180</a>         StringBuffer privatePkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1175" href="#1175">1175</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
+<a name="1176" href="#1176">1176</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
+<a name="1177" href="#1177">1177</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
+<a name="1178" href="#1178">1178</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
+<a name="1179" href="#1179">1179</a>             }
+<a name="1180" href="#1180">1180</a>         }
 <a name="1181" href="#1181">1181</a> 
-<a name="1182" href="#1182">1182</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
-<a name="1183" href="#1183">1183</a> 
-<a name="1184" href="#1184">1184</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = packages.iterator(); i.hasNext(); )
+<a name="1182" href="#1182">1182</a>         properties.putAll( currentProject.getProperties() );
+<a name="1183" href="#1183">1183</a>         properties.putAll( currentProject.getModel().getProperties() );
+<a name="1184" href="#1184">1184</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
 <a name="1185" href="#1185">1185</a>         {
-<a name="1186" href="#1186">1186</a>             String pkg = ( String ) i.next();
-<a name="1187" href="#1187">1187</a> 
-<a name="1188" href="#1188">1188</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
-<a name="1189" href="#1189">1189</a>             privatePkgs.append( pkg ).append( <span class="jxr_string">";-split-package:=merge-first,"</span> );
-<a name="1190" href="#1190">1190</a> 
-<a name="1191" href="#1191">1191</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
-<a name="1192" href="#1192">1192</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( pkg ) || pkg.contains( <span class="jxr_string">".internal"</span> ) || pkg.contains( <span class="jxr_string">".impl"</span> ) ) )
-<a name="1193" href="#1193">1193</a>             {
-<a name="1194" href="#1194">1194</a>                 <strong class="jxr_keyword">if</strong> ( exportedPkgs.length() &gt; 0 )
-<a name="1195" href="#1195">1195</a>                 {
-<a name="1196" href="#1196">1196</a>                     exportedPkgs.append( ';' );
-<a name="1197" href="#1197">1197</a>                 }
-<a name="1198" href="#1198">1198</a>                 exportedPkgs.append( pkg );
-<a name="1199" href="#1199">1199</a>             }
-<a name="1200" href="#1200">1200</a>         }
+<a name="1186" href="#1186">1186</a>             properties.putAll( m_mavenSession.getExecutionProperties() );
+<a name="1187" href="#1187">1187</a>         }
+<a name="1188" href="#1188">1188</a> 
+<a name="1189" href="#1189">1189</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
+<a name="1190" href="#1190">1190</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
+<a name="1191" href="#1191">1191</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
+<a name="1192" href="#1192">1192</a> 
+<a name="1193" href="#1193">1193</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
+<a name="1194" href="#1194">1194</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
+<a name="1195" href="#1195">1195</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
+<a name="1196" href="#1196">1196</a> 
+<a name="1197" href="#1197">1197</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
+<a name="1198" href="#1198">1198</a> 
+<a name="1199" href="#1199">1199</a>         <em class="jxr_comment">// Add default plugins</em>
+<a name="1200" href="#1200">1200</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="1201" href="#1201">1201</a> 
-<a name="1202" href="#1202">1202</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <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> ( analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong> )
-<a name="1205" href="#1205">1205</a>             {
-<a name="1206" href="#1206">1206</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
-<a name="1207" href="#1207">1207</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, exportedPkgs.toString() );
-<a name="1208" href="#1208">1208</a>             }
-<a name="1209" href="#1209">1209</a>             <strong class="jxr_keyword">else</strong>
-<a name="1210" href="#1210">1210</a>             {
-<a name="1211" href="#1211">1211</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
-<a name="1212" href="#1212">1212</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
-<a name="1213" href="#1213">1213</a>             }
-<a name="1214" href="#1214">1214</a>         }
-<a name="1215" href="#1215">1215</a>         <strong class="jxr_keyword">else</strong>
-<a name="1216" href="#1216">1216</a>         {
-<a name="1217" href="#1217">1217</a>             String exported = analyzer.getProperty( Analyzer.EXPORT_PACKAGE );
-<a name="1218" href="#1218">1218</a>             <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1219" href="#1219">1219</a>             {
-<a name="1220" href="#1220">1220</a>                 String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, exportedPkgs.toString() );
-<a name="1221" href="#1221">1221</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
+<a name="1202" href="#1202">1202</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="1203" href="#1203">1203</a>     }
+<a name="1204" href="#1204">1204</a> 
+<a name="1205" href="#1205">1205</a> 
+<a name="1206" href="#1206">1206</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
+<a name="1207" href="#1207">1207</a>     {
+<a name="1208" href="#1208">1208</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="1209" href="#1209">1209</a>     }
+<a name="1210" href="#1210">1210</a> 
+<a name="1211" href="#1211">1211</a> 
+<a name="1212" href="#1212">1212</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
+<a name="1213" href="#1213">1213</a>     {
+<a name="1214" href="#1214">1214</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
+<a name="1215" href="#1215">1215</a>     }
+<a name="1216" href="#1216">1216</a> 
+<a name="1217" href="#1217">1217</a> 
+<a name="1218" href="#1218">1218</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
+<a name="1219" href="#1219">1219</a>     {
+<a name="1220" href="#1220">1220</a>         outputDirectory = _outputDirectory;
+<a name="1221" href="#1221">1221</a>     }
 <a name="1222" href="#1222">1222</a> 
-<a name="1223" href="#1223">1223</a>             }
-<a name="1224" href="#1224">1224</a>         }
-<a name="1225" href="#1225">1225</a> 
-<a name="1226" href="#1226">1226</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
-<a name="1227" href="#1227">1227</a>         {
-<a name="1228" href="#1228">1228</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="1229" href="#1229">1229</a>             analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, privatePkgs.length() == 0 ? <span class="jxr_string">"!*"</span> : privatePkgs.toString() );
-<a name="1230" href="#1230">1230</a>         }
-<a name="1231" href="#1231">1231</a>     }
-<a name="1232" href="#1232">1232</a> 
-<a name="1233" href="#1233">1233</a> 
-<a name="1234" href="#1234">1234</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
-<a name="1235" href="#1235">1235</a>     {
-<a name="1236" href="#1236">1236</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
-<a name="1237" href="#1237">1237</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
-<a name="1238" href="#1238">1238</a>     }
-<a name="1239" href="#1239">1239</a> 
-<a name="1240" href="#1240">1240</a> 
-<a name="1241" href="#1241">1241</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject )
-<a name="1242" href="#1242">1242</a>     {
-<a name="1243" href="#1243">1243</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( currentProject.getResources() );
-<a name="1244" href="#1244">1244</a> 
-<a name="1245" href="#1245">1245</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1246" href="#1246">1246</a>         {
-<a name="1247" href="#1247">1247</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
-<a name="1248" href="#1248">1248</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
-<a name="1249" href="#1249">1249</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1250" href="#1250">1250</a>             {
-<a name="1251" href="#1251">1251</a>                 String sourceRoot = ( String ) i.next();
-<a name="1252" href="#1252">1252</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
-<a name="1253" href="#1253">1253</a>                 packageInfoResource.setDirectory( sourceRoot );
-<a name="1254" href="#1254">1254</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
-<a name="1255" href="#1255">1255</a>                 resources.add( packageInfoResource );
-<a name="1256" href="#1256">1256</a>             }
-<a name="1257" href="#1257">1257</a>         }
-<a name="1258" href="#1258">1258</a> 
-<a name="1259" href="#1259">1259</a>         <strong class="jxr_keyword">return</strong> resources;
-<a name="1260" href="#1260">1260</a>     }
+<a name="1223" href="#1223">1223</a> 
+<a name="1224" href="#1224">1224</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer )
+<a name="1225" href="#1225">1225</a>     {
+<a name="1226" href="#1226">1226</a>         Collection packages = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="1227" href="#1227">1227</a> 
+<a name="1228" href="#1228">1228</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
+<a name="1229" href="#1229">1229</a>         {
+<a name="1230" href="#1230">1230</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
+<a name="1231" href="#1231">1231</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1232" href="#1232">1232</a>             scanner.setBasedir( outputDirectory );
+<a name="1233" href="#1233">1233</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
+<a name="1234" href="#1234">1234</a>                 { <span class="jxr_string">"**/*.class"</span> } );
+<a name="1235" href="#1235">1235</a> 
+<a name="1236" href="#1236">1236</a>             scanner.addDefaultExcludes();
+<a name="1237" href="#1237">1237</a>             scanner.scan();
+<a name="1238" href="#1238">1238</a> 
+<a name="1239" href="#1239">1239</a>             String[] paths = scanner.getIncludedFiles();
+<a name="1240" href="#1240">1240</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
+<a name="1241" href="#1241">1241</a>             {
+<a name="1242" href="#1242">1242</a>                 packages.add( getPackageName( paths[i] ) );
+<a name="1243" href="#1243">1243</a>             }
+<a name="1244" href="#1244">1244</a>         }
+<a name="1245" href="#1245">1245</a> 
+<a name="1246" href="#1246">1246</a>         StringBuffer exportedPkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1247" href="#1247">1247</a>         StringBuffer privatePkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1248" href="#1248">1248</a> 
+<a name="1249" href="#1249">1249</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
+<a name="1250" href="#1250">1250</a> 
+<a name="1251" href="#1251">1251</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = packages.iterator(); i.hasNext(); )
+<a name="1252" href="#1252">1252</a>         {
+<a name="1253" href="#1253">1253</a>             String pkg = ( String ) i.next();
+<a name="1254" href="#1254">1254</a> 
+<a name="1255" href="#1255">1255</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
+<a name="1256" href="#1256">1256</a>             <strong class="jxr_keyword">if</strong> ( privatePkgs.length() &gt; 0 )
+<a name="1257" href="#1257">1257</a>             {
+<a name="1258" href="#1258">1258</a>                 privatePkgs.append( ';' );
+<a name="1259" href="#1259">1259</a>             }
+<a name="1260" href="#1260">1260</a>             privatePkgs.append( pkg );
 <a name="1261" href="#1261">1261</a> 
-<a name="1262" href="#1262">1262</a> 
-<a name="1263" href="#1263">1263</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject )
-<a name="1264" href="#1264">1264</a>     {
-<a name="1265" href="#1265">1265</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
-<a name="1266" href="#1266">1266</a> 
-<a name="1267" href="#1267">1267</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="1268" href="#1268">1268</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject ).iterator(); i.hasNext(); )
-<a name="1269" href="#1269">1269</a>         {
-<a name="1270" href="#1270">1270</a>             Resource resource = ( Resource ) i.next();
-<a name="1271" href="#1271">1271</a> 
-<a name="1272" href="#1272">1272</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
-<a name="1273" href="#1273">1273</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
-<a name="1274" href="#1274">1274</a> 
-<a name="1275" href="#1275">1275</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
-<a name="1276" href="#1276">1276</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="1277" href="#1277">1277</a>             {
-<a name="1278" href="#1278">1278</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1279" href="#1279">1279</a> 
-<a name="1280" href="#1280">1280</a>                 scanner.setBasedir( sourcePath );
-<a name="1281" href="#1281">1281</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
-<a name="1282" href="#1282">1282</a>                 {
-<a name="1283" href="#1283">1283</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1284" href="#1284">1284</a>                 }
-<a name="1285" href="#1285">1285</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1286" href="#1286">1286</a>                 {
-<a name="1287" href="#1287">1287</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
-<a name="1288" href="#1288">1288</a>                 }
-<a name="1289" href="#1289">1289</a> 
-<a name="1290" href="#1290">1290</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
-<a name="1291" href="#1291">1291</a>                 {
-<a name="1292" href="#1292">1292</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1293" href="#1293">1293</a>                 }
-<a name="1294" href="#1294">1294</a> 
-<a name="1295" href="#1295">1295</a>                 scanner.addDefaultExcludes();
-<a name="1296" href="#1296">1296</a>                 scanner.scan();
-<a name="1297" href="#1297">1297</a> 
-<a name="1298" href="#1298">1298</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
-<a name="1299" href="#1299">1299</a> 
-<a name="1300" href="#1300">1300</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
-<a name="1301" href="#1301">1301</a>                 {
-<a name="1302" href="#1302">1302</a>                     String name = ( String ) j.next();
-<a name="1303" href="#1303">1303</a>                     String path = sourcePath + '/' + name;
-<a name="1304" href="#1304">1304</a> 
-<a name="1305" href="#1305">1305</a>                     <em class="jxr_comment">// make relative to project</em>
-<a name="1306" href="#1306">1306</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
-<a name="1307" href="#1307">1307</a>                     {
-<a name="1308" href="#1308">1308</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
-<a name="1309" href="#1309">1309</a>                         {
-<a name="1310" href="#1310">1310</a>                             path = <span class="jxr_string">"."</span>;
-<a name="1311" href="#1311">1311</a>                         }
-<a name="1312" href="#1312">1312</a>                         <strong class="jxr_keyword">else</strong>
-<a name="1313" href="#1313">1313</a>                         {
-<a name="1314" href="#1314">1314</a>                             path = path.substring( basePath.length() + 1 );
-<a name="1315" href="#1315">1315</a>                         }
-<a name="1316" href="#1316">1316</a>                     }
+<a name="1262" href="#1262">1262</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
+<a name="1263" href="#1263">1263</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( pkg ) || pkg.contains( <span class="jxr_string">".internal"</span> ) || pkg.contains( <span class="jxr_string">".impl"</span> ) ) )
+<a name="1264" href="#1264">1264</a>             {
+<a name="1265" href="#1265">1265</a>                 <strong class="jxr_keyword">if</strong> ( exportedPkgs.length() &gt; 0 )
+<a name="1266" href="#1266">1266</a>                 {
+<a name="1267" href="#1267">1267</a>                     exportedPkgs.append( ';' );
+<a name="1268" href="#1268">1268</a>                 }
+<a name="1269" href="#1269">1269</a>                 exportedPkgs.append( pkg );
+<a name="1270" href="#1270">1270</a>             }
+<a name="1271" href="#1271">1271</a>         }
+<a name="1272" href="#1272">1272</a> 
+<a name="1273" href="#1273">1273</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
+<a name="1274" href="#1274">1274</a>         {
+<a name="1275" href="#1275">1275</a>             <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong> )
+<a name="1276" href="#1276">1276</a>             {
+<a name="1277" href="#1277">1277</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
+<a name="1278" href="#1278">1278</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, exportedPkgs + <span class="jxr_string">";-split-package:=merge-first"</span> );
+<a name="1279" href="#1279">1279</a>             }
+<a name="1280" href="#1280">1280</a>             <strong class="jxr_keyword">else</strong>
+<a name="1281" href="#1281">1281</a>             {
+<a name="1282" href="#1282">1282</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
+<a name="1283" href="#1283">1283</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
+<a name="1284" href="#1284">1284</a>             }
+<a name="1285" href="#1285">1285</a>         }
+<a name="1286" href="#1286">1286</a>         <strong class="jxr_keyword">else</strong>
+<a name="1287" href="#1287">1287</a>         {
+<a name="1288" href="#1288">1288</a>             String exported = analyzer.getProperty( Analyzer.EXPORT_PACKAGE );
+<a name="1289" href="#1289">1289</a>             <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1290" href="#1290">1290</a>             {
+<a name="1291" href="#1291">1291</a>                 String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, exportedPkgs.toString() );
+<a name="1292" href="#1292">1292</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
+<a name="1293" href="#1293">1293</a> 
+<a name="1294" href="#1294">1294</a>             }
+<a name="1295" href="#1295">1295</a>         }
+<a name="1296" href="#1296">1296</a> 
+<a name="1297" href="#1297">1297</a>         String internal = analyzer.getProperty( Analyzer.PRIVATE_PACKAGE );
+<a name="1298" href="#1298">1298</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
+<a name="1299" href="#1299">1299</a>         {
+<a name="1300" href="#1300">1300</a>             <strong class="jxr_keyword">if</strong> ( privatePkgs.length() &gt; 0 )
+<a name="1301" href="#1301">1301</a>             {
+<a name="1302" href="#1302">1302</a>                 analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, privatePkgs + <span class="jxr_string">";-split-package:=merge-first"</span> );
+<a name="1303" href="#1303">1303</a>             }
+<a name="1304" href="#1304">1304</a>             <strong class="jxr_keyword">else</strong>
+<a name="1305" href="#1305">1305</a>             {
+<a name="1306" href="#1306">1306</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="1307" href="#1307">1307</a>                 analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
+<a name="1308" href="#1308">1308</a>             }
+<a name="1309" href="#1309">1309</a>         }
+<a name="1310" href="#1310">1310</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1311" href="#1311">1311</a>         {
+<a name="1312" href="#1312">1312</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, privatePkgs.toString() );
+<a name="1313" href="#1313">1313</a>             analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
+<a name="1314" href="#1314">1314</a>         }
+<a name="1315" href="#1315">1315</a>     }
+<a name="1316" href="#1316">1316</a> 
 <a name="1317" href="#1317">1317</a> 
-<a name="1318" href="#1318">1318</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
-<a name="1319" href="#1319">1319</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
-<a name="1320" href="#1320">1320</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
-<a name="1321" href="#1321">1321</a>                     {
-<a name="1322" href="#1322">1322</a>                         name = name.replace( File.separatorChar, '/' );
-<a name="1323" href="#1323">1323</a>                         path = path.replace( File.separatorChar, '/' );
-<a name="1324" href="#1324">1324</a>                     }
-<a name="1325" href="#1325">1325</a> 
-<a name="1326" href="#1326">1326</a>                     <em class="jxr_comment">// copy to correct place</em>
-<a name="1327" href="#1327">1327</a>                     path = name + '=' + path;
-<a name="1328" href="#1328">1328</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
-<a name="1329" href="#1329">1329</a>                     {
-<a name="1330" href="#1330">1330</a>                         path = targetPath + '/' + path;
-<a name="1331" href="#1331">1331</a>                     }
-<a name="1332" href="#1332">1332</a> 
-<a name="1333" href="#1333">1333</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
-<a name="1334" href="#1334">1334</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
-<a name="1335" href="#1335">1335</a>                     {
-<a name="1336" href="#1336">1336</a>                         path = '{' + path + '}';
-<a name="1337" href="#1337">1337</a>                     }
-<a name="1338" href="#1338">1338</a> 
-<a name="1339" href="#1339">1339</a>                     pathSet.add( path );
-<a name="1340" href="#1340">1340</a>                 }
-<a name="1341" href="#1341">1341</a>             }
-<a name="1342" href="#1342">1342</a>         }
-<a name="1343" href="#1343">1343</a> 
-<a name="1344" href="#1344">1344</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1345" href="#1345">1345</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
-<a name="1346" href="#1346">1346</a>         {
-<a name="1347" href="#1347">1347</a>             resourcePaths.append( i.next() );
-<a name="1348" href="#1348">1348</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
-<a name="1349" href="#1349">1349</a>             {
-<a name="1350" href="#1350">1350</a>                 resourcePaths.append( ',' );
-<a name="1351" href="#1351">1351</a>             }
-<a name="1352" href="#1352">1352</a>         }
-<a name="1353" href="#1353">1353</a> 
-<a name="1354" href="#1354">1354</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
-<a name="1355" href="#1355">1355</a>     }
-<a name="1356" href="#1356">1356</a> 
-<a name="1357" href="#1357">1357</a> 
-<a name="1358" href="#1358">1358</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
-<a name="1359" href="#1359">1359</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1360" href="#1360">1360</a>     {
-<a name="1361" href="#1361">1361</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
-<a name="1362" href="#1362">1362</a> 
-<a name="1363" href="#1363">1363</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
-<a name="1364" href="#1364">1364</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
-<a name="1365" href="#1365">1365</a>         {
-<a name="1366" href="#1366">1366</a>             <em class="jxr_comment">// includes transitive dependencies</em>
-<a name="1367" href="#1367">1367</a>             artifacts = currentProject.getArtifacts();
-<a name="1368" href="#1368">1368</a>         }
-<a name="1369" href="#1369">1369</a>         <strong class="jxr_keyword">else</strong>
-<a name="1370" href="#1370">1370</a>         {
-<a name="1371" href="#1371">1371</a>             <em class="jxr_comment">// only includes direct dependencies</em>
-<a name="1372" href="#1372">1372</a>             artifacts = currentProject.getDependencyArtifacts();
-<a name="1373" href="#1373">1373</a>         }
-<a name="1374" href="#1374">1374</a> 
-<a name="1375" href="#1375">1375</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
-<a name="1376" href="#1376">1376</a>     }
-<a name="1377" href="#1377">1377</a> }
+<a name="1318" href="#1318">1318</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
+<a name="1319" href="#1319">1319</a>     {
+<a name="1320" href="#1320">1320</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
+<a name="1321" href="#1321">1321</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
+<a name="1322" href="#1322">1322</a>     }
+<a name="1323" href="#1323">1323</a> 
+<a name="1324" href="#1324">1324</a> 
+<a name="1325" href="#1325">1325</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject )
+<a name="1326" href="#1326">1326</a>     {
+<a name="1327" href="#1327">1327</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( currentProject.getResources() );
+<a name="1328" href="#1328">1328</a> 
+<a name="1329" href="#1329">1329</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
+<a name="1330" href="#1330">1330</a>         {
+<a name="1331" href="#1331">1331</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
+<a name="1332" href="#1332">1332</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
+<a name="1333" href="#1333">1333</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
+<a name="1334" href="#1334">1334</a>             {
+<a name="1335" href="#1335">1335</a>                 String sourceRoot = ( String ) i.next();
+<a name="1336" href="#1336">1336</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
+<a name="1337" href="#1337">1337</a>                 packageInfoResource.setDirectory( sourceRoot );
+<a name="1338" href="#1338">1338</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
+<a name="1339" href="#1339">1339</a>                 resources.add( packageInfoResource );
+<a name="1340" href="#1340">1340</a>             }
+<a name="1341" href="#1341">1341</a>         }
+<a name="1342" href="#1342">1342</a> 
+<a name="1343" href="#1343">1343</a>         <strong class="jxr_keyword">return</strong> resources;
+<a name="1344" href="#1344">1344</a>     }
+<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">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject )
+<a name="1348" href="#1348">1348</a>     {
+<a name="1349" href="#1349">1349</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
+<a name="1350" href="#1350">1350</a> 
+<a name="1351" href="#1351">1351</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="1352" href="#1352">1352</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject ).iterator(); i.hasNext(); )
+<a name="1353" href="#1353">1353</a>         {
+<a name="1354" href="#1354">1354</a>             Resource resource = ( Resource ) i.next();
+<a name="1355" href="#1355">1355</a> 
+<a name="1356" href="#1356">1356</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
+<a name="1357" href="#1357">1357</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
+<a name="1358" href="#1358">1358</a> 
+<a name="1359" href="#1359">1359</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
+<a name="1360" href="#1360">1360</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="1361" href="#1361">1361</a>             {
+<a name="1362" href="#1362">1362</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1363" href="#1363">1363</a> 
+<a name="1364" href="#1364">1364</a>                 scanner.setBasedir( sourcePath );
+<a name="1365" href="#1365">1365</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
+<a name="1366" href="#1366">1366</a>                 {
+<a name="1367" href="#1367">1367</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1368" href="#1368">1368</a>                 }
+<a name="1369" href="#1369">1369</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1370" href="#1370">1370</a>                 {
+<a name="1371" href="#1371">1371</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
+<a name="1372" href="#1372">1372</a>                 }
+<a name="1373" href="#1373">1373</a> 
+<a name="1374" href="#1374">1374</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
+<a name="1375" href="#1375">1375</a>                 {
+<a name="1376" href="#1376">1376</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1377" href="#1377">1377</a>                 }
+<a name="1378" href="#1378">1378</a> 
+<a name="1379" href="#1379">1379</a>                 scanner.addDefaultExcludes();
+<a name="1380" href="#1380">1380</a>                 scanner.scan();
+<a name="1381" href="#1381">1381</a> 
+<a name="1382" href="#1382">1382</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
+<a name="1383" href="#1383">1383</a> 
+<a name="1384" href="#1384">1384</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
+<a name="1385" href="#1385">1385</a>                 {
+<a name="1386" href="#1386">1386</a>                     String name = ( String ) j.next();
+<a name="1387" href="#1387">1387</a>                     String path = sourcePath + '/' + name;
+<a name="1388" href="#1388">1388</a> 
+<a name="1389" href="#1389">1389</a>                     <em class="jxr_comment">// make relative to project</em>
+<a name="1390" href="#1390">1390</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
+<a name="1391" href="#1391">1391</a>                     {
+<a name="1392" href="#1392">1392</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
+<a name="1393" href="#1393">1393</a>                         {
+<a name="1394" href="#1394">1394</a>                             path = <span class="jxr_string">"."</span>;
+<a name="1395" href="#1395">1395</a>                         }
+<a name="1396" href="#1396">1396</a>                         <strong class="jxr_keyword">else</strong>
+<a name="1397" href="#1397">1397</a>                         {
+<a name="1398" href="#1398">1398</a>                             path = path.substring( basePath.length() + 1 );
+<a name="1399" href="#1399">1399</a>                         }
+<a name="1400" href="#1400">1400</a>                     }
+<a name="1401" href="#1401">1401</a> 
+<a name="1402" href="#1402">1402</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
+<a name="1403" href="#1403">1403</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
+<a name="1404" href="#1404">1404</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
+<a name="1405" href="#1405">1405</a>                     {
+<a name="1406" href="#1406">1406</a>                         name = name.replace( File.separatorChar, '/' );
+<a name="1407" href="#1407">1407</a>                         path = path.replace( File.separatorChar, '/' );
+<a name="1408" href="#1408">1408</a>                     }
+<a name="1409" href="#1409">1409</a> 
+<a name="1410" href="#1410">1410</a>                     <em class="jxr_comment">// copy to correct place</em>
+<a name="1411" href="#1411">1411</a>                     path = name + '=' + path;
+<a name="1412" href="#1412">1412</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
+<a name="1413" href="#1413">1413</a>                     {
+<a name="1414" href="#1414">1414</a>                         path = targetPath + '/' + path;
+<a name="1415" href="#1415">1415</a>                     }
+<a name="1416" href="#1416">1416</a> 
+<a name="1417" href="#1417">1417</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
+<a name="1418" href="#1418">1418</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
+<a name="1419" href="#1419">1419</a>                     {
+<a name="1420" href="#1420">1420</a>                         path = '{' + path + '}';
+<a name="1421" href="#1421">1421</a>                     }
+<a name="1422" href="#1422">1422</a> 
+<a name="1423" href="#1423">1423</a>                     pathSet.add( path );
+<a name="1424" href="#1424">1424</a>                 }
+<a name="1425" href="#1425">1425</a>             }
+<a name="1426" href="#1426">1426</a>         }
+<a name="1427" href="#1427">1427</a> 
+<a name="1428" href="#1428">1428</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1429" href="#1429">1429</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
+<a name="1430" href="#1430">1430</a>         {
+<a name="1431" href="#1431">1431</a>             resourcePaths.append( i.next() );
+<a name="1432" href="#1432">1432</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
+<a name="1433" href="#1433">1433</a>             {
+<a name="1434" href="#1434">1434</a>                 resourcePaths.append( ',' );
+<a name="1435" href="#1435">1435</a>             }
+<a name="1436" href="#1436">1436</a>         }
+<a name="1437" href="#1437">1437</a> 
+<a name="1438" href="#1438">1438</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
+<a name="1439" href="#1439">1439</a>     }
+<a name="1440" href="#1440">1440</a> 
+<a name="1441" href="#1441">1441</a> 
+<a name="1442" href="#1442">1442</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
+<a name="1443" href="#1443">1443</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1444" href="#1444">1444</a>     {
+<a name="1445" href="#1445">1445</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
+<a name="1446" href="#1446">1446</a> 
+<a name="1447" href="#1447">1447</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
+<a name="1448" href="#1448">1448</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
+<a name="1449" href="#1449">1449</a>         {
+<a name="1450" href="#1450">1450</a>             <em class="jxr_comment">// includes transitive dependencies</em>
+<a name="1451" href="#1451">1451</a>             artifacts = currentProject.getArtifacts();
+<a name="1452" href="#1452">1452</a>         }
+<a name="1453" href="#1453">1453</a>         <strong class="jxr_keyword">else</strong>
+<a name="1454" href="#1454">1454</a>         {
+<a name="1455" href="#1455">1455</a>             <em class="jxr_comment">// only includes direct dependencies</em>
+<a name="1456" href="#1456">1456</a>             artifacts = currentProject.getDependencyArtifacts();
+<a name="1457" href="#1457">1457</a>         }
+<a name="1458" href="#1458">1458</a> 
+<a name="1459" href="#1459">1459</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
+<a name="1460" href="#1460">1460</a>     }
+<a name="1461" href="#1461">1461</a> 
+<a name="1462" href="#1462">1462</a> 
+<a name="1463" href="#1463">1463</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="1464" href="#1464">1464</a>     {
+<a name="1465" href="#1465">1465</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
+<a name="1466" href="#1466">1466</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="1467" href="#1467">1467</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
+<a name="1468" href="#1468">1468</a>         {
+<a name="1469" href="#1469">1469</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
+<a name="1470" href="#1470">1470</a>             {
+<a name="1471" href="#1471">1471</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1472" href="#1472">1472</a>                 {
+<a name="1473" href="#1473">1473</a>                     mavenSourcePaths.append( ',' );
+<a name="1474" href="#1474">1474</a>                 }
+<a name="1475" href="#1475">1475</a>                 mavenSourcePaths.append( ( String ) i.next() );
+<a name="1476" href="#1476">1476</a>             }
+<a name="1477" href="#1477">1477</a>         }
+<a name="1478" href="#1478">1478</a>         <strong class="jxr_keyword">final</strong> String sourcePath = ( String ) analyzer.getProperty( Analyzer.SOURCEPATH );
+<a name="1479" href="#1479">1479</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
+<a name="1480" href="#1480">1480</a>         {
+<a name="1481" href="#1481">1481</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.indexOf( MAVEN_SOURCES ) &gt;= 0 )
+<a name="1482" href="#1482">1482</a>             {
+<a name="1483" href="#1483">1483</a>                 <em class="jxr_comment">// if there is no maven source path, we do a special treatment and replace</em>
+<a name="1484" href="#1484">1484</a>                 <em class="jxr_comment">// every occurance of MAVEN_SOURCES and a following comma with an empty string</em>
+<a name="1485" href="#1485">1485</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() == 0 )
+<a name="1486" href="#1486">1486</a>                 {
+<a name="1487" href="#1487">1487</a>                     String cleanedSource = removeTagFromInstruction( sourcePath, MAVEN_SOURCES );
+<a name="1488" href="#1488">1488</a>                     <strong class="jxr_keyword">if</strong> ( cleanedSource.length() &gt; 0 )
+<a name="1489" href="#1489">1489</a>                     {
+<a name="1490" href="#1490">1490</a>                         analyzer.setProperty( Analyzer.SOURCEPATH, cleanedSource );
+<a name="1491" href="#1491">1491</a>                     }
+<a name="1492" href="#1492">1492</a>                     <strong class="jxr_keyword">else</strong>
+<a name="1493" href="#1493">1493</a>                     {
+<a name="1494" href="#1494">1494</a>                         analyzer.unsetProperty( Analyzer.SOURCEPATH );
+<a name="1495" href="#1495">1495</a>                     }
+<a name="1496" href="#1496">1496</a>                 }
+<a name="1497" href="#1497">1497</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1498" href="#1498">1498</a>                 {
+<a name="1499" href="#1499">1499</a>                     String combinedSource = StringUtils
+<a name="1500" href="#1500">1500</a>                         .replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
+<a name="1501" href="#1501">1501</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
+<a name="1502" href="#1502">1502</a>                 }
+<a name="1503" href="#1503">1503</a>             }
+<a name="1504" href="#1504">1504</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1505" href="#1505">1505</a>             {
+<a name="1506" href="#1506">1506</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="1507" href="#1507">1507</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
+<a name="1508" href="#1508">1508</a>             }
+<a name="1509" href="#1509">1509</a>         }
+<a name="1510" href="#1510">1510</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1511" href="#1511">1511</a>         {
+<a name="1512" href="#1512">1512</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
+<a name="1513" href="#1513">1513</a>         }
+<a name="1514" href="#1514">1514</a>     }
+<a name="1515" href="#1515">1515</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/DependencyEmbedder.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyEmbedder.html
index e7d4b46..1ce3613 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyEmbedder.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyEmbedder.html
@@ -33,29 +33,29 @@
 <a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
 <a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
-<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="27" href="#27">27</a>  
-<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
-<a name="32" href="#32">32</a>  
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> aQute.libg.header.OSGiHeader;
-<a name="35" href="#35">35</a>  
-<a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * Add BND directives to embed selected dependencies inside a bundle</em>
-<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="42" href="#42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
-<a name="43" href="#43">43</a>  {
-<a name="44" href="#44">44</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_DEPENDENCY = <span class="jxr_string">"Embed-Dependency"</span>;
-<a name="45" href="#45">45</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_DIRECTORY = <span class="jxr_string">"Embed-Directory"</span>;
-<a name="46" href="#46">46</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_STRIP_GROUP = <span class="jxr_string">"Embed-StripGroup"</span>;
-<a name="47" href="#47">47</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_STRIP_VERSION = <span class="jxr_string">"Embed-StripVersion"</span>;
-<a name="48" href="#48">48</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_TRANSITIVE = <span class="jxr_string">"Embed-Transitive"</span>;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * Add BND directives to embed selected dependencies inside a bundle</em>
+<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
+<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
+<a name="41" href="#41">41</a>  {
+<a name="42" href="#42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_DEPENDENCY = <span class="jxr_string">"Embed-Dependency"</span>;
+<a name="43" href="#43">43</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_DIRECTORY = <span class="jxr_string">"Embed-Directory"</span>;
+<a name="44" href="#44">44</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_STRIP_GROUP = <span class="jxr_string">"Embed-StripGroup"</span>;
+<a name="45" href="#45">45</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_STRIP_VERSION = <span class="jxr_string">"Embed-StripVersion"</span>;
+<a name="46" href="#46">46</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_TRANSITIVE = <span class="jxr_string">"Embed-Transitive"</span>;
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBEDDED_ARTIFACTS = <span class="jxr_string">"Embedded-Artifacts"</span>;
 <a name="49" href="#49">49</a>  
 <a name="50" href="#50">50</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_DEPENDENCIES = <span class="jxr_string">"{maven-dependencies}"</span>;
 <a name="51" href="#51">51</a>  
@@ -94,19 +94,19 @@
 <a name="84" href="#84">84</a>      {
 <a name="85" href="#85">85</a>          StringBuffer includeResource = <strong class="jxr_keyword">new</strong> StringBuffer();
 <a name="86" href="#86">86</a>          StringBuffer bundleClassPath = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="87" href="#87">87</a>  
-<a name="88" href="#88">88</a>          m_inlinedPaths.clear();
-<a name="89" href="#89">89</a>          m_embeddedArtifacts.clear();
-<a name="90" href="#90">90</a>  
-<a name="91" href="#91">91</a>          String embedDependencyHeader = analyzer.getProperty( EMBED_DEPENDENCY );
-<a name="92" href="#92">92</a>          <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != embedDependencyHeader &amp;&amp; embedDependencyHeader.length() &gt; 0 )
-<a name="93" href="#93">93</a>          {
-<a name="94" href="#94">94</a>              m_embedDirectory = analyzer.getProperty( EMBED_DIRECTORY );
-<a name="95" href="#95">95</a>              m_embedStripGroup = analyzer.getProperty( EMBED_STRIP_GROUP, <span class="jxr_string">"true"</span> );
-<a name="96" href="#96">96</a>              m_embedStripVersion = analyzer.getProperty( EMBED_STRIP_VERSION );
-<a name="97" href="#97">97</a>  
-<a name="98" href="#98">98</a>              Map embedInstructions = OSGiHeader.parseHeader( embedDependencyHeader );
-<a name="99" href="#99">99</a>              processInstructions( embedInstructions );
+<a name="87" href="#87">87</a>          StringBuffer embeddedArtifacts = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          m_inlinedPaths.clear();
+<a name="90" href="#90">90</a>          m_embeddedArtifacts.clear();
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          String embedDependencyHeader = analyzer.getProperty( EMBED_DEPENDENCY );
+<a name="93" href="#93">93</a>          <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( embedDependencyHeader ) )
+<a name="94" href="#94">94</a>          {
+<a name="95" href="#95">95</a>              m_embedDirectory = analyzer.getProperty( EMBED_DIRECTORY );
+<a name="96" href="#96">96</a>              m_embedStripGroup = analyzer.getProperty( EMBED_STRIP_GROUP, <span class="jxr_string">"true"</span> );
+<a name="97" href="#97">97</a>              m_embedStripVersion = analyzer.getProperty( EMBED_STRIP_VERSION );
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>              processInstructions( embedDependencyHeader );
 <a name="100" href="#100">100</a> 
 <a name="101" href="#101">101</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = m_inlinedPaths.iterator(); i.hasNext(); )
 <a name="102" href="#102">102</a>             {
@@ -114,7 +114,7 @@
 <a name="104" href="#104">104</a>             }
 <a name="105" href="#105">105</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = m_embeddedArtifacts.iterator(); i.hasNext(); )
 <a name="106" href="#106">106</a>             {
-<a name="107" href="#107">107</a>                 embedDependency( ( Artifact ) i.next(), includeResource, bundleClassPath );
+<a name="107" href="#107">107</a>                 embedDependency( ( Artifact ) i.next(), includeResource, bundleClassPath, embeddedArtifacts );
 <a name="108" href="#108">108</a>             }
 <a name="109" href="#109">109</a>         }
 <a name="110" href="#110">110</a> 
@@ -129,186 +129,197 @@
 <a name="119" href="#119">119</a> 
 <a name="120" href="#120">120</a>         appendDependencies( analyzer, Analyzer.INCLUDE_RESOURCE, includeResource.toString() );
 <a name="121" href="#121">121</a>         appendDependencies( analyzer, Analyzer.BUNDLE_CLASSPATH, bundleClassPath.toString() );
-<a name="122" href="#122">122</a>     }
-<a name="123" href="#123">123</a> 
+<a name="122" href="#122">122</a>         appendDependencies( analyzer, EMBEDDED_ARTIFACTS, embeddedArtifacts.toString() );
+<a name="123" href="#123">123</a>     }
 <a name="124" href="#124">124</a> 
-<a name="125" href="#125">125</a>     @Override
-<a name="126" href="#126">126</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processDependencies( String tag, String inline, Collection dependencies )
-<a name="127" href="#127">127</a>     {
-<a name="128" href="#128">128</a>         <strong class="jxr_keyword">if</strong> ( dependencies.isEmpty() )
-<a name="129" href="#129">129</a>         {
-<a name="130" href="#130">130</a>             m_log.warn( EMBED_DEPENDENCY + <span class="jxr_string">": clause \&quot;"</span> + tag + <span class="jxr_string">"\&quot; did not match any dependencies"</span> );
-<a name="131" href="#131">131</a>         }
-<a name="132" href="#132">132</a> 
-<a name="133" href="#133">133</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == inline || <span class="jxr_string">"false"</span>.equalsIgnoreCase( inline ) )
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     @Override
+<a name="127" href="#127">127</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processDependencies( Collection dependencies, String inline )
+<a name="128" href="#128">128</a>     {
+<a name="129" href="#129">129</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == inline || <span class="jxr_string">"false"</span>.equalsIgnoreCase( inline ) )
+<a name="130" href="#130">130</a>         {
+<a name="131" href="#131">131</a>             m_embeddedArtifacts.addAll( dependencies );
+<a name="132" href="#132">132</a>         }
+<a name="133" href="#133">133</a>         <strong class="jxr_keyword">else</strong>
 <a name="134" href="#134">134</a>         {
-<a name="135" href="#135">135</a>             m_embeddedArtifacts.addAll( dependencies );
-<a name="136" href="#136">136</a>         }
-<a name="137" href="#137">137</a>         <strong class="jxr_keyword">else</strong>
-<a name="138" href="#138">138</a>         {
-<a name="139" href="#139">139</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = dependencies.iterator(); i.hasNext(); )
-<a name="140" href="#140">140</a>             {
-<a name="141" href="#141">141</a>                 addInlinedPaths( ( Artifact ) i.next(), inline, m_inlinedPaths );
-<a name="142" href="#142">142</a>             }
-<a name="143" href="#143">143</a>         }
-<a name="144" href="#144">144</a>     }
-<a name="145" href="#145">145</a> 
-<a name="146" href="#146">146</a> 
-<a name="147" href="#147">147</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addInlinedPaths( Artifact dependency, String inline, Collection inlinedPaths )
-<a name="148" href="#148">148</a>     {
-<a name="149" href="#149">149</a>         File path = dependency.getFile();
-<a name="150" href="#150">150</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != path &amp;&amp; path.exists() )
-<a name="151" href="#151">151</a>         {
-<a name="152" href="#152">152</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( inline ) || inline.length() == 0 )
+<a name="135" href="#135">135</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = dependencies.iterator(); i.hasNext(); )
+<a name="136" href="#136">136</a>             {
+<a name="137" href="#137">137</a>                 addInlinedPaths( ( Artifact ) i.next(), inline, m_inlinedPaths );
+<a name="138" href="#138">138</a>             }
+<a name="139" href="#139">139</a>         }
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addInlinedPaths( Artifact dependency, String inline, Collection inlinedPaths )
+<a name="144" href="#144">144</a>     {
+<a name="145" href="#145">145</a>         File path = dependency.getFile();
+<a name="146" href="#146">146</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != path &amp;&amp; path.exists() )
+<a name="147" href="#147">147</a>         {
+<a name="148" href="#148">148</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( inline ) || inline.length() == 0 )
+<a name="149" href="#149">149</a>             {
+<a name="150" href="#150">150</a>                 inlinedPaths.add( path.getPath() );
+<a name="151" href="#151">151</a>             }
+<a name="152" href="#152">152</a>             <strong class="jxr_keyword">else</strong>
 <a name="153" href="#153">153</a>             {
-<a name="154" href="#154">154</a>                 inlinedPaths.add( path.getPath() );
-<a name="155" href="#155">155</a>             }
-<a name="156" href="#156">156</a>             <strong class="jxr_keyword">else</strong>
-<a name="157" href="#157">157</a>             {
-<a name="158" href="#158">158</a>                 String[] filters = inline.split( <span class="jxr_string">"&#92;&#92;|"</span> );
-<a name="159" href="#159">159</a>                 <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; filters.length; i++ )
-<a name="160" href="#160">160</a>                 {
-<a name="161" href="#161">161</a>                     <strong class="jxr_keyword">if</strong> ( filters[i].length() &gt; 0 )
-<a name="162" href="#162">162</a>                     {
-<a name="163" href="#163">163</a>                         inlinedPaths.add( path + <span class="jxr_string">"!/"</span> + filters[i] );
-<a name="164" href="#164">164</a>                     }
-<a name="165" href="#165">165</a>                 }
-<a name="166" href="#166">166</a>             }
-<a name="167" href="#167">167</a>         }
-<a name="168" href="#168">168</a>     }
-<a name="169" href="#169">169</a> 
-<a name="170" href="#170">170</a> 
-<a name="171" href="#171">171</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> embedDependency( Artifact dependency, StringBuffer includeResource, StringBuffer bundleClassPath )
-<a name="172" href="#172">172</a>     {
-<a name="173" href="#173">173</a>         File sourceFile = dependency.getFile();
-<a name="174" href="#174">174</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != sourceFile &amp;&amp; sourceFile.exists() )
-<a name="175" href="#175">175</a>         {
-<a name="176" href="#176">176</a>             String embedDirectory = m_embedDirectory;
-<a name="177" href="#177">177</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">""</span>.equals( embedDirectory ) || <span class="jxr_string">"."</span>.equals( embedDirectory ) )
-<a name="178" href="#178">178</a>             {
-<a name="179" href="#179">179</a>                 embedDirectory = <strong class="jxr_keyword">null</strong>;
-<a name="180" href="#180">180</a>             }
-<a name="181" href="#181">181</a> 
-<a name="182" href="#182">182</a>             <strong class="jxr_keyword">if</strong> ( false == Boolean.valueOf( m_embedStripGroup ).booleanValue() )
-<a name="183" href="#183">183</a>             {
-<a name="184" href="#184">184</a>                 embedDirectory = <strong class="jxr_keyword">new</strong> File( embedDirectory, dependency.getGroupId() ).getPath();
-<a name="185" href="#185">185</a>             }
-<a name="186" href="#186">186</a> 
-<a name="187" href="#187">187</a>             File targetFile;
-<a name="188" href="#188">188</a>             <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( m_embedStripVersion ).booleanValue() )
-<a name="189" href="#189">189</a>             {
-<a name="190" href="#190">190</a>                 String extension = dependency.getArtifactHandler().getExtension();
-<a name="191" href="#191">191</a>                 <strong class="jxr_keyword">if</strong> ( extension != <strong class="jxr_keyword">null</strong> )
-<a name="192" href="#192">192</a>                 {
-<a name="193" href="#193">193</a>                     targetFile = <strong class="jxr_keyword">new</strong> File( embedDirectory, dependency.getArtifactId() + <span class="jxr_string">"."</span> + extension );
-<a name="194" href="#194">194</a>                 }
-<a name="195" href="#195">195</a>                 <strong class="jxr_keyword">else</strong>
-<a name="196" href="#196">196</a>                 {
-<a name="197" href="#197">197</a>                     targetFile = <strong class="jxr_keyword">new</strong> File( embedDirectory, dependency.getArtifactId() );
-<a name="198" href="#198">198</a>                 }
-<a name="199" href="#199">199</a>             }
-<a name="200" href="#200">200</a>             <strong class="jxr_keyword">else</strong>
-<a name="201" href="#201">201</a>             {
-<a name="202" href="#202">202</a>                 targetFile = <strong class="jxr_keyword">new</strong> File( embedDirectory, sourceFile.getName() );
-<a name="203" href="#203">203</a>             }
-<a name="204" href="#204">204</a> 
-<a name="205" href="#205">205</a>             String targetFilePath = targetFile.getPath();
-<a name="206" href="#206">206</a> 
-<a name="207" href="#207">207</a>             <em class="jxr_comment">// replace windows backslash with a slash</em>
-<a name="208" href="#208">208</a>             <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
-<a name="209" href="#209">209</a>             {
-<a name="210" href="#210">210</a>                 targetFilePath = targetFilePath.replace( File.separatorChar, '/' );
-<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">if</strong> ( includeResource.length() &gt; 0 )
-<a name="214" href="#214">214</a>             {
-<a name="215" href="#215">215</a>                 includeResource.append( ',' );
-<a name="216" href="#216">216</a>             }
-<a name="217" href="#217">217</a> 
-<a name="218" href="#218">218</a>             includeResource.append( targetFilePath );
-<a name="219" href="#219">219</a>             includeResource.append( '=' );
-<a name="220" href="#220">220</a>             includeResource.append( sourceFile );
-<a name="221" href="#221">221</a> 
-<a name="222" href="#222">222</a>             <strong class="jxr_keyword">if</strong> ( bundleClassPath.length() &gt; 0 )
-<a name="223" href="#223">223</a>             {
-<a name="224" href="#224">224</a>                 bundleClassPath.append( ',' );
-<a name="225" href="#225">225</a>             }
-<a name="226" href="#226">226</a> 
-<a name="227" href="#227">227</a>             bundleClassPath.append( targetFilePath );
-<a name="228" href="#228">228</a>         }
-<a name="229" href="#229">229</a>     }
+<a name="154" href="#154">154</a>                 String[] filters = inline.split( <span class="jxr_string">"&#92;&#92;|"</span> );
+<a name="155" href="#155">155</a>                 <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; filters.length; i++ )
+<a name="156" href="#156">156</a>                 {
+<a name="157" href="#157">157</a>                     <strong class="jxr_keyword">if</strong> ( filters[i].length() &gt; 0 )
+<a name="158" href="#158">158</a>                     {
+<a name="159" href="#159">159</a>                         inlinedPaths.add( path + <span class="jxr_string">"!/"</span> + filters[i] );
+<a name="160" href="#160">160</a>                     }
+<a name="161" href="#161">161</a>                 }
+<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> 
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> embedDependency( Artifact dependency, StringBuffer includeResource, StringBuffer bundleClassPath,
+<a name="168" href="#168">168</a>         StringBuffer embeddedArtifacts )
+<a name="169" href="#169">169</a>     {
+<a name="170" href="#170">170</a>         File sourceFile = dependency.getFile();
+<a name="171" href="#171">171</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != sourceFile &amp;&amp; sourceFile.exists() )
+<a name="172" href="#172">172</a>         {
+<a name="173" href="#173">173</a>             String embedDirectory = m_embedDirectory;
+<a name="174" href="#174">174</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">""</span>.equals( embedDirectory ) || <span class="jxr_string">"."</span>.equals( embedDirectory ) )
+<a name="175" href="#175">175</a>             {
+<a name="176" href="#176">176</a>                 embedDirectory = <strong class="jxr_keyword">null</strong>;
+<a name="177" href="#177">177</a>             }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>             <strong class="jxr_keyword">if</strong> ( false == Boolean.valueOf( m_embedStripGroup ).booleanValue() )
+<a name="180" href="#180">180</a>             {
+<a name="181" href="#181">181</a>                 embedDirectory = <strong class="jxr_keyword">new</strong> File( embedDirectory, dependency.getGroupId() ).getPath();
+<a name="182" href="#182">182</a>             }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>             StringBuffer targetFileName = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="185" href="#185">185</a>             targetFileName.append( dependency.getArtifactId() );
+<a name="186" href="#186">186</a>             <strong class="jxr_keyword">if</strong> ( false == Boolean.valueOf( m_embedStripVersion ).booleanValue() )
+<a name="187" href="#187">187</a>             {
+<a name="188" href="#188">188</a>                 targetFileName.append( '-' ).append( dependency.getVersion() );
+<a name="189" href="#189">189</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( dependency.getClassifier() ) )
+<a name="190" href="#190">190</a>                 {
+<a name="191" href="#191">191</a>                     targetFileName.append( '-' ).append( dependency.getClassifier() );
+<a name="192" href="#192">192</a>                 }
+<a name="193" href="#193">193</a>             }
+<a name="194" href="#194">194</a>             String extension = dependency.getArtifactHandler().getExtension();
+<a name="195" href="#195">195</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( extension ) )
+<a name="196" href="#196">196</a>             {
+<a name="197" href="#197">197</a>                 targetFileName.append( '.' ).append( extension );
+<a name="198" href="#198">198</a>             }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>             File targetFile = <strong class="jxr_keyword">new</strong> File( embedDirectory, targetFileName.toString() );
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>             String targetFilePath = targetFile.getPath();
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>             <em class="jxr_comment">// replace windows backslash with a slash</em>
+<a name="205" href="#205">205</a>             <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
+<a name="206" href="#206">206</a>             {
+<a name="207" href="#207">207</a>                 targetFilePath = targetFilePath.replace( File.separatorChar, '/' );
+<a name="208" href="#208">208</a>             }
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>             <strong class="jxr_keyword">if</strong> ( includeResource.length() &gt; 0 )
+<a name="211" href="#211">211</a>             {
+<a name="212" href="#212">212</a>                 includeResource.append( ',' );
+<a name="213" href="#213">213</a>             }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>             includeResource.append( targetFilePath );
+<a name="216" href="#216">216</a>             includeResource.append( '=' );
+<a name="217" href="#217">217</a>             includeResource.append( sourceFile );
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>             <strong class="jxr_keyword">if</strong> ( bundleClassPath.length() &gt; 0 )
+<a name="220" href="#220">220</a>             {
+<a name="221" href="#221">221</a>                 bundleClassPath.append( ',' );
+<a name="222" href="#222">222</a>             }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>             bundleClassPath.append( targetFilePath );
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>             <strong class="jxr_keyword">if</strong> ( embeddedArtifacts.length() &gt; 0 )
+<a name="227" href="#227">227</a>             {
+<a name="228" href="#228">228</a>                 embeddedArtifacts.append( ',' );
+<a name="229" href="#229">229</a>             }
 <a name="230" href="#230">230</a> 
-<a name="231" href="#231">231</a> 
-<a name="232" href="#232">232</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> inlineDependency( String path, StringBuffer includeResource )
-<a name="233" href="#233">233</a>     {
-<a name="234" href="#234">234</a>         <strong class="jxr_keyword">if</strong> ( includeResource.length() &gt; 0 )
-<a name="235" href="#235">235</a>         {
-<a name="236" href="#236">236</a>             includeResource.append( ',' );
-<a name="237" href="#237">237</a>         }
-<a name="238" href="#238">238</a> 
-<a name="239" href="#239">239</a>         includeResource.append( '@' );
-<a name="240" href="#240">240</a>         includeResource.append( path );
-<a name="241" href="#241">241</a>     }
+<a name="231" href="#231">231</a>             embeddedArtifacts.append( targetFilePath ).append( ';' );
+<a name="232" href="#232">232</a>             embeddedArtifacts.append( <span class="jxr_string">"g=\&quot;"</span> ).append( dependency.getGroupId() ).append( '&quot;' );
+<a name="233" href="#233">233</a>             embeddedArtifacts.append( <span class="jxr_string">";a=\&quot;"</span> ).append( dependency.getArtifactId() ).append( '&quot;' );
+<a name="234" href="#234">234</a>             embeddedArtifacts.append( <span class="jxr_string">";v=\&quot;"</span> ).append( dependency.getBaseVersion() ).append( '&quot;' );
+<a name="235" href="#235">235</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( dependency.getClassifier() ) )
+<a name="236" href="#236">236</a>             {
+<a name="237" href="#237">237</a>                 embeddedArtifacts.append( <span class="jxr_string">";c=\&quot;"</span> ).append( dependency.getClassifier() ).append( '&quot;' );
+<a name="238" href="#238">238</a>             }
+<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>     <strong class="jxr_keyword">public</strong> Collection getInlinedPaths()
-<a name="245" href="#245">245</a>     {
-<a name="246" href="#246">246</a>         <strong class="jxr_keyword">return</strong> m_inlinedPaths;
-<a name="247" href="#247">247</a>     }
-<a name="248" href="#248">248</a> 
+<a name="243" href="#243">243</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> inlineDependency( String path, StringBuffer includeResource )
+<a name="244" href="#244">244</a>     {
+<a name="245" href="#245">245</a>         <strong class="jxr_keyword">if</strong> ( includeResource.length() &gt; 0 )
+<a name="246" href="#246">246</a>         {
+<a name="247" href="#247">247</a>             includeResource.append( ',' );
+<a name="248" href="#248">248</a>         }
 <a name="249" href="#249">249</a> 
-<a name="250" href="#250">250</a>     <strong class="jxr_keyword">public</strong> Collection getEmbeddedArtifacts()
-<a name="251" href="#251">251</a>     {
-<a name="252" href="#252">252</a>         <strong class="jxr_keyword">return</strong> m_embeddedArtifacts;
-<a name="253" href="#253">253</a>     }
+<a name="250" href="#250">250</a>         includeResource.append( '@' );
+<a name="251" href="#251">251</a>         includeResource.append( path );
+<a name="252" href="#252">252</a>     }
+<a name="253" href="#253">253</a> 
 <a name="254" href="#254">254</a> 
-<a name="255" href="#255">255</a> 
-<a name="256" href="#256">256</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> appendDependencies( Analyzer analyzer, String directiveName, String mavenDependencies )
-<a name="257" href="#257">257</a>     {
-<a name="258" href="#258">258</a>         <em class="jxr_comment">/*</em>
-<a name="259" href="#259">259</a> <em class="jxr_comment">         * similar algorithm to {maven-resources} but default behaviour here is to append rather than override</em>
-<a name="260" href="#260">260</a> <em class="jxr_comment">         */</em>
-<a name="261" href="#261">261</a>         <strong class="jxr_keyword">final</strong> String instruction = analyzer.getProperty( directiveName );
-<a name="262" href="#262">262</a>         <strong class="jxr_keyword">if</strong> ( instruction != <strong class="jxr_keyword">null</strong> &amp;&amp; instruction.length() &gt; 0 )
-<a name="263" href="#263">263</a>         {
-<a name="264" href="#264">264</a>             <strong class="jxr_keyword">if</strong> ( instruction.indexOf( MAVEN_DEPENDENCIES ) &gt;= 0 )
-<a name="265" href="#265">265</a>             {
-<a name="266" href="#266">266</a>                 <em class="jxr_comment">// if there are no embeddded dependencies, we do a special treatment and replace</em>
-<a name="267" href="#267">267</a>                 <em class="jxr_comment">// every occurance of MAVEN_DEPENDENCIES and a following comma with an empty string</em>
-<a name="268" href="#268">268</a>                 <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() == 0 )
-<a name="269" href="#269">269</a>                 {
-<a name="270" href="#270">270</a>                     String cleanInstruction = BundlePlugin.removeTagFromInstruction( instruction, MAVEN_DEPENDENCIES );
-<a name="271" href="#271">271</a>                     analyzer.setProperty( directiveName, cleanInstruction );
-<a name="272" href="#272">272</a>                 }
-<a name="273" href="#273">273</a>                 <strong class="jxr_keyword">else</strong>
-<a name="274" href="#274">274</a>                 {
-<a name="275" href="#275">275</a>                     String mergedInstruction = StringUtils.replace( instruction, MAVEN_DEPENDENCIES, mavenDependencies );
-<a name="276" href="#276">276</a>                     analyzer.setProperty( directiveName, mergedInstruction );
-<a name="277" href="#277">277</a>                 }
-<a name="278" href="#278">278</a>             }
-<a name="279" href="#279">279</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() &gt; 0 )
-<a name="280" href="#280">280</a>             {
-<a name="281" href="#281">281</a>                 <strong class="jxr_keyword">if</strong> ( Analyzer.INCLUDE_RESOURCE.equalsIgnoreCase( directiveName ) )
-<a name="282" href="#282">282</a>                 {
-<a name="283" href="#283">283</a>                     <em class="jxr_comment">// dependencies should be prepended so they can be overwritten by local resources</em>
-<a name="284" href="#284">284</a>                     analyzer.setProperty( directiveName, mavenDependencies + ',' + instruction );
-<a name="285" href="#285">285</a>                 }
-<a name="286" href="#286">286</a>                 <strong class="jxr_keyword">else</strong>
-<a name="287" href="#287">287</a>                 <em class="jxr_comment">// Analyzer.BUNDLE_CLASSPATH</em>
-<a name="288" href="#288">288</a>                 {
-<a name="289" href="#289">289</a>                     <em class="jxr_comment">// for the classpath we want dependencies to be appended after local entries</em>
-<a name="290" href="#290">290</a>                     analyzer.setProperty( directiveName, instruction + ',' + mavenDependencies );
-<a name="291" href="#291">291</a>                 }
-<a name="292" href="#292">292</a>             }
-<a name="293" href="#293">293</a>             <em class="jxr_comment">// otherwise leave instruction unchanged</em>
-<a name="294" href="#294">294</a>         }
-<a name="295" href="#295">295</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() &gt; 0 )
-<a name="296" href="#296">296</a>         {
-<a name="297" href="#297">297</a>             analyzer.setProperty( directiveName, mavenDependencies );
-<a name="298" href="#298">298</a>         }
-<a name="299" href="#299">299</a>         <em class="jxr_comment">// otherwise leave instruction unchanged</em>
-<a name="300" href="#300">300</a>     }
-<a name="301" href="#301">301</a> }
+<a name="255" href="#255">255</a>     <strong class="jxr_keyword">public</strong> Collection getInlinedPaths()
+<a name="256" href="#256">256</a>     {
+<a name="257" href="#257">257</a>         <strong class="jxr_keyword">return</strong> m_inlinedPaths;
+<a name="258" href="#258">258</a>     }
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>     <strong class="jxr_keyword">public</strong> Collection getEmbeddedArtifacts()
+<a name="262" href="#262">262</a>     {
+<a name="263" href="#263">263</a>         <strong class="jxr_keyword">return</strong> m_embeddedArtifacts;
+<a name="264" href="#264">264</a>     }
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> appendDependencies( Analyzer analyzer, String directiveName, String mavenDependencies )
+<a name="268" href="#268">268</a>     {
+<a name="269" href="#269">269</a>         <em class="jxr_comment">/*</em>
+<a name="270" href="#270">270</a> <em class="jxr_comment">         * similar algorithm to {maven-resources} but default behaviour here is to append rather than override</em>
+<a name="271" href="#271">271</a> <em class="jxr_comment">         */</em>
+<a name="272" href="#272">272</a>         <strong class="jxr_keyword">final</strong> String instruction = analyzer.getProperty( directiveName );
+<a name="273" href="#273">273</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( instruction ) )
+<a name="274" href="#274">274</a>         {
+<a name="275" href="#275">275</a>             <strong class="jxr_keyword">if</strong> ( instruction.indexOf( MAVEN_DEPENDENCIES ) &gt;= 0 )
+<a name="276" href="#276">276</a>             {
+<a name="277" href="#277">277</a>                 <em class="jxr_comment">// if there are no embeddded dependencies, we do a special treatment and replace</em>
+<a name="278" href="#278">278</a>                 <em class="jxr_comment">// every occurance of MAVEN_DEPENDENCIES and a following comma with an empty string</em>
+<a name="279" href="#279">279</a>                 <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() == 0 )
+<a name="280" href="#280">280</a>                 {
+<a name="281" href="#281">281</a>                     String cleanInstruction = BundlePlugin.removeTagFromInstruction( instruction, MAVEN_DEPENDENCIES );
+<a name="282" href="#282">282</a>                     analyzer.setProperty( directiveName, cleanInstruction );
+<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>                     String mergedInstruction = StringUtils.replace( instruction, MAVEN_DEPENDENCIES, mavenDependencies );
+<a name="287" href="#287">287</a>                     analyzer.setProperty( directiveName, mergedInstruction );
+<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">else</strong> <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() &gt; 0 )
+<a name="291" href="#291">291</a>             {
+<a name="292" href="#292">292</a>                 <strong class="jxr_keyword">if</strong> ( Analyzer.INCLUDE_RESOURCE.equalsIgnoreCase( directiveName ) )
+<a name="293" href="#293">293</a>                 {
+<a name="294" href="#294">294</a>                     <em class="jxr_comment">// dependencies should be prepended so they can be overwritten by local resources</em>
+<a name="295" href="#295">295</a>                     analyzer.setProperty( directiveName, mavenDependencies + ',' + instruction );
+<a name="296" href="#296">296</a>                 }
+<a name="297" href="#297">297</a>                 <strong class="jxr_keyword">else</strong>
+<a name="298" href="#298">298</a>                 <em class="jxr_comment">// Analyzer.BUNDLE_CLASSPATH</em>
+<a name="299" href="#299">299</a>                 {
+<a name="300" href="#300">300</a>                     <em class="jxr_comment">// for the classpath we want dependencies to be appended after local entries</em>
+<a name="301" href="#301">301</a>                     analyzer.setProperty( directiveName, instruction + ',' + mavenDependencies );
+<a name="302" href="#302">302</a>                 }
+<a name="303" href="#303">303</a>             }
+<a name="304" href="#304">304</a>             <em class="jxr_comment">// otherwise leave instruction unchanged</em>
+<a name="305" href="#305">305</a>         }
+<a name="306" href="#306">306</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() &gt; 0 )
+<a name="307" href="#307">307</a>         {
+<a name="308" href="#308">308</a>             analyzer.setProperty( directiveName, mavenDependencies );
+<a name="309" href="#309">309</a>         }
+<a name="310" href="#310">310</a>         <em class="jxr_comment">// otherwise leave instruction unchanged</em>
+<a name="311" href="#311">311</a>     }
+<a name="312" href="#312">312</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/DependencyExcluder.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyExcluder.html
index 36e6668..63472d1 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyExcluder.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyExcluder.html
@@ -34,53 +34,51 @@
 <a name="24" href="#24">24</a>  
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
 <a name="26" href="#26">26</a>  
-<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> aQute.libg.header.OSGiHeader;
-<a name="28" href="#28">28</a>  
-<a name="29" href="#29">29</a>  
-<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * Exclude selected dependencies from the classpath passed to BND.</em>
-<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
-<a name="36" href="#36">36</a>  {
-<a name="37" href="#37">37</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">     * Excluded artifacts.</em>
-<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="40" href="#40">40</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection m_excludedArtifacts;
-<a name="41" href="#41">41</a>  
-<a name="42" href="#42">42</a>  
-<a name="43" href="#43">43</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( Collection dependencyArtifacts )
-<a name="44" href="#44">44</a>      {
-<a name="45" href="#45">45</a>          <strong class="jxr_keyword">super</strong>( dependencyArtifacts );
-<a name="46" href="#46">46</a>  
-<a name="47" href="#47">47</a>          m_excludedArtifacts = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="48" href="#48">48</a>      }
-<a name="49" href="#49">49</a>  
-<a name="50" href="#50">50</a>  
-<a name="51" href="#51">51</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> processHeaders( String excludeDependencies ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="52" href="#52">52</a>      {
-<a name="53" href="#53">53</a>          m_excludedArtifacts.clear();
-<a name="54" href="#54">54</a>  
-<a name="55" href="#55">55</a>          <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != excludeDependencies &amp;&amp; excludeDependencies.length() &gt; 0 )
-<a name="56" href="#56">56</a>          {
-<a name="57" href="#57">57</a>              processInstructions( OSGiHeader.parseHeader( excludeDependencies ) );
-<a name="58" href="#58">58</a>          }
-<a name="59" href="#59">59</a>      }
-<a name="60" href="#60">60</a>  
-<a name="61" href="#61">61</a>  
-<a name="62" href="#62">62</a>      @Override
-<a name="63" href="#63">63</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processDependencies( String tag, String inline, Collection dependencies )
-<a name="64" href="#64">64</a>      {
-<a name="65" href="#65">65</a>          m_excludedArtifacts.addAll( dependencies );
-<a name="66" href="#66">66</a>      }
-<a name="67" href="#67">67</a>  
-<a name="68" href="#68">68</a>  
-<a name="69" href="#69">69</a>      <strong class="jxr_keyword">public</strong> Collection getExcludedArtifacts()
-<a name="70" href="#70">70</a>      {
-<a name="71" href="#71">71</a>          <strong class="jxr_keyword">return</strong> m_excludedArtifacts;
-<a name="72" href="#72">72</a>      }
-<a name="73" href="#73">73</a>  }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * Exclude selected dependencies from the classpath passed to BND.</em>
+<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
+<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
+<a name="34" href="#34">34</a>  {
+<a name="35" href="#35">35</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment">     * Excluded artifacts.</em>
+<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="38" href="#38">38</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection m_excludedArtifacts;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( Collection dependencyArtifacts )
+<a name="42" href="#42">42</a>      {
+<a name="43" href="#43">43</a>          <strong class="jxr_keyword">super</strong>( dependencyArtifacts );
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          m_excludedArtifacts = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> processHeaders( String excludeDependencies ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="50" href="#50">50</a>      {
+<a name="51" href="#51">51</a>          m_excludedArtifacts.clear();
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != excludeDependencies &amp;&amp; excludeDependencies.length() &gt; 0 )
+<a name="54" href="#54">54</a>          {
+<a name="55" href="#55">55</a>              processInstructions( excludeDependencies );
+<a name="56" href="#56">56</a>          }
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      @Override
+<a name="61" href="#61">61</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processDependencies( Collection dependencies, String inline )
+<a name="62" href="#62">62</a>      {
+<a name="63" href="#63">63</a>          m_excludedArtifacts.addAll( dependencies );
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong class="jxr_keyword">public</strong> Collection getExcludedArtifacts()
+<a name="68" href="#68">68</a>      {
+<a name="69" href="#69">69</a>          <strong class="jxr_keyword">return</strong> m_excludedArtifacts;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</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 9c08abe..889091e 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
@@ -33,177 +33,203 @@
 <a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException;
 <a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.FileOutputStream;
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
-<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
-<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<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> org.apache.maven.plugin.MojoExecutionException;
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="34" href="#34">34</a>  
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="38" href="#38">38</a>  
-<a name="39" href="#39">39</a>  
-<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * Generate an OSGi manifest for this project</em>
-<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * @goal manifest</em>
-<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * @phase process-classes</em>
-<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/ManifestPlugin.html">ManifestPlugin</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a>
-<a name="49" href="#49">49</a>  {
-<a name="50" href="#50">50</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
-<a name="51" href="#51">51</a>          <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="52" href="#52">52</a>      {
-<a name="53" href="#53">53</a>          Manifest manifest;
-<a name="54" href="#54">54</a>          <strong class="jxr_keyword">try</strong>
-<a name="55" href="#55">55</a>          {
-<a name="56" href="#56">56</a>              <strong class="jxr_keyword">if</strong> ( supportedProjectTypes.contains( getProject().getArtifact().getType() ) )
-<a name="57" href="#57">57</a>              {
-<a name="58" href="#58">58</a>                  Builder builder = buildOSGiBundle( project, instructions, properties, classpath );
-<a name="59" href="#59">59</a>                  manifest = builder.getJar().getManifest();
-<a name="60" href="#60">60</a>                  builder.close();
-<a name="61" href="#61">61</a>              }
-<a name="62" href="#62">62</a>              <strong class="jxr_keyword">else</strong>
-<a name="63" href="#63">63</a>              {
-<a name="64" href="#64">64</a>                  manifest = getManifest( project, instructions, properties, classpath );
-<a name="65" href="#65">65</a>              }
-<a name="66" href="#66">66</a>          }
-<a name="67" href="#67">67</a>          <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
-<a name="68" href="#68">68</a>          {
-<a name="69" href="#69">69</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot find "</span> + e.getMessage()
-<a name="70" href="#70">70</a>                  + <span class="jxr_string">" (manifest goal must be run after compile phase)"</span>, e );
-<a name="71" href="#71">71</a>          }
-<a name="72" href="#72">72</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="73" href="#73">73</a>          {
-<a name="74" href="#74">74</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to generate Manifest"</span>, e );
-<a name="75" href="#75">75</a>          }
-<a name="76" href="#76">76</a>          <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="77" href="#77">77</a>          {
-<a name="78" href="#78">78</a>              getLog().error( e.getLocalizedMessage() );
-<a name="79" href="#79">79</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in manifest configuration"</span>, e );
-<a name="80" href="#80">80</a>          }
-<a name="81" href="#81">81</a>          <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="82" href="#82">82</a>          {
-<a name="83" href="#83">83</a>              getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="84" href="#84">84</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="85" href="#85">85</a>          }
-<a name="86" href="#86">86</a>  
-<a name="87" href="#87">87</a>          File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
-<a name="88" href="#88">88</a>  
-<a name="89" href="#89">89</a>          <strong class="jxr_keyword">try</strong>
-<a name="90" href="#90">90</a>          {
-<a name="91" href="#91">91</a>              writeManifest( manifest, outputFile );
-<a name="92" href="#92">92</a>          }
-<a name="93" href="#93">93</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="94" href="#94">94</a>          {
-<a name="95" href="#95">95</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="96" href="#96">96</a>          }
-<a name="97" href="#97">97</a>      }
-<a name="98" href="#98">98</a>  
-<a name="99" href="#99">99</a>  
-<a name="100" href="#100">100</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException,
-<a name="101" href="#101">101</a>         MojoExecutionException, Exception
-<a name="102" href="#102">102</a>     {
-<a name="103" href="#103">103</a>         <strong class="jxr_keyword">return</strong> getManifest( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
-<a name="104" href="#104">104</a>     }
-<a name="105" href="#105">105</a> 
-<a name="106" href="#106">106</a> 
-<a name="107" href="#107">107</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
-<a name="108" href="#108">108</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException, MojoExecutionException, Exception
-<a name="109" href="#109">109</a>     {
-<a name="110" href="#110">110</a>         Analyzer analyzer = getAnalyzer( project, instructions, properties, classpath );
-<a name="111" href="#111">111</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Manifest "</span> + project.getArtifact(), analyzer );
-<a name="112" href="#112">112</a>         <strong class="jxr_keyword">if</strong> ( hasErrors )
-<a name="113" href="#113">113</a>         {
-<a name="114" href="#114">114</a>             String failok = analyzer.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="115" href="#115">115</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="116" href="#116">116</a>             {
-<a name="117" href="#117">117</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in manifest configuration"</span> );
-<a name="118" href="#118">118</a>             }
-<a name="119" href="#119">119</a>         }
-<a name="120" href="#120">120</a> 
-<a name="121" href="#121">121</a>         Manifest manifest = analyzer.getJar().getManifest();
-<a name="122" href="#122">122</a> 
-<a name="123" href="#123">123</a>         <em class="jxr_comment">// cleanup...</em>
-<a name="124" href="#124">124</a>         analyzer.close();
+<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStream;
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Map.Entry;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Resource;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * Generate an OSGi manifest for this project</em>
+<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * @goal manifest</em>
+<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * @phase process-classes</em>
+<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
+<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
+<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="51" href="#51">51</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/ManifestPlugin.html">ManifestPlugin</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a>
+<a name="52" href="#52">52</a>  {
+<a name="53" href="#53">53</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     * When true, generate the manifest by rebuilding the full bundle in memory </em>
+<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">     * @parameter expression="${rebuildBundle}"</em>
+<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="58" href="#58">58</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> rebuildBundle;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      @Override
+<a name="62" href="#62">62</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
+<a name="63" href="#63">63</a>          <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="64" href="#64">64</a>      {
+<a name="65" href="#65">65</a>          Manifest manifest;
+<a name="66" href="#66">66</a>          <strong class="jxr_keyword">try</strong>
+<a name="67" href="#67">67</a>          {
+<a name="68" href="#68">68</a>              manifest = getManifest( project, instructions, properties, classpath );
+<a name="69" href="#69">69</a>          }
+<a name="70" href="#70">70</a>          <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
+<a name="71" href="#71">71</a>          {
+<a name="72" href="#72">72</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot find "</span> + e.getMessage()
+<a name="73" href="#73">73</a>                  + <span class="jxr_string">" (manifest goal must be run after compile phase)"</span>, e );
+<a name="74" href="#74">74</a>          }
+<a name="75" href="#75">75</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="76" href="#76">76</a>          {
+<a name="77" href="#77">77</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to generate Manifest"</span>, e );
+<a name="78" href="#78">78</a>          }
+<a name="79" href="#79">79</a>          <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
+<a name="80" href="#80">80</a>          {
+<a name="81" href="#81">81</a>              getLog().error( e.getLocalizedMessage() );
+<a name="82" href="#82">82</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in manifest configuration"</span>, e );
+<a name="83" href="#83">83</a>          }
+<a name="84" href="#84">84</a>          <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="85" href="#85">85</a>          {
+<a name="86" href="#86">86</a>              getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
+<a name="87" href="#87">87</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="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          <strong class="jxr_keyword">try</strong>
+<a name="93" href="#93">93</a>          {
+<a name="94" href="#94">94</a>              writeManifest( manifest, outputFile );
+<a name="95" href="#95">95</a>          }
+<a name="96" href="#96">96</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="97" href="#97">97</a>          {
+<a name="98" href="#98">98</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
+<a name="99" href="#99">99</a>          }
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException,
+<a name="104" href="#104">104</a>         MojoExecutionException, Exception
+<a name="105" href="#105">105</a>     {
+<a name="106" href="#106">106</a>         <strong class="jxr_keyword">return</strong> getManifest( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
+<a name="111" href="#111">111</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException, MojoExecutionException, Exception
+<a name="112" href="#112">112</a>     {
+<a name="113" href="#113">113</a>         Analyzer analyzer = getAnalyzer( project, instructions, properties, classpath );
+<a name="114" href="#114">114</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Manifest "</span> + project.getArtifact(), analyzer );
+<a name="115" href="#115">115</a>         <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="116" href="#116">116</a>         {
+<a name="117" href="#117">117</a>             String failok = analyzer.getProperty( <span class="jxr_string">"-failok"</span> );
+<a name="118" href="#118">118</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
+<a name="119" href="#119">119</a>             {
+<a name="120" href="#120">120</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in manifest configuration"</span> );
+<a name="121" href="#121">121</a>             }
+<a name="122" href="#122">122</a>         }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         Jar jar = analyzer.getJar();
 <a name="125" href="#125">125</a> 
-<a name="126" href="#126">126</a>         <strong class="jxr_keyword">return</strong> manifest;
-<a name="127" href="#127">127</a>     }
-<a name="128" href="#128">128</a> 
-<a name="129" href="#129">129</a> 
-<a name="130" href="#130">130</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException,
-<a name="131" href="#131">131</a>         Exception
-<a name="132" href="#132">132</a>     {
-<a name="133" href="#133">133</a>         <strong class="jxr_keyword">return</strong> getAnalyzer( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
-<a name="134" href="#134">134</a>     }
-<a name="135" href="#135">135</a> 
-<a name="136" href="#136">136</a> 
-<a name="137" href="#137">137</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
-<a name="138" href="#138">138</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException, Exception
-<a name="139" href="#139">139</a>     {
-<a name="140" href="#140">140</a>         File file = project.getArtifact().getFile();
-<a name="141" href="#141">141</a>         <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="142" href="#142">142</a>         {
-<a name="143" href="#143">143</a>             file = getOutputDirectory();
-<a name="144" href="#144">144</a>         }
-<a name="145" href="#145">145</a> 
-<a name="146" href="#146">146</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
-<a name="147" href="#147">147</a>         {
-<a name="148" href="#148">148</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> FileNotFoundException( file.getPath() );
-<a name="149" href="#149">149</a>         }
+<a name="126" href="#126">126</a>         <strong class="jxr_keyword">if</strong> ( unpackBundle )
+<a name="127" href="#127">127</a>         {
+<a name="128" href="#128">128</a>             File outputFile = getOutputDirectory();
+<a name="129" href="#129">129</a>             <strong class="jxr_keyword">for</strong> ( Entry&lt;String, Resource&gt; entry : jar.getResources().entrySet() )
+<a name="130" href="#130">130</a>             {
+<a name="131" href="#131">131</a>                 File entryFile = <strong class="jxr_keyword">new</strong> File( outputFile, entry.getKey() );
+<a name="132" href="#132">132</a>                 <strong class="jxr_keyword">if</strong> ( !entryFile.exists() || entry.getValue().lastModified() == 0 )
+<a name="133" href="#133">133</a>                 {
+<a name="134" href="#134">134</a>                     entryFile.getParentFile().mkdirs();
+<a name="135" href="#135">135</a>                     OutputStream os = <strong class="jxr_keyword">new</strong> FileOutputStream( entryFile );
+<a name="136" href="#136">136</a>                     entry.getValue().write( os );
+<a name="137" href="#137">137</a>                     os.close();
+<a name="138" href="#138">138</a>                 }
+<a name="139" href="#139">139</a>             }
+<a name="140" href="#140">140</a>         }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         Manifest manifest = jar.getManifest();
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         <em class="jxr_comment">// cleanup...</em>
+<a name="145" href="#145">145</a>         analyzer.close();
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         <strong class="jxr_keyword">return</strong> manifest;
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
 <a name="150" href="#150">150</a> 
-<a name="151" href="#151">151</a>         Builder analyzer = getOSGiBuilder( project, instructions, properties, classpath );
-<a name="152" href="#152">152</a> 
-<a name="153" href="#153">153</a>         analyzer.setJar( file );
-<a name="154" href="#154">154</a> 
-<a name="155" href="#155">155</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong>
-<a name="156" href="#156">156</a>             &amp;&amp; analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong>
-<a name="157" href="#157">157</a>             &amp;&amp; analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
-<a name="158" href="#158">158</a>         {
-<a name="159" href="#159">159</a>             String export = analyzer.calculateExportsFromContents( analyzer.getJar() );
-<a name="160" href="#160">160</a>             analyzer.setProperty( Analyzer.EXPORT_PACKAGE, export );
-<a name="161" href="#161">161</a>         }
-<a name="162" href="#162">162</a> 
-<a name="163" href="#163">163</a>         addMavenInstructions( project, analyzer );
-<a name="164" href="#164">164</a> 
-<a name="165" href="#165">165</a>         analyzer.mergeManifest( analyzer.getJar().getManifest() );
-<a name="166" href="#166">166</a>         analyzer.calcManifest();
-<a name="167" href="#167">167</a> 
-<a name="168" href="#168">168</a>         mergeMavenManifest( project, analyzer );
-<a name="169" href="#169">169</a> 
-<a name="170" href="#170">170</a>         <strong class="jxr_keyword">return</strong> analyzer;
-<a name="171" href="#171">171</a>     }
-<a name="172" href="#172">172</a> 
-<a name="173" href="#173">173</a> 
-<a name="174" href="#174">174</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeManifest( Manifest manifest, File outputFile ) <strong class="jxr_keyword">throws</strong> IOException
-<a name="175" href="#175">175</a>     {
-<a name="176" href="#176">176</a>         outputFile.getParentFile().mkdirs();
-<a name="177" href="#177">177</a> 
-<a name="178" href="#178">178</a>         FileOutputStream os;
-<a name="179" href="#179">179</a>         os = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
-<a name="180" href="#180">180</a>         <strong class="jxr_keyword">try</strong>
-<a name="181" href="#181">181</a>         {
-<a name="182" href="#182">182</a>             manifest.write( os );
-<a name="183" href="#183">183</a>         }
-<a name="184" href="#184">184</a>         <strong class="jxr_keyword">finally</strong>
-<a name="185" href="#185">185</a>         {
-<a name="186" href="#186">186</a>             <strong class="jxr_keyword">try</strong>
-<a name="187" href="#187">187</a>             {
-<a name="188" href="#188">188</a>                 os.close();
-<a name="189" href="#189">189</a>             }
-<a name="190" href="#190">190</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="191" href="#191">191</a>             {
-<a name="192" href="#192">192</a>                 <em class="jxr_comment">// nothing we can do here</em>
-<a name="193" href="#193">193</a>             }
-<a name="194" href="#194">194</a>         }
-<a name="195" href="#195">195</a>     }
-<a name="196" href="#196">196</a> }
+<a name="151" href="#151">151</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException,
+<a name="152" href="#152">152</a>         Exception
+<a name="153" href="#153">153</a>     {
+<a name="154" href="#154">154</a>         <strong class="jxr_keyword">return</strong> getAnalyzer( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
+<a name="159" href="#159">159</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException, Exception
+<a name="160" href="#160">160</a>     {
+<a name="161" href="#161">161</a>         <strong class="jxr_keyword">if</strong> ( rebuildBundle &amp;&amp; supportedProjectTypes.contains( project.getArtifact().getType() ) )
+<a name="162" href="#162">162</a>         {
+<a name="163" href="#163">163</a>             <strong class="jxr_keyword">return</strong> buildOSGiBundle( project, instructions, properties, classpath );
+<a name="164" href="#164">164</a>         }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         File file = project.getArtifact().getFile();
+<a name="167" href="#167">167</a>         <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="168" href="#168">168</a>         {
+<a name="169" href="#169">169</a>             file = getOutputDirectory();
+<a name="170" href="#170">170</a>         }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
+<a name="173" href="#173">173</a>         {
+<a name="174" href="#174">174</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> FileNotFoundException( file.getPath() );
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         Builder analyzer = getOSGiBuilder( project, instructions, properties, classpath );
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         analyzer.setJar( file );
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong>
+<a name="182" href="#182">182</a>             &amp;&amp; analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong>
+<a name="183" href="#183">183</a>             &amp;&amp; analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
+<a name="184" href="#184">184</a>         {
+<a name="185" href="#185">185</a>             String export = analyzer.calculateExportsFromContents( analyzer.getJar() );
+<a name="186" href="#186">186</a>             analyzer.setProperty( Analyzer.EXPORT_PACKAGE, export );
+<a name="187" href="#187">187</a>         }
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         addMavenInstructions( project, analyzer );
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>         analyzer.mergeManifest( analyzer.getJar().getManifest() );
+<a name="192" href="#192">192</a>         analyzer.calcManifest();
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>         mergeMavenManifest( project, analyzer );
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong class="jxr_keyword">return</strong> analyzer;
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeManifest( Manifest manifest, File outputFile ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="201" href="#201">201</a>     {
+<a name="202" href="#202">202</a>         outputFile.getParentFile().mkdirs();
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         FileOutputStream os;
+<a name="205" href="#205">205</a>         os = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
+<a name="206" href="#206">206</a>         <strong class="jxr_keyword">try</strong>
+<a name="207" href="#207">207</a>         {
+<a name="208" href="#208">208</a>             Jar.writeManifest( manifest, os );
+<a name="209" href="#209">209</a>         }
+<a name="210" href="#210">210</a>         <strong class="jxr_keyword">finally</strong>
+<a name="211" href="#211">211</a>         {
+<a name="212" href="#212">212</a>             <strong class="jxr_keyword">try</strong>
+<a name="213" href="#213">213</a>             {
+<a name="214" href="#214">214</a>                 os.close();
+<a name="215" href="#215">215</a>             }
+<a name="216" href="#216">216</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="217" href="#217">217</a>             {
+<a name="218" href="#218">218</a>                 <em class="jxr_comment">// nothing we can do here</em>
+<a name="219" href="#219">219</a>             }
+<a name="220" href="#220">220</a>         }
+<a name="221" href="#221">221</a>     }
+<a name="222" href="#222">222</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/package-frame.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
index 023285b..8da2172 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.3.5 Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
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 dba2169..accbbaf 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.3.5 Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</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/ObrIndex.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrIndex.html
index 5b330ad..c7ecf4a 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrIndex.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrIndex.html
@@ -219,58 +219,69 @@
 <a name="209" href="#209">209</a>         }
 <a name="210" href="#210">210</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( urlTemplate != <strong class="jxr_keyword">null</strong> )
 <a name="211" href="#211">211</a>         {
-<a name="212" href="#212">212</a>             String dir = path.getParentFile().toURI().toURL().toString();
-<a name="213" href="#213">213</a>             <strong class="jxr_keyword">if</strong> ( dir.endsWith( <span class="jxr_string">"/"</span> ) )
-<a name="214" href="#214">214</a>                 dir = dir.substring( 0, dir.length() - 1 );
-<a name="215" href="#215">215</a> 
-<a name="216" href="#216">216</a>             <strong class="jxr_keyword">if</strong> ( dir.startsWith( root.toString() ) )
-<a name="217" href="#217">217</a>                 dir = dir.substring( root.toString().length() );
-<a name="218" href="#218">218</a> 
-<a name="219" href="#219">219</a>             String url = urlTemplate.replaceAll( <span class="jxr_string">"%v"</span>, <span class="jxr_string">""</span> + resource.getVersion() );
-<a name="220" href="#220">220</a>             url = url.replaceAll( <span class="jxr_string">"%s"</span>, resource.getSymbolicName() );
-<a name="221" href="#221">221</a>             url = url.replaceAll( <span class="jxr_string">"%f"</span>, path.getName() );
-<a name="222" href="#222">222</a>             url = url.replaceAll( <span class="jxr_string">"%p"</span>, dir );
-<a name="223" href="#223">223</a>             finalUri = url;
-<a name="224" href="#224">224</a>         }
-<a name="225" href="#225">225</a>         resource.put( Resource.URI, finalUri, Property.URI );
-<a name="226" href="#226">226</a>     }
+<a name="212" href="#212">212</a>             URI parentDir = path.getParentFile().toURI();
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>             String absoluteDir = trim( root.toString(), parentDir.toURL().toString() );
+<a name="215" href="#215">215</a>             String relativeDir = trim( root.toString(), root.relativize( parentDir ).toString() );
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>             String url = urlTemplate.replaceAll( <span class="jxr_string">"%v"</span>, <span class="jxr_string">""</span> + resource.getVersion() );
+<a name="218" href="#218">218</a>             url = url.replaceAll( <span class="jxr_string">"%s"</span>, resource.getSymbolicName() );
+<a name="219" href="#219">219</a>             url = url.replaceAll( <span class="jxr_string">"%f"</span>, path.getName() );
+<a name="220" href="#220">220</a>             url = url.replaceAll( <span class="jxr_string">"%p"</span>, absoluteDir );
+<a name="221" href="#221">221</a>             url = url.replaceAll( <span class="jxr_string">"%rp"</span>, relativeDir );
+<a name="222" href="#222">222</a>             finalUri = url;
+<a name="223" href="#223">223</a>         }
+<a name="224" href="#224">224</a>         resource.put( Resource.URI, finalUri, Property.URI );
+<a name="225" href="#225">225</a>     }
+<a name="226" href="#226">226</a> 
 <a name="227" href="#227">227</a> 
-<a name="228" href="#228">228</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> FileFilter filter = <strong class="jxr_keyword">new</strong> FileFilter()
+<a name="228" href="#228">228</a>     <strong class="jxr_keyword">private</strong> String trim( String prefix, String path )
 <a name="229" href="#229">229</a>     {
-<a name="230" href="#230">230</a> 
-<a name="231" href="#231">231</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> accept( File pathname )
-<a name="232" href="#232">232</a>         {
-<a name="233" href="#233">233</a>             <strong class="jxr_keyword">return</strong> pathname.getName().endsWith( <span class="jxr_string">"ar"</span> );
-<a name="234" href="#234">234</a>         }
-<a name="235" href="#235">235</a>     };
-<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">private</strong> <strong class="jxr_keyword">void</strong> findAllJars( File mainRoot, List&lt;File&gt; files )
-<a name="239" href="#239">239</a>     {
-<a name="240" href="#240">240</a>         List&lt;File&gt; roots = <strong class="jxr_keyword">new</strong> ArrayList&lt;File&gt;();
-<a name="241" href="#241">241</a>         roots.add( mainRoot );
-<a name="242" href="#242">242</a>         <strong class="jxr_keyword">while</strong> ( !roots.isEmpty() )
+<a name="230" href="#230">230</a>         <strong class="jxr_keyword">if</strong> ( path.endsWith( <span class="jxr_string">"/"</span> ) )
+<a name="231" href="#231">231</a>             path = path.substring( 0, path.length() - 1 );
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>         <strong class="jxr_keyword">if</strong> ( path.startsWith( prefix ) )
+<a name="234" href="#234">234</a>             path = path.substring( prefix.length() );
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>         <strong class="jxr_keyword">return</strong> path;
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> FileFilter filter = <strong class="jxr_keyword">new</strong> FileFilter()
+<a name="241" href="#241">241</a>     {
+<a name="242" href="#242">242</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> accept( File pathname )
 <a name="243" href="#243">243</a>         {
-<a name="244" href="#244">244</a>             File root = roots.remove( 0 );
-<a name="245" href="#245">245</a>             File[] children = root.listFiles();
-<a name="246" href="#246">246</a>             <strong class="jxr_keyword">if</strong> ( children != <strong class="jxr_keyword">null</strong> )
-<a name="247" href="#247">247</a>             {
-<a name="248" href="#248">248</a>                 <strong class="jxr_keyword">for</strong> ( File child : children )
-<a name="249" href="#249">249</a>                 {
-<a name="250" href="#250">250</a>                     <strong class="jxr_keyword">if</strong> ( child.isFile() &amp;&amp; filter.accept( child ) )
-<a name="251" href="#251">251</a>                     {
-<a name="252" href="#252">252</a>                         files.add( child );
-<a name="253" href="#253">253</a>                     }
-<a name="254" href="#254">254</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( child.isDirectory() )
-<a name="255" href="#255">255</a>                     {
-<a name="256" href="#256">256</a>                         roots.add( child );
-<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>         }
-<a name="261" href="#261">261</a>     }
-<a name="262" href="#262">262</a> 
-<a name="263" href="#263">263</a> }
+<a name="244" href="#244">244</a>             <strong class="jxr_keyword">return</strong> pathname.getName().endsWith( <span class="jxr_string">"ar"</span> );
+<a name="245" href="#245">245</a>         }
+<a name="246" href="#246">246</a>     };
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> findAllJars( File mainRoot, List&lt;File&gt; files )
+<a name="250" href="#250">250</a>     {
+<a name="251" href="#251">251</a>         List&lt;File&gt; roots = <strong class="jxr_keyword">new</strong> ArrayList&lt;File&gt;();
+<a name="252" href="#252">252</a>         roots.add( mainRoot );
+<a name="253" href="#253">253</a>         <strong class="jxr_keyword">while</strong> ( !roots.isEmpty() )
+<a name="254" href="#254">254</a>         {
+<a name="255" href="#255">255</a>             File root = roots.remove( 0 );
+<a name="256" href="#256">256</a>             File[] children = root.listFiles();
+<a name="257" href="#257">257</a>             <strong class="jxr_keyword">if</strong> ( children != <strong class="jxr_keyword">null</strong> )
+<a name="258" href="#258">258</a>             {
+<a name="259" href="#259">259</a>                 <strong class="jxr_keyword">for</strong> ( File child : children )
+<a name="260" href="#260">260</a>                 {
+<a name="261" href="#261">261</a>                     <strong class="jxr_keyword">if</strong> ( child.isFile() &amp;&amp; filter.accept( child ) )
+<a name="262" href="#262">262</a>                     {
+<a name="263" href="#263">263</a>                         files.add( child );
+<a name="264" href="#264">264</a>                     }
+<a name="265" href="#265">265</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( child.isDirectory() )
+<a name="266" href="#266">266</a>                     {
+<a name="267" href="#267">267</a>                         roots.add( child );
+<a name="268" href="#268">268</a>                     }
+<a name="269" href="#269">269</a>                 }
+<a name="270" href="#270">270</a>             }
+<a name="271" href="#271">271</a>         }
+<a name="272" href="#272">272</a>     }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</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/obrplugin/ObrRemoteClean.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrRemoteClean.html
index cdbd2db..a74ca09 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrRemoteClean.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrRemoteClean.html
@@ -141,363 +141,372 @@
 <a name="131" href="#131">131</a>     <strong class="jxr_keyword">private</strong> String obrDeploymentRepository;
 <a name="132" href="#132">132</a> 
 <a name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
-<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * </em>
-<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
-<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     */</em>
-<a name="140" href="#140">140</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
-<a name="141" href="#141">141</a> 
-<a name="142" href="#142">142</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     * Local Maven settings.</em>
-<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * </em>
-<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * @parameter expression="${settings}"</em>
-<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     */</em>
-<a name="149" href="#149">149</a>     <strong class="jxr_keyword">private</strong> Settings settings;
-<a name="150" href="#150">150</a> 
-<a name="151" href="#151">151</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * The Wagon manager.</em>
-<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     * </em>
-<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">     */</em>
-<a name="156" href="#156">156</a>     <strong class="jxr_keyword">private</strong> WagonManager m_wagonManager;
-<a name="157" href="#157">157</a> 
-<a name="158" href="#158">158</a> 
-<a name="159" href="#159">159</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="160" href="#160">160</a>     {
-<a name="161" href="#161">161</a>         String projectType = project.getPackaging();
-<a name="162" href="#162">162</a> 
-<a name="163" href="#163">163</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
-<a name="164" href="#164">164</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
-<a name="165" href="#165">165</a>         {
-<a name="166" href="#166">166</a>             getLog().warn(
-<a name="167" href="#167">167</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
-<a name="168" href="#168">168</a>             <strong class="jxr_keyword">return</strong>;
-<a name="169" href="#169">169</a>         }
-<a name="170" href="#170">170</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"NONE"</span>.equalsIgnoreCase( remoteOBR ) || <span class="jxr_string">"false"</span>.equalsIgnoreCase( remoteOBR ) )
+<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * @parameter default-value="${settings.interactiveMode}"</em>
+<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     */</em>
+<a name="137" href="#137">137</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> interactive;
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     * The Maven project.</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 expression="${project}"</em>
+<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     */</em>
+<a name="146" href="#146">146</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * Local Maven settings.</em>
+<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * </em>
+<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     * @parameter expression="${settings}"</em>
+<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     * @readonly</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> Settings settings;
+<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">     * The Wagon manager.</em>
+<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> WagonManager m_wagonManager;
+<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">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="166" href="#166">166</a>     {
+<a name="167" href="#167">167</a>         String projectType = project.getPackaging();
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
+<a name="170" href="#170">170</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
 <a name="171" href="#171">171</a>         {
-<a name="172" href="#172">172</a>             getLog().info( <span class="jxr_string">"Remote OBR update disabled (enable with -DremoteOBR)"</span> );
-<a name="173" href="#173">173</a>             <strong class="jxr_keyword">return</strong>;
-<a name="174" href="#174">174</a>         }
-<a name="175" href="#175">175</a> 
-<a name="176" href="#176">176</a>         <em class="jxr_comment">// if the user doesn't supply an explicit name for the remote OBR file, use the local name instead</em>
-<a name="177" href="#177">177</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == remoteOBR || remoteOBR.trim().length() == 0 || <span class="jxr_string">"true"</span>.equalsIgnoreCase( remoteOBR ) )
-<a name="178" href="#178">178</a>         {
-<a name="179" href="#179">179</a>             remoteOBR = obrRepository;
+<a name="172" href="#172">172</a>             getLog().warn(
+<a name="173" href="#173">173</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
+<a name="174" href="#174">174</a>             <strong class="jxr_keyword">return</strong>;
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"NONE"</span>.equalsIgnoreCase( remoteOBR ) || <span class="jxr_string">"false"</span>.equalsIgnoreCase( remoteOBR ) )
+<a name="177" href="#177">177</a>         {
+<a name="178" href="#178">178</a>             getLog().info( <span class="jxr_string">"Remote OBR update disabled (enable with -DremoteOBR)"</span> );
+<a name="179" href="#179">179</a>             <strong class="jxr_keyword">return</strong>;
 <a name="180" href="#180">180</a>         }
 <a name="181" href="#181">181</a> 
-<a name="182" href="#182">182</a>         URI tempURI = ObrUtils.findRepositoryXml( <span class="jxr_string">""</span>, remoteOBR );
-<a name="183" href="#183">183</a>         String repositoryName = <strong class="jxr_keyword">new</strong> File( tempURI.getSchemeSpecificPart() ).getName();
-<a name="184" href="#184">184</a> 
-<a name="185" href="#185">185</a>         Log log = getLog();
-<a name="186" href="#186">186</a> 
-<a name="187" href="#187">187</a>         <a href="../../../../org/apache/felix/obrplugin/RemoteFileManager.html">RemoteFileManager</a> remoteFile = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/obrplugin/RemoteFileManager.html">RemoteFileManager</a>( m_wagonManager, settings, log );
-<a name="188" href="#188">188</a>         openRepositoryConnection( remoteFile );
-<a name="189" href="#189">189</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == prefixUrl )
-<a name="190" href="#190">190</a>         {
-<a name="191" href="#191">191</a>             prefixUrl = remoteFile.toString();
-<a name="192" href="#192">192</a>         }
-<a name="193" href="#193">193</a> 
-<a name="194" href="#194">194</a>         <em class="jxr_comment">// ======== LOCK REMOTE OBR ========</em>
-<a name="195" href="#195">195</a>         log.info( <span class="jxr_string">"LOCK "</span> + remoteFile + '/' + repositoryName );
-<a name="196" href="#196">196</a>         remoteFile.lockFile( repositoryName, ignoreLock );
-<a name="197" href="#197">197</a>         File downloadedRepositoryXml = <strong class="jxr_keyword">null</strong>;
-<a name="198" href="#198">198</a> 
-<a name="199" href="#199">199</a>         <strong class="jxr_keyword">try</strong>
-<a name="200" href="#200">200</a>         {
-<a name="201" href="#201">201</a>             <em class="jxr_comment">// ======== DOWNLOAD REMOTE OBR ========</em>
-<a name="202" href="#202">202</a>             log.info( <span class="jxr_string">"Downloading "</span> + repositoryName );
-<a name="203" href="#203">203</a>             downloadedRepositoryXml = remoteFile.get( repositoryName, <span class="jxr_string">".xml"</span> );
+<a name="182" href="#182">182</a>         <em class="jxr_comment">// if the user doesn't supply an explicit name for the remote OBR file, use the local name instead</em>
+<a name="183" href="#183">183</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == remoteOBR || remoteOBR.trim().length() == 0 || <span class="jxr_string">"true"</span>.equalsIgnoreCase( remoteOBR ) )
+<a name="184" href="#184">184</a>         {
+<a name="185" href="#185">185</a>             remoteOBR = obrRepository;
+<a name="186" href="#186">186</a>         }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>         URI tempURI = ObrUtils.findRepositoryXml( <span class="jxr_string">""</span>, remoteOBR );
+<a name="189" href="#189">189</a>         String repositoryName = <strong class="jxr_keyword">new</strong> File( tempURI.getSchemeSpecificPart() ).getName();
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>         Log log = getLog();
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>         <a href="../../../../org/apache/felix/obrplugin/RemoteFileManager.html">RemoteFileManager</a> remoteFile = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/obrplugin/RemoteFileManager.html">RemoteFileManager</a>( m_wagonManager, settings, log );
+<a name="194" href="#194">194</a>         openRepositoryConnection( remoteFile );
+<a name="195" href="#195">195</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == prefixUrl )
+<a name="196" href="#196">196</a>         {
+<a name="197" href="#197">197</a>             prefixUrl = remoteFile.toString();
+<a name="198" href="#198">198</a>         }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>         <em class="jxr_comment">// ======== LOCK REMOTE OBR ========</em>
+<a name="201" href="#201">201</a>         log.info( <span class="jxr_string">"LOCK "</span> + remoteFile + '/' + repositoryName );
+<a name="202" href="#202">202</a>         remoteFile.lockFile( repositoryName, ignoreLock );
+<a name="203" href="#203">203</a>         File downloadedRepositoryXml = <strong class="jxr_keyword">null</strong>;
 <a name="204" href="#204">204</a> 
-<a name="205" href="#205">205</a>             URI repositoryXml = downloadedRepositoryXml.toURI();
-<a name="206" href="#206">206</a> 
-<a name="207" href="#207">207</a>             <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a> userConfig = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a>();
-<a name="208" href="#208">208</a>             userConfig.setRemoteFile( <strong class="jxr_keyword">true</strong> );
-<a name="209" href="#209">209</a> 
-<a name="210" href="#210">210</a>             <em class="jxr_comment">// Clean the downloaded file.</em>
-<a name="211" href="#211">211</a>             Document doc = parseFile( <strong class="jxr_keyword">new</strong> File( repositoryXml ), initConstructor() );
-<a name="212" href="#212">212</a>             Node finalDocument = cleanDocument( doc.getDocumentElement() );
-<a name="213" href="#213">213</a> 
-<a name="214" href="#214">214</a>             <strong class="jxr_keyword">if</strong> ( finalDocument == <strong class="jxr_keyword">null</strong> )
-<a name="215" href="#215">215</a>             {
-<a name="216" href="#216">216</a>                 getLog().info( <span class="jxr_string">"Nothing to clean in "</span> + repositoryName );
-<a name="217" href="#217">217</a>             }
-<a name="218" href="#218">218</a>             <strong class="jxr_keyword">else</strong>
-<a name="219" href="#219">219</a>             {
-<a name="220" href="#220">220</a>                 writeToFile( repositoryXml, finalDocument ); <em class="jxr_comment">// Write the new file</em>
-<a name="221" href="#221">221</a>                 getLog().info( <span class="jxr_string">"Repository "</span> + repositoryName + <span class="jxr_string">" cleaned"</span> );
-<a name="222" href="#222">222</a>                 <em class="jxr_comment">// ======== UPLOAD MODIFIED OBR ========</em>
-<a name="223" href="#223">223</a>                 log.info( <span class="jxr_string">"Uploading "</span> + repositoryName );
-<a name="224" href="#224">224</a>                 remoteFile.put( downloadedRepositoryXml, repositoryName );
-<a name="225" href="#225">225</a>             }
-<a name="226" href="#226">226</a>         }
-<a name="227" href="#227">227</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="228" href="#228">228</a>         {
-<a name="229" href="#229">229</a>             log.warn( <span class="jxr_string">"Exception while updating remote OBR: "</span> + e.getLocalizedMessage(), e );
-<a name="230" href="#230">230</a>         }
-<a name="231" href="#231">231</a>         <strong class="jxr_keyword">finally</strong>
-<a name="232" href="#232">232</a>         {
-<a name="233" href="#233">233</a>             <em class="jxr_comment">// ======== UNLOCK REMOTE OBR ========</em>
-<a name="234" href="#234">234</a>             log.info( <span class="jxr_string">"UNLOCK "</span> + remoteFile + '/' + repositoryName );
-<a name="235" href="#235">235</a>             remoteFile.unlockFile( repositoryName );
-<a name="236" href="#236">236</a>             remoteFile.disconnect();
-<a name="237" href="#237">237</a> 
-<a name="238" href="#238">238</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != downloadedRepositoryXml )
-<a name="239" href="#239">239</a>             {
-<a name="240" href="#240">240</a>                 downloadedRepositoryXml.delete();
-<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">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern ALT_REPO_SYNTAX_PATTERN = Pattern.compile( <span class="jxr_string">"(.+)::(.+)::(.+)"</span> );
-<a name="246" href="#246">246</a> 
-<a name="247" href="#247">247</a> 
-<a name="248" href="#248">248</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> openRepositoryConnection( RemoteFileManager remoteFile ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="249" href="#249">249</a>     {
-<a name="250" href="#250">250</a>         <em class="jxr_comment">// use OBR specific deployment location?</em>
-<a name="251" href="#251">251</a>         <strong class="jxr_keyword">if</strong> ( obrDeploymentRepository != <strong class="jxr_keyword">null</strong> )
-<a name="252" href="#252">252</a>         {
-<a name="253" href="#253">253</a>             altDeploymentRepository = obrDeploymentRepository;
-<a name="254" href="#254">254</a>         }
-<a name="255" href="#255">255</a> 
-<a name="256" href="#256">256</a>         <strong class="jxr_keyword">if</strong> ( deploymentRepository == <strong class="jxr_keyword">null</strong> &amp;&amp; altDeploymentRepository == <strong class="jxr_keyword">null</strong> )
-<a name="257" href="#257">257</a>         {
-<a name="258" href="#258">258</a>             String msg = <span class="jxr_string">"Deployment failed: repository element was not specified in the pom inside"</span>
-<a name="259" href="#259">259</a>                 + <span class="jxr_string">" distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter"</span>;
-<a name="260" href="#260">260</a> 
-<a name="261" href="#261">261</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( msg );
-<a name="262" href="#262">262</a>         }
-<a name="263" href="#263">263</a> 
-<a name="264" href="#264">264</a>         <strong class="jxr_keyword">if</strong> ( altDeploymentRepository != <strong class="jxr_keyword">null</strong> )
-<a name="265" href="#265">265</a>         {
-<a name="266" href="#266">266</a>             getLog().info( <span class="jxr_string">"Using alternate deployment repository "</span> + altDeploymentRepository );
-<a name="267" href="#267">267</a> 
-<a name="268" href="#268">268</a>             Matcher matcher = ALT_REPO_SYNTAX_PATTERN.matcher( altDeploymentRepository );
-<a name="269" href="#269">269</a>             <strong class="jxr_keyword">if</strong> ( !matcher.matches() )
-<a name="270" href="#270">270</a>             {
-<a name="271" href="#271">271</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Invalid syntax for alternative repository \&quot;"</span>
-<a name="272" href="#272">272</a>                     + altDeploymentRepository + <span class="jxr_string">"\&quot;. Use \&quot;id::layout::url\&quot;."</span> );
-<a name="273" href="#273">273</a>             }
-<a name="274" href="#274">274</a> 
-<a name="275" href="#275">275</a>             remoteFile.connect( matcher.group( 1 ).trim(), matcher.group( 3 ).trim() );
-<a name="276" href="#276">276</a>         }
-<a name="277" href="#277">277</a>         <strong class="jxr_keyword">else</strong>
-<a name="278" href="#278">278</a>         {
-<a name="279" href="#279">279</a>             remoteFile.connect( deploymentRepository.getId(), deploymentRepository.getUrl() );
-<a name="280" href="#280">280</a>         }
-<a name="281" href="#281">281</a>     }
-<a name="282" href="#282">282</a> 
-<a name="283" href="#283">283</a> 
-<a name="284" href="#284">284</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="285" href="#285">285</a> <em class="jxr_javadoccomment">     * Analyze the given XML tree (DOM of the repository file) and remove missing resources.</em>
-<a name="286" href="#286">286</a> <em class="jxr_javadoccomment">     * This method ask the user before deleting the resources from the repository.</em>
-<a name="287" href="#287">287</a> <em class="jxr_javadoccomment">     * @param elem : the input XML tree</em>
-<a name="288" href="#288">288</a> <em class="jxr_javadoccomment">     * @return the cleaned XML tree</em>
-<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">     */</em>
-<a name="290" href="#290">290</a>     <strong class="jxr_keyword">private</strong> Element cleanDocument( Element elem )
-<a name="291" href="#291">291</a>     {
-<a name="292" href="#292">292</a>         NodeList nodes = elem.getElementsByTagName( <span class="jxr_string">"resource"</span> );
-<a name="293" href="#293">293</a>         List toRemove = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="294" href="#294">294</a> 
-<a name="295" href="#295">295</a>         <em class="jxr_comment">// First, look for missing resources</em>
-<a name="296" href="#296">296</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; nodes.getLength(); i++ )
-<a name="297" href="#297">297</a>         {
-<a name="298" href="#298">298</a>             Element n = ( Element ) nodes.item( i );
-<a name="299" href="#299">299</a>             String value = n.getAttribute( <span class="jxr_string">"uri"</span> );
+<a name="205" href="#205">205</a>         <strong class="jxr_keyword">try</strong>
+<a name="206" href="#206">206</a>         {
+<a name="207" href="#207">207</a>             <em class="jxr_comment">// ======== DOWNLOAD REMOTE OBR ========</em>
+<a name="208" href="#208">208</a>             log.info( <span class="jxr_string">"Downloading "</span> + repositoryName );
+<a name="209" href="#209">209</a>             downloadedRepositoryXml = remoteFile.get( repositoryName, <span class="jxr_string">".xml"</span> );
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>             URI repositoryXml = downloadedRepositoryXml.toURI();
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>             <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a> userConfig = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a>();
+<a name="214" href="#214">214</a>             userConfig.setRemoteFile( <strong class="jxr_keyword">true</strong> );
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>             <em class="jxr_comment">// Clean the downloaded file.</em>
+<a name="217" href="#217">217</a>             Document doc = parseFile( <strong class="jxr_keyword">new</strong> File( repositoryXml ), initConstructor() );
+<a name="218" href="#218">218</a>             Node finalDocument = cleanDocument( doc.getDocumentElement() );
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>             <strong class="jxr_keyword">if</strong> ( finalDocument == <strong class="jxr_keyword">null</strong> )
+<a name="221" href="#221">221</a>             {
+<a name="222" href="#222">222</a>                 getLog().info( <span class="jxr_string">"Nothing to clean in "</span> + repositoryName );
+<a name="223" href="#223">223</a>             }
+<a name="224" href="#224">224</a>             <strong class="jxr_keyword">else</strong>
+<a name="225" href="#225">225</a>             {
+<a name="226" href="#226">226</a>                 writeToFile( repositoryXml, finalDocument ); <em class="jxr_comment">// Write the new file</em>
+<a name="227" href="#227">227</a>                 getLog().info( <span class="jxr_string">"Repository "</span> + repositoryName + <span class="jxr_string">" cleaned"</span> );
+<a name="228" href="#228">228</a>                 <em class="jxr_comment">// ======== UPLOAD MODIFIED OBR ========</em>
+<a name="229" href="#229">229</a>                 log.info( <span class="jxr_string">"Uploading "</span> + repositoryName );
+<a name="230" href="#230">230</a>                 remoteFile.put( downloadedRepositoryXml, repositoryName );
+<a name="231" href="#231">231</a>             }
+<a name="232" href="#232">232</a>         }
+<a name="233" href="#233">233</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="234" href="#234">234</a>         {
+<a name="235" href="#235">235</a>             log.warn( <span class="jxr_string">"Exception while updating remote OBR: "</span> + e.getLocalizedMessage(), e );
+<a name="236" href="#236">236</a>         }
+<a name="237" href="#237">237</a>         <strong class="jxr_keyword">finally</strong>
+<a name="238" href="#238">238</a>         {
+<a name="239" href="#239">239</a>             <em class="jxr_comment">// ======== UNLOCK REMOTE OBR ========</em>
+<a name="240" href="#240">240</a>             log.info( <span class="jxr_string">"UNLOCK "</span> + remoteFile + '/' + repositoryName );
+<a name="241" href="#241">241</a>             remoteFile.unlockFile( repositoryName );
+<a name="242" href="#242">242</a>             remoteFile.disconnect();
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != downloadedRepositoryXml )
+<a name="245" href="#245">245</a>             {
+<a name="246" href="#246">246</a>                 downloadedRepositoryXml.delete();
+<a name="247" href="#247">247</a>             }
+<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">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern ALT_REPO_SYNTAX_PATTERN = Pattern.compile( <span class="jxr_string">"(.+)::(.+)::(.+)"</span> );
+<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">private</strong> <strong class="jxr_keyword">void</strong> openRepositoryConnection( RemoteFileManager remoteFile ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="255" href="#255">255</a>     {
+<a name="256" href="#256">256</a>         <em class="jxr_comment">// use OBR specific deployment location?</em>
+<a name="257" href="#257">257</a>         <strong class="jxr_keyword">if</strong> ( obrDeploymentRepository != <strong class="jxr_keyword">null</strong> )
+<a name="258" href="#258">258</a>         {
+<a name="259" href="#259">259</a>             altDeploymentRepository = obrDeploymentRepository;
+<a name="260" href="#260">260</a>         }
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         <strong class="jxr_keyword">if</strong> ( deploymentRepository == <strong class="jxr_keyword">null</strong> &amp;&amp; altDeploymentRepository == <strong class="jxr_keyword">null</strong> )
+<a name="263" href="#263">263</a>         {
+<a name="264" href="#264">264</a>             String msg = <span class="jxr_string">"Deployment failed: repository element was not specified in the pom inside"</span>
+<a name="265" href="#265">265</a>                 + <span class="jxr_string">" distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter"</span>;
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( msg );
+<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">if</strong> ( altDeploymentRepository != <strong class="jxr_keyword">null</strong> )
+<a name="271" href="#271">271</a>         {
+<a name="272" href="#272">272</a>             getLog().info( <span class="jxr_string">"Using alternate deployment repository "</span> + altDeploymentRepository );
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>             Matcher matcher = ALT_REPO_SYNTAX_PATTERN.matcher( altDeploymentRepository );
+<a name="275" href="#275">275</a>             <strong class="jxr_keyword">if</strong> ( !matcher.matches() )
+<a name="276" href="#276">276</a>             {
+<a name="277" href="#277">277</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Invalid syntax for alternative repository \&quot;"</span>
+<a name="278" href="#278">278</a>                     + altDeploymentRepository + <span class="jxr_string">"\&quot;. Use \&quot;id::layout::url\&quot;."</span> );
+<a name="279" href="#279">279</a>             }
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>             remoteFile.connect( matcher.group( 1 ).trim(), matcher.group( 3 ).trim() );
+<a name="282" href="#282">282</a>         }
+<a name="283" href="#283">283</a>         <strong class="jxr_keyword">else</strong>
+<a name="284" href="#284">284</a>         {
+<a name="285" href="#285">285</a>             remoteFile.connect( deploymentRepository.getId(), deploymentRepository.getUrl() );
+<a name="286" href="#286">286</a>         }
+<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>     <em class="jxr_javadoccomment">/**</em>
+<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">     * Analyze the given XML tree (DOM of the repository file) and remove missing resources.</em>
+<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">     * This method ask the user before deleting the resources from the repository.</em>
+<a name="293" href="#293">293</a> <em class="jxr_javadoccomment">     * @param elem : the input XML tree</em>
+<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">     * @return the cleaned XML tree</em>
+<a name="295" href="#295">295</a> <em class="jxr_javadoccomment">     */</em>
+<a name="296" href="#296">296</a>     <strong class="jxr_keyword">private</strong> Element cleanDocument( Element elem )
+<a name="297" href="#297">297</a>     {
+<a name="298" href="#298">298</a>         NodeList nodes = elem.getElementsByTagName( <span class="jxr_string">"resource"</span> );
+<a name="299" href="#299">299</a>         List toRemove = <strong class="jxr_keyword">new</strong> ArrayList();
 <a name="300" href="#300">300</a> 
-<a name="301" href="#301">301</a>             URL url;
-<a name="302" href="#302">302</a>             <strong class="jxr_keyword">try</strong>
-<a name="303" href="#303">303</a>             {
-<a name="304" href="#304">304</a>                 url = <strong class="jxr_keyword">new</strong> URL( <strong class="jxr_keyword">new</strong> URL( prefixUrl + '/' ), value );
-<a name="305" href="#305">305</a>             }
-<a name="306" href="#306">306</a>             <strong class="jxr_keyword">catch</strong> ( MalformedURLException e )
-<a name="307" href="#307">307</a>             {
-<a name="308" href="#308">308</a>                 getLog().error( <span class="jxr_string">"Malformed URL when creating the resource absolute URI : "</span> + e.getMessage() );
-<a name="309" href="#309">309</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="310" href="#310">310</a>             }
-<a name="311" href="#311">311</a> 
-<a name="312" href="#312">312</a>             <strong class="jxr_keyword">try</strong>
+<a name="301" href="#301">301</a>         <em class="jxr_comment">// First, look for missing resources</em>
+<a name="302" href="#302">302</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; nodes.getLength(); i++ )
+<a name="303" href="#303">303</a>         {
+<a name="304" href="#304">304</a>             Element n = ( Element ) nodes.item( i );
+<a name="305" href="#305">305</a>             String value = n.getAttribute( <span class="jxr_string">"uri"</span> );
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>             URL url;
+<a name="308" href="#308">308</a>             <strong class="jxr_keyword">try</strong>
+<a name="309" href="#309">309</a>             {
+<a name="310" href="#310">310</a>                 url = <strong class="jxr_keyword">new</strong> URL( <strong class="jxr_keyword">new</strong> URL( prefixUrl + '/' ), value );
+<a name="311" href="#311">311</a>             }
+<a name="312" href="#312">312</a>             <strong class="jxr_keyword">catch</strong> ( MalformedURLException e )
 <a name="313" href="#313">313</a>             {
-<a name="314" href="#314">314</a>                 url.openConnection().getContent();
-<a name="315" href="#315">315</a>             }
-<a name="316" href="#316">316</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="317" href="#317">317</a>             {
-<a name="318" href="#318">318</a>                 getLog().info(
-<a name="319" href="#319">319</a>                     <span class="jxr_string">"The bundle "</span> + n.getAttribute( <span class="jxr_string">"presentationname"</span> ) + <span class="jxr_string">" - "</span> + n.getAttribute( <span class="jxr_string">"version"</span> )
-<a name="320" href="#320">320</a>                         + <span class="jxr_string">" will be removed : "</span> + e.getMessage() );
-<a name="321" href="#321">321</a>                 toRemove.add( n );
-<a name="322" href="#322">322</a>             }
-<a name="323" href="#323">323</a>         }
-<a name="324" href="#324">324</a> 
-<a name="325" href="#325">325</a>         Date d = <strong class="jxr_keyword">new</strong> Date();
-<a name="326" href="#326">326</a>         <strong class="jxr_keyword">if</strong> ( toRemove.size() &gt; 0 )
-<a name="327" href="#327">327</a>         {
-<a name="328" href="#328">328</a>             System.out.println( <span class="jxr_string">"Do you want to remove these bundles from the repository file [y/N]:"</span> );
-<a name="329" href="#329">329</a>             BufferedReader br = <strong class="jxr_keyword">new</strong> BufferedReader( <strong class="jxr_keyword">new</strong> InputStreamReader( System.in ) );
-<a name="330" href="#330">330</a>             String answer = <strong class="jxr_keyword">null</strong>;
-<a name="331" href="#331">331</a> 
-<a name="332" href="#332">332</a>             <strong class="jxr_keyword">try</strong>
-<a name="333" href="#333">333</a>             {
-<a name="334" href="#334">334</a>                 answer = br.readLine();
-<a name="335" href="#335">335</a>             }
-<a name="336" href="#336">336</a>             <strong class="jxr_keyword">catch</strong> ( IOException ioe )
-<a name="337" href="#337">337</a>             {
-<a name="338" href="#338">338</a>                 getLog().error( <span class="jxr_string">"IO error trying to read the user confirmation"</span> );
-<a name="339" href="#339">339</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="340" href="#340">340</a>             }
-<a name="341" href="#341">341</a> 
-<a name="342" href="#342">342</a>             <strong class="jxr_keyword">if</strong> ( answer != <strong class="jxr_keyword">null</strong> &amp;&amp; answer.trim().equalsIgnoreCase( <span class="jxr_string">"y"</span> ) )
-<a name="343" href="#343">343</a>             {
-<a name="344" href="#344">344</a>                 <em class="jxr_comment">// Then remove missing resources.</em>
-<a name="345" href="#345">345</a>                 <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; toRemove.size(); i++ )
-<a name="346" href="#346">346</a>                 {
-<a name="347" href="#347">347</a>                     elem.removeChild( ( Node ) toRemove.get( i ) );
+<a name="314" href="#314">314</a>                 getLog().error( <span class="jxr_string">"Malformed URL when creating the resource absolute URI : "</span> + e.getMessage() );
+<a name="315" href="#315">315</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="316" href="#316">316</a>             }
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>             <strong class="jxr_keyword">try</strong>
+<a name="319" href="#319">319</a>             {
+<a name="320" href="#320">320</a>                 url.openConnection().getContent();
+<a name="321" href="#321">321</a>             }
+<a name="322" href="#322">322</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="323" href="#323">323</a>             {
+<a name="324" href="#324">324</a>                 getLog().info(
+<a name="325" href="#325">325</a>                     <span class="jxr_string">"The bundle "</span> + n.getAttribute( <span class="jxr_string">"presentationname"</span> ) + <span class="jxr_string">" - "</span> + n.getAttribute( <span class="jxr_string">"version"</span> )
+<a name="326" href="#326">326</a>                         + <span class="jxr_string">" will be removed : "</span> + e.getMessage() );
+<a name="327" href="#327">327</a>                 toRemove.add( n );
+<a name="328" href="#328">328</a>             }
+<a name="329" href="#329">329</a>         }
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>         Date d = <strong class="jxr_keyword">new</strong> Date();
+<a name="332" href="#332">332</a>         <strong class="jxr_keyword">if</strong> ( toRemove.size() &gt; 0 )
+<a name="333" href="#333">333</a>         {
+<a name="334" href="#334">334</a>             String answer = <span class="jxr_string">"y"</span>;
+<a name="335" href="#335">335</a>             <strong class="jxr_keyword">if</strong> ( interactive )
+<a name="336" href="#336">336</a>             {
+<a name="337" href="#337">337</a>                 System.out.println( <span class="jxr_string">"Do you want to remove these bundles from the repository file [y/N]:"</span> );
+<a name="338" href="#338">338</a>                 BufferedReader br = <strong class="jxr_keyword">new</strong> BufferedReader( <strong class="jxr_keyword">new</strong> InputStreamReader( System.in ) );
+<a name="339" href="#339">339</a> 
+<a name="340" href="#340">340</a>                 <strong class="jxr_keyword">try</strong>
+<a name="341" href="#341">341</a>                 {
+<a name="342" href="#342">342</a>                     answer = br.readLine();
+<a name="343" href="#343">343</a>                 }
+<a name="344" href="#344">344</a>                 <strong class="jxr_keyword">catch</strong> ( IOException ioe )
+<a name="345" href="#345">345</a>                 {
+<a name="346" href="#346">346</a>                     getLog().error( <span class="jxr_string">"IO error trying to read the user confirmation"</span> );
+<a name="347" href="#347">347</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
 <a name="348" href="#348">348</a>                 }
-<a name="349" href="#349">349</a> 
-<a name="350" href="#350">350</a>                 <em class="jxr_comment">// If we have to remove resources, we need to update 'lastmodified' attribute</em>
-<a name="351" href="#351">351</a>                 SimpleDateFormat format = <strong class="jxr_keyword">new</strong> SimpleDateFormat( <span class="jxr_string">"yyyyMMddHHmmss.SSS"</span> );
-<a name="352" href="#352">352</a>                 d.setTime( System.currentTimeMillis() );
-<a name="353" href="#353">353</a>                 elem.setAttribute( <span class="jxr_string">"lastmodified"</span>, format.format( d ) );
-<a name="354" href="#354">354</a>                 <strong class="jxr_keyword">return</strong> elem;
-<a name="355" href="#355">355</a>             }
-<a name="356" href="#356">356</a>             <strong class="jxr_keyword">else</strong>
-<a name="357" href="#357">357</a>             {
-<a name="358" href="#358">358</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<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>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="363" href="#363">363</a>     }
-<a name="364" href="#364">364</a> 
-<a name="365" href="#365">365</a> 
-<a name="366" href="#366">366</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     * Initialize the document builder from Xerces.</em>
-<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     * </em>
-<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">     * @return DocumentBuilder ready to create new document</em>
-<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException : occurs when the instantiation of the document builder fails</em>
-<a name="371" href="#371">371</a> <em class="jxr_javadoccomment">     */</em>
-<a name="372" href="#372">372</a>     <strong class="jxr_keyword">private</strong> DocumentBuilder initConstructor() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="373" href="#373">373</a>     {
-<a name="374" href="#374">374</a>         DocumentBuilder constructor = <strong class="jxr_keyword">null</strong>;
-<a name="375" href="#375">375</a>         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-<a name="376" href="#376">376</a>         <strong class="jxr_keyword">try</strong>
-<a name="377" href="#377">377</a>         {
-<a name="378" href="#378">378</a>             constructor = factory.newDocumentBuilder();
-<a name="379" href="#379">379</a>         }
-<a name="380" href="#380">380</a>         <strong class="jxr_keyword">catch</strong> ( ParserConfigurationException e )
-<a name="381" href="#381">381</a>         {
-<a name="382" href="#382">382</a>             getLog().error( <span class="jxr_string">"Unable to create a new xml document"</span> );
-<a name="383" href="#383">383</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot create the Document Builder : "</span> + e.getMessage() );
-<a name="384" href="#384">384</a>         }
-<a name="385" href="#385">385</a>         <strong class="jxr_keyword">return</strong> constructor;
-<a name="386" href="#386">386</a>     }
-<a name="387" href="#387">387</a> 
-<a name="388" href="#388">388</a> 
-<a name="389" href="#389">389</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="390" href="#390">390</a> <em class="jxr_javadoccomment">     * Open an XML file.</em>
-<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">     * </em>
-<a name="392" href="#392">392</a> <em class="jxr_javadoccomment">     * @param file : XML file</em>
-<a name="393" href="#393">393</a> <em class="jxr_javadoccomment">     * @param constructor DocumentBuilder get from xerces</em>
-<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">     * @return Document which describes this file</em>
-<a name="395" href="#395">395</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException occurs when the given file cannot be opened or is a valid XML file.</em>
-<a name="396" href="#396">396</a> <em class="jxr_javadoccomment">     */</em>
-<a name="397" href="#397">397</a>     <strong class="jxr_keyword">private</strong> Document parseFile( File file, DocumentBuilder constructor ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="398" href="#398">398</a>     {
-<a name="399" href="#399">399</a>         <strong class="jxr_keyword">if</strong> ( constructor == <strong class="jxr_keyword">null</strong> )
-<a name="400" href="#400">400</a>         {
-<a name="401" href="#401">401</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="402" href="#402">402</a>         }
-<a name="403" href="#403">403</a>         <em class="jxr_comment">// The document is the root of the DOM tree.</em>
-<a name="404" href="#404">404</a>         File targetFile = file.getAbsoluteFile();
-<a name="405" href="#405">405</a>         getLog().info( <span class="jxr_string">"Parsing "</span> + targetFile );
-<a name="406" href="#406">406</a>         Document doc = <strong class="jxr_keyword">null</strong>;
-<a name="407" href="#407">407</a>         <strong class="jxr_keyword">try</strong>
-<a name="408" href="#408">408</a>         {
-<a name="409" href="#409">409</a>             doc = constructor.parse( targetFile );
-<a name="410" href="#410">410</a>         }
-<a name="411" href="#411">411</a>         <strong class="jxr_keyword">catch</strong> ( SAXException e )
-<a name="412" href="#412">412</a>         {
-<a name="413" href="#413">413</a>             getLog().error( <span class="jxr_string">"Cannot parse "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
-<a name="414" href="#414">414</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot parse "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
-<a name="415" href="#415">415</a>         }
-<a name="416" href="#416">416</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="349" href="#349">349</a>             }
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>             <strong class="jxr_keyword">if</strong> ( answer != <strong class="jxr_keyword">null</strong> &amp;&amp; answer.trim().equalsIgnoreCase( <span class="jxr_string">"y"</span> ) )
+<a name="352" href="#352">352</a>             {
+<a name="353" href="#353">353</a>                 <em class="jxr_comment">// Then remove missing resources.</em>
+<a name="354" href="#354">354</a>                 <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; toRemove.size(); i++ )
+<a name="355" href="#355">355</a>                 {
+<a name="356" href="#356">356</a>                     elem.removeChild( ( Node ) toRemove.get( i ) );
+<a name="357" href="#357">357</a>                 }
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>                 <em class="jxr_comment">// If we have to remove resources, we need to update 'lastmodified' attribute</em>
+<a name="360" href="#360">360</a>                 SimpleDateFormat format = <strong class="jxr_keyword">new</strong> SimpleDateFormat( <span class="jxr_string">"yyyyMMddHHmmss.SSS"</span> );
+<a name="361" href="#361">361</a>                 d.setTime( System.currentTimeMillis() );
+<a name="362" href="#362">362</a>                 elem.setAttribute( <span class="jxr_string">"lastmodified"</span>, format.format( d ) );
+<a name="363" href="#363">363</a>                 <strong class="jxr_keyword">return</strong> elem;
+<a name="364" href="#364">364</a>             }
+<a name="365" href="#365">365</a>             <strong class="jxr_keyword">else</strong>
+<a name="366" href="#366">366</a>             {
+<a name="367" href="#367">367</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="368" href="#368">368</a>             }
+<a name="369" href="#369">369</a>         }
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="372" href="#372">372</a>     }
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a> 
+<a name="375" href="#375">375</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="376" href="#376">376</a> <em class="jxr_javadoccomment">     * Initialize the document builder from Xerces.</em>
+<a name="377" href="#377">377</a> <em class="jxr_javadoccomment">     * </em>
+<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">     * @return DocumentBuilder ready to create new document</em>
+<a name="379" href="#379">379</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException : occurs when the instantiation of the document builder fails</em>
+<a name="380" href="#380">380</a> <em class="jxr_javadoccomment">     */</em>
+<a name="381" href="#381">381</a>     <strong class="jxr_keyword">private</strong> DocumentBuilder initConstructor() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="382" href="#382">382</a>     {
+<a name="383" href="#383">383</a>         DocumentBuilder constructor = <strong class="jxr_keyword">null</strong>;
+<a name="384" href="#384">384</a>         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+<a name="385" href="#385">385</a>         <strong class="jxr_keyword">try</strong>
+<a name="386" href="#386">386</a>         {
+<a name="387" href="#387">387</a>             constructor = factory.newDocumentBuilder();
+<a name="388" href="#388">388</a>         }
+<a name="389" href="#389">389</a>         <strong class="jxr_keyword">catch</strong> ( ParserConfigurationException e )
+<a name="390" href="#390">390</a>         {
+<a name="391" href="#391">391</a>             getLog().error( <span class="jxr_string">"Unable to create a new xml document"</span> );
+<a name="392" href="#392">392</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot create the Document Builder : "</span> + e.getMessage() );
+<a name="393" href="#393">393</a>         }
+<a name="394" href="#394">394</a>         <strong class="jxr_keyword">return</strong> constructor;
+<a name="395" href="#395">395</a>     }
+<a name="396" href="#396">396</a> 
+<a name="397" href="#397">397</a> 
+<a name="398" href="#398">398</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="399" href="#399">399</a> <em class="jxr_javadoccomment">     * Open an XML file.</em>
+<a name="400" href="#400">400</a> <em class="jxr_javadoccomment">     * </em>
+<a name="401" href="#401">401</a> <em class="jxr_javadoccomment">     * @param file : XML file</em>
+<a name="402" href="#402">402</a> <em class="jxr_javadoccomment">     * @param constructor DocumentBuilder get from xerces</em>
+<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">     * @return Document which describes this file</em>
+<a name="404" href="#404">404</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException occurs when the given file cannot be opened or is a valid XML file.</em>
+<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">     */</em>
+<a name="406" href="#406">406</a>     <strong class="jxr_keyword">private</strong> Document parseFile( File file, DocumentBuilder constructor ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="407" href="#407">407</a>     {
+<a name="408" href="#408">408</a>         <strong class="jxr_keyword">if</strong> ( constructor == <strong class="jxr_keyword">null</strong> )
+<a name="409" href="#409">409</a>         {
+<a name="410" href="#410">410</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="411" href="#411">411</a>         }
+<a name="412" href="#412">412</a>         <em class="jxr_comment">// The document is the root of the DOM tree.</em>
+<a name="413" href="#413">413</a>         File targetFile = file.getAbsoluteFile();
+<a name="414" href="#414">414</a>         getLog().info( <span class="jxr_string">"Parsing "</span> + targetFile );
+<a name="415" href="#415">415</a>         Document doc = <strong class="jxr_keyword">null</strong>;
+<a name="416" href="#416">416</a>         <strong class="jxr_keyword">try</strong>
 <a name="417" href="#417">417</a>         {
-<a name="418" href="#418">418</a>             getLog().error( <span class="jxr_string">"Cannot open "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
-<a name="419" href="#419">419</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot open "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
-<a name="420" href="#420">420</a>         }
-<a name="421" href="#421">421</a>         <strong class="jxr_keyword">return</strong> doc;
-<a name="422" href="#422">422</a>     }
-<a name="423" href="#423">423</a> 
-<a name="424" href="#424">424</a> 
-<a name="425" href="#425">425</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">     * write a Node in a xml file.</em>
-<a name="427" href="#427">427</a> <em class="jxr_javadoccomment">     * </em>
-<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">     * @param outputFilename URI to the output file</em>
-<a name="429" href="#429">429</a> <em class="jxr_javadoccomment">     * @param treeToBeWrite Node root of the tree to be write in file</em>
-<a name="430" href="#430">430</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if the plugin failed</em>
-<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">     */</em>
-<a name="432" href="#432">432</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeToFile( URI outputFilename, Node treeToBeWrite ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="433" href="#433">433</a>     {
-<a name="434" href="#434">434</a>         <em class="jxr_comment">// init the transformer</em>
-<a name="435" href="#435">435</a>         Transformer transformer = <strong class="jxr_keyword">null</strong>;
-<a name="436" href="#436">436</a>         TransformerFactory tfabrique = TransformerFactory.newInstance();
-<a name="437" href="#437">437</a>         <strong class="jxr_keyword">try</strong>
-<a name="438" href="#438">438</a>         {
-<a name="439" href="#439">439</a>             transformer = tfabrique.newTransformer();
-<a name="440" href="#440">440</a>         }
-<a name="441" href="#441">441</a>         <strong class="jxr_keyword">catch</strong> ( TransformerConfigurationException e )
-<a name="442" href="#442">442</a>         {
-<a name="443" href="#443">443</a>             getLog().error( <span class="jxr_string">"Unable to write to file: "</span> + outputFilename.toString() );
-<a name="444" href="#444">444</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + outputFilename.toString() + <span class="jxr_string">" : "</span>
-<a name="445" href="#445">445</a>                 + e.getMessage() );
-<a name="446" href="#446">446</a>         }
-<a name="447" href="#447">447</a>         Properties proprietes = <strong class="jxr_keyword">new</strong> Properties();
-<a name="448" href="#448">448</a>         proprietes.put( <span class="jxr_string">"method"</span>, <span class="jxr_string">"xml"</span> );
-<a name="449" href="#449">449</a>         proprietes.put( <span class="jxr_string">"version"</span>, <span class="jxr_string">"1.0"</span> );
-<a name="450" href="#450">450</a>         proprietes.put( <span class="jxr_string">"encoding"</span>, <span class="jxr_string">"ISO-8859-1"</span> );
-<a name="451" href="#451">451</a>         proprietes.put( <span class="jxr_string">"standalone"</span>, <span class="jxr_string">"yes"</span> );
-<a name="452" href="#452">452</a>         proprietes.put( <span class="jxr_string">"indent"</span>, <span class="jxr_string">"yes"</span> );
-<a name="453" href="#453">453</a>         proprietes.put( <span class="jxr_string">"omit-xml-declaration"</span>, <span class="jxr_string">"no"</span> );
-<a name="454" href="#454">454</a>         transformer.setOutputProperties( proprietes );
-<a name="455" href="#455">455</a> 
-<a name="456" href="#456">456</a>         DOMSource input = <strong class="jxr_keyword">new</strong> DOMSource( treeToBeWrite );
-<a name="457" href="#457">457</a> 
-<a name="458" href="#458">458</a>         File fichier = <strong class="jxr_keyword">new</strong> File( outputFilename );
-<a name="459" href="#459">459</a>         FileOutputStream flux = <strong class="jxr_keyword">null</strong>;
-<a name="460" href="#460">460</a>         <strong class="jxr_keyword">try</strong>
-<a name="461" href="#461">461</a>         {
-<a name="462" href="#462">462</a>             flux = <strong class="jxr_keyword">new</strong> FileOutputStream( fichier );
-<a name="463" href="#463">463</a>         }
-<a name="464" href="#464">464</a>         <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
-<a name="465" href="#465">465</a>         {
-<a name="466" href="#466">466</a>             getLog().error( <span class="jxr_string">"Unable to write to file: "</span> + fichier.getName() );
-<a name="467" href="#467">467</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + fichier.getName() + <span class="jxr_string">" : "</span> + e.getMessage() );
-<a name="468" href="#468">468</a>         }
-<a name="469" href="#469">469</a>         Result output = <strong class="jxr_keyword">new</strong> StreamResult( flux );
-<a name="470" href="#470">470</a>         <strong class="jxr_keyword">try</strong>
-<a name="471" href="#471">471</a>         {
-<a name="472" href="#472">472</a>             transformer.transform( input, output );
-<a name="473" href="#473">473</a>         }
-<a name="474" href="#474">474</a>         <strong class="jxr_keyword">catch</strong> ( TransformerException e )
-<a name="475" href="#475">475</a>         {
-<a name="476" href="#476">476</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + outputFilename.toString() + <span class="jxr_string">" : "</span>
-<a name="477" href="#477">477</a>                 + e.getMessage() );
-<a name="478" href="#478">478</a>         }
-<a name="479" href="#479">479</a> 
-<a name="480" href="#480">480</a>         <strong class="jxr_keyword">try</strong>
-<a name="481" href="#481">481</a>         {
-<a name="482" href="#482">482</a>             flux.flush();
-<a name="483" href="#483">483</a>             flux.close();
-<a name="484" href="#484">484</a>         }
-<a name="485" href="#485">485</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="486" href="#486">486</a>         {
-<a name="487" href="#487">487</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"IOException when closing file : "</span> + e.getMessage() );
-<a name="488" href="#488">488</a>         }
-<a name="489" href="#489">489</a>     }
-<a name="490" href="#490">490</a> }
+<a name="418" href="#418">418</a>             doc = constructor.parse( targetFile );
+<a name="419" href="#419">419</a>         }
+<a name="420" href="#420">420</a>         <strong class="jxr_keyword">catch</strong> ( SAXException e )
+<a name="421" href="#421">421</a>         {
+<a name="422" href="#422">422</a>             getLog().error( <span class="jxr_string">"Cannot parse "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
+<a name="423" href="#423">423</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot parse "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
+<a name="424" href="#424">424</a>         }
+<a name="425" href="#425">425</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="426" href="#426">426</a>         {
+<a name="427" href="#427">427</a>             getLog().error( <span class="jxr_string">"Cannot open "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
+<a name="428" href="#428">428</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot open "</span> + targetFile + <span class="jxr_string">" : "</span> + e.getMessage() );
+<a name="429" href="#429">429</a>         }
+<a name="430" href="#430">430</a>         <strong class="jxr_keyword">return</strong> doc;
+<a name="431" href="#431">431</a>     }
+<a name="432" href="#432">432</a> 
+<a name="433" href="#433">433</a> 
+<a name="434" href="#434">434</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="435" href="#435">435</a> <em class="jxr_javadoccomment">     * write a Node in a xml file.</em>
+<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">     * </em>
+<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">     * @param outputFilename URI to the output file</em>
+<a name="438" href="#438">438</a> <em class="jxr_javadoccomment">     * @param treeToBeWrite Node root of the tree to be write in file</em>
+<a name="439" href="#439">439</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if the plugin failed</em>
+<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">     */</em>
+<a name="441" href="#441">441</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeToFile( URI outputFilename, Node treeToBeWrite ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="442" href="#442">442</a>     {
+<a name="443" href="#443">443</a>         <em class="jxr_comment">// init the transformer</em>
+<a name="444" href="#444">444</a>         Transformer transformer = <strong class="jxr_keyword">null</strong>;
+<a name="445" href="#445">445</a>         TransformerFactory tfabrique = TransformerFactory.newInstance();
+<a name="446" href="#446">446</a>         <strong class="jxr_keyword">try</strong>
+<a name="447" href="#447">447</a>         {
+<a name="448" href="#448">448</a>             transformer = tfabrique.newTransformer();
+<a name="449" href="#449">449</a>         }
+<a name="450" href="#450">450</a>         <strong class="jxr_keyword">catch</strong> ( TransformerConfigurationException e )
+<a name="451" href="#451">451</a>         {
+<a name="452" href="#452">452</a>             getLog().error( <span class="jxr_string">"Unable to write to file: "</span> + outputFilename.toString() );
+<a name="453" href="#453">453</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + outputFilename.toString() + <span class="jxr_string">" : "</span>
+<a name="454" href="#454">454</a>                 + e.getMessage() );
+<a name="455" href="#455">455</a>         }
+<a name="456" href="#456">456</a>         Properties proprietes = <strong class="jxr_keyword">new</strong> Properties();
+<a name="457" href="#457">457</a>         proprietes.put( <span class="jxr_string">"method"</span>, <span class="jxr_string">"xml"</span> );
+<a name="458" href="#458">458</a>         proprietes.put( <span class="jxr_string">"version"</span>, <span class="jxr_string">"1.0"</span> );
+<a name="459" href="#459">459</a>         proprietes.put( <span class="jxr_string">"encoding"</span>, <span class="jxr_string">"ISO-8859-1"</span> );
+<a name="460" href="#460">460</a>         proprietes.put( <span class="jxr_string">"standalone"</span>, <span class="jxr_string">"yes"</span> );
+<a name="461" href="#461">461</a>         proprietes.put( <span class="jxr_string">"indent"</span>, <span class="jxr_string">"yes"</span> );
+<a name="462" href="#462">462</a>         proprietes.put( <span class="jxr_string">"omit-xml-declaration"</span>, <span class="jxr_string">"no"</span> );
+<a name="463" href="#463">463</a>         transformer.setOutputProperties( proprietes );
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>         DOMSource input = <strong class="jxr_keyword">new</strong> DOMSource( treeToBeWrite );
+<a name="466" href="#466">466</a> 
+<a name="467" href="#467">467</a>         File fichier = <strong class="jxr_keyword">new</strong> File( outputFilename );
+<a name="468" href="#468">468</a>         FileOutputStream flux = <strong class="jxr_keyword">null</strong>;
+<a name="469" href="#469">469</a>         <strong class="jxr_keyword">try</strong>
+<a name="470" href="#470">470</a>         {
+<a name="471" href="#471">471</a>             flux = <strong class="jxr_keyword">new</strong> FileOutputStream( fichier );
+<a name="472" href="#472">472</a>         }
+<a name="473" href="#473">473</a>         <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
+<a name="474" href="#474">474</a>         {
+<a name="475" href="#475">475</a>             getLog().error( <span class="jxr_string">"Unable to write to file: "</span> + fichier.getName() );
+<a name="476" href="#476">476</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + fichier.getName() + <span class="jxr_string">" : "</span> + e.getMessage() );
+<a name="477" href="#477">477</a>         }
+<a name="478" href="#478">478</a>         Result output = <strong class="jxr_keyword">new</strong> StreamResult( flux );
+<a name="479" href="#479">479</a>         <strong class="jxr_keyword">try</strong>
+<a name="480" href="#480">480</a>         {
+<a name="481" href="#481">481</a>             transformer.transform( input, output );
+<a name="482" href="#482">482</a>         }
+<a name="483" href="#483">483</a>         <strong class="jxr_keyword">catch</strong> ( TransformerException e )
+<a name="484" href="#484">484</a>         {
+<a name="485" href="#485">485</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + outputFilename.toString() + <span class="jxr_string">" : "</span>
+<a name="486" href="#486">486</a>                 + e.getMessage() );
+<a name="487" href="#487">487</a>         }
+<a name="488" href="#488">488</a> 
+<a name="489" href="#489">489</a>         <strong class="jxr_keyword">try</strong>
+<a name="490" href="#490">490</a>         {
+<a name="491" href="#491">491</a>             flux.flush();
+<a name="492" href="#492">492</a>             flux.close();
+<a name="493" href="#493">493</a>         }
+<a name="494" href="#494">494</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="495" href="#495">495</a>         {
+<a name="496" href="#496">496</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"IOException when closing file : "</span> + e.getMessage() );
+<a name="497" href="#497">497</a>         }
+<a name="498" href="#498">498</a>     }
+<a name="499" href="#499">499</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/obrplugin/ObrUpdate.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrUpdate.html
index 4c52dee..80c7f1e 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrUpdate.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrUpdate.html
@@ -36,333 +36,362 @@
 <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.OutputStreamWriter;
 <a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.Writer;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.net.URI;
-<a name="30" href="#30">30</a>  
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.Resource;
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.DataModelHelperImpl;
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.PullParser;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.RepositoryImpl;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.RepositoryParser;
-<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.ResourceImpl;
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
-<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.kxml2.io.KXmlParser;
-<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.xmlpull.v1.XmlPullParser;
-<a name="43" href="#43">43</a>  
-<a name="44" href="#44">44</a>  
-<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * this class parse the old repository.xml file build the bundle resource description and update the repository.</em>
-<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/obrplugin/ObrUpdate.html">ObrUpdate</a>
-<a name="50" href="#50">50</a>  {
-<a name="51" href="#51">51</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     * logger for this plugin.</em>
-<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> Log m_logger;
-<a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     * name and path to the repository descriptor file.</em>
-<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> URI m_repositoryXml;
-<a name="60" href="#60">60</a>  
-<a name="61" href="#61">61</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     * name and path to the obr.xml file.</em>
-<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> URI m_obrXml;
-<a name="65" href="#65">65</a>  
-<a name="66" href="#66">66</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     * maven project description.</em>
-<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="69" href="#69">69</a>      <strong class="jxr_keyword">private</strong> MavenProject m_project;
-<a name="70" href="#70">70</a>  
-<a name="71" href="#71">71</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * user configuration information.</em>
-<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="74" href="#74">74</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a> m_userConfig;
-<a name="75" href="#75">75</a>  
-<a name="76" href="#76">76</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     * root on parent document.</em>
-<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="79" href="#79">79</a>      <strong class="jxr_keyword">private</strong> RepositoryImpl m_repository;
-<a name="80" href="#80">80</a>  
-<a name="81" href="#81">81</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     * used to store bundle information.</em>
-<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="84" href="#84">84</a>      <strong class="jxr_keyword">private</strong> ResourceImpl m_resourceBundle;
-<a name="85" href="#85">85</a>  
-<a name="86" href="#86">86</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     * base URI used to relativize bundle URIs.</em>
-<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="89" href="#89">89</a>      <strong class="jxr_keyword">private</strong> URI m_baseURI;
-<a name="90" href="#90">90</a>  
-<a name="91" href="#91">91</a>  
-<a name="92" href="#92">92</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * initialize information.</em>
-<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     * @param repositoryXml path to the repository descriptor file</em>
-<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * @param obrXml path and filename to the obr.xml file</em>
-<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * @param project maven project description</em>
-<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * @param mavenRepositoryPath path to the local maven repository</em>
-<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     * @param userConfig user information</em>
-<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * @param logger plugin logger</em>
-<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     */</em>
-<a name="101" href="#101">101</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/obrplugin/ObrUpdate.html">ObrUpdate</a>( URI repositoryXml, URI obrXml, MavenProject project, String mavenRepositoryPath,
-<a name="102" href="#102">102</a>         <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a> userConfig, Log logger )
-<a name="103" href="#103">103</a>     {
-<a name="104" href="#104">104</a>         m_repositoryXml = repositoryXml;
-<a name="105" href="#105">105</a>         m_obrXml = obrXml;
-<a name="106" href="#106">106</a>         m_project = project;
-<a name="107" href="#107">107</a>         m_logger = logger;
-<a name="108" href="#108">108</a> 
-<a name="109" href="#109">109</a>         m_userConfig = userConfig;
+<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.net.URI;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.regex.Pattern;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.Resource;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.DataModelHelperImpl;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.PullParser;
+<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.RepositoryImpl;
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.RepositoryParser;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.bundlerepository.impl.ResourceImpl;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
+<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.kxml2.io.KXmlParser;
+<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.xmlpull.v1.XmlPullParser;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * this class parse the old repository.xml file build the bundle resource description and update the repository.</em>
+<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
+<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="51" href="#51">51</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/obrplugin/ObrUpdate.html">ObrUpdate</a>
+<a name="52" href="#52">52</a>  {
+<a name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Pattern TIMESTAMP = Pattern.compile( <span class="jxr_string">"-[0-9]{8}&#92;&#92;.[0-9]{6}-[0-9]+"</span> );
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Method setURI;
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong class="jxr_keyword">static</strong>
+<a name="58" href="#58">58</a>      {
+<a name="59" href="#59">59</a>          <strong class="jxr_keyword">try</strong>
+<a name="60" href="#60">60</a>          {
+<a name="61" href="#61">61</a>              setURI = RepositoryImpl.<strong class="jxr_keyword">class</strong>.getDeclaredMethod( <span class="jxr_string">"setURI"</span>, String.<strong class="jxr_keyword">class</strong> );
+<a name="62" href="#62">62</a>              setURI.setAccessible( <strong class="jxr_keyword">true</strong> );
+<a name="63" href="#63">63</a>          }
+<a name="64" href="#64">64</a>          <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="65" href="#65">65</a>          {
+<a name="66" href="#66">66</a>              setURI = <strong class="jxr_keyword">null</strong>;
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * logger for this plugin.</em>
+<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> Log m_logger;
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     * name and path to the repository descriptor file.</em>
+<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="78" href="#78">78</a>      <strong class="jxr_keyword">private</strong> URI m_repositoryXml;
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment">     * name and path to the obr.xml file.</em>
+<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="83" href="#83">83</a>      <strong class="jxr_keyword">private</strong> URI m_obrXml;
+<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">     * maven project description.</em>
+<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="88" href="#88">88</a>      <strong class="jxr_keyword">private</strong> MavenProject m_project;
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * user configuration information.</em>
+<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="93" href="#93">93</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a> m_userConfig;
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * root on parent document.</em>
+<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="98" href="#98">98</a>      <strong class="jxr_keyword">private</strong> RepositoryImpl m_repository;
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     * used to store bundle information.</em>
+<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     */</em>
+<a name="103" href="#103">103</a>     <strong class="jxr_keyword">private</strong> ResourceImpl m_resourceBundle;
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * base URI used to relativize bundle URIs.</em>
+<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     */</em>
+<a name="108" href="#108">108</a>     <strong class="jxr_keyword">private</strong> URI m_baseURI;
+<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> ( userConfig.isRemoteFile() )
-<a name="112" href="#112">112</a>         {
-<a name="113" href="#113">113</a>             m_baseURI = ObrUtils.toFileURI( mavenRepositoryPath );
-<a name="114" href="#114">114</a>         }
-<a name="115" href="#115">115</a>         <strong class="jxr_keyword">else</strong>
-<a name="116" href="#116">116</a>         {
-<a name="117" href="#117">117</a>             m_baseURI = m_repositoryXml;
-<a name="118" href="#118">118</a>         }
-<a name="119" href="#119">119</a>     }
-<a name="120" href="#120">120</a> 
-<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">     * update the repository descriptor file. parse the old repository descriptor file,</em>
-<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     * get the old reference of the bundle or determine the id for a new bundle, extract</em>
-<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * information from bindex set the new information in descriptor file and save it.</em>
-<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * </em>
-<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * @param bundleJar path to the bundle jar file</em>
-<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * @param sourceJar path to the source jar file</em>
-<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * @param docJar path to the docs jar file</em>
-<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * </em>
-<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if the plugin failed</em>
-<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     */</em>
-<a name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateRepository( URI bundleJar, URI sourceJar, URI docJar ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="134" href="#134">134</a>     {
-<a name="135" href="#135">135</a>         m_logger.debug( <span class="jxr_string">" (f) repositoryXml = "</span> + m_repositoryXml );
-<a name="136" href="#136">136</a>         m_logger.debug( <span class="jxr_string">" (f) bundleJar = "</span> + bundleJar );
-<a name="137" href="#137">137</a>         m_logger.debug( <span class="jxr_string">" (f) sourceJar = "</span> + sourceJar );
-<a name="138" href="#138">138</a>         m_logger.debug( <span class="jxr_string">" (f) obrXml = "</span> + m_obrXml );
+<a name="111" href="#111">111</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     * initialize information.</em>
+<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     * @param repositoryXml path to the repository descriptor file</em>
+<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * @param obrXml path and filename to the obr.xml file</em>
+<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     * @param project maven project description</em>
+<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     * @param mavenRepositoryPath path to the local maven repository</em>
+<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     * @param userConfig user information</em>
+<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     * @param logger plugin logger</em>
+<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     */</em>
+<a name="120" href="#120">120</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/obrplugin/ObrUpdate.html">ObrUpdate</a>( URI repositoryXml, URI obrXml, MavenProject project, String mavenRepositoryPath,
+<a name="121" href="#121">121</a>         <a href="../../../../org/apache/felix/obrplugin/Config.html">Config</a> userConfig, Log logger )
+<a name="122" href="#122">122</a>     {
+<a name="123" href="#123">123</a>         m_repositoryXml = repositoryXml;
+<a name="124" href="#124">124</a>         m_obrXml = obrXml;
+<a name="125" href="#125">125</a>         m_project = project;
+<a name="126" href="#126">126</a>         m_logger = logger;
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         m_userConfig = userConfig;
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         <strong class="jxr_keyword">if</strong> ( userConfig.isRemoteFile() )
+<a name="131" href="#131">131</a>         {
+<a name="132" href="#132">132</a>             m_baseURI = ObrUtils.toFileURI( mavenRepositoryPath );
+<a name="133" href="#133">133</a>         }
+<a name="134" href="#134">134</a>         <strong class="jxr_keyword">else</strong>
+<a name="135" href="#135">135</a>         {
+<a name="136" href="#136">136</a>             m_baseURI = m_repositoryXml;
+<a name="137" href="#137">137</a>         }
+<a name="138" href="#138">138</a>     }
 <a name="139" href="#139">139</a> 
-<a name="140" href="#140">140</a>         <strong class="jxr_keyword">if</strong> ( m_repository == <strong class="jxr_keyword">null</strong> )
-<a name="141" href="#141">141</a>         {
-<a name="142" href="#142">142</a>             <strong class="jxr_keyword">return</strong>;
-<a name="143" href="#143">143</a>         }
-<a name="144" href="#144">144</a> 
-<a name="145" href="#145">145</a>         <em class="jxr_comment">// get the file size</em>
-<a name="146" href="#146">146</a>         File bundleFile = <strong class="jxr_keyword">new</strong> File( bundleJar );
-<a name="147" href="#147">147</a>         <strong class="jxr_keyword">if</strong> ( bundleFile.exists() )
-<a name="148" href="#148">148</a>         {
-<a name="149" href="#149">149</a>             URI resourceURI = m_userConfig.getRemoteBundle();
-<a name="150" href="#150">150</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == resourceURI )
-<a name="151" href="#151">151</a>             {
-<a name="152" href="#152">152</a>                 resourceURI = bundleJar;
-<a name="153" href="#153">153</a>                 <strong class="jxr_keyword">if</strong> ( m_userConfig.isPathRelative() )
-<a name="154" href="#154">154</a>                 {
-<a name="155" href="#155">155</a>                     resourceURI = ObrUtils.getRelativeURI( m_baseURI, resourceURI );
-<a name="156" href="#156">156</a>                 }
-<a name="157" href="#157">157</a>             }
-<a name="158" href="#158">158</a> 
-<a name="159" href="#159">159</a>             <strong class="jxr_keyword">if</strong> ( m_userConfig.isRemoteFile() )
-<a name="160" href="#160">160</a>             {
-<a name="161" href="#161">161</a>                 m_logger.info( <span class="jxr_string">"Deploying "</span> + resourceURI );
-<a name="162" href="#162">162</a>             }
-<a name="163" href="#163">163</a>             <strong class="jxr_keyword">else</strong>
-<a name="164" href="#164">164</a>             {
-<a name="165" href="#165">165</a>                 m_logger.info( <span class="jxr_string">"Installing "</span> + resourceURI );
-<a name="166" href="#166">166</a>             }
-<a name="167" href="#167">167</a> 
-<a name="168" href="#168">168</a>             <strong class="jxr_keyword">try</strong>
-<a name="169" href="#169">169</a>             {
-<a name="170" href="#170">170</a>                 m_resourceBundle = ( ResourceImpl ) <strong class="jxr_keyword">new</strong> DataModelHelperImpl().createResource( bundleJar.toURL() );
-<a name="171" href="#171">171</a>                 <strong class="jxr_keyword">if</strong> ( m_resourceBundle == <strong class="jxr_keyword">null</strong> )
-<a name="172" href="#172">172</a>                 {
-<a name="173" href="#173">173</a>                     <strong class="jxr_keyword">return</strong>;
-<a name="174" href="#174">174</a>                 }
-<a name="175" href="#175">175</a>             }
-<a name="176" href="#176">176</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="177" href="#177">177</a>             {
-<a name="178" href="#178">178</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to load resource information"</span>, e );
-<a name="179" href="#179">179</a>             }
-<a name="180" href="#180">180</a> 
-<a name="181" href="#181">181</a>             m_resourceBundle.put( Resource.SIZE, String.valueOf( bundleFile.length() ) );
-<a name="182" href="#182">182</a>             m_resourceBundle.put( Resource.URI, resourceURI.toASCIIString() );
-<a name="183" href="#183">183</a>         }
-<a name="184" href="#184">184</a>         <strong class="jxr_keyword">else</strong>
-<a name="185" href="#185">185</a>         {
-<a name="186" href="#186">186</a>             m_logger.error( <span class="jxr_string">"file doesn't exist: "</span> + bundleJar );
-<a name="187" href="#187">187</a>             <strong class="jxr_keyword">return</strong>;
-<a name="188" href="#188">188</a>         }
-<a name="189" href="#189">189</a> 
-<a name="190" href="#190">190</a>         <em class="jxr_comment">// parse the obr.xml file</em>
-<a name="191" href="#191">191</a>         <strong class="jxr_keyword">if</strong> ( m_obrXml != <strong class="jxr_keyword">null</strong> )
-<a name="192" href="#192">192</a>         {
-<a name="193" href="#193">193</a>             m_logger.info( <span class="jxr_string">"Adding "</span> + m_obrXml );
-<a name="194" href="#194">194</a> 
-<a name="195" href="#195">195</a>             <em class="jxr_comment">// URL url = getClass().getResource("/SchemaObr.xsd");</em>
-<a name="196" href="#196">196</a>             <em class="jxr_comment">// TODO validate obr.xml file</em>
-<a name="197" href="#197">197</a> 
-<a name="198" href="#198">198</a>             <em class="jxr_comment">// add contents to resource bundle</em>
-<a name="199" href="#199">199</a>             parseObrXml();
-<a name="200" href="#200">200</a>         }
-<a name="201" href="#201">201</a> 
-<a name="202" href="#202">202</a>         String sourcePath = relativisePath( sourceJar );
-<a name="203" href="#203">203</a>         String docPath = relativisePath( docJar );
-<a name="204" href="#204">204</a> 
-<a name="205" href="#205">205</a>         <em class="jxr_comment">//        m_resourceBundle.construct( m_project, bindexExtractor, sourcePath, docPath );</em>
-<a name="206" href="#206">206</a>         <em class="jxr_comment">//         TODO: rebuild wrt m_project</em>
-<a name="207" href="#207">207</a> 
-<a name="208" href="#208">208</a>         m_repository.addResource( m_resourceBundle );
-<a name="209" href="#209">209</a>         m_repository.setLastModified( System.currentTimeMillis() );
-<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> String relativisePath( URI uri )
-<a name="214" href="#214">214</a>     {
-<a name="215" href="#215">215</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != uri )
-<a name="216" href="#216">216</a>         {
-<a name="217" href="#217">217</a>             <strong class="jxr_keyword">if</strong> ( m_userConfig.isPathRelative() )
-<a name="218" href="#218">218</a>             {
-<a name="219" href="#219">219</a>                 <strong class="jxr_keyword">return</strong> ObrUtils.getRelativeURI( m_baseURI, uri ).toASCIIString();
-<a name="220" href="#220">220</a>             }
-<a name="221" href="#221">221</a> 
-<a name="222" href="#222">222</a>             <strong class="jxr_keyword">return</strong> uri.toASCIIString();
-<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">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="226" href="#226">226</a>     }
-<a name="227" href="#227">227</a> 
-<a name="228" href="#228">228</a> 
-<a name="229" href="#229">229</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRepositoryXml() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="230" href="#230">230</a>     {
-<a name="231" href="#231">231</a>         m_logger.info( <span class="jxr_string">"Writing OBR metadata"</span> );
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * update the repository descriptor file. parse the old repository descriptor file,</em>
+<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     * get the old reference of the bundle or determine the id for a new bundle, extract</em>
+<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * information from bindex set the new information in descriptor file and save it.</em>
+<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * </em>
+<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * @param bundleJar path to the bundle jar file</em>
+<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * @param sourceJar path to the source jar file</em>
+<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * @param docJar path to the docs jar file</em>
+<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * </em>
+<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if the plugin failed</em>
+<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     */</em>
+<a name="152" href="#152">152</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateRepository( URI bundleJar, URI sourceJar, URI docJar ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="153" href="#153">153</a>     {
+<a name="154" href="#154">154</a>         m_logger.debug( <span class="jxr_string">" (f) repositoryXml = "</span> + m_repositoryXml );
+<a name="155" href="#155">155</a>         m_logger.debug( <span class="jxr_string">" (f) bundleJar = "</span> + bundleJar );
+<a name="156" href="#156">156</a>         m_logger.debug( <span class="jxr_string">" (f) sourceJar = "</span> + sourceJar );
+<a name="157" href="#157">157</a>         m_logger.debug( <span class="jxr_string">" (f) docJar = "</span> + docJar );
+<a name="158" href="#158">158</a>         m_logger.debug( <span class="jxr_string">" (f) obrXml = "</span> + m_obrXml );
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         <strong class="jxr_keyword">if</strong> ( m_repository == <strong class="jxr_keyword">null</strong> )
+<a name="161" href="#161">161</a>         {
+<a name="162" href="#162">162</a>             <strong class="jxr_keyword">return</strong>;
+<a name="163" href="#163">163</a>         }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         <em class="jxr_comment">// get the file size</em>
+<a name="166" href="#166">166</a>         File bundleFile = <strong class="jxr_keyword">new</strong> File( bundleJar );
+<a name="167" href="#167">167</a>         <strong class="jxr_keyword">if</strong> ( !bundleFile.exists() )
+<a name="168" href="#168">168</a>         {
+<a name="169" href="#169">169</a>             String snapshot = TIMESTAMP.matcher( bundleFile.getName() ).replaceFirst( <span class="jxr_string">"-SNAPSHOT"</span> );
+<a name="170" href="#170">170</a>             bundleFile = <strong class="jxr_keyword">new</strong> File( bundleFile.getParentFile(), snapshot );
+<a name="171" href="#171">171</a>         }
+<a name="172" href="#172">172</a>         <strong class="jxr_keyword">if</strong> ( bundleFile.exists() )
+<a name="173" href="#173">173</a>         {
+<a name="174" href="#174">174</a>             URI resourceURI = m_userConfig.getRemoteBundle();
+<a name="175" href="#175">175</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == resourceURI )
+<a name="176" href="#176">176</a>             {
+<a name="177" href="#177">177</a>                 resourceURI = bundleJar;
+<a name="178" href="#178">178</a>                 <strong class="jxr_keyword">if</strong> ( m_userConfig.isPathRelative() )
+<a name="179" href="#179">179</a>                 {
+<a name="180" href="#180">180</a>                     resourceURI = ObrUtils.getRelativeURI( m_baseURI, resourceURI );
+<a name="181" href="#181">181</a>                 }
+<a name="182" href="#182">182</a>             }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>             <strong class="jxr_keyword">if</strong> ( m_userConfig.isRemoteFile() )
+<a name="185" href="#185">185</a>             {
+<a name="186" href="#186">186</a>                 m_logger.info( <span class="jxr_string">"Deploying "</span> + resourceURI );
+<a name="187" href="#187">187</a>             }
+<a name="188" href="#188">188</a>             <strong class="jxr_keyword">else</strong>
+<a name="189" href="#189">189</a>             {
+<a name="190" href="#190">190</a>                 m_logger.info( <span class="jxr_string">"Installing "</span> + resourceURI );
+<a name="191" href="#191">191</a>             }
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>             <strong class="jxr_keyword">try</strong>
+<a name="194" href="#194">194</a>             {
+<a name="195" href="#195">195</a>                 m_resourceBundle = ( ResourceImpl ) <strong class="jxr_keyword">new</strong> DataModelHelperImpl().createResource( bundleFile.toURI().toURL() );
+<a name="196" href="#196">196</a>                 <strong class="jxr_keyword">if</strong> ( m_resourceBundle == <strong class="jxr_keyword">null</strong> )
+<a name="197" href="#197">197</a>                 {
+<a name="198" href="#198">198</a>                     <strong class="jxr_keyword">return</strong>;
+<a name="199" href="#199">199</a>                 }
+<a name="200" href="#200">200</a>             }
+<a name="201" href="#201">201</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="202" href="#202">202</a>             {
+<a name="203" href="#203">203</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to load resource information"</span>, e );
+<a name="204" href="#204">204</a>             }
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>             m_resourceBundle.put( Resource.SIZE, String.valueOf( bundleFile.length() ) );
+<a name="207" href="#207">207</a>             m_resourceBundle.put( Resource.URI, resourceURI.toASCIIString() );
+<a name="208" href="#208">208</a>         }
+<a name="209" href="#209">209</a>         <strong class="jxr_keyword">else</strong>
+<a name="210" href="#210">210</a>         {
+<a name="211" href="#211">211</a>             m_logger.error( <span class="jxr_string">"file doesn't exist: "</span> + bundleJar );
+<a name="212" href="#212">212</a>             <strong class="jxr_keyword">return</strong>;
+<a name="213" href="#213">213</a>         }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         <em class="jxr_comment">// parse the obr.xml file</em>
+<a name="216" href="#216">216</a>         <strong class="jxr_keyword">if</strong> ( m_obrXml != <strong class="jxr_keyword">null</strong> )
+<a name="217" href="#217">217</a>         {
+<a name="218" href="#218">218</a>             m_logger.info( <span class="jxr_string">"Adding "</span> + m_obrXml );
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>             <em class="jxr_comment">// URL url = getClass().getResource("/SchemaObr.xsd");</em>
+<a name="221" href="#221">221</a>             <em class="jxr_comment">// TODO validate obr.xml file</em>
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>             <em class="jxr_comment">// add contents to resource bundle</em>
+<a name="224" href="#224">224</a>             parseObrXml();
+<a name="225" href="#225">225</a>         }
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>         String sourcePath = relativisePath( sourceJar );
+<a name="228" href="#228">228</a>         String docPath = relativisePath( docJar );
+<a name="229" href="#229">229</a> 
+<a name="230" href="#230">230</a>         <em class="jxr_comment">//        m_resourceBundle.construct( m_project, bindexExtractor, sourcePath, docPath );</em>
+<a name="231" href="#231">231</a>         <em class="jxr_comment">//         TODO: rebuild wrt m_project</em>
 <a name="232" href="#232">232</a> 
-<a name="233" href="#233">233</a>         File file = <strong class="jxr_keyword">null</strong>;
-<a name="234" href="#234">234</a>         Writer writer;
-<a name="235" href="#235">235</a>         <strong class="jxr_keyword">try</strong>
-<a name="236" href="#236">236</a>         {
-<a name="237" href="#237">237</a>             file = File.createTempFile( <span class="jxr_string">"repository"</span>, <span class="jxr_string">".xml"</span> );
-<a name="238" href="#238">238</a>             writer = <strong class="jxr_keyword">new</strong> OutputStreamWriter( <strong class="jxr_keyword">new</strong> FileOutputStream( file ) );
-<a name="239" href="#239">239</a>         }
-<a name="240" href="#240">240</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="233" href="#233">233</a>         m_repository.addResource( m_resourceBundle );
+<a name="234" href="#234">234</a>         m_repository.setLastModified( System.currentTimeMillis() );
+<a name="235" href="#235">235</a>     }
+<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">private</strong> String relativisePath( URI uri )
+<a name="239" href="#239">239</a>     {
+<a name="240" href="#240">240</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != uri )
 <a name="241" href="#241">241</a>         {
-<a name="242" href="#242">242</a>             m_logger.error( <span class="jxr_string">"Unable to write to file: "</span> + file.getName() );
-<a name="243" href="#243">243</a>             e.printStackTrace();
-<a name="244" href="#244">244</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + file.getName() + <span class="jxr_string">" : "</span> + e.getMessage() );
-<a name="245" href="#245">245</a>         }
+<a name="242" href="#242">242</a>             <strong class="jxr_keyword">if</strong> ( m_userConfig.isPathRelative() )
+<a name="243" href="#243">243</a>             {
+<a name="244" href="#244">244</a>                 <strong class="jxr_keyword">return</strong> ObrUtils.getRelativeURI( m_baseURI, uri ).toASCIIString();
+<a name="245" href="#245">245</a>             }
 <a name="246" href="#246">246</a> 
-<a name="247" href="#247">247</a>         <strong class="jxr_keyword">try</strong>
-<a name="248" href="#248">248</a>         {
-<a name="249" href="#249">249</a>             <strong class="jxr_keyword">new</strong> DataModelHelperImpl().writeRepository( m_repository, writer );
-<a name="250" href="#250">250</a>         }
-<a name="251" href="#251">251</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="252" href="#252">252</a>         {
-<a name="253" href="#253">253</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write repository xml"</span>, e );
-<a name="254" href="#254">254</a>         }
-<a name="255" href="#255">255</a> 
-<a name="256" href="#256">256</a>         <strong class="jxr_keyword">try</strong>
-<a name="257" href="#257">257</a>         {
-<a name="258" href="#258">258</a>             writer.flush();
-<a name="259" href="#259">259</a>             writer.close();
-<a name="260" href="#260">260</a> 
-<a name="261" href="#261">261</a>             File outputFile = <strong class="jxr_keyword">new</strong> File( m_repositoryXml );
-<a name="262" href="#262">262</a>             outputFile.getParentFile().mkdirs();
-<a name="263" href="#263">263</a>             FileUtils.rename( file, outputFile );
+<a name="247" href="#247">247</a>             <strong class="jxr_keyword">return</strong> uri.toASCIIString();
+<a name="248" href="#248">248</a>         }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<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">public</strong> <strong class="jxr_keyword">void</strong> writeRepositoryXml() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="255" href="#255">255</a>     {
+<a name="256" href="#256">256</a>         m_logger.info( <span class="jxr_string">"Writing OBR metadata"</span> );
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>         File file = <strong class="jxr_keyword">null</strong>;
+<a name="259" href="#259">259</a>         Writer writer;
+<a name="260" href="#260">260</a>         <strong class="jxr_keyword">try</strong>
+<a name="261" href="#261">261</a>         {
+<a name="262" href="#262">262</a>             file = File.createTempFile( <span class="jxr_string">"repository"</span>, <span class="jxr_string">".xml"</span> );
+<a name="263" href="#263">263</a>             writer = <strong class="jxr_keyword">new</strong> OutputStreamWriter( <strong class="jxr_keyword">new</strong> FileOutputStream( file ) );
 <a name="264" href="#264">264</a>         }
 <a name="265" href="#265">265</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
 <a name="266" href="#266">266</a>         {
-<a name="267" href="#267">267</a>             e.printStackTrace();
-<a name="268" href="#268">268</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"IOException"</span> );
-<a name="269" href="#269">269</a>         }
-<a name="270" href="#270">270</a> 
-<a name="271" href="#271">271</a>     }
-<a name="272" href="#272">272</a> 
-<a name="273" href="#273">273</a> 
-<a name="274" href="#274">274</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="275" href="#275">275</a> <em class="jxr_javadoccomment">      * Parse the repository descriptor file.</em>
-<a name="276" href="#276">276</a> <em class="jxr_javadoccomment">      *</em>
-<a name="277" href="#277">277</a> <em class="jxr_javadoccomment">      * @throws MojoExecutionException if the plugin failed</em>
-<a name="278" href="#278">278</a> <em class="jxr_javadoccomment">      */</em>
-<a name="279" href="#279">279</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> parseRepositoryXml() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="280" href="#280">280</a>     {
-<a name="281" href="#281">281</a>         File fout = <strong class="jxr_keyword">new</strong> File( m_repositoryXml );
-<a name="282" href="#282">282</a>         <strong class="jxr_keyword">if</strong> ( !fout.exists() )
-<a name="283" href="#283">283</a>         {
-<a name="284" href="#284">284</a>             m_repository = <strong class="jxr_keyword">new</strong> RepositoryImpl();
-<a name="285" href="#285">285</a>             writeRepositoryXml();
-<a name="286" href="#286">286</a>         }
-<a name="287" href="#287">287</a>         <strong class="jxr_keyword">else</strong>
-<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>                 m_repository = ( RepositoryImpl ) <strong class="jxr_keyword">new</strong> DataModelHelperImpl().repository( m_repositoryXml.toURL() );
-<a name="292" href="#292">292</a>             }
-<a name="293" href="#293">293</a>             <strong class="jxr_keyword">catch</strong> ( Exception 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">"Unable to read repository xml: "</span> + m_repositoryXml, e );
-<a name="296" href="#296">296</a>             }
-<a name="297" href="#297">297</a>         }
-<a name="298" href="#298">298</a>     }
-<a name="299" href="#299">299</a> 
-<a name="300" href="#300">300</a> 
-<a name="301" href="#301">301</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">     * put the information from obr.xml into ressourceBundle object.</em>
-<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">     */</em>
-<a name="304" href="#304">304</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseObrXml() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="267" href="#267">267</a>             m_logger.error( <span class="jxr_string">"Unable to write to file: "</span> + file.getName() );
+<a name="268" href="#268">268</a>             e.printStackTrace();
+<a name="269" href="#269">269</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write to file: "</span> + file.getName() + <span class="jxr_string">" : "</span> + e.getMessage() );
+<a name="270" href="#270">270</a>         }
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>         <strong class="jxr_keyword">try</strong>
+<a name="273" href="#273">273</a>         {
+<a name="274" href="#274">274</a>             <strong class="jxr_keyword">new</strong> DataModelHelperImpl().writeRepository( m_repository, writer );
+<a name="275" href="#275">275</a>         }
+<a name="276" href="#276">276</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="277" href="#277">277</a>         {
+<a name="278" href="#278">278</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to write repository xml"</span>, e );
+<a name="279" href="#279">279</a>         }
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>         <strong class="jxr_keyword">try</strong>
+<a name="282" href="#282">282</a>         {
+<a name="283" href="#283">283</a>             writer.flush();
+<a name="284" href="#284">284</a>             writer.close();
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>             File outputFile = <strong class="jxr_keyword">new</strong> File( m_repositoryXml );
+<a name="287" href="#287">287</a>             outputFile.getParentFile().mkdirs();
+<a name="288" href="#288">288</a>             FileUtils.rename( file, outputFile );
+<a name="289" href="#289">289</a>         }
+<a name="290" href="#290">290</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="291" href="#291">291</a>         {
+<a name="292" href="#292">292</a>             e.printStackTrace();
+<a name="293" href="#293">293</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"IOException"</span> );
+<a name="294" href="#294">294</a>         }
+<a name="295" href="#295">295</a> 
+<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>     <em class="jxr_javadoccomment">/**</em>
+<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">      * Parse the repository descriptor file.</em>
+<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">      *</em>
+<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">      * @throws MojoExecutionException if the plugin failed</em>
+<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">      */</em>
+<a name="304" href="#304">304</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> parseRepositoryXml() <strong class="jxr_keyword">throws</strong> MojoExecutionException
 <a name="305" href="#305">305</a>     {
-<a name="306" href="#306">306</a>         <strong class="jxr_keyword">try</strong>
-<a name="307" href="#307">307</a>         {
-<a name="308" href="#308">308</a>             InputStream is = <strong class="jxr_keyword">new</strong> FileInputStream( <strong class="jxr_keyword">new</strong> File( m_obrXml ) );
-<a name="309" href="#309">309</a>             <strong class="jxr_keyword">try</strong>
-<a name="310" href="#310">310</a>             {
-<a name="311" href="#311">311</a>                 KXmlParser kxp = <strong class="jxr_keyword">new</strong> KXmlParser();
-<a name="312" href="#312">312</a>                 kxp.setInput( is, <strong class="jxr_keyword">null</strong> );
-<a name="313" href="#313">313</a>                 kxp.nextTag(); <em class="jxr_comment">// skip top level element</em>
-<a name="314" href="#314">314</a>                 kxp.nextTag(); <em class="jxr_comment">// go to first child element</em>
-<a name="315" href="#315">315</a>                 parseObrXml( kxp );
-<a name="316" href="#316">316</a>             }
-<a name="317" href="#317">317</a>             <strong class="jxr_keyword">finally</strong>
-<a name="318" href="#318">318</a>             {
-<a name="319" href="#319">319</a>                 is.close();
-<a name="320" href="#320">320</a>             }
-<a name="321" href="#321">321</a>         }
-<a name="322" href="#322">322</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="323" href="#323">323</a>         {
-<a name="324" href="#324">324</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to parse obr xml: "</span> + m_obrXml, e );
-<a name="325" href="#325">325</a>         }
-<a name="326" href="#326">326</a>     }
-<a name="327" href="#327">327</a> 
+<a name="306" href="#306">306</a>         File fout = <strong class="jxr_keyword">new</strong> File( m_repositoryXml );
+<a name="307" href="#307">307</a>         <strong class="jxr_keyword">if</strong> ( !fout.exists() )
+<a name="308" href="#308">308</a>         {
+<a name="309" href="#309">309</a>             m_repository = <strong class="jxr_keyword">new</strong> RepositoryImpl();
+<a name="310" href="#310">310</a>             writeRepositoryXml();
+<a name="311" href="#311">311</a>         }
+<a name="312" href="#312">312</a>         <strong class="jxr_keyword">else</strong>
+<a name="313" href="#313">313</a>         {
+<a name="314" href="#314">314</a>             <strong class="jxr_keyword">try</strong>
+<a name="315" href="#315">315</a>             {
+<a name="316" href="#316">316</a>                 m_repository = ( RepositoryImpl ) <strong class="jxr_keyword">new</strong> DataModelHelperImpl().repository( m_repositoryXml.toURL() );
+<a name="317" href="#317">317</a>                 <strong class="jxr_keyword">if</strong> ( setURI != <strong class="jxr_keyword">null</strong> )
+<a name="318" href="#318">318</a>                 {
+<a name="319" href="#319">319</a>                     setURI.invoke( m_repository, ( String ) <strong class="jxr_keyword">null</strong> );
+<a name="320" href="#320">320</a>                 }
+<a name="321" href="#321">321</a>             }
+<a name="322" href="#322">322</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="323" href="#323">323</a>             {
+<a name="324" href="#324">324</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to read repository xml: "</span> + m_repositoryXml, e );
+<a name="325" href="#325">325</a>             }
+<a name="326" href="#326">326</a>         }
+<a name="327" href="#327">327</a>     }
 <a name="328" href="#328">328</a> 
-<a name="329" href="#329">329</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseObrXml( KXmlParser kxp ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="330" href="#330">330</a>     {
-<a name="331" href="#331">331</a>         PullParser parser = <strong class="jxr_keyword">new</strong> PullParser();
-<a name="332" href="#332">332</a>         <strong class="jxr_keyword">while</strong> ( kxp.getEventType() == XmlPullParser.START_TAG )
-<a name="333" href="#333">333</a>         {
-<a name="334" href="#334">334</a>             <strong class="jxr_keyword">if</strong> ( RepositoryParser.CATEGORY.equals( kxp.getName() ) )
-<a name="335" href="#335">335</a>             {
-<a name="336" href="#336">336</a>                 m_resourceBundle.addCategory( parser.parseCategory( kxp ) );
-<a name="337" href="#337">337</a>             }
-<a name="338" href="#338">338</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( RepositoryParser.REQUIRE.equals( kxp.getName() ) )
+<a name="329" href="#329">329</a> 
+<a name="330" href="#330">330</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     * put the information from obr.xml into ressourceBundle object.</em>
+<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">     */</em>
+<a name="333" href="#333">333</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseObrXml() <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="334" href="#334">334</a>     {
+<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>             InputStream is = <strong class="jxr_keyword">new</strong> FileInputStream( <strong class="jxr_keyword">new</strong> File( m_obrXml ) );
+<a name="338" href="#338">338</a>             <strong class="jxr_keyword">try</strong>
 <a name="339" href="#339">339</a>             {
-<a name="340" href="#340">340</a>                 m_resourceBundle.addRequire( parser.parseRequire( kxp ) );
-<a name="341" href="#341">341</a>             }
-<a name="342" href="#342">342</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( RepositoryParser.CAPABILITY.equals( kxp.getName() ) )
-<a name="343" href="#343">343</a>             {
-<a name="344" href="#344">344</a>                 m_resourceBundle.addCapability( parser.parseCapability( kxp ) );
+<a name="340" href="#340">340</a>                 KXmlParser kxp = <strong class="jxr_keyword">new</strong> KXmlParser();
+<a name="341" href="#341">341</a>                 kxp.setInput( is, <strong class="jxr_keyword">null</strong> );
+<a name="342" href="#342">342</a>                 kxp.nextTag(); <em class="jxr_comment">// skip top level element</em>
+<a name="343" href="#343">343</a>                 kxp.nextTag(); <em class="jxr_comment">// go to first child element</em>
+<a name="344" href="#344">344</a>                 parseObrXml( kxp );
 <a name="345" href="#345">345</a>             }
-<a name="346" href="#346">346</a>             <strong class="jxr_keyword">else</strong>
+<a name="346" href="#346">346</a>             <strong class="jxr_keyword">finally</strong>
 <a name="347" href="#347">347</a>             {
-<a name="348" href="#348">348</a>                 kxp.nextTag();
-<a name="349" href="#349">349</a>                 parseObrXml( kxp );
-<a name="350" href="#350">350</a>             }
-<a name="351" href="#351">351</a>             kxp.nextTag();
-<a name="352" href="#352">352</a>         }
-<a name="353" href="#353">353</a>     }
-<a name="354" href="#354">354</a> 
-<a name="355" href="#355">355</a> }
+<a name="348" href="#348">348</a>                 is.close();
+<a name="349" href="#349">349</a>             }
+<a name="350" href="#350">350</a>         }
+<a name="351" href="#351">351</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="352" href="#352">352</a>         {
+<a name="353" href="#353">353</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to parse obr xml: "</span> + m_obrXml, e );
+<a name="354" href="#354">354</a>         }
+<a name="355" href="#355">355</a>     }
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseObrXml( KXmlParser kxp ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="359" href="#359">359</a>     {
+<a name="360" href="#360">360</a>         PullParser parser = <strong class="jxr_keyword">new</strong> PullParser();
+<a name="361" href="#361">361</a>         <strong class="jxr_keyword">while</strong> ( kxp.getEventType() == XmlPullParser.START_TAG )
+<a name="362" href="#362">362</a>         {
+<a name="363" href="#363">363</a>             <strong class="jxr_keyword">if</strong> ( RepositoryParser.CATEGORY.equals( kxp.getName() ) )
+<a name="364" href="#364">364</a>             {
+<a name="365" href="#365">365</a>                 m_resourceBundle.addCategory( parser.parseCategory( kxp ) );
+<a name="366" href="#366">366</a>             }
+<a name="367" href="#367">367</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( RepositoryParser.REQUIRE.equals( kxp.getName() ) )
+<a name="368" href="#368">368</a>             {
+<a name="369" href="#369">369</a>                 m_resourceBundle.addRequire( parser.parseRequire( kxp ) );
+<a name="370" href="#370">370</a>             }
+<a name="371" href="#371">371</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( RepositoryParser.CAPABILITY.equals( kxp.getName() ) )
+<a name="372" href="#372">372</a>             {
+<a name="373" href="#373">373</a>                 m_resourceBundle.addCapability( parser.parseCapability( kxp ) );
+<a name="374" href="#374">374</a>             }
+<a name="375" href="#375">375</a>             <strong class="jxr_keyword">else</strong>
+<a name="376" href="#376">376</a>             {
+<a name="377" href="#377">377</a>                 kxp.nextTag();
+<a name="378" href="#378">378</a>                 parseObrXml( kxp );
+<a name="379" href="#379">379</a>             }
+<a name="380" href="#380">380</a>             kxp.nextTag();
+<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> }
 </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/obrplugin/RemoteFileManager.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/RemoteFileManager.html
index 307a578..26dfb80 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/RemoteFileManager.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/RemoteFileManager.html
@@ -35,17 +35,17 @@
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
 <a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.Writer;
 <a name="27" href="#27">27</a>  
-<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.manager.WagonConfigurationException;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.manager.WagonManager;
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.settings.Proxy;
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.settings.Settings;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.ConnectionException;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.ResourceDoesNotExistException;
-<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.TransferFailedException;
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.UnsupportedProtocolException;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.Wagon;
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.manager.WagonManager;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.settings.Proxy;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.settings.Settings;
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.ConnectionException;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.ResourceDoesNotExistException;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.TransferFailedException;
+<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.UnsupportedProtocolException;
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.Wagon;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.WagonException;
 <a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.authentication.AuthenticationException;
 <a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.authorization.AuthorizationException;
 <a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.proxy.ProxyInfo;
@@ -131,7 +131,7 @@
 <a name="121" href="#121">121</a>         {
 <a name="122" href="#122">122</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unsupported protocol: '"</span> + repository.getProtocol() + <span class="jxr_string">"'"</span>, e );
 <a name="123" href="#123">123</a>         }
-<a name="124" href="#124">124</a>         <strong class="jxr_keyword">catch</strong> ( WagonConfigurationException e )
+<a name="124" href="#124">124</a>         <strong class="jxr_keyword">catch</strong> ( WagonException e )
 <a name="125" href="#125">125</a>         {
 <a name="126" href="#126">126</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to configure Wagon: '"</span> + repository.getProtocol() + <span class="jxr_string">"'"</span>, e );
 <a name="127" href="#127">127</a>         }
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 f7d979b..0a42ba9 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.3.5 Reference Package org.apache.felix.obrplugin</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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 b3d67e8..ee11860 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.3.5 Reference Package org.apache.felix.obrplugin</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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/maven/shared/dependency/tree/package-frame.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-frame.html
index 29f9d2c..a417e01 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.3.5 Reference Package org.apache.maven.shared.dependency.tree</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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 348e590..ed8a9da 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.3.5 Reference Package org.apache.maven.shared.dependency.tree</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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/osgi/package-frame.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-frame.html
index 8a158f3..dbc9a7c 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.3.5 Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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 c33547a..776c4bc 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.3.5 Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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/overview-frame.html b/bundleplugin/doc/site/xref/overview-frame.html
index 6bbfaa4..793d6a7 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.3.5 Reference</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref/overview-summary.html b/bundleplugin/doc/site/xref/overview-summary.html
index d186331..e23604d 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.3.5 Reference</title>
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT 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.3.5 Reference</h2>
+		      	<h2>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</h2>
 
 		<table class="summary">
         	<thead>