diff --git a/bundleplugin/doc/site/ant-mojo.html b/bundleplugin/doc/site/ant-mojo.html
index 00935d7..e0cd685 100644
--- a/bundleplugin/doc/site/ant-mojo.html
+++ b/bundleplugin/doc/site/ant-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -91,7 +91,7 @@
         <li>Requires a Maven project to be executed.</li>
         <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>package</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -105,13 +105,13 @@
             <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated JAR.<br /></td>
+            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated bundles.<br /></td>
+            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
           </tr>
         </table>
       </div>
@@ -141,32 +141,45 @@
             <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND class-path will be dumped<br /></td>
+            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND instructions will be dumped<br /></td>
+            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Comma separated list of artifactIds to exclude from the dependency
-classpath passed to BND (use &quot;true&quot; to exclude everything)<br /></td>
+classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
           </tr>
           <tr class="a">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
+          </tr>
+          <tr class="b">
             <td><b><a href="#instructions">instructions</a></b></td>
             <td><tt>Map</tt></td>
             <td><tt>-</tt></td>
             <td>The BND instructions for the bundle.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
+            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -178,7 +191,7 @@
             <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>
+            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
         </table>
       </div>
@@ -193,7 +206,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle to be installed. For example,
 &quot;jdk14&quot;. Defaults to none which means this is the project's main
@@ -206,20 +219,26 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpClasspath}</tt></li>
+          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
         </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
         <div>File where the BND instructions will be dumped</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpInstructions}</tt></li>
+          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
         </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
         <div>Comma separated list of artifactIds to exclude from the dependency
 classpath passed to BND (use &quot;true&quot; to exclude everything)</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${excludeDependencies}</tt></li>
+          <li><b>User Property</b>: <tt>excludeDependencies</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Final name of the bundle (without classifier or extension)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>User Property</b>: <tt>project.build.finalName</tt></li>
         </ul><hr /><p><b><a name="instructions">instructions</a>:</b></p>
         <div>The BND instructions for the bundle.</div>
         <ul>
@@ -230,14 +249,20 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${manifestLocation}</tt></li>
+          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
           <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>
+          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -248,7 +273,7 @@
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${unpackBundle}</tt></li>
+          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
         </ul>
       </div>
     </div>
@@ -260,7 +285,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/bundle-mojo.html b/bundleplugin/doc/site/bundle-mojo.html
index bb1efb4..ea4b148 100644
--- a/bundleplugin/doc/site/bundle-mojo.html
+++ b/bundleplugin/doc/site/bundle-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -90,7 +90,7 @@
         <li>Requires a Maven project to be executed.</li>
         <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>package</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -104,13 +104,13 @@
             <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated JAR.<br /></td>
+            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated bundles.<br /></td>
+            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
           </tr>
         </table>
       </div>
@@ -140,32 +140,45 @@
             <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND class-path will be dumped<br /></td>
+            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND instructions will be dumped<br /></td>
+            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Comma separated list of artifactIds to exclude from the dependency
-classpath passed to BND (use &quot;true&quot; to exclude everything)<br /></td>
+classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
           </tr>
           <tr class="a">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
+          </tr>
+          <tr class="b">
             <td><b><a href="#instructions">instructions</a></b></td>
             <td><tt>Map</tt></td>
             <td><tt>-</tt></td>
             <td>The BND instructions for the bundle.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
+            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -177,7 +190,7 @@
             <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>
+            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
         </table>
       </div>
@@ -192,7 +205,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle to be installed. For example,
 &quot;jdk14&quot;. Defaults to none which means this is the project's main
@@ -205,20 +218,26 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpClasspath}</tt></li>
+          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
         </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
         <div>File where the BND instructions will be dumped</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpInstructions}</tt></li>
+          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
         </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
         <div>Comma separated list of artifactIds to exclude from the dependency
 classpath passed to BND (use &quot;true&quot; to exclude everything)</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${excludeDependencies}</tt></li>
+          <li><b>User Property</b>: <tt>excludeDependencies</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Final name of the bundle (without classifier or extension)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>User Property</b>: <tt>project.build.finalName</tt></li>
         </ul><hr /><p><b><a name="instructions">instructions</a>:</b></p>
         <div>The BND instructions for the bundle.</div>
         <ul>
@@ -229,14 +248,20 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${manifestLocation}</tt></li>
+          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
           <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>
+          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -247,7 +272,7 @@
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${unpackBundle}</tt></li>
+          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
         </ul>
       </div>
     </div>
@@ -259,7 +284,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/bundleall-mojo.html b/bundleplugin/doc/site/bundleall-mojo.html
index 7bca28f..68d522b 100644
--- a/bundleplugin/doc/site/bundleall-mojo.html
+++ b/bundleplugin/doc/site/bundleall-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -93,7 +93,7 @@
         <li>Requires a Maven project to be executed.</li>
         <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>package</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -107,13 +107,13 @@
             <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated JAR.<br /></td>
+            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated bundles.<br /></td>
+            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
           </tr>
         </table>
       </div>
@@ -149,46 +149,59 @@
             <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND class-path will be dumped<br /></td>
+            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND instructions will be dumped<br /></td>
+            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Comma separated list of artifactIds to exclude from the dependency
-classpath passed to BND (use &quot;true&quot; to exclude everything)<br /></td>
+classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#ignoreMissingArtifacts">ignoreMissingArtifacts</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>Ignore missing artifacts that are not required by current project
 but are required by the transitive dependencies.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#instructions">instructions</a></b></td>
             <td><tt>Map</tt></td>
             <td><tt>-</tt></td>
             <td>The BND instructions for the bundle.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
+            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
           <tr class="a">
             <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>
+memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -200,13 +213,13 @@
             <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>
+            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#wrapImportPackage">wrapImportPackage</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Import-Package to be used when wrapping dependencies.<br /><b>Default value is</b>: <tt>*</tt>.</td>
+            <td>Import-Package to be used when wrapping dependencies.<br /><b>Default value is</b>: <tt>*</tt>.<br /><b>User property is</b>: <tt>wrapImportPackage</tt>.</td>
           </tr>
         </table>
       </div>
@@ -221,7 +234,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle to be installed. For example,
 &quot;jdk14&quot;. Defaults to none which means this is the project's main
@@ -239,20 +252,26 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpClasspath}</tt></li>
+          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
         </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
         <div>File where the BND instructions will be dumped</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpInstructions}</tt></li>
+          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
         </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
         <div>Comma separated list of artifactIds to exclude from the dependency
 classpath passed to BND (use &quot;true&quot; to exclude everything)</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${excludeDependencies}</tt></li>
+          <li><b>User Property</b>: <tt>excludeDependencies</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Final name of the bundle (without classifier or extension)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>User Property</b>: <tt>project.build.finalName</tt></li>
         </ul><hr /><p><b><a name="ignoreMissingArtifacts">ignoreMissingArtifacts</a>:</b></p>
         <div>Ignore missing artifacts that are not required by current project
 but are required by the transitive dependencies.</div>
@@ -269,21 +288,27 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${manifestLocation}</tt></li>
+          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
           <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>
+          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</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>
+          <li><b>User Property</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>
@@ -294,13 +319,13 @@
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${unpackBundle}</tt></li>
+          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
         </ul><hr /><p><b><a name="wrapImportPackage">wrapImportPackage</a>:</b></p>
         <div>Import-Package to be used when wrapping dependencies.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${wrapImportPackage}</tt></li>
+          <li><b>User Property</b>: <tt>wrapImportPackage</tt></li>
           <li><b>Default</b>: <tt>*</tt></li>
         </ul>
       </div>
@@ -313,7 +338,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/clean-mojo.html b/bundleplugin/doc/site/clean-mojo.html
index 2576ad8..362037c 100644
--- a/bundleplugin/doc/site/clean-mojo.html
+++ b/bundleplugin/doc/site/clean-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -87,7 +87,7 @@
       <div>Clean an OBR repository by finding and removing missing resources.</div>
       <p><b>Attributes</b>:</p>
       <ul>
-        <li>Binds by default to the lifecycle phase: <tt>clean</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>clean</tt>.</li>
       </ul>
       <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -101,7 +101,7 @@
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>OBR Repository.<br /></td>
+            <td>OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
         </table>
       </div>
@@ -111,7 +111,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul>
       </div>
     </div>
@@ -123,7 +123,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/cleanVersions-mojo.html b/bundleplugin/doc/site/cleanVersions-mojo.html
index 95d62c1..242d1ca 100644
--- a/bundleplugin/doc/site/cleanVersions-mojo.html
+++ b/bundleplugin/doc/site/cleanVersions-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -123,7 +123,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/dependencies.html b/bundleplugin/doc/site/dependencies.html
index 3bf6d3e..f59497b 100644
--- a/bundleplugin/doc/site/dependencies.html
+++ b/bundleplugin/doc/site/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -100,7 +100,7 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <a name="Project_Dependencies"></a><div class="section"><h2>Project Dependencies<a name="Project_Dependencies"></a></h2><a name="Project_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>biz.aQute</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">
+        <a name="Project_Dependencies"></a><div class="section"><h2>Project Dependencies<a name="Project_Dependencies"></a></h2><a name="Project_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>biz.aQute.bnd</td><td><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">bndlib</a></td><td>2.1.0</td><td>jar</td><td><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></td></tr><tr class="a"><td>org.apache.felix</td><td><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">org.apache.felix.bundlerepository</a></td><td>1.6.6</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">maven-archiver</a></td><td>2.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-core">maven-core</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.shared</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">maven-dependency-tree</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">plexus-utils</a></td><td>3.0.10</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div><a name="Project_Dependencies_test"></a><div class="section"><h3>test<a name="test"></a></h3><p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>junit</td><td><a class="externalLink" href="http://junit.org">junit</a></td><td>4.0</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.apache.maven.shared</td><td><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">maven-plugin-testing-harness</a></td><td>1.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.easymock</td><td><a class="externalLink" href="http://www.easymock.org">easymock</a></td><td>2.4</td><td>jar</td><td><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></td></tr><tr class="a"><td>org.mockito</td><td><a class="externalLink" href="http://www.mockito.org">mockito-all</a></td><td>1.7</td><td>jar</td><td><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></td></tr></table></div></div><a name="Project_Transitive_Dependencies"></a><div class="section"><h2>Project Transitive Dependencies<a name="Project_Transitive_Dependencies"></a></h2><p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p><a name="Project_Transitive_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>classworlds</td><td><a class="externalLink" href="http://classworlds.codehaus.org/">classworlds</a></td><td>1.1</td><td>jar</td><td>-</td></tr><tr class="a"><td>commons-cli</td><td>commons-cli</td><td>1.0</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-artifact">maven-artifact</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">maven-artifact-manager</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-error-diagnostics">maven-error-diagnostics</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-model">maven-model</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-monitor">maven-monitor</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">maven-plugin-api</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">maven-plugin-descriptor</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">maven-plugin-parameter-documenter</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">maven-plugin-registry</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-profile">maven-profile</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-project">maven-project</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">maven-repository-metadata</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven</td><td><a class="externalLink" href="http://maven.apache.org/maven-settings">maven-settings</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.doxia</td><td><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sink-api">doxia-sink-api</a></td><td>1.0-alpha-7</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.apache.maven.reporting</td><td><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">maven-reporting-api</a></td><td>2.0.7</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">wagon-provider-api</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://forge.sonatype.com/spice-parent/plexus-archiver/">plexus-archiver</a></td><td>2.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">plexus-component-annotations</a></td><td>1.5.5</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.codehaus.plexus</td><td>plexus-container-default</td><td>1.0-alpha-9-stable-1</td><td>jar</td><td>-</td></tr><tr class="a"><td>org.codehaus.plexus</td><td>plexus-interactivity-api</td><td>1.0-alpha-4</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-interpolation/">plexus-interpolation</a></td><td>1.15</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.codehaus.plexus</td><td><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">plexus-io</a></td><td>2.0.2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.eclipse.aether</td><td><a class="externalLink" href="http://www.eclipse.org/aether/aether-util/">aether-util</a></td><td>0.9.0.M2</td><td>jar</td><td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License, Version 1.0</a></td></tr><tr class="a"><td>org.osgi</td><td>org.osgi.core</td><td>4.2.0</td><td>jar</td><td>-</td></tr></table></div><a name="Project_Transitive_Dependencies_runtime"></a><div class="section"><h3>runtime<a name="runtime"></a></h3><p>The following is a list of runtime dependencies for this project. These dependencies are required to run the application:</p><table border="0" class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th><th>License</th></tr><tr class="b"><td>com.jcraft</td><td><a class="externalLink" href="http://www.jcraft.com/jsch/">jsch</a></td><td>0.1.27</td><td>jar</td><td><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></td></tr><tr class="a"><td>jtidy</td><td><a class="externalLink" href="http://jtidy.sourceforge.net">jtidy</a></td><td>4aug2000r7-dev</td><td>jar</td><td><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">wagon-file</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">wagon-http-lightweight</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">wagon-http-shared</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">wagon-ssh</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">wagon-ssh-common</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="a"><td>org.apache.maven.wagon</td><td><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">wagon-ssh-external</a></td><td>1.0-beta-2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>xml-apis</td><td><a class="externalLink" href="http://xml.apache.org/commons/#external">xml-apis</a></td><td>1.0.b2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div></div><a name="Project_Dependency_Graph"></a><div class="section"><h2>Project Dependency Graph<a name="Project_Dependency_Graph"></a></h2><script language="javascript" type="text/javascript">
       function toggleDependencyDetail( divId, imgId )
       {
         var div = document.getElementById( divId );
@@ -117,27 +117,30 @@
         }
       }
 </script>
-<a name="Dependency_Tree"></a><div class="section"><h3>Dependency Tree<a name="Dependency_Tree"></a></h3><ul><li>org.apache.felix:maven-bundle-plugin:maven-plugin:2.4.0-SNAPSHOT <img id="_1817062790" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_396681985', '_1817062790' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_396681985" 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="_1397986861" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1805994600', '_1397986861' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1805994600" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Bundle Plugin</th></tr><tr class="b"><td><p><b>Description: </b>Provides a maven plugin that supports creating an OSGi bundle
   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.50.0 (compile) <img id="_46227215" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1985385762', '_46227215' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1985385762" 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="_1037762096" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_134375086', '_1037762096' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_134375086" 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="_1208671876" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1535837560', '_1208671876' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1535837560" 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="_211358462" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_658382302', '_211358462' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_658382302" 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="_1960327074" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_379798930', '_1960327074' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_379798930" 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="_721565061" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_602167452', '_721565061' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_602167452" 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="_1254443694" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_385766273', '_1254443694' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_385766273" 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="_1730518101" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_406454260', '_1730518101' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_406454260" 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="_544749357" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1442053609', '_544749357' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1442053609" 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="_231532579" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1348651289', '_231532579' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1348651289" 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="_583906197" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1694192447', '_583906197' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1694192447" 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="_1138591051" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1555703663', '_1138591051' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1555703663" 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="_1913692480" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_227042640', '_1913692480' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_227042640" 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="_252390944" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_592704096', '_252390944' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_592704096" 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="_1606297413" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_534180135', '_1606297413' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_534180135" 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="_157630540" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1997322369', '_157630540' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1997322369" 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="_92932949" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_425672117', '_92932949' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_425672117" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>XML Commons External Components XML APIs</th></tr><tr class="b"><td><p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and 
+  The plugin uses the Bnd tool (http://www.aqute.biz/Code/Bnd)</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/maven-bundle-plugin/">http://felix.apache.org/maven-bundle-plugin/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>biz.aQute.bnd:bndlib:jar:2.1.0 (compile) <img id="_2124682751" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_847411179', '_2124682751' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_847411179" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>A Swiss Army Knife for OSGi</th></tr><tr class="b"><td><p><b>Description: </b>The bndlib project is a general library to be used with OSGi bundles. It contains
+    lots of cool functionality that calculates dependencies, etc.</p><p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">http://www.aQute.biz/Code/Bnd/bndlib</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></p></td></tr></table></div><ul><li>org.osgi:org.osgi.core:jar:4.2.0 (compile) <img id="_2109964013" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_668099104', '_2109964013' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_668099104" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>org.osgi.core</th></tr><tr class="b"><td><p><b>Description: </b>POM was created by Sonatype Nexus</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6 (compile) <img id="_94356821" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_632718946', '_94356821' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_632718946" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Felix Bundle Repository</th></tr><tr class="b"><td><p><b>Description: </b>Bundle repository service.</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">http://felix.apache.org/org.apache.felix.bundlerepository/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.easymock:easymock:jar:2.4 (compile) <img id="_1940029524" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_592154419', '_1940029524' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_592154419" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-core:jar:2.0.7 (compile) <img id="_1683025293" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1134722863', '_1683025293' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1134722863" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Core</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-core">http://maven.apache.org/maven-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_438774694" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1905589642', '_438774694' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1905589642" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_334440622" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_215079650', '_334440622' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_215079650" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1490673062" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_584696363', '_1490673062' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_584696363" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2 (runtime) <img id="_2034259857" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_960942714', '_2034259857' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_960942714" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon File Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using file system protocol</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">http://maven.apache.org/wagon/wagon-providers/wagon-file</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_751648567" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2002738904', '_751648567' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2002738904" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7 (compile) <img id="_551855458" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1523259723', '_551855458' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1523259723" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Parameter Documenter API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">http://maven.apache.org/maven-plugin-parameter-documenter</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_100665092" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1820696432', '_100665092' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1820696432" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2 (runtime) <img id="_1201806375" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1886945575', '_1201806375' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1886945575" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon Lightweight HTTP Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts through http using standard Java library</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2 (runtime) <img id="_549454036" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1003337356', '_549454036' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1003337356" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon HTTP Shared Library</th></tr><tr class="b"><td><p><b>Description: </b>Shared Library for the wagon-http, and wagon-http-lightweight wagon providers.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">http://maven.apache.org/wagon/wagon-providers/wagon-http-shared</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>jtidy:jtidy:jar:4aug2000r7-dev (runtime) <img id="_2052525479" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1049928328', '_2052525479' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1049928328" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JTidy</th></tr><tr class="b"><td><p><b>Description: </b>JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM parser for real-world HTML.</p><p><b>URL: </b><a class="externalLink" href="http://jtidy.sourceforge.net">http://jtidy.sourceforge.net</a></p><p><b>Project License: </b><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_88799330" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1100520037', '_88799330' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1100520037" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>xml-apis:xml-apis:jar:1.0.b2 (runtime) <img id="_699450177" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1055808636', '_699450177' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1055808636" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>XML Commons External Components XML APIs</th></tr><tr class="b"><td><p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and 
     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="_595871123" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2101297817', '_595871123' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2101297817" 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="_401591282" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1122468808', '_401591282' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1122468808" 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="_1323513448" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_539098023', '_1323513448' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_539098023" 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="_873656998" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2005856562', '_873656998' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2005856562" 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="_6714214" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1814900713', '_6714214' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1814900713" 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="_1468642313" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1954139386', '_1468642313' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1954139386" 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="_1274020062" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_354478782', '_1274020062' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_354478782" 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="_641286790" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_405997833', '_641286790' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_405997833" 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="_2129748136" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1547663511', '_2129748136' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1547663511" 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="_1333336336" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_661067314', '_1333336336' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_661067314" 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="_2111552003" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1916141683', '_2111552003' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1916141683" 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="_488733724" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1892202371', '_488733724' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1892202371" 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="_529014059" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_569551080', '_529014059' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_569551080" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7 (compile) <img id="_1772316360" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1388774862', '_1772316360' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1388774862" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Reporting API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">http://maven.apache.org/maven-reporting/maven-reporting-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7 (compile) <img id="_641191930" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_98375116', '_641191930' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_98375116" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia Sink API</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia-sink-api</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_109130331" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_848901081', '_109130331' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_848901081" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1715773496" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_956971846', '_1715773496' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_956971846" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_987908459" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_445274435', '_987908459' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_445274435" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_474684270" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_982672932', '_474684270' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_982672932" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_977607974" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1493891743', '_977607974' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1493891743" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_1861544789" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1045378624', '_1861544789' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1045378624" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_2022442350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_607803463', '_2022442350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_607803463" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_289211267" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_754431638', '_289211267' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_754431638" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-error-diagnostics:jar:2.0.7 (compile) <img id="_1294916163" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_903647721', '_1294916163' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_903647721" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Error Diagnostics</th></tr><tr class="b"><td><p><b>Description: </b>Provides a manager component which will process a given Throwable instance through a set of diagnostic
     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="_141491438" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_666351931', '_141491438' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_666351931" 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="_1327397020" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1263843040', '_1327397020' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1263843040" 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="_1059981140" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1336004876', '_1059981140' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1336004876" 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="_1823317797" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2113341970', '_1823317797' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2113341970" 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="_1590870734" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2068058776', '_1590870734' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2068058776" 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="_682342480" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_992855363', '_682342480' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_992855363" 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="_352658948" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_170750248', '_352658948' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_170750248" 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="_1205499079" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1790236002', '_1205499079' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1790236002" 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="_103057838" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_23766368', '_103057838' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_23766368" 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="_389137616" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1500485270', '_389137616' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1500485270" 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="_1657072880" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_520735009', '_1657072880' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_520735009" 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="_434536764" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_143840811', '_434536764' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_143840811" 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="_946688437" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1698935171', '_946688437' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1698935171" 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="_782745051" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1010994144', '_782745051' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1010994144" 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="_138009206" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1595596972', '_138009206' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1595596972" 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="_2080473772" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1286887126', '_2080473772' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1286887126" 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="_1467026636" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2080296052', '_1467026636' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2080296052" 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="_2089942201" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1661763261', '_2089942201' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1661763261" 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="_230647978" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1329991709', '_230647978' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1329991709" 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="_1325168317" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_158433331', '_1325168317' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_158433331" 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="_2133539647" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_859333356', '_2133539647' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_859333356" 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="_43613664" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1464887196', '_43613664' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1464887196" 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="_1876777757" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2030311628', '_1876777757' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2030311628" 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="_2113216512" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1233956055', '_2113216512' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1233956055" 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="_2010349094" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1962842720', '_2010349094' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1962842720" 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="_1130040038" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1108196864', '_1130040038' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1108196864" 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="_541337047" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1595024003', '_541337047' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1595024003" 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="_678109695" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1036488824', '_678109695' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1036488824" 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="_127752234" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_217417554', '_127752234' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_217417554" 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="_1842238126" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1277549158', '_1842238126' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1277549158" 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="_767902429" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_883927988', '_767902429' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_883927988" 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="_724736555" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2026034375', '_724736555' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2026034375" 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="_1193526396" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1351575736', '_1193526396' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1351575736" 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="_1718161317" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1444155236', '_1718161317' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1444155236" 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="_1238313563" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1492381838', '_1238313563' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1492381838" 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="_1757511215" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_359313128', '_1757511215' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_359313128" 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="_1726877986" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_635894528', '_1726877986' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_635894528" 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="_1467035865" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2109438343', '_1467035865' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2109438343" 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="_2045719625" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_629681275', '_2045719625' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_629681275" 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="_731757695" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1018739926', '_731757695' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1018739926" 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="_1932793505" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1209978934', '_1932793505' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1209978934" 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="_428978747" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1671432394', '_428978747' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1671432394" 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="_876907170" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2010385494', '_876907170' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2010385494" 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="_203652120" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_196331894', '_203652120' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_196331894" 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="_779403538" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1858320342', '_779403538' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1858320342" 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>
+    how to fix it.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-error-diagnostics">http://maven.apache.org/maven-error-diagnostics</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_280312999" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_12857215', '_280312999' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_12857215" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-project:jar:2.0.7 (compile) <img id="_547758798" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2027560698', '_547758798' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2027560698" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Project Builder</th></tr><tr class="b"><td><p><b>Description: </b>This library is used to not only read Maven project object model files, but to assemble inheritence
+    and to retrieve remote models as required.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-project">http://maven.apache.org/maven-project</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_788307588" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_922933610', '_788307588' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_922933610" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_636979154" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1680914308', '_636979154' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1680914308" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_111383492" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2086624771', '_111383492' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2086624771" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_106830425" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1474420893', '_106830425' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1474420893" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-registry:jar:2.0.7 (compile) <img id="_1040994606" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_571778001', '_1040994606' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_571778001" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Registry Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">http://maven.apache.org/maven-plugin-registry</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_2010589502" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_855959801', '_2010589502' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_855959801" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_1994257972" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_215061597', '_1994257972' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_215061597" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_2112712797" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2025902409', '_2112712797' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2025902409" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>commons-cli:commons-cli:jar:1.0 (compile) <img id="_129665817" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_287216192', '_129665817' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_287216192" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>CLI</th></tr><tr class="b"><td><p><b>Description: </b>Commons CLI provides a simple API for working with the command line arguments and options.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_1309747463" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1717459715', '_1309747463' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1717459715" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2 (runtime) <img id="_511012210" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_144765269', '_511012210' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_144765269" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH External Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using SSH protocol with a preinstalled SSH client</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_1038786791" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_567712461', '_1038786791' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_567712461" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_406929046" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_558736528', '_406929046' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_558736528" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_534935740" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1005487344', '_534935740' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1005487344" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_437989524" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1188674071', '_437989524' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1188674071" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-descriptor:jar:2.0.7 (compile) <img id="_1866475396" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1189911030', '_1866475396' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1189911030" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Descriptor Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">http://maven.apache.org/maven-plugin-descriptor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_686055756" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_383736426', '_686055756' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_383736426" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_100314459" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1606420123', '_100314459' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1606420123" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1137691367" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1750993047', '_1137691367' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1750993047" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (compile) <img id="_176763988" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1515360673', '_176763988' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1515360673" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_1408596894" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1480603461', '_1408596894' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1480603461" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_546753716" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_779483732', '_546753716' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_779483732" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_515667552" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_478822775', '_515667552' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_478822775" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1518286694" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1398421450', '_1518286694' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1398421450" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_767356445" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1688915920', '_767356445' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1688915920" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-monitor:jar:2.0.7 (compile) <img id="_1302256484" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_26275337', '_1302256484' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_26275337" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Monitor</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-monitor">http://maven.apache.org/maven-monitor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2 (runtime) <img id="_2143717685" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_262811505', '_2143717685' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_262811505" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Provider</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">http://maven.apache.org/wagon/wagon-providers/wagon-ssh</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>com.jcraft:jsch:jar:0.1.27 (runtime) <img id="_800460267" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_824416429', '_800460267' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_824416429" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JSch</th></tr><tr class="b"><td><p><b>Description: </b>JSch is a pure Java implementation of SSH2</p><p><b>URL: </b><a class="externalLink" href="http://www.jcraft.com/jsch/">http://www.jcraft.com/jsch/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_1473309558" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1743055212', '_1473309558' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1743055212" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_792179736" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1070293779', '_792179736' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1070293779" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_463542555" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1461965533', '_463542555' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1461965533" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>classworlds:classworlds:jar:1.1 (compile) <img id="_1174506872" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2090988565', '_1174506872' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2090988565" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>classworlds</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://classworlds.codehaus.org/">http://classworlds.codehaus.org/</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-archiver:jar:2.5 (compile) <img id="_605294658" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_813229160', '_605294658' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_813229160" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Archiver</th></tr><tr class="b"><td><p><b>Description: </b>Provides utility methods for creating JARs and other archive files from a Maven project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">http://maven.apache.org/shared/maven-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-archiver:jar:2.1 (compile) <img id="_917225200" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_365528086', '_917225200' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_365528086" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Archiver Component</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://forge.sonatype.com/spice-parent/plexus-archiver/">http://forge.sonatype.com/spice-parent/plexus-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1054512350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1381700762', '_1054512350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1381700762" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-io:jar:2.0.2 (compile) <img id="_1189039070" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1771473860', '_1189039070' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1771473860" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus IO Components</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">http://plexus.codehaus.org/plexus-components/plexus-io</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interpolation:jar:1.15 (compile) <img id="_1852268376" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1433456792', '_1852268376' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1433456792" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Interpolation API</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-interpolation/">http://plexus.codehaus.org/plexus-interpolation/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.shared:maven-dependency-tree:jar:2.1 (compile) <img id="_1094491898" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1527098318', '_1094491898' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1527098318" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Dependency Tree</th></tr><tr class="b"><td><p><b>Description: </b>A tree-based API for resolution of Maven project dependencies</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">http://maven.apache.org/shared/maven-dependency-tree/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 (compile) <img id="_403584273" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_749195466', '_403584273' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_749195466" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus :: Component Annotations</th></tr><tr class="b"><td><p><b>Description: </b>Plexus Component &quot;Java 5&quot; Annotations, to describe plexus components properties in java sources with
+    standard annotations instead of javadoc annotations.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.eclipse.aether:aether-util:jar:0.9.0.M2 (compile) <img id="_92082153" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1778626355', '_92082153' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1778626355" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Aether Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of utility classes to ease usage of the repository system.</p><p><b>URL: </b><a class="externalLink" href="http://www.eclipse.org/aether/aether-util/">http://www.eclipse.org/aether/aether-util/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License, Version 1.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-utils:jar:3.0.10 (compile) <img id="_2088751962" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_693282372', '_2088751962' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_693282372" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Common Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of various utility classes to ease working with strings, files, command lines, XML and
+    more.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">http://plexus.codehaus.org/plexus-utils</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_592109468" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_177848473', '_592109468' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_177848473" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Testing Mechanism</th></tr><tr class="b"><td><p><b>Description: </b>Maven shared components</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">http://maven.apache.org/shared/maven-plugin-testing-harness/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>junit:junit:jar:4.0 (test) <img id="_1762745603" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1905810110', '_1762745603' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1905810110" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>junit</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.easymock:easymock:jar:2.4 (test) <img id="_1359855971" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1826351610', '_1359855971' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1826351610" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li><li>org.mockito:mockito-all:jar:1.7 (test) <img id="_229181996" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_778292674', '_229181996' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_778292674" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Mockito</th></tr><tr class="b"><td><p><b>Description: </b>Mock objects library for java</p><p><b>URL: </b><a class="externalLink" href="http://www.mockito.org">http://www.mockito.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a><div class="section"><h2>Licenses<a name="Licenses"></a></h2><p><b>Apache Software License 2.0: </b>A Swiss Army Knife for OSGi</p><p><b>Java HTML Tidy License: </b>JTidy</p><p><b>Unknown: </b>CLI, Default Plexus Container, Doxia Sink API, Plexus Default Interactivity Handler, classworlds, junit, org.osgi.core</p><p><b>BSD: </b>JSch</p><p><b>Apache License, Version 2.0: </b>Plexus Archiver Component</p><p><b>Eclipse Public License, Version 1.0: </b>Aether Utilities</p><p><b>MIT License: </b>EasyMock</p><p><b>The Apache Software License, Version 2.0: </b>Apache Felix Bundle Repository, Maven Archiver, Maven Artifact, Maven Artifact Manager, Maven Bundle Plugin, Maven Core, Maven Dependency Tree, Maven Error Diagnostics, Maven Local Settings Model, Maven Model, Maven Monitor, Maven Plugin API, Maven Plugin Descriptor Model, Maven Plugin Parameter Documenter API, Maven Plugin Registry Model, Maven Plugin Testing Mechanism, Maven Profile Model, Maven Project Builder, Maven Reporting API, Maven Repository Metadata Model, Maven Wagon API, Maven Wagon File Provider, Maven Wagon HTTP Shared Library, Maven Wagon Lightweight HTTP Provider, Maven Wagon SSH Common Library, Maven Wagon SSH External Provider, Maven Wagon SSH Provider, Plexus :: Component Annotations, Plexus Common Utilities, Plexus IO Components, Plexus Interpolation API, XML Commons External Components XML APIs</p><p><b>The MIT License: </b>Mockito</p></div><a name="Dependency_File_Details"></a><div class="section"><h2>Dependency File Details<a name="Dependency_File_Details"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Filename</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>bndlib-2.1.0.jar</td><td>1.32 MB</td><td>1,111</td><td>462</td><td>79</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>classworlds-1.1.jar</td><td>36.97 kB</td><td>33</td><td>23</td><td>3</td><td>1.3</td><td>debug</td></tr><tr class="b"><td>jsch-0.1.27.jar</td><td>119.15 kB</td><td>97</td><td>94</td><td>3</td><td>1.2</td><td>release</td></tr><tr class="a"><td>commons-cli-1.0.jar</td><td>29.41 kB</td><td>27</td><td>20</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>jtidy-4aug2000r7-dev.jar</td><td>134.60 kB</td><td>129</td><td>119</td><td>3</td><td>1.1</td><td>release</td></tr><tr class="a"><td>junit-4.0.jar</td><td>103.13 kB</td><td>119</td><td>92</td><td>11</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>org.apache.felix.bundlerepository-1.6.6.jar</td><td>164.33 kB</td><td>112</td><td>84</td><td>11</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>maven-archiver-2.5.jar</td><td>21.30 kB</td><td>19</td><td>5</td><td>1</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>maven-artifact-2.0.7.jar</td><td>85.80 kB</td><td>106</td><td>77</td><td>15</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-artifact-manager-2.0.7.jar</td><td>55.18 kB</td><td>46</td><td>24</td><td>7</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-core-2.0.7.jar</td><td>149.30 kB</td><td>108</td><td>67</td><td>13</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-error-diagnostics-2.0.7.jar</td><td>13.29 kB</td><td>22</td><td>6</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-model-2.0.7.jar</td><td>84.41 kB</td><td>60</td><td>45</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-monitor-2.0.7.jar</td><td>10.00 kB</td><td>19</td><td>5</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-api-2.0.7.jar</td><td>12.56 kB</td><td>23</td><td>9</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-descriptor-2.0.7.jar</td><td>36.01 kB</td><td>32</td><td>15</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-parameter-documenter-2.0.7.jar</td><td>20.27 kB</td><td>20</td><td>4</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-registry-2.0.7.jar</td><td>28.25 kB</td><td>28</td><td>10</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-profile-2.0.7.jar</td><td>34.42 kB</td><td>33</td><td>16</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-project-2.0.7.jar</td><td>113.81 kB</td><td>76</td><td>51</td><td>10</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-repository-metadata-2.0.7.jar</td><td>23.90 kB</td><td>23</td><td>6</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-settings-2.0.7.jar</td><td>47.96 kB</td><td>38</td><td>21</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>doxia-sink-api-1.0-alpha-7.jar</td><td>5.80 kB</td><td>19</td><td>3</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-reporting-api-2.0.7.jar</td><td>9.71 kB</td><td>18</td><td>4</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-dependency-tree-2.1.jar</td><td>58.55 kB</td><td>63</td><td>39</td><td>7</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>maven-plugin-testing-harness-1.1.jar</td><td>31.73 kB</td><td>28</td><td>11</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-file-1.0-beta-2.jar</td><td>9.71 kB</td><td>18</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-http-lightweight-1.0-beta-2.jar</td><td>12.03 kB</td><td>19</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-http-shared-1.0-beta-2.jar</td><td>9.34 kB</td><td>17</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-provider-api-1.0-beta-2.jar</td><td>45.24 kB</td><td>57</td><td>37</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-1.0-beta-2.jar</td><td>23.05 kB</td><td>26</td><td>7</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-ssh-common-1.0-beta-2.jar</td><td>24.61 kB</td><td>37</td><td>18</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-external-1.0-beta-2.jar</td><td>12.27 kB</td><td>19</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-archiver-2.1.jar</td><td>180.12 kB</td><td>137</td><td>112</td><td>12</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>plexus-component-annotations-1.5.5.jar</td><td>4.11 kB</td><td>15</td><td>3</td><td>1</td><td>1.5</td><td>release</td></tr><tr class="a"><td>plexus-container-default-1.0-alpha-9-stable-1.jar</td><td>189.63 kB</td><td>215</td><td>175</td><td>28</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>plexus-interactivity-api-1.0-alpha-4.jar</td><td>13.09 kB</td><td>25</td><td>11</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-interpolation-1.15.jar</td><td>59.06 kB</td><td>60</td><td>44</td><td>6</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>plexus-io-2.0.2.jar</td><td>56.90 kB</td><td>62</td><td>43</td><td>5</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>plexus-utils-3.0.10.jar</td><td>225.47 kB</td><td>127</td><td>102</td><td>9</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>easymock-2.4.jar</td><td>79.23 kB</td><td>83</td><td>71</td><td>3</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>aether-util-0.9.0.M2.jar</td><td>130.46 kB</td><td>118</td><td>93</td><td>13</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>mockito-all-1.7.jar</td><td>943.04 kB</td><td>846</td><td>469</td><td>48</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>org.osgi.core-4.2.0.jar</td><td>241.14 kB</td><td>180</td><td>68</td><td>8</td><td>1.2</td><td>debug</td></tr><tr class="b"><td>xml-apis-1.0.b2.jar</td><td>106.76 kB</td><td>217</td><td>184</td><td>17</td><td>1.2</td><td>release</td></tr><tr class="a"><th>Total</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>45</td><td>5.03 MB</td><td>4,687</td><td>2,755</td><td>356</td><td>1.5</td><td>41</td></tr><tr class="a"><td>compile: 32</td><td>compile: 3.46 MB</td><td>compile: 3,032</td><td>compile: 1,684</td><td>compile: 260</td><td>-</td><td>compile: 31</td></tr><tr class="b"><td>test: 4</td><td>test: 1.13 MB</td><td>test: 1,076</td><td>test: 643</td><td>test: 64</td><td>-</td><td>test: 4</td></tr><tr class="a"><td>runtime: 9</td><td>runtime: 451.54 kB</td><td>runtime: 579</td><td>runtime: 428</td><td>runtime: 32</td><td>-</td><td>runtime: 6</td></tr></table></div><a name="Dependency_Repository_Locations"></a><div class="section"><h2>Dependency Repository Locations<a name="Dependency_Repository_Locations"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Repo ID</th><th>URL</th><th>Release</th><th>Snapshot</th><th>Blacklisted</th></tr><tr class="b"><td>nexus</td><td><a class="externalLink" href="https://repository.sonatype.org/content/groups/sonatype-grid">https://repository.sonatype.org/content/groups/sonatype-grid</a></td><td>Yes</td><td>-</td><td>Yes</td></tr></table><p>Repository locations for each of the Dependencies.</p><table border="0" class="bodyTable"><tr class="a"><th>Artifact</th></tr><tr class="b"><td>biz.aQute.bnd:bndlib:jar:2.1.0</td></tr><tr class="a"><td>classworlds:classworlds:jar:1.1</td></tr><tr class="b"><td>com.jcraft:jsch:jar:0.1.27</td></tr><tr class="a"><td>commons-cli:commons-cli:jar:1.0</td></tr><tr class="b"><td>jtidy:jtidy:jar:4aug2000r7-dev</td></tr><tr class="a"><td>junit:junit:jar:4.0</td></tr><tr class="b"><td>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6</td></tr><tr class="a"><td>org.apache.maven:maven-archiver:jar:2.5</td></tr><tr class="b"><td>org.apache.maven:maven-artifact:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-core:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-model:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-monitor:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-profile:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-project:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td></tr><tr class="a"><td>org.apache.maven:maven-settings:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7</td></tr><tr class="a"><td>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7</td></tr><tr class="b"><td>org.apache.maven.shared:maven-dependency-tree:jar:2.1</td></tr><tr class="a"><td>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2</td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-archiver:jar:2.1</td></tr><tr class="b"><td>org.codehaus.plexus:plexus-component-annotations:jar:1.5.5</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1</td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interpolation:jar:1.15</td></tr><tr class="b"><td>org.codehaus.plexus:plexus-io:jar:2.0.2</td></tr><tr class="a"><td>org.codehaus.plexus:plexus-utils:jar:3.0.10</td></tr><tr class="b"><td>org.easymock:easymock:jar:2.4</td></tr><tr class="a"><td>org.eclipse.aether:aether-util:jar:0.9.0.M2</td></tr><tr class="b"><td>org.mockito:mockito-all:jar:1.7</td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.2.0</td></tr><tr class="b"><td>xml-apis:xml-apis:jar:1.0.b2</td></tr><tr class="a"><th>Total</th></tr><tr class="b"><td>45 (compile: 32, test: 4, runtime: 9)</td></tr></table></div>
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/deploy-file-mojo.html b/bundleplugin/doc/site/deploy-file-mojo.html
index dddd3cc..73226b3 100644
--- a/bundleplugin/doc/site/deploy-file-mojo.html
+++ b/bundleplugin/doc/site/deploy-file-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -88,7 +88,7 @@
 goal)</div>
       <p><b>Attributes</b>:</p>
       <ul>
-        <li>Binds by default to the lifecycle phase: <tt>deploy</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>deploy</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -102,14 +102,14 @@
             <td><b><a href="#repositoryId">repositoryId</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Remote repository id, used to lookup authentication settings.<br /><b>Default value is</b>: <tt>remote-repository</tt>.</td>
+            <td>Remote repository id, used to lookup authentication settings.<br /><b>Default value is</b>: <tt>remote-repository</tt>.<br /><b>User property is</b>: <tt>repositoryId</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#url">url</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Remote OBR repository URL, where the bundle details are to be
-uploaded.<br /></td>
+uploaded.<br /><b>User property is</b>: <tt>url</tt>.</td>
           </tr>
         </table>
       </div>
@@ -125,69 +125,69 @@
             <td><b><a href="#artifactId">artifactId</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>ArtifactId of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>ArtifactId of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>artifactId</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#bundleUrl">bundleUrl</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Optional public URL where the bundle has been deployed.<br /></td>
+            <td>Optional public URL where the bundle has been deployed.<br /><b>User property is</b>: <tt>bundleUrl</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#classifier">classifier</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Classifier type of the bundle. Defaults to none.<br /></td>
+            <td>Classifier type of the bundle. Defaults to none.<br /><b>User property is</b>: <tt>classifier</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#file">file</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
             <td>Bundle file, defaults to the artifact in the local Maven
-repository.<br /></td>
+repository.<br /><b>User property is</b>: <tt>file</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#groupId">groupId</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>GroupId of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>GroupId of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>groupId</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#ignoreLock">ignoreLock</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>When true, ignore remote locking.<br /></td>
+            <td>When true, ignore remote locking.<br /><b>User property is</b>: <tt>ignoreLock</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Local OBR Repository.<br /></td>
+            <td>Local OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#obrXml">obrXml</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Optional XML file describing additional requirements and
-capabilities.<br /></td>
+capabilities.<br /><b>User property is</b>: <tt>obrXml</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Packaging type of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>Packaging type of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>packaging</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#pomFile">pomFile</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Location of an existing POM file.<br /></td>
+            <td>Location of an existing POM file.<br /><b>User property is</b>: <tt>pomFile</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#remoteOBR">remoteOBR</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Remote OBR Repository.<br /></td>
+            <td>Remote OBR Repository.<br /><b>User property is</b>: <tt>remoteOBR</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -199,7 +199,7 @@
             <td><b><a href="#version">version</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Version of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>Version of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>version</tt>.</td>
           </tr>
         </table>
       </div>
@@ -209,75 +209,75 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${artifactId}</tt></li>
+          <li><b>User Property</b>: <tt>artifactId</tt></li>
         </ul><hr /><p><b><a name="bundleUrl">bundleUrl</a>:</b></p>
         <div>Optional public URL where the bundle has been deployed.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${bundleUrl}</tt></li>
+          <li><b>User Property</b>: <tt>bundleUrl</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle. Defaults to none.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${classifier}</tt></li>
+          <li><b>User Property</b>: <tt>classifier</tt></li>
         </ul><hr /><p><b><a name="file">file</a>:</b></p>
         <div>Bundle file, defaults to the artifact in the local Maven
 repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${file}</tt></li>
+          <li><b>User Property</b>: <tt>file</tt></li>
         </ul><hr /><p><b><a name="groupId">groupId</a>:</b></p>
         <div>GroupId of the bundle. Retrieved from POM file if specified.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${groupId}</tt></li>
+          <li><b>User Property</b>: <tt>groupId</tt></li>
         </ul><hr /><p><b><a name="ignoreLock">ignoreLock</a>:</b></p>
         <div>When true, ignore remote locking.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${ignoreLock}</tt></li>
+          <li><b>User Property</b>: <tt>ignoreLock</tt></li>
         </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
         <div>Local OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul><hr /><p><b><a name="obrXml">obrXml</a>:</b></p>
         <div>Optional XML file describing additional requirements and
 capabilities.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrXml}</tt></li>
+          <li><b>User Property</b>: <tt>obrXml</tt></li>
         </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
         <div>Packaging type of the bundle. Retrieved from POM file if specified.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${packaging}</tt></li>
+          <li><b>User Property</b>: <tt>packaging</tt></li>
         </ul><hr /><p><b><a name="pomFile">pomFile</a>:</b></p>
         <div>Location of an existing POM file.</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${pomFile}</tt></li>
+          <li><b>User Property</b>: <tt>pomFile</tt></li>
         </ul><hr /><p><b><a name="remoteOBR">remoteOBR</a>:</b></p>
         <div>Remote OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${remoteOBR}</tt></li>
+          <li><b>User Property</b>: <tt>remoteOBR</tt></li>
         </ul><hr /><p><b><a name="repositoryId">repositoryId</a>:</b></p>
         <div>Remote repository id, used to lookup authentication settings.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${repositoryId}</tt></li>
+          <li><b>User Property</b>: <tt>repositoryId</tt></li>
           <li><b>Default</b>: <tt>remote-repository</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
@@ -290,13 +290,13 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${url}</tt></li>
+          <li><b>User Property</b>: <tt>url</tt></li>
         </ul><hr /><p><b><a name="version">version</a>:</b></p>
         <div>Version of the bundle. Retrieved from POM file if specified.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${version}</tt></li>
+          <li><b>User Property</b>: <tt>version</tt></li>
         </ul>
       </div>
     </div>
@@ -308,7 +308,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/deploy-mojo.html b/bundleplugin/doc/site/deploy-mojo.html
index e8cf453..a467658 100644
--- a/bundleplugin/doc/site/deploy-mojo.html
+++ b/bundleplugin/doc/site/deploy-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -89,7 +89,7 @@
       <ul>
         <li>Requires a Maven project to be executed.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>deploy</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>deploy</tt>.</li>
       </ul>
       <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -103,43 +103,43 @@
             <td><b><a href="#altDeploymentRepository">altDeploymentRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Alternative deployment repository. Format: id::layout::url<br /></td>
+            <td>Alternative deployment repository. Format: id::layout::url<br /><b>User property is</b>: <tt>altDeploymentRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#bundleUrl">bundleUrl</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Optional public URL where the bundle has been deployed.<br /></td>
+            <td>Optional public URL where the bundle has been deployed.<br /><b>User property is</b>: <tt>bundleUrl</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#ignoreLock">ignoreLock</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>When true, ignore remote locking.<br /></td>
+            <td>When true, ignore remote locking.<br /><b>User property is</b>: <tt>ignoreLock</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#obrDeploymentRepository">obrDeploymentRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>OBR specific deployment repository. Format: id::layout::url<br /></td>
+            <td>OBR specific deployment repository. Format: id::layout::url<br /><b>User property is</b>: <tt>obrDeploymentRepository</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Local OBR Repository.<br /></td>
+            <td>Local OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#prefixUrl">prefixUrl</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Optional public URL prefix for the remote repository.<br /></td>
+            <td>Optional public URL prefix for the remote repository.<br /><b>User property is</b>: <tt>prefixUrl</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#remoteOBR">remoteOBR</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Remote OBR Repository.<br /><b>Default value is</b>: <tt>NONE</tt>.</td>
+            <td>Remote OBR Repository.<br /><b>Default value is</b>: <tt>NONE</tt>.<br /><b>User property is</b>: <tt>remoteOBR</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -155,43 +155,43 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${altDeploymentRepository}</tt></li>
+          <li><b>User Property</b>: <tt>altDeploymentRepository</tt></li>
         </ul><hr /><p><b><a name="bundleUrl">bundleUrl</a>:</b></p>
         <div>Optional public URL where the bundle has been deployed.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${bundleUrl}</tt></li>
+          <li><b>User Property</b>: <tt>bundleUrl</tt></li>
         </ul><hr /><p><b><a name="ignoreLock">ignoreLock</a>:</b></p>
         <div>When true, ignore remote locking.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${ignoreLock}</tt></li>
+          <li><b>User Property</b>: <tt>ignoreLock</tt></li>
         </ul><hr /><p><b><a name="obrDeploymentRepository">obrDeploymentRepository</a>:</b></p>
         <div>OBR specific deployment repository. Format: id::layout::url</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrDeploymentRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrDeploymentRepository</tt></li>
         </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
         <div>Local OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul><hr /><p><b><a name="prefixUrl">prefixUrl</a>:</b></p>
         <div>Optional public URL prefix for the remote repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${prefixUrl}</tt></li>
+          <li><b>User Property</b>: <tt>prefixUrl</tt></li>
         </ul><hr /><p><b><a name="remoteOBR">remoteOBR</a>:</b></p>
         <div>Remote OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${remoteOBR}</tt></li>
+          <li><b>User Property</b>: <tt>remoteOBR</tt></li>
           <li><b>Default</b>: <tt>NONE</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
@@ -209,7 +209,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/index-mojo.html b/bundleplugin/doc/site/index-mojo.html
index 03a5afb..6aa6050 100644
--- a/bundleplugin/doc/site/index-mojo.html
+++ b/bundleplugin/doc/site/index-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -98,19 +98,19 @@
             <td><b><a href="#mavenRepository">mavenRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The repository to index<br /></td>
+            <td>The repository to index<br /><b>User property is</b>: <tt>mavenRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>OBR Repository.<br /></td>
+            <td>OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#urlTemplate">urlTemplate</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Template for urls<br /></td>
+            <td>Template for urls<br /><b>User property is</b>: <tt>urlTemplate</tt>.</td>
           </tr>
         </table>
       </div>
@@ -120,19 +120,19 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${mavenRepository}</tt></li>
+          <li><b>User Property</b>: <tt>mavenRepository</tt></li>
         </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
         <div>OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul><hr /><p><b><a name="urlTemplate">urlTemplate</a>:</b></p>
         <div>Template for urls</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${urlTemplate}</tt></li>
+          <li><b>User Property</b>: <tt>urlTemplate</tt></li>
         </ul>
       </div>
     </div>
@@ -144,7 +144,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/index.html b/bundleplugin/doc/site/index.html
index 5290c94..8cd4772 100644
--- a/bundleplugin/doc/site/index.html
+++ b/bundleplugin/doc/site/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
       <meta name="author" content="Stuart McCulloch" />
     <meta name="Date-Creation-yyyymmdd" content="20110628" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -29,7 +29,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -109,7 +109,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/install-file-mojo.html b/bundleplugin/doc/site/install-file-mojo.html
index 6180e10..1a94866 100644
--- a/bundleplugin/doc/site/install-file-mojo.html
+++ b/bundleplugin/doc/site/install-file-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -88,7 +88,7 @@
 goal)</div>
       <p><b>Attributes</b>:</p>
       <ul>
-        <li>Binds by default to the lifecycle phase: <tt>install</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>install</tt>.</li>
       </ul>
       <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -102,51 +102,51 @@
             <td><b><a href="#artifactId">artifactId</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>ArtifactId of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>ArtifactId of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>artifactId</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#classifier">classifier</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Classifier type of the bundle. Defaults to none.<br /></td>
+            <td>Classifier type of the bundle. Defaults to none.<br /><b>User property is</b>: <tt>classifier</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#file">file</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
             <td>Bundle file, defaults to the artifact in the local Maven
-repository.<br /></td>
+repository.<br /><b>User property is</b>: <tt>file</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#groupId">groupId</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>GroupId of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>GroupId of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>groupId</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>OBR Repository.<br /></td>
+            <td>OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#obrXml">obrXml</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Optional XML file describing additional requirements and
-capabilities.<br /></td>
+capabilities.<br /><b>User property is</b>: <tt>obrXml</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#packaging">packaging</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Packaging type of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>Packaging type of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>packaging</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#pomFile">pomFile</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Location of an existing POM file.<br /></td>
+            <td>Location of an existing POM file.<br /><b>User property is</b>: <tt>pomFile</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -158,7 +158,7 @@
             <td><b><a href="#version">version</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Version of the bundle. Retrieved from POM file if specified.<br /></td>
+            <td>Version of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>version</tt>.</td>
           </tr>
         </table>
       </div>
@@ -168,51 +168,51 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${artifactId}</tt></li>
+          <li><b>User Property</b>: <tt>artifactId</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle. Defaults to none.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${classifier}</tt></li>
+          <li><b>User Property</b>: <tt>classifier</tt></li>
         </ul><hr /><p><b><a name="file">file</a>:</b></p>
         <div>Bundle file, defaults to the artifact in the local Maven
 repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${file}</tt></li>
+          <li><b>User Property</b>: <tt>file</tt></li>
         </ul><hr /><p><b><a name="groupId">groupId</a>:</b></p>
         <div>GroupId of the bundle. Retrieved from POM file if specified.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${groupId}</tt></li>
+          <li><b>User Property</b>: <tt>groupId</tt></li>
         </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
         <div>OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul><hr /><p><b><a name="obrXml">obrXml</a>:</b></p>
         <div>Optional XML file describing additional requirements and
 capabilities.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrXml}</tt></li>
+          <li><b>User Property</b>: <tt>obrXml</tt></li>
         </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
         <div>Packaging type of the bundle. Retrieved from POM file if specified.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${packaging}</tt></li>
+          <li><b>User Property</b>: <tt>packaging</tt></li>
         </ul><hr /><p><b><a name="pomFile">pomFile</a>:</b></p>
         <div>Location of an existing POM file.</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${pomFile}</tt></li>
+          <li><b>User Property</b>: <tt>pomFile</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -223,7 +223,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${version}</tt></li>
+          <li><b>User Property</b>: <tt>version</tt></li>
         </ul>
       </div>
     </div>
@@ -235,7 +235,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/install-mojo.html b/bundleplugin/doc/site/install-mojo.html
index e89f76c..4a0bd57 100644
--- a/bundleplugin/doc/site/install-mojo.html
+++ b/bundleplugin/doc/site/install-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -90,7 +90,7 @@
       <ul>
         <li>Requires a Maven project to be executed.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>install</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>install</tt>.</li>
       </ul>
       <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -104,7 +104,7 @@
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>OBR Repository.<br /></td>
+            <td>OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -120,7 +120,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -137,7 +137,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/instructions-mojo.html b/bundleplugin/doc/site/instructions-mojo.html
index dd88ad3..5b51e8d 100644
--- a/bundleplugin/doc/site/instructions-mojo.html
+++ b/bundleplugin/doc/site/instructions-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -90,7 +90,7 @@
         <li>Requires a Maven project to be executed.</li>
         <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>package</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -104,13 +104,13 @@
             <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated JAR.<br /></td>
+            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated bundles.<br /></td>
+            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
           </tr>
         </table>
       </div>
@@ -140,32 +140,45 @@
             <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND class-path will be dumped<br /></td>
+            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND instructions will be dumped<br /></td>
+            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Comma separated list of artifactIds to exclude from the dependency
-classpath passed to BND (use &quot;true&quot; to exclude everything)<br /></td>
+classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
           </tr>
           <tr class="a">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
+          </tr>
+          <tr class="b">
             <td><b><a href="#instructions">instructions</a></b></td>
             <td><tt>Map</tt></td>
             <td><tt>-</tt></td>
             <td>The BND instructions for the bundle.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
+            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
           <tr class="a">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -177,7 +190,7 @@
             <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>
+            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
         </table>
       </div>
@@ -192,7 +205,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle to be installed. For example,
 &quot;jdk14&quot;. Defaults to none which means this is the project's main
@@ -205,20 +218,26 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpClasspath}</tt></li>
+          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
         </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
         <div>File where the BND instructions will be dumped</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpInstructions}</tt></li>
+          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
         </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
         <div>Comma separated list of artifactIds to exclude from the dependency
 classpath passed to BND (use &quot;true&quot; to exclude everything)</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${excludeDependencies}</tt></li>
+          <li><b>User Property</b>: <tt>excludeDependencies</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Final name of the bundle (without classifier or extension)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>User Property</b>: <tt>project.build.finalName</tt></li>
         </ul><hr /><p><b><a name="instructions">instructions</a>:</b></p>
         <div>The BND instructions for the bundle.</div>
         <ul>
@@ -229,14 +248,20 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${manifestLocation}</tt></li>
+          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
           <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>
+          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
         <ul>
@@ -247,7 +272,7 @@
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${unpackBundle}</tt></li>
+          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
         </ul>
       </div>
     </div>
@@ -259,7 +284,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/issue-tracking.html b/bundleplugin/doc/site/issue-tracking.html
index e3e83fa..c4ee2be 100644
--- a/bundleplugin/doc/site/issue-tracking.html
+++ b/bundleplugin/doc/site/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -107,7 +107,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/jira-report.html b/bundleplugin/doc/site/jira-report.html
index 0425529..84c3358 100644
--- a/bundleplugin/doc/site/jira-report.html
+++ b/bundleplugin/doc/site/jira-report.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -94,14 +94,14 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2>JIRA Report<a name="JIRA_Report"></a></h2><a name="JIRA_Report"></a><table border="0" class="bodyTable"><tr class="a"><th>Key</th><th>Summary</th><th>Status</th><th>Resolution</th><th>By</th></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3347">FELIX-3347</a></td><td>Upper-case environment variables end up in final manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3310">FELIX-3310</a></td><td>[patch] maven-bundle-plugin build fails with maven3 (manageArtifactSystemPath is missing)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3300">FELIX-3300</a></td><td>Avoid warning about superfluous export-package instructions for empty directories</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3299">FELIX-3299</a></td><td>Fix instable tests in BundlePluginTest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3254">FELIX-3254</a></td><td>manifest goal generates wrong Export-Package when Embed-Dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3238">FELIX-3238</a></td><td>Unable to filter out classes from identical package in a dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3222">FELIX-3222</a></td><td>[PATCH] build fails with &quot;unreported exception&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3210">FELIX-3210</a></td><td>Maven bundle plugin remote-clean goal without user confirmation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3209">FELIX-3209</a></td><td>Make sure the properties passed to BND only include string values</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3208">FELIX-3208</a></td><td>Provide default value for sourcepath when using BND -sources=true</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3206">FELIX-3206</a></td><td>Restore the BND analyzer approach which creates a MANIFEST.MF based on the contents of the jar</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3188">FELIX-3188</a></td><td>[PATCH] exception org.apache.maven.project.artifact.InvalidDependencyVersionException has already been caught</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3185">FELIX-3185</a></td><td>Negative Embed-Dependency clauses aren't handled correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3173">FELIX-3173</a></td><td>Local OBR install failes when there is a space in the full path</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3165">FELIX-3165</a></td><td>Add an option to the manifest goal that will copy any BND generated resources to the target folder</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3092">FELIX-3092</a></td><td>Support relative paths in &quot;urlTemplate&quot; parameter of &quot;bundle:index&quot; goal in maven bundle plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3061">FELIX-3061</a></td><td>improvements to Embed-Dependency logic to allow better m2e integration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3058">FELIX-3058</a></td><td>maven-bundle-plugin 2.3.5 incompatible with maven-source-plugin (regression)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3037">FELIX-3037</a></td><td>Plugin does not work with Java 5</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3031">FELIX-3031</a></td><td>maven3 deployment fails where maven2 works</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3011">FELIX-3011</a></td><td>Add a new goal to save the bnd instructions that would be passed onto bnd, to allow people to use other toolchains such as bndtools</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2884">FELIX-2884</a></td><td>The multiplicity isn't taken into account by the maven bundle plugin and bundlerepository when generating the repository xml</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2872">FELIX-2872</a></td><td>Provide a way to have an easier to read manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2820">FELIX-2820</a></td><td>Provide a default value when using &lt;_wab/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2819">FELIX-2819</a></td><td>packageinfo files in src/main/java are ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2812">FELIX-2812</a></td><td>The &lt;Embed-Dependency&gt; filter can fail if your matching against multiple &quot;*&quot; artifact ids.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2811">FELIX-2811</a></td><td>If &lt;Private-Package&gt;!*&lt;/Private-Package&gt; is defined the all packages should be exported by {local-packages}</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2808">FELIX-2808</a></td><td>maven-bundle-plugin should scan for local packages by looking for *.class files instead of *.java so that all the JVM languages can be supported.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2722">FELIX-2722</a></td><td>With an empty  organization like this &lt;organization/&gt;, maven bundle plugin raises a NPE.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2701">FELIX-2701</a></td><td>Add a {local-packages} macro for automatically expanding local packages in the &lt;Export-Package&gt; instruction</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2692">FELIX-2692</a></td><td>Support maven type 'wab' for web bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2657">FELIX-2657</a></td><td>Maven-bundle-plugin uses old version of BndLib</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2656">FELIX-2656</a></td><td>Maven-bundle-plugin identified as not thread-safe in Maven 3.0</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2449">FELIX-2449</a></td><td>Resource filtering does not use Maven properties specified on the mvn command line via -D command line switches</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2435">FELIX-2435</a></td><td>&lt;supportedProjectType&gt; on a WAR file will switch the project to generate jar artifacts</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2427">FELIX-2427</a></td><td>maven site crashes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2346">FELIX-2346</a></td><td>mvn bundle:clean removes all, even the existing resources</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2215">FELIX-2215</a></td><td>Refactor bundlerepository and maven bundle plugin obr data model</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2210">FELIX-2210</a></td><td>Bogus import entries</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2194">FELIX-2194</a></td><td>The manifest and bundle goals seem to generate different manifest informations</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2176">FELIX-2176</a></td><td>Upgrade maven-bundle-plugin to up to date bnd</td><td>Closed</td><td>Fixed</td><td>Richard S. Hall</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2175">FELIX-2175</a></td><td>Improve the Blueprint component to parse / introspect blueprint configuration files and generate OBR service requirements / capabilities accordingly</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2173">FELIX-2173</a></td><td>Fix inconsistent maven-&gt;osgi version conversion between maven-bundle-plugin and DefaultMaven2OsgiConverter</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2155">FELIX-2155</a></td><td>The maven bundle plugin generates wrong capabilities for packages with directives</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2112">FELIX-2112</a></td><td>Carriage returns are removed from instructions, but the lines should be trimmed alltogether</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2048">FELIX-2048</a></td><td>Service-Component property doesn't allow to use wildcards for filenames</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1951">FELIX-1951</a></td><td>The SchemaObr.xsd in bundleplugin is incomplete</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1936">FELIX-1936</a></td><td>Create Output Directory for Resource-Only WARs</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1820">FELIX-1820</a></td><td>Fragment-Host version not converted</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1734">FELIX-1734</a></td><td>The _donotcopy is ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1634">FELIX-1634</a></td><td>Maven Bundle Plugin disables transitive dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1571">FELIX-1571</a></td><td>Bundle-ClassPath without &quot;.&quot; while using maven-bundle-plugin in a war project confuses the plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1568">FELIX-1568</a></td><td>Goal to transform a maven version into an OSGi version</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1552">FELIX-1552</a></td><td>Add support for blueprint and spring-dm declarations to import the discovered packages</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1539">FELIX-1539</a></td><td>generated-classes not included in bundle</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1501">FELIX-1501</a></td><td>Using a macro in Bundle-Version with the manifest goal causes garbage in the Export-Package and Private-Package headers.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1461">FELIX-1461</a></td><td>Corrupted repository.xml when maven is run in parallel</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1439">FELIX-1439</a></td><td>maven-bundle-plugin resource filtering does not substitute project.organization.*</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1290">FELIX-1290</a></td><td>Missing dependencies silently 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-1262">FELIX-1262</a></td><td>[regression] shared archive resources cannot be found</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1148">FELIX-1148</a></td><td>NPE during bundleall goal</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1054">FELIX-1054</a></td><td>The deploy and deploy-file plugin should write the computed bundle uri</td><td>Closed</td><td>Fixed</td><td>Clement Escoffier</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1039">FELIX-1039</a></td><td>Inconsistency packaging vs. type</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1023">FELIX-1023</a></td><td>Category Information not exported to obr file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1021">FELIX-1021</a></td><td>Classifier always used even if not explicitly set in the configuration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1017">FELIX-1017</a></td><td>Generic types ignored when generating MANIFEST.MF</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-984">FELIX-984</a></td><td>site's &lt;Bundle-Version&gt; documentation is wrong</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-981">FELIX-981</a></td><td>Warning about split packages even with -split-package directive [maven-bundle-plugin-2.0.0]</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-941">FELIX-941</a></td><td>Support singleton &amp; fragment-attachment directive generation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-912">FELIX-912</a></td><td>Improve default Export-Package / Private-Package settings by scanning the project source</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-907">FELIX-907</a></td><td>Regression in latest BND code: negated exports are applied to private packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-899">FELIX-899</a></td><td>Version attribute missing from Import-Package on provided dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-850">FELIX-850</a></td><td>Wrong symbolic name computed when groupId is a single segment string.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-843">FELIX-843</a></td><td>Regression: BND 0.0.295 does not augment Ignore-Package with excluded import packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-831">FELIX-831</a></td><td>bndlib unnecessary modifies valid OSGi Bundle-Version numbers (update to bndlib 0.0.293)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-807">FELIX-807</a></td><td>conversion of JAR into bundle fails if there are classes is the default name space</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-806">FELIX-806</a></td><td>changing the internal configuration of the archive plugin doesn't seem to be possible</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-782">FELIX-782</a></td><td>Manifest goal ignores version attribute specified in _exportcontents</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-759">FELIX-759</a></td><td>Version range in import declaration creates a filter using invalid operators (&lt;,&gt;)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-699">FELIX-699</a></td><td>manifest goal does not interprete _include instruction correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-684">FELIX-684</a></td><td>Enable excludeDependencies to check groupId, version, etc. rather than only artifactId</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-677">FELIX-677</a></td><td>Parser throws error when DynamicImport-Package contains attributes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-661">FELIX-661</a></td><td>maven bundle plugin does not close the accessed fie /jar streams</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-660">FELIX-660</a></td><td>&quot;Class in different directory than declared&quot; error when bundle classes in a directory other than bundle root</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-636">FELIX-636</a></td><td>Bundle-SymbolicName is generated incorrectly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-620">FELIX-620</a></td><td>manifest goal of maven-bundle-plugin ignores _include instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-580">FELIX-580</a></td><td>Allows maven-bunde-plugin to generate a repository file outide a maven repository with absolute url</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-561">FELIX-561</a></td><td>Use same level of Bnd in script generated by bundle:ant as in the bundleplugin itself</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-560">FELIX-560</a></td><td>bundle:install and bundle:deploy goals check artifact type is &quot;bundle&quot; instead of using the supportedProjectTypes list</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-556">FELIX-556</a></td><td>Filtering mechanims to &lt;Embed-Dependency/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="b"><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="a"><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="b"><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="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-547">FELIX-547</a></td><td>OBR portion of the plugin balks on singular version range of [1.0.0,1.0.0].</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-546">FELIX-546</a></td><td>Import-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-545">FELIX-545</a></td><td>Export-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-543">FELIX-543</a></td><td>add switch to prevent classifier being appended to Bundle-Version</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="b"><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="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-526">FELIX-526</a></td><td>Allow a mechanism to give preference to local resources over the ones from embedded jars</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-523">FELIX-523</a></td><td>Update bundleplugin to use BND 0.0.249</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-519">FELIX-519</a></td><td>maven-bundle-plugin should issue a WARNING for unsupported packaging types</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-517">FELIX-517</a></td><td>Replacement of {maven-dependencies} in Include-Resource and Bundle-ClassPath can strip Windows path separators</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-505">FELIX-505</a></td><td>maven-bundle-plugin:bundleall modifies dependencies that are already bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-499">FELIX-499</a></td><td>Enhance &quot;excludeDependencies&quot; configuration parameter to also support comma-separated list of artifactIds</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-498">FELIX-498</a></td><td>Enable javadoc deployment on OBR repository</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-493">FELIX-493</a></td><td>maven-bundle-plugin bundle:install goal install too many artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-492">FELIX-492</a></td><td>Add support to classifier: enable bunlde:bundle goal to generate classified artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-491">FELIX-491</a></td><td>Merge the maven-obr-plugin and the bundleplugin into a single plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-477">FELIX-477</a></td><td>BND: Versions with fourth section all numbers are truncated</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="a"><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="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-462">FELIX-462</a></td><td>Support removal of manifest headers added by the bundleplugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-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="b"><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="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-459">FELIX-459</a></td><td>BND: allow customization of the &quot;uses&quot; clause in the generated Export-Package</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-458">FELIX-458</a></td><td>BND: -split-package:=merge-first behaves like merge-last</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-344">FELIX-344</a></td><td>Generate standard maven documentation for the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-247">FELIX-247</a></td><td>Add ant goal to maven-bundle-plugin which creates a build.xml and MANIFEST.MF with bundle headers</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr></table></div>
+        <div class="section"><h2>JIRA Report<a name="JIRA_Report"></a></h2><a name="JIRA_Report"></a><table border="0" class="bodyTable"><tr class="a"><th>Key</th><th>Summary</th><th>Status</th><th>Resolution</th><th>By</th></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4005">FELIX-4005</a></td><td>Maven Bundle Plugin fails with ArrayIndexOutOfBoundsException, &quot;Invalid Class File&quot; errors with Java 8 features</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3347">FELIX-3347</a></td><td>Upper-case environment variables end up in final manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2765">FELIX-2765</a></td><td>bundle plugin throw IllegalArgumentException while do the install</td><td>Closed</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-661">FELIX-661</a></td><td>maven bundle plugin does not close the accessed fie /jar streams</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4067">FELIX-4067</a></td><td>Old BND used causes problems during annotations processing</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3585">FELIX-3585</a></td><td>Dependencies with classes or resources in the default package cannot be embedded</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2934">FELIX-2934</a></td><td>Bundle-ClassPath contains &quot;.&quot; despite using _wab instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-4017">FELIX-4017</a></td><td>@ProviderType does not work (bnd &quot;provide:=true&quot; annotation?)</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3973">FELIX-3973</a></td><td>Exclusion from {local-packages} doesn't work anymore</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3638">FELIX-3638</a></td><td>Missing package import for annotation default value</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3630">FELIX-3630</a></td><td>Packages exported by bundle are (re)-imported with incorrect version</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3602">FELIX-3602</a></td><td>The bundle plugin should generate the blueprint header with the file locations</td><td>Resolved</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3601">FELIX-3601</a></td><td>Incorrect namespace in component XML for DS Annotations</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3497">FELIX-3497</a></td><td>Wrong artifact type attached as a secondary artifact when project packaging is set to &quot;pom&quot;</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3407">FELIX-3407</a></td><td>Imports are missed for generics</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3352">FELIX-3352</a></td><td>Maven Bundle Plugin ignores resource properties configured inside &lt;filters&gt; section</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3349">FELIX-3349</a></td><td>wrong bundle manifest contents in some cases</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3310">FELIX-3310</a></td><td>[patch] maven-bundle-plugin build fails with maven3 (manageArtifactSystemPath is missing)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3293">FELIX-3293</a></td><td>Exception while creating empty fragment bundles with version 2.3.6</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3254">FELIX-3254</a></td><td>manifest goal generates wrong Export-Package when Embed-Dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3222">FELIX-3222</a></td><td>[PATCH] build fails with &quot;unreported exception&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3210">FELIX-3210</a></td><td>Maven bundle plugin remote-clean goal without user confirmation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3209">FELIX-3209</a></td><td>Make sure the properties passed to BND only include string values</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3208">FELIX-3208</a></td><td>Provide default value for sourcepath when using BND -sources=true</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3206">FELIX-3206</a></td><td>Restore the BND analyzer approach which creates a MANIFEST.MF based on the contents of the jar</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3188">FELIX-3188</a></td><td>[PATCH] exception org.apache.maven.project.artifact.InvalidDependencyVersionException has already been caught</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3185">FELIX-3185</a></td><td>Negative Embed-Dependency clauses aren't handled correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3165">FELIX-3165</a></td><td>Add an option to the manifest goal that will copy any BND generated resources to the target folder</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3092">FELIX-3092</a></td><td>Support relative paths in &quot;urlTemplate&quot; parameter of &quot;bundle:index&quot; goal in maven bundle plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3061">FELIX-3061</a></td><td>improvements to Embed-Dependency logic to allow better m2e integration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3058">FELIX-3058</a></td><td>maven-bundle-plugin 2.3.5 incompatible with maven-source-plugin (regression)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3037">FELIX-3037</a></td><td>Plugin does not work with Java 5</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3031">FELIX-3031</a></td><td>maven3 deployment fails where maven2 works</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3011">FELIX-3011</a></td><td>Add a new goal to save the bnd instructions that would be passed onto bnd, to allow people to use other toolchains such as bndtools</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2884">FELIX-2884</a></td><td>The multiplicity isn't taken into account by the maven bundle plugin and bundlerepository when generating the repository xml</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2872">FELIX-2872</a></td><td>Provide a way to have an easier to read manifest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2820">FELIX-2820</a></td><td>Provide a default value when using &lt;_wab/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2819">FELIX-2819</a></td><td>packageinfo files in src/main/java are ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2812">FELIX-2812</a></td><td>The &lt;Embed-Dependency&gt; filter can fail if your matching against multiple &quot;*&quot; artifact ids.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2811">FELIX-2811</a></td><td>If &lt;Private-Package&gt;!*&lt;/Private-Package&gt; is defined the all packages should be exported by {local-packages}</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2808">FELIX-2808</a></td><td>maven-bundle-plugin should scan for local packages by looking for *.class files instead of *.java so that all the JVM languages can be supported.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2701">FELIX-2701</a></td><td>Add a {local-packages} macro for automatically expanding local packages in the &lt;Export-Package&gt; instruction</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2692">FELIX-2692</a></td><td>Support maven type 'wab' for web bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2449">FELIX-2449</a></td><td>Resource filtering does not use Maven properties specified on the mvn command line via -D command line switches</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2435">FELIX-2435</a></td><td>&lt;supportedProjectType&gt; on a WAR file will switch the project to generate jar artifacts</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2427">FELIX-2427</a></td><td>maven site crashes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2346">FELIX-2346</a></td><td>mvn bundle:clean removes all, even the existing resources</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2215">FELIX-2215</a></td><td>Refactor bundlerepository and maven bundle plugin obr data model</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2210">FELIX-2210</a></td><td>Bogus import entries</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2194">FELIX-2194</a></td><td>The manifest and bundle goals seem to generate different manifest informations</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2176">FELIX-2176</a></td><td>Upgrade maven-bundle-plugin to up to date bnd</td><td>Closed</td><td>Fixed</td><td>Richard S. Hall</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2175">FELIX-2175</a></td><td>Improve the Blueprint component to parse / introspect blueprint configuration files and generate OBR service requirements / capabilities accordingly</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2173">FELIX-2173</a></td><td>Fix inconsistent maven-&gt;osgi version conversion between maven-bundle-plugin and DefaultMaven2OsgiConverter</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2155">FELIX-2155</a></td><td>The maven bundle plugin generates wrong capabilities for packages with directives</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2112">FELIX-2112</a></td><td>Carriage returns are removed from instructions, but the lines should be trimmed alltogether</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2048">FELIX-2048</a></td><td>Service-Component property doesn't allow to use wildcards for filenames</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1951">FELIX-1951</a></td><td>The SchemaObr.xsd in bundleplugin is incomplete</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1936">FELIX-1936</a></td><td>Create Output Directory for Resource-Only WARs</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1820">FELIX-1820</a></td><td>Fragment-Host version not converted</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1734">FELIX-1734</a></td><td>The _donotcopy is ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1634">FELIX-1634</a></td><td>Maven Bundle Plugin disables transitive dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1571">FELIX-1571</a></td><td>Bundle-ClassPath without &quot;.&quot; while using maven-bundle-plugin in a war project confuses the plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1568">FELIX-1568</a></td><td>Goal to transform a maven version into an OSGi version</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1552">FELIX-1552</a></td><td>Add support for blueprint and spring-dm declarations to import the discovered packages</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1539">FELIX-1539</a></td><td>generated-classes not included in bundle</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1501">FELIX-1501</a></td><td>Using a macro in Bundle-Version with the manifest goal causes garbage in the Export-Package and Private-Package headers.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1461">FELIX-1461</a></td><td>Corrupted repository.xml when maven is run in parallel</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1439">FELIX-1439</a></td><td>maven-bundle-plugin resource filtering does not substitute project.organization.*</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1262">FELIX-1262</a></td><td>[regression] shared archive resources cannot be found</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1148">FELIX-1148</a></td><td>NPE during bundleall goal</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1054">FELIX-1054</a></td><td>The deploy and deploy-file plugin should write the computed bundle uri</td><td>Closed</td><td>Fixed</td><td>Clement Escoffier</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1039">FELIX-1039</a></td><td>Inconsistency packaging vs. type</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1023">FELIX-1023</a></td><td>Category Information not exported to obr file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1021">FELIX-1021</a></td><td>Classifier always used even if not explicitly set in the configuration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1017">FELIX-1017</a></td><td>Generic types ignored when generating MANIFEST.MF</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-954">FELIX-954</a></td><td>Import-Package should include packages from optional Maven dependencies with resolution=optional</td><td>Closed</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-941">FELIX-941</a></td><td>Support singleton &amp; fragment-attachment directive generation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-907">FELIX-907</a></td><td>Regression in latest BND code: negated exports are applied to private packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-899">FELIX-899</a></td><td>Version attribute missing from Import-Package on provided dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-843">FELIX-843</a></td><td>Regression: BND 0.0.295 does not augment Ignore-Package with excluded import packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-831">FELIX-831</a></td><td>bndlib unnecessary modifies valid OSGi Bundle-Version numbers (update to bndlib 0.0.293)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-806">FELIX-806</a></td><td>changing the internal configuration of the archive plugin doesn't seem to be possible</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-782">FELIX-782</a></td><td>Manifest goal ignores version attribute specified in _exportcontents</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-759">FELIX-759</a></td><td>Version range in import declaration creates a filter using invalid operators (&lt;,&gt;)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-699">FELIX-699</a></td><td>manifest goal does not interprete _include instruction correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-677">FELIX-677</a></td><td>Parser throws error when DynamicImport-Package contains attributes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-660">FELIX-660</a></td><td>&quot;Class in different directory than declared&quot; error when bundle classes in a directory other than bundle root</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-636">FELIX-636</a></td><td>Bundle-SymbolicName is generated incorrectly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-620">FELIX-620</a></td><td>manifest goal of maven-bundle-plugin ignores _include instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-580">FELIX-580</a></td><td>Allows maven-bunde-plugin to generate a repository file outide a maven repository with absolute url</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-556">FELIX-556</a></td><td>Filtering mechanims to &lt;Embed-Dependency/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-547">FELIX-547</a></td><td>OBR portion of the plugin balks on singular version range of [1.0.0,1.0.0].</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-541">FELIX-541</a></td><td>allow repository.xml to reference to xsl file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-526">FELIX-526</a></td><td>Allow a mechanism to give preference to local resources over the ones from embedded jars</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-517">FELIX-517</a></td><td>Replacement of {maven-dependencies} in Include-Resource and Bundle-ClassPath can strip Windows path separators</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-505">FELIX-505</a></td><td>maven-bundle-plugin:bundleall modifies dependencies that are already bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-493">FELIX-493</a></td><td>maven-bundle-plugin bundle:install goal install too many artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-477">FELIX-477</a></td><td>BND: Versions with fourth section all numbers are truncated</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-472">FELIX-472</a></td><td>Embed-Dependency, Include-Resource and inline</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3772">FELIX-3772</a></td><td>maven-bundle-plugin does not scan blueprint in workspace outside default location</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3619">FELIX-3619</a></td><td>&quot;IOException: Failed to delete repository.xml while trying to rename&quot; in maven-bundle-plugin</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3582">FELIX-3582</a></td><td>finalName not properly populated in maven-bundle-plugin with buildnumber-maven-plugin</td><td>Resolved</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3300">FELIX-3300</a></td><td>Avoid warning about superfluous export-package instructions for empty directories</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3299">FELIX-3299</a></td><td>Fix instable tests in BundlePluginTest</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3238">FELIX-3238</a></td><td>Unable to filter out classes from identical package in a dependency</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3173">FELIX-3173</a></td><td>Local OBR install failes when there is a space in the full path</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2722">FELIX-2722</a></td><td>With an empty  organization like this &lt;organization/&gt;, maven bundle plugin raises a NPE.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2657">FELIX-2657</a></td><td>Maven-bundle-plugin uses old version of BndLib</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2656">FELIX-2656</a></td><td>Maven-bundle-plugin identified as not thread-safe in Maven 3.0</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1985">FELIX-1985</a></td><td>Error when Include-Resource instruction contains duplicate paths.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1836">FELIX-1836</a></td><td>Maven resource filtering support for obr.xml</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1290">FELIX-1290</a></td><td>Missing dependencies silently ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-984">FELIX-984</a></td><td>site's &lt;Bundle-Version&gt; documentation is wrong</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-981">FELIX-981</a></td><td>Warning about split packages even with -split-package directive [maven-bundle-plugin-2.0.0]</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-912">FELIX-912</a></td><td>Improve default Export-Package / Private-Package settings by scanning the project source</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-850">FELIX-850</a></td><td>Wrong symbolic name computed when groupId is a single segment string.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-807">FELIX-807</a></td><td>conversion of JAR into bundle fails if there are classes is the default name space</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-684">FELIX-684</a></td><td>Enable excludeDependencies to check groupId, version, etc. rather than only artifactId</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-561">FELIX-561</a></td><td>Use same level of Bnd in script generated by bundle:ant as in the bundleplugin itself</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-560">FELIX-560</a></td><td>bundle:install and bundle:deploy goals check artifact type is &quot;bundle&quot; instead of using the supportedProjectTypes list</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-554">FELIX-554</a></td><td>allow removing a bundle from a remote OBR</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-553">FELIX-553</a></td><td>allow cleaning a remote OBR</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-549">FELIX-549</a></td><td>Import-Package should not include &quot;snapshot&quot; from snapshot dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-548">FELIX-548</a></td><td>Import-Package version qualifiers vary depending on dependency scope.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-546">FELIX-546</a></td><td>Import-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-545">FELIX-545</a></td><td>Export-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-543">FELIX-543</a></td><td>add switch to prevent classifier being appended to Bundle-Version</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-531">FELIX-531</a></td><td>Allow the import package scope to be set for the bundleall goal in the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-523">FELIX-523</a></td><td>Update bundleplugin to use BND 0.0.249</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-519">FELIX-519</a></td><td>maven-bundle-plugin should issue a WARNING for unsupported packaging types</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-499">FELIX-499</a></td><td>Enhance &quot;excludeDependencies&quot; configuration parameter to also support comma-separated list of artifactIds</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-492">FELIX-492</a></td><td>Add support to classifier: enable bunlde:bundle goal to generate classified artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-491">FELIX-491</a></td><td>Merge the maven-obr-plugin and the bundleplugin into a single plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-476">FELIX-476</a></td><td>Improve default Export-Package (used when no Export-Package and Private-Package is set)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-461">FELIX-461</a></td><td>Ensure manifest goal creates same manifest as bundle goal when project packaging is &quot;bundle&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-459">FELIX-459</a></td><td>BND: allow customization of the &quot;uses&quot; clause in the generated Export-Package</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-458">FELIX-458</a></td><td>BND: -split-package:=merge-first behaves like merge-last</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-344">FELIX-344</a></td><td>Generate standard maven documentation for the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-247">FELIX-247</a></td><td>Add ant goal to maven-bundle-plugin which creates a build.xml and MANIFEST.MF with bundle headers</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-498">FELIX-498</a></td><td>Enable javadoc deployment on OBR repository</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-462">FELIX-462</a></td><td>Support removal of manifest headers added by the bundleplugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-460">FELIX-460</a></td><td>Remove &quot;.&quot; from the Bundle-ClassPath when embedding dependencies in a bundle with no local classes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr></table></div>
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/license.html b/bundleplugin/doc/site/license.html
index d62b789..823c92b 100644
--- a/bundleplugin/doc/site/license.html
+++ b/bundleplugin/doc/site/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -309,7 +309,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/mail-lists.html b/bundleplugin/doc/site/mail-lists.html
index 99e2a08..a084486 100644
--- a/bundleplugin/doc/site/mail-lists.html
+++ b/bundleplugin/doc/site/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -107,7 +107,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/manifest-mojo.html b/bundleplugin/doc/site/manifest-mojo.html
index 7331269..36c4fd0 100644
--- a/bundleplugin/doc/site/manifest-mojo.html
+++ b/bundleplugin/doc/site/manifest-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -90,7 +90,7 @@
         <li>Requires a Maven project to be executed.</li>
         <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>process-classes</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>process-classes</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -104,13 +104,13 @@
             <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated JAR.<br /></td>
+            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated bundles.<br /></td>
+            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
           </tr>
         </table>
       </div>
@@ -140,39 +140,52 @@
             <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND class-path will be dumped<br /></td>
+            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND instructions will be dumped<br /></td>
+            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Comma separated list of artifactIds to exclude from the dependency
-classpath passed to BND (use &quot;true&quot; to exclude everything)<br /></td>
+classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
           </tr>
           <tr class="a">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
+          </tr>
+          <tr class="b">
             <td><b><a href="#instructions">instructions</a></b></td>
             <td><tt>Map</tt></td>
             <td><tt>-</tt></td>
             <td>The BND instructions for the bundle.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
+            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
           <tr class="a">
             <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>
+memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -184,7 +197,7 @@
             <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>
+            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
         </table>
       </div>
@@ -199,7 +212,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle to be installed. For example,
 &quot;jdk14&quot;. Defaults to none which means this is the project's main
@@ -212,20 +225,26 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpClasspath}</tt></li>
+          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
         </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
         <div>File where the BND instructions will be dumped</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpInstructions}</tt></li>
+          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
         </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
         <div>Comma separated list of artifactIds to exclude from the dependency
 classpath passed to BND (use &quot;true&quot; to exclude everything)</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${excludeDependencies}</tt></li>
+          <li><b>User Property</b>: <tt>excludeDependencies</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Final name of the bundle (without classifier or extension)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>User Property</b>: <tt>project.build.finalName</tt></li>
         </ul><hr /><p><b><a name="instructions">instructions</a>:</b></p>
         <div>The BND instructions for the bundle.</div>
         <ul>
@@ -236,21 +255,27 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${manifestLocation}</tt></li>
+          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
           <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>
+          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</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>
+          <li><b>User Property</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>
@@ -261,7 +286,7 @@
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${unpackBundle}</tt></li>
+          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
         </ul>
       </div>
     </div>
@@ -273,7 +298,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/plugin-info.html b/bundleplugin/doc/site/plugin-info.html
index 46892a6..c103ad8 100644
--- a/bundleplugin/doc/site/plugin-info.html
+++ b/bundleplugin/doc/site/plugin-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -94,14 +94,14 @@
     </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
+        <div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><a name="Plugin_Documentation"></a><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="ant-mojo.html">bundle:ant</a></td><td>Generate Ant script to create the bundle (you should run ant:ant
 first).</td></tr><tr class="a"><td><a href="bundle-mojo.html">bundle:bundle</a></td><td>Create an OSGi bundle from Maven project</td></tr><tr class="b"><td><a href="bundleall-mojo.html">bundle:bundleall</a></td><td><strong>Deprecated.</strong> The bundleall goal is no longer supported and may be removed in a
 future release</td></tr><tr class="a"><td><a href="clean-mojo.html">bundle:clean</a></td><td>Clean an OBR repository by finding and removing missing resources.</td></tr><tr class="b"><td><a href="cleanVersions-mojo.html">bundle:cleanVersions</a></td><td>No description.</td></tr><tr class="a"><td><a href="deploy-mojo.html">bundle:deploy</a></td><td>Deploys bundle details to a remote OBR repository (life-cycle goal)</td></tr><tr class="b"><td><a href="deploy-file-mojo.html">bundle:deploy-file</a></td><td>Deploys bundle details to a remote OBR repository (command-line
 goal)</td></tr><tr class="a"><td><a href="index-mojo.html">bundle:index</a></td><td>Index the content of a maven repository using OBR</td></tr><tr class="b"><td><a href="install-mojo.html">bundle:install</a></td><td>Installs bundle details in the local OBR repository (life-cycle
 goal)</td></tr><tr class="a"><td><a href="install-file-mojo.html">bundle:install-file</a></td><td>Installs bundle details in the local OBR repository (command-line
 goal)</td></tr><tr class="b"><td><a href="instructions-mojo.html">bundle:instructions</a></td><td>Generate BND instructions for this project</td></tr><tr class="a"><td><a href="manifest-mojo.html">bundle:manifest</a></td><td>Generate an OSGi manifest for this project</td></tr><tr class="b"><td><a href="remote-clean-mojo.html">bundle:remote-clean</a></td><td>Clean a remote repository file. It just looks for every resources
 and check that pointed file exists.</td></tr><tr class="a"><td><a href="wrap-mojo.html">bundle:wrap</a></td><td><strong>Deprecated.</strong> The wrap goal is no longer supported and may be removed in a future
-release</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>2.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+release</td></tr></table><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><a name="System_Requirements"></a><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>2.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><div class="section"><h3>Usage<a name="Usage"></a></h3><a name="Usage"></a><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
   ...
   &lt;build&gt;
     &lt;!-- To define the plugin version in your parent POM --&gt;
@@ -134,7 +134,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/project-info.html b/bundleplugin/doc/site/project-info.html
index 24b52bb..35226ad 100644
--- a/bundleplugin/doc/site/project-info.html
+++ b/bundleplugin/doc/site/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -110,7 +110,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/project-reports.html b/bundleplugin/doc/site/project-reports.html
index 4d95ff6..d5aee44 100644
--- a/bundleplugin/doc/site/project-reports.html
+++ b/bundleplugin/doc/site/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -101,7 +101,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/remote-clean-mojo.html b/bundleplugin/doc/site/remote-clean-mojo.html
index 25fad8b..3d45d6e 100644
--- a/bundleplugin/doc/site/remote-clean-mojo.html
+++ b/bundleplugin/doc/site/remote-clean-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -88,7 +88,7 @@
 and check that pointed file exists.</div>
       <p><b>Attributes</b>:</p>
       <ul>
-        <li>Binds by default to the lifecycle phase: <tt>clean</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>clean</tt>.</li>
       </ul>
       <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -102,37 +102,37 @@
             <td><b><a href="#altDeploymentRepository">altDeploymentRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Alternative deployment repository. Format: id::layout::url<br /></td>
+            <td>Alternative deployment repository. Format: id::layout::url<br /><b>User property is</b>: <tt>altDeploymentRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#ignoreLock">ignoreLock</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
-            <td>When true, ignore remote locking.<br /></td>
+            <td>When true, ignore remote locking.<br /><b>User property is</b>: <tt>ignoreLock</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#obrDeploymentRepository">obrDeploymentRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>OBR specific deployment repository. Format: id::layout::url<br /></td>
+            <td>OBR specific deployment repository. Format: id::layout::url<br /><b>User property is</b>: <tt>obrDeploymentRepository</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#obrRepository">obrRepository</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Local OBR Repository.<br /></td>
+            <td>Local OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#prefixUrl">prefixUrl</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Optional public URL prefix for the remote repository.<br /></td>
+            <td>Optional public URL prefix for the remote repository.<br /><b>User property is</b>: <tt>prefixUrl</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#remoteOBR">remoteOBR</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Remote OBR Repository.<br /><b>Default value is</b>: <tt>NONE</tt>.</td>
+            <td>Remote OBR Repository.<br /><b>Default value is</b>: <tt>NONE</tt>.<br /><b>User property is</b>: <tt>remoteOBR</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -148,37 +148,37 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${altDeploymentRepository}</tt></li>
+          <li><b>User Property</b>: <tt>altDeploymentRepository</tt></li>
         </ul><hr /><p><b><a name="ignoreLock">ignoreLock</a>:</b></p>
         <div>When true, ignore remote locking.</div>
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${ignoreLock}</tt></li>
+          <li><b>User Property</b>: <tt>ignoreLock</tt></li>
         </ul><hr /><p><b><a name="obrDeploymentRepository">obrDeploymentRepository</a>:</b></p>
         <div>OBR specific deployment repository. Format: id::layout::url</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrDeploymentRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrDeploymentRepository</tt></li>
         </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
         <div>Local OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${obrRepository}</tt></li>
+          <li><b>User Property</b>: <tt>obrRepository</tt></li>
         </ul><hr /><p><b><a name="prefixUrl">prefixUrl</a>:</b></p>
         <div>Optional public URL prefix for the remote repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${prefixUrl}</tt></li>
+          <li><b>User Property</b>: <tt>prefixUrl</tt></li>
         </ul><hr /><p><b><a name="remoteOBR">remoteOBR</a>:</b></p>
         <div>Remote OBR Repository.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${remoteOBR}</tt></li>
+          <li><b>User Property</b>: <tt>remoteOBR</tt></li>
           <li><b>Default</b>: <tt>NONE</tt></li>
         </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
         <div>Project types which this plugin supports.</div>
@@ -196,7 +196,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/source-repository.html b/bundleplugin/doc/site/source-repository.html
index 6155ce2..955f2cf 100644
--- a/bundleplugin/doc/site/source-repository.html
+++ b/bundleplugin/doc/site/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -110,7 +110,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/surefire-report.html b/bundleplugin/doc/site/surefire-report.html
index 564315c..7c8c791 100644
--- a/bundleplugin/doc/site/surefire-report.html
+++ b/bundleplugin/doc/site/surefire-report.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -94,14 +94,14 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2>Surefire Report<a name="Surefire_Report"></a></h2></div><div class="section"><h2><a name="Summary"></a>Summary<a name="Summary"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>2.621</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.621</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.643</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.877</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.101</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.598</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.381</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.491</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.06</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.15</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.054</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.061</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.045</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.066</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.123</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.099</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.111</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.117</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.164</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.028</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>19</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>4.102</td></tr></table><br />Note: failures are anticipated and checked for with assertions while errors are unanticipated.<br /></div><div class="section"><h2><a name="Package_List"></a>Package List<a name="Package_List"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.maven.shared.osgi">org.apache.maven.shared.osgi</a></td><td>4</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.229</td></tr><tr class="a"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>3.873</td></tr></table><br />Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.<div class="section"><h3><a name="org.apache.maven.shared.osgi"></a>org.apache.maven.shared.osgi<a name="org.apache.maven.shared.osgi"></a></h3><table border="0" class="bodyTable"><tr class="b"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="a"><td><a href="#org.apache.maven.shared.osgiMaven2OsgiConverterTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.maven.shared.osgiMaven2OsgiConverterTest">Maven2OsgiConverterTest</a></td><td>4</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.229</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundleplugin"></a>org.apache.felix.bundleplugin<a name="org.apache.felix.bundleplugin"></a></h3><table border="0" class="bodyTable"><tr class="b"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest">BlueprintComponentTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.84</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest">BundleAllPluginTest</a></td><td>2</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.311</td></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBundlePluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundlePluginTest">BundlePluginTest</a></td><td>12</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.722</td></tr></table></div><br /></div><div class="section"><h2><a name="Test_Cases"></a>Test Cases<a name="Test_Cases"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><div class="section"><h3><a name="org.apache.felix.bundlepluginBlueprintComponentTest"></a>BlueprintComponentTest<a name="BlueprintComponentTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.791</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundleAllPluginTest"></a>BundleAllPluginTest<a name="BundleAllPluginTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.518</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.787</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundlePluginTest"></a>BundlePluginTest<a name="BundlePluginTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.195</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.284</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.099</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.097</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.078</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.085</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.166</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.131</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.136</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.136</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.254</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.048</td></tr></table></div><div class="section"><h3><a name="org.apache.maven.shared.osgiMaven2OsgiConverterTest"></a>Maven2OsgiConverterTest<a name="Maven2OsgiConverterTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.067</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleSymbolicName</td><td>0.072</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetBundleFileName</td><td>0.038</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testGetVersion</td><td>0.049</td></tr></table></div><br /></div><br />
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/team-list.html b/bundleplugin/doc/site/team-list.html
index 086c0ac..b38ef36 100644
--- a/bundleplugin/doc/site/team-list.html
+++ b/bundleplugin/doc/site/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -122,7 +122,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/wrap-mojo.html b/bundleplugin/doc/site/wrap-mojo.html
index 2b63194..ee5a3ee 100644
--- a/bundleplugin/doc/site/wrap-mojo.html
+++ b/bundleplugin/doc/site/wrap-mojo.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
+<!-- Generated by Apache Maven Doxia at Jun 8, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -11,7 +11,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120211" />
+    <meta name="Date-Revision-yyyymmdd" content="20130608" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-02-11</span>
+        <span id="publishDate">Last Published: 2013-06-08</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -93,7 +93,7 @@
         <li>Requires a Maven project to be executed.</li>
         <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
         <li>The goal is thread-safe and supports parallel builds.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>package</tt>.</li>
       </ul>
       <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
         <table class="bodyTable" border="0">
@@ -107,13 +107,13 @@
             <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated JAR.<br /></td>
+            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>The directory for the generated bundles.<br /></td>
+            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
           </tr>
         </table>
       </div>
@@ -149,46 +149,59 @@
             <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND class-path will be dumped<br /></td>
+            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>File where the BND instructions will be dumped<br /></td>
+            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
           </tr>
           <tr class="a">
             <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
             <td>Comma separated list of artifactIds to exclude from the dependency
-classpath passed to BND (use &quot;true&quot; to exclude everything)<br /></td>
+classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
           </tr>
           <tr class="b">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
+          </tr>
+          <tr class="a">
             <td><b><a href="#ignoreMissingArtifacts">ignoreMissingArtifacts</a></b></td>
             <td><tt>boolean</tt></td>
             <td><tt>-</tt></td>
             <td>Ignore missing artifacts that are not required by current project
 but are required by the transitive dependencies.<br /></td>
           </tr>
-          <tr class="a">
+          <tr class="b">
             <td><b><a href="#instructions">instructions</a></b></td>
             <td><tt>Map</tt></td>
             <td><tt>-</tt></td>
             <td>The BND instructions for the bundle.<br /></td>
           </tr>
-          <tr class="b">
+          <tr class="a">
             <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
             <td><tt>File</tt></td>
             <td><tt>-</tt></td>
-            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.</td>
+            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#packaging">packaging</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.<br /></td>
           </tr>
           <tr class="a">
             <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>
+memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
@@ -200,13 +213,13 @@
             <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>
+            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
           </tr>
           <tr class="b">
             <td><b><a href="#wrapImportPackage">wrapImportPackage</a></b></td>
             <td><tt>String</tt></td>
             <td><tt>-</tt></td>
-            <td>Import-Package to be used when wrapping dependencies.<br /><b>Default value is</b>: <tt>*</tt>.</td>
+            <td>Import-Package to be used when wrapping dependencies.<br /><b>Default value is</b>: <tt>*</tt>.<br /><b>User property is</b>: <tt>wrapImportPackage</tt>.</td>
           </tr>
         </table>
       </div>
@@ -221,7 +234,7 @@
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
         </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
         <div>Classifier type of the bundle to be installed. For example,
 &quot;jdk14&quot;. Defaults to none which means this is the project's main
@@ -239,20 +252,26 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpClasspath}</tt></li>
+          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
         </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
         <div>File where the BND instructions will be dumped</div>
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${dumpInstructions}</tt></li>
+          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
         </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
         <div>Comma separated list of artifactIds to exclude from the dependency
 classpath passed to BND (use &quot;true&quot; to exclude everything)</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${excludeDependencies}</tt></li>
+          <li><b>User Property</b>: <tt>excludeDependencies</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Final name of the bundle (without classifier or extension)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>User Property</b>: <tt>project.build.finalName</tt></li>
         </ul><hr /><p><b><a name="ignoreMissingArtifacts">ignoreMissingArtifacts</a>:</b></p>
         <div>Ignore missing artifacts that are not required by current project
 but are required by the transitive dependencies.</div>
@@ -269,21 +288,27 @@
         <ul>
           <li><b>Type</b>: <tt>java.io.File</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${manifestLocation}</tt></li>
+          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
           <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
         </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
         <div>The directory for the generated bundles.</div>
         <ul>
           <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>
+          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
+        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
+        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
+Defaults to none which means use the same packaging as the project.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</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>
+          <li><b>User Property</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>
@@ -294,13 +319,13 @@
         <ul>
           <li><b>Type</b>: <tt>boolean</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${unpackBundle}</tt></li>
+          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
         </ul><hr /><p><b><a name="wrapImportPackage">wrapImportPackage</a>:</b></p>
         <div>Import-Package to be used when wrapping dependencies.</div>
         <ul>
           <li><b>Type</b>: <tt>java.lang.String</tt></li>
           <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${wrapImportPackage}</tt></li>
+          <li><b>User Property</b>: <tt>wrapImportPackage</tt></li>
           <li><b>Default</b>: <tt>*</tt></li>
         </ul>
       </div>
@@ -313,7 +338,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2012
+      <div class="xright">Copyright &#169;                    2006-2013
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/xref-test/allclasses-frame.html b/bundleplugin/doc/site/xref-test/allclasses-frame.html
index db677f1..cd43697 100644
--- a/bundleplugin/doc/site/xref-test/allclasses-frame.html
+++ b/bundleplugin/doc/site/xref-test/allclasses-frame.html
@@ -26,6 +26,9 @@
 						<li>
 				<a href="org/apache/felix/bundleplugin/BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
 			</li>
+						<li>
+				<a href="org/apache/maven/shared/osgi/Maven2OsgiConverterTest.html" target="classFrame">Maven2OsgiConverterTest</a>
+			</li>
 			      </ul>
 
     </body>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
index df977ef..d8d9a06 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
@@ -44,7 +44,7 @@
 <a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 <a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
 <a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</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.bnd.osgi.Builder;
 <a name="38" href="#38">38</a>  
 <a name="39" href="#39">39</a>  
 <a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintComponentTest.html">BlueprintComponentTest</a> <strong class="jxr_keyword">extends</strong> TestCase
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 777f5cf..ca1eae8 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
@@ -47,9 +47,9 @@
 <a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
 <a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
 <a name="39" href="#39">39</a>  
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="42" href="#42">42</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.bnd.osgi.Analyzer;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
 <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>
@@ -134,7 +134,7 @@
 <a name="124" href="#124">124</a>             { jar } );
 <a name="125" href="#125">125</a> 
 <a name="126" href="#126">126</a>         analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="127" href="#127">127</a>         analyzer.calcManifest();
+<a name="127" href="#127">127</a>         analyzer.getJar().setManifest( analyzer.calcManifest() );
 <a name="128" href="#128">128</a> 
 <a name="129" href="#129">129</a>         assertEquals( 3, analyzer.getExports().size() );
 <a name="130" href="#130">130</a> 
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 b63d8da..936f8c5 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
@@ -82,6 +82,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.html
new file mode 100644
index 0000000..d4eb95e
--- /dev/null
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.html
@@ -0,0 +1,188 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+<title>Maven2OsgiConverterTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.maven.shared.osgi;
+<a name="2" href="#2">2</a>   
+<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
+<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
+<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
+<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
+<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
+<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
+<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
+<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
+<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
+<a name="12" href="#12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
+<a name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
+<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
+<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
+<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
+<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
+<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
+<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.</em>
+<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.File;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.ArtifactStub;
+<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.PlexusTestCase;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * Test for {@link DefaultMaven2OsgiConverter}</em>
+<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="30" href="#30">30</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="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @version $Id$</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">class</strong> Maven2OsgiConverterTest
+<a name="34" href="#34">34</a>      <strong class="jxr_keyword">extends</strong> PlexusTestCase
+<a name="35" href="#35">35</a>  {
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong class="jxr_keyword">private</strong> Maven2OsgiConverter maven2Osgi = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetBundleSymbolicName()
+<a name="40" href="#40">40</a>      {
+<a name="41" href="#41">41</a>          ArtifactStub artifact = getTestArtifact();
+<a name="42" href="#42">42</a>          String s;
+<a name="43" href="#43">43</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="44" href="#44">44</a>          assertEquals( <span class="jxr_string">"org.apache.commons.logging"</span>, s );
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          artifact.setGroupId( <span class="jxr_string">"org.apache.commons"</span> );
+<a name="47" href="#47">47</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="48" href="#48">48</a>          assertEquals( <span class="jxr_string">"org.apache.commons.logging"</span>, s );
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          artifact.setGroupId( <span class="jxr_string">"org.apache.commons.commons-logging"</span> );
+<a name="51" href="#51">51</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="52" href="#52">52</a>          assertEquals( <span class="jxr_string">"org.apache.commons.commons-logging"</span>, s );
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          artifact.setGroupId( <span class="jxr_string">"org.apache"</span> );
+<a name="55" href="#55">55</a>          artifact.setArtifactId( <span class="jxr_string">"org.apache.commons-logging"</span> );
+<a name="56" href="#56">56</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="57" href="#57">57</a>          assertEquals( <span class="jxr_string">"org.apache.commons-logging"</span>, s );
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          artifact.setFile( getTestFile( <span class="jxr_string">"junit-3.8.2.jar"</span> ) );
+<a name="60" href="#60">60</a>          artifact.setGroupId( <span class="jxr_string">"junit"</span> );
+<a name="61" href="#61">61</a>          artifact.setArtifactId( <span class="jxr_string">"junit"</span> );
+<a name="62" href="#62">62</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="63" href="#63">63</a>          assertEquals( <span class="jxr_string">"junit"</span>, s );
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          artifact.setFile( getTestFile( <span class="jxr_string">"xml-apis-1.0.b2.jar"</span> ) );
+<a name="66" href="#66">66</a>          artifact.setGroupId( <span class="jxr_string">"xml-apis"</span> );
+<a name="67" href="#67">67</a>          artifact.setArtifactId( <span class="jxr_string">"a"</span> );
+<a name="68" href="#68">68</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="69" href="#69">69</a>          assertEquals( <span class="jxr_string">"xml-apis.a"</span>, s );
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          artifact.setFile( getTestFile( <span class="jxr_string">"test-1.jar"</span> ) );
+<a name="72" href="#72">72</a>          artifact.setGroupId( <span class="jxr_string">"test"</span> );
+<a name="73" href="#73">73</a>          artifact.setArtifactId( <span class="jxr_string">"test"</span> );
+<a name="74" href="#74">74</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="75" href="#75">75</a>          assertEquals( <span class="jxr_string">"test"</span>, s );
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          artifact.setFile( getTestFile( <span class="jxr_string">"xercesImpl-2.6.2.jar"</span> ) );
+<a name="78" href="#78">78</a>          artifact.setGroupId( <span class="jxr_string">"xerces"</span> );
+<a name="79" href="#79">79</a>          artifact.setArtifactId( <span class="jxr_string">"xercesImpl"</span> );
+<a name="80" href="#80">80</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="81" href="#81">81</a>          assertEquals( <span class="jxr_string">"xerces.Impl"</span>, s );
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          artifact.setFile( getTestFile( <span class="jxr_string">"aopalliance-1.0.jar"</span> ) );
+<a name="84" href="#84">84</a>          artifact.setGroupId( <span class="jxr_string">"org.aopalliance"</span> );
+<a name="85" href="#85">85</a>          artifact.setArtifactId( <span class="jxr_string">"aopalliance"</span> );
+<a name="86" href="#86">86</a>          s = maven2Osgi.getBundleSymbolicName( artifact );
+<a name="87" href="#87">87</a>          assertEquals( <span class="jxr_string">"org.aopalliance"</span>, s );
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetBundleFileName()
+<a name="91" href="#91">91</a>      {
+<a name="92" href="#92">92</a>          ArtifactStub artifact = getTestArtifact();
+<a name="93" href="#93">93</a>          String s;
+<a name="94" href="#94">94</a>          s = maven2Osgi.getBundleFileName( artifact );
+<a name="95" href="#95">95</a>          assertEquals( <span class="jxr_string">"org.apache.commons.logging_1.1.0.jar"</span>, s );
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          artifact.setGroupId( <span class="jxr_string">"org.aopalliance"</span> );
+<a name="98" href="#98">98</a>          artifact.setArtifactId( <span class="jxr_string">"aopalliance"</span> );
+<a name="99" href="#99">99</a>          s = maven2Osgi.getBundleFileName( artifact );
+<a name="100" href="#100">100</a>         assertEquals( <span class="jxr_string">"org.aopalliance_1.1.0.jar"</span>, s );
+<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> <strong class="jxr_keyword">void</strong> testGetVersion()
+<a name="104" href="#104">104</a>     {
+<a name="105" href="#105">105</a>         ArtifactStub artifact = getTestArtifact();
+<a name="106" href="#106">106</a>         String s = maven2Osgi.getVersion( artifact );
+<a name="107" href="#107">107</a>         assertEquals( <span class="jxr_string">"1.1.0"</span>, s );
+<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> <strong class="jxr_keyword">void</strong> testConvertVersionToOsgi()
+<a name="111" href="#111">111</a>     {
+<a name="112" href="#112">112</a>         String osgiVersion;
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2.1.0-SNAPSHOT"</span> );
+<a name="115" href="#115">115</a>         assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2.1-SNAPSHOT"</span> );
+<a name="118" href="#118">118</a>         assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2-SNAPSHOT"</span> );
+<a name="121" href="#121">121</a>         assertEquals( <span class="jxr_string">"2.0.0.SNAPSHOT"</span>, osgiVersion );
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2"</span> );
+<a name="124" href="#124">124</a>         assertEquals( <span class="jxr_string">"2.0.0"</span>, osgiVersion );
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2.1"</span> );
+<a name="127" href="#127">127</a>         assertEquals( <span class="jxr_string">"2.1.0"</span>, osgiVersion );
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2.1.3"</span> );
+<a name="130" href="#130">130</a>         assertEquals( <span class="jxr_string">"2.1.3"</span>, osgiVersion );
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"2.1.3.4"</span> );
+<a name="133" href="#133">133</a>         assertEquals( <span class="jxr_string">"2.1.3.4"</span>, osgiVersion );
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"4aug2000r7-dev"</span> );
+<a name="136" href="#136">136</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"1.1-alpha-2"</span> );
+<a name="139" href="#139">139</a>         assertEquals( <span class="jxr_string">"1.1.0.alpha-2"</span>, osgiVersion );
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"1.0-alpha-16-20070122.203121-13"</span> );
+<a name="142" href="#142">142</a>         assertEquals( <span class="jxr_string">"1.0.0.alpha-16-20070122_203121-13"</span>, osgiVersion );
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"1.0-20070119.021432-1"</span> );
+<a name="145" href="#145">145</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"1-20070119.021432-1"</span> );
+<a name="148" href="#148">148</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"1.4.1-20070217.082013-7"</span> );
+<a name="151" href="#151">151</a>         assertEquals( <span class="jxr_string">"1.4.1.20070217_082013-7"</span>, osgiVersion );
+<a name="152" href="#152">152</a>         
+<a name="153" href="#153">153</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span> );
+<a name="154" href="#154">154</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
+<a name="155" href="#155">155</a>         
+<a name="156" href="#156">156</a>         osgiVersion = maven2Osgi.getVersion( <span class="jxr_string">"4aug2000r7-dev"</span> );
+<a name="157" href="#157">157</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong class="jxr_keyword">private</strong> ArtifactStub getTestArtifact()
+<a name="161" href="#161">161</a>     {
+<a name="162" href="#162">162</a>         ArtifactStub a = <strong class="jxr_keyword">new</strong> ArtifactStub();
+<a name="163" href="#163">163</a>         a.setGroupId( <span class="jxr_string">"commons-logging"</span> );
+<a name="164" href="#164">164</a>         a.setArtifactId( <span class="jxr_string">"commons-logging"</span> );
+<a name="165" href="#165">165</a>         a.setVersion( <span class="jxr_string">"1.1"</span> );
+<a name="166" href="#166">166</a>         a.setFile( getTestFile( <span class="jxr_string">"commons-logging-1.1.jar"</span> ) );
+<a name="167" href="#167">167</a>         <strong class="jxr_keyword">return</strong> a;
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> File getTestFile( String fileName )
+<a name="171" href="#171">171</a>     {
+<a name="172" href="#172">172</a>         <strong class="jxr_keyword">return</strong> PlexusTestCase.getTestFile( <span class="jxr_string">"src/test/resources/"</span> + fileName );
+<a name="173" href="#173">173</a>     }
+<a name="174" href="#174">174</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/maven/shared/osgi/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
new file mode 100644
index 0000000..f8f48af
--- /dev/null
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
@@ -0,0 +1,24 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+
+		<h3>
+        	<a href="package-summary.html" target="classFrame">org.apache.maven.shared.osgi</a>
+      	</h3>
+
+      	<h3>Classes</h3>
+
+      	<ul>
+      		          	<li>
+            	<a href="Maven2OsgiConverterTest.html" target="classFrame">Maven2OsgiConverterTest</a>
+          	</li>
+          	      	</ul>
+
+	</body>
+</html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
new file mode 100644
index 0000000..6bd63ca
--- /dev/null
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
@@ -0,0 +1,67 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+		
+		      	<h2>Package org.apache.maven.shared.osgi</h2>
+
+		<table class="summary">
+        	<thead>
+          		<tr>
+            		<th>Class Summary</th>
+          		</tr>
+        	</thead>
+        	<tbody>
+        		            	<tr>
+              		<td>
+                		<a href="Maven2OsgiConverterTest.html" target="classFrame">Maven2OsgiConverterTest</a>
+              		</td>
+            	</tr>
+				        	</tbody>
+      	</table>
+		
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+				<hr />
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+	</body>
+</html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/overview-frame.html b/bundleplugin/doc/site/xref-test/overview-frame.html
index a586ab9..aed0619 100644
--- a/bundleplugin/doc/site/xref-test/overview-frame.html
+++ b/bundleplugin/doc/site/xref-test/overview-frame.html
@@ -18,6 +18,9 @@
 						<li>
 				<a href="org/apache/felix/bundleplugin/package-frame.html" target="packageFrame">org.apache.felix.bundleplugin</a>
 			</li>
+						<li>
+				<a href="org/apache/maven/shared/osgi/package-frame.html" target="packageFrame">org.apache.maven.shared.osgi</a>
+			</li>
 					</ul>
 
 	</body>
diff --git a/bundleplugin/doc/site/xref-test/overview-summary.html b/bundleplugin/doc/site/xref-test/overview-summary.html
index fca74f2..79c5369 100644
--- a/bundleplugin/doc/site/xref-test/overview-summary.html
+++ b/bundleplugin/doc/site/xref-test/overview-summary.html
@@ -38,6 +38,11 @@
                 		<a href="org/apache/felix/bundleplugin/package-summary.html">org.apache.felix.bundleplugin</a>
               		</td>
             	</tr>
+	          	            	<tr>
+              		<td>
+                		<a href="org/apache/maven/shared/osgi/package-summary.html">org.apache.maven.shared.osgi</a>
+              		</td>
+            	</tr>
 	          	        	</tbody>
       	</table>
 		
@@ -59,6 +64,6 @@
       	</div>
 		
 		<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html
index d8961e8..06a493b 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AbstractDependencyFilter.html
@@ -38,8 +38,8 @@
 <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="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Instruction;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.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>
@@ -76,7 +76,7 @@
 <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="69" href="#69">69</a>              m_instruction = <strong class="jxr_keyword">new</strong> Instruction( 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>  
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AntPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AntPlugin.html
index 0cf0175..ae996d5 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AntPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/AntPlugin.html
@@ -41,8 +41,8 @@
 <a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.IOUtil;
 <a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
 <a name="33" href="#33">33</a>  
-<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="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.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>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html
index 926167e..92141ff 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BlueprintPlugin.html
@@ -50,369 +50,387 @@
 <a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.stream.StreamSource;
 <a name="41" href="#41">41</a>  
 <a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.service.AnalyzerPlugin;
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Processor;
-<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Resource;
-<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> aQute.libg.generics.Create;
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> aQute.libg.qtokens.QuotedTokenizer;
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> aQute.libg.reporter.Reporter;
-<a name="50" href="#50">50</a>  
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Descriptors.PackageRef;
+<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
+<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Resource;
+<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> aQute.libg.generics.Create;
+<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> aQute.libg.qtokens.QuotedTokenizer;
+<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> aQute.service.reporter.Reporter;
 <a name="51" href="#51">51</a>  
-<a name="52" href="#52">52</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a> implements AnalyzerPlugin
-<a name="53" href="#53">53</a>  {
-<a name="54" href="#54">54</a>  
-<a name="55" href="#55">55</a>      <strong class="jxr_keyword">static</strong> Pattern QN = Pattern.compile( <span class="jxr_string">"[_A-Za-z$][_A-Za-z0-9$]*(&#92;&#92;.[_A-Za-z$][_A-Za-z0-9$]*)*"</span> );
-<a name="56" href="#56">56</a>      <strong class="jxr_keyword">static</strong> Pattern PATHS = Pattern.compile( <span class="jxr_string">".*&#92;&#92;.xml"</span> );
-<a name="57" href="#57">57</a>  
-<a name="58" href="#58">58</a>      Transformer transformer;
-<a name="59" href="#59">59</a>  
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a> implements AnalyzerPlugin
+<a name="54" href="#54">54</a>  {
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong class="jxr_keyword">static</strong> Pattern QN = Pattern.compile( <span class="jxr_string">"[_A-Za-z$][_A-Za-z0-9$]*(&#92;&#92;.[_A-Za-z$][_A-Za-z0-9$]*)*"</span> );
+<a name="57" href="#57">57</a>      <strong class="jxr_keyword">static</strong> Pattern PATHS = Pattern.compile( <span class="jxr_string">".*&#92;&#92;.xml"</span> );
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      Transformer transformer;
 <a name="60" href="#60">60</a>  
-<a name="61" href="#61">61</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a>() <strong class="jxr_keyword">throws</strong> Exception
-<a name="62" href="#62">62</a>      {
-<a name="63" href="#63">63</a>          transformer = getTransformer( getClass().getResource( <span class="jxr_string">"blueprint.xsl"</span> ) );
-<a name="64" href="#64">64</a>      }
-<a name="65" href="#65">65</a>  
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">BlueprintPlugin</a>() <strong class="jxr_keyword">throws</strong> Exception
+<a name="63" href="#63">63</a>      {
+<a name="64" href="#64">64</a>          transformer = getTransformer( getClass().getResource( <span class="jxr_string">"blueprint.xsl"</span> ) );
+<a name="65" href="#65">65</a>      }
 <a name="66" href="#66">66</a>  
-<a name="67" href="#67">67</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> analyzeJar( Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="68" href="#68">68</a>      {
-<a name="69" href="#69">69</a>          transformer.setParameter( <span class="jxr_string">"nsh_interface"</span>,
-<a name="70" href="#70">70</a>              analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) : <span class="jxr_string">""</span> );
-<a name="71" href="#71">71</a>          transformer.setParameter( <span class="jxr_string">"nsh_namespace"</span>,
-<a name="72" href="#72">72</a>              analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) : <span class="jxr_string">""</span> );
-<a name="73" href="#73">73</a>  
-<a name="74" href="#74">74</a>          Set&lt;String&gt; headers = Create.set();
-<a name="75" href="#75">75</a>  
-<a name="76" href="#76">76</a>          String bpHeader = analyzer.getProperty( <span class="jxr_string">"Bundle-Blueprint"</span>, <span class="jxr_string">"OSGI-INF/blueprint"</span> );
-<a name="77" href="#77">77</a>          Map&lt;String, Map&lt;String, String&gt;&gt; map = Processor.parseHeader( bpHeader, <strong class="jxr_keyword">null</strong> );
-<a name="78" href="#78">78</a>          <strong class="jxr_keyword">for</strong> ( String root : map.keySet() )
-<a name="79" href="#79">79</a>          {
-<a name="80" href="#80">80</a>              Jar jar = analyzer.getJar();
-<a name="81" href="#81">81</a>              Map&lt;String, Resource&gt; dir = jar.getDirectories().get( root );
-<a name="82" href="#82">82</a>              <strong class="jxr_keyword">if</strong> ( dir == <strong class="jxr_keyword">null</strong> || dir.isEmpty() )
-<a name="83" href="#83">83</a>              {
-<a name="84" href="#84">84</a>                  Resource resource = jar.getResource( root );
-<a name="85" href="#85">85</a>                  <strong class="jxr_keyword">if</strong> ( resource != <strong class="jxr_keyword">null</strong> )
-<a name="86" href="#86">86</a>                      process( analyzer, root, resource, headers );
-<a name="87" href="#87">87</a>                  <strong class="jxr_keyword">return</strong> false;
-<a name="88" href="#88">88</a>              }
-<a name="89" href="#89">89</a>              <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Resource&gt; entry : dir.entrySet() )
-<a name="90" href="#90">90</a>              {
-<a name="91" href="#91">91</a>                  String path = entry.getKey();
-<a name="92" href="#92">92</a>                  Resource resource = entry.getValue();
-<a name="93" href="#93">93</a>                  <strong class="jxr_keyword">if</strong> ( PATHS.matcher( path ).matches() )
-<a name="94" href="#94">94</a>                      process( analyzer, path, resource, headers );
-<a name="95" href="#95">95</a>              }
-<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>          <em class="jxr_comment">// Group and analyze</em>
-<a name="100" href="#100">100</a>         Map&lt;String, Set&lt;Attribute&gt;&gt; hdrs = Create.map();
-<a name="101" href="#101">101</a>         <strong class="jxr_keyword">for</strong> ( String str : headers )
-<a name="102" href="#102">102</a>         {
-<a name="103" href="#103">103</a>             <strong class="jxr_keyword">int</strong> idx = str.indexOf( ':' );
-<a name="104" href="#104">104</a>             <strong class="jxr_keyword">if</strong> ( idx &lt; 0 )
-<a name="105" href="#105">105</a>             {
-<a name="106" href="#106">106</a>                 analyzer.warning( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Error analyzing services in blueprint resource: "</span> ) ).append(
-<a name="107" href="#107">107</a>                     str ).toString() );
-<a name="108" href="#108">108</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> analyzeJar( Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="69" href="#69">69</a>      {
+<a name="70" href="#70">70</a>          transformer.setParameter( <span class="jxr_string">"nsh_interface"</span>,
+<a name="71" href="#71">71</a>              analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_interface"</span> ) : <span class="jxr_string">""</span> );
+<a name="72" href="#72">72</a>          transformer.setParameter( <span class="jxr_string">"nsh_namespace"</span>,
+<a name="73" href="#73">73</a>              analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) != <strong class="jxr_keyword">null</strong> ? analyzer.getProperty( <span class="jxr_string">"nsh_namespace"</span> ) : <span class="jxr_string">""</span> );
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          Set&lt;String&gt; headers = Create.set();
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          String bpHeader = analyzer.getProperty( <span class="jxr_string">"Bundle-Blueprint"</span>, <span class="jxr_string">"OSGI-INF/blueprint"</span> );
+<a name="78" href="#78">78</a>          Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; map = Processor.parseHeader( bpHeader, <strong class="jxr_keyword">null</strong> );
+<a name="79" href="#79">79</a>  		bpHeader = <span class="jxr_string">""</span>;
+<a name="80" href="#80">80</a>          <strong class="jxr_keyword">for</strong> ( String root : map.keySet() )
+<a name="81" href="#81">81</a>          {
+<a name="82" href="#82">82</a>              Jar jar = analyzer.getJar();
+<a name="83" href="#83">83</a>              Map&lt;String, Resource&gt; dir = jar.getDirectories().get( root );
+<a name="84" href="#84">84</a>              <strong class="jxr_keyword">if</strong> ( dir == <strong class="jxr_keyword">null</strong> || dir.isEmpty() )
+<a name="85" href="#85">85</a>              {
+<a name="86" href="#86">86</a>                  Resource resource = jar.getResource( root );
+<a name="87" href="#87">87</a>                  <strong class="jxr_keyword">if</strong> ( resource != <strong class="jxr_keyword">null</strong> ) 
+<a name="88" href="#88">88</a>  				{
+<a name="89" href="#89">89</a>                      process( analyzer, root, resource, headers );
+<a name="90" href="#90">90</a>  					<strong class="jxr_keyword">if</strong> (bpHeader.length() &gt; 0) {
+<a name="91" href="#91">91</a>  						bpHeader += <span class="jxr_string">","</span>;
+<a name="92" href="#92">92</a>  					}
+<a name="93" href="#93">93</a>  					bpHeader += root;
+<a name="94" href="#94">94</a>  				}
+<a name="95" href="#95">95</a>                  <strong class="jxr_keyword">continue</strong>;
+<a name="96" href="#96">96</a>              }
+<a name="97" href="#97">97</a>              <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Resource&gt; entry : dir.entrySet() )
+<a name="98" href="#98">98</a>              {
+<a name="99" href="#99">99</a>                  String path = entry.getKey();
+<a name="100" href="#100">100</a>                 Resource resource = entry.getValue();
+<a name="101" href="#101">101</a>                 <strong class="jxr_keyword">if</strong> ( PATHS.matcher( path ).matches() ) 
+<a name="102" href="#102">102</a> 				{
+<a name="103" href="#103">103</a>                     process( analyzer, path, resource, headers );
+<a name="104" href="#104">104</a> 					<strong class="jxr_keyword">if</strong> (bpHeader.length() &gt; 0) {
+<a name="105" href="#105">105</a> 						bpHeader += <span class="jxr_string">","</span>;
+<a name="106" href="#106">106</a> 					}
+<a name="107" href="#107">107</a> 					bpHeader += path;
+<a name="108" href="#108">108</a> 				}
 <a name="109" href="#109">109</a>             }
-<a name="110" href="#110">110</a>             String h = str.substring( 0, idx ).trim();
-<a name="111" href="#111">111</a>             String v = str.substring( idx + 1 ).trim();
-<a name="112" href="#112">112</a>             Set&lt;Attribute&gt; att = hdrs.get( h );
-<a name="113" href="#113">113</a>             <strong class="jxr_keyword">if</strong> ( att == <strong class="jxr_keyword">null</strong> )
-<a name="114" href="#114">114</a>             {
-<a name="115" href="#115">115</a>                 att = <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
-<a name="116" href="#116">116</a>                 hdrs.put( h, att );
-<a name="117" href="#117">117</a>             }
-<a name="118" href="#118">118</a>             att.addAll( parseHeader( v, <strong class="jxr_keyword">null</strong> ) );
-<a name="119" href="#119">119</a>         }
-<a name="120" href="#120">120</a>         <em class="jxr_comment">// Merge</em>
-<a name="121" href="#121">121</a>         <strong class="jxr_keyword">for</strong> ( String header : hdrs.keySet() )
-<a name="122" href="#122">122</a>         {
-<a name="123" href="#123">123</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) || <span class="jxr_string">"Import-Package"</span>.equals( header ) )
-<a name="124" href="#124">124</a>             {
-<a name="125" href="#125">125</a>                 Set&lt;Attribute&gt; newAttr = hdrs.get( header );
-<a name="126" href="#126">126</a>                 <strong class="jxr_keyword">for</strong> ( Attribute a : newAttr )
-<a name="127" href="#127">127</a>                 {
-<a name="128" href="#128">128</a>                     String pkg = a.getName();
-<a name="129" href="#129">129</a>                     <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) )
-<a name="130" href="#130">130</a>                     {
-<a name="131" href="#131">131</a>                         <strong class="jxr_keyword">int</strong> n = a.getName().lastIndexOf( '.' );
-<a name="132" href="#132">132</a>                         <strong class="jxr_keyword">if</strong> ( n &gt; 0 )
-<a name="133" href="#133">133</a>                         {
-<a name="134" href="#134">134</a>                             pkg = pkg.subSequence( 0, n ).toString();
-<a name="135" href="#135">135</a>                         }
-<a name="136" href="#136">136</a>                         <strong class="jxr_keyword">else</strong>
-<a name="137" href="#137">137</a>                         {
-<a name="138" href="#138">138</a>                             <strong class="jxr_keyword">continue</strong>;
-<a name="139" href="#139">139</a>                         }
-<a name="140" href="#140">140</a>                     }
-<a name="141" href="#141">141</a>                     <strong class="jxr_keyword">if</strong> ( !analyzer.getReferred().containsKey( pkg ) )
-<a name="142" href="#142">142</a>                     {
-<a name="143" href="#143">143</a>                         analyzer.getReferred().put( pkg, a.getProperties() );
-<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>
-<a name="148" href="#148">148</a>             {
-<a name="149" href="#149">149</a>                 Set&lt;Attribute&gt; orgAttr = parseHeader( analyzer.getProperty( header ), <strong class="jxr_keyword">null</strong> );
-<a name="150" href="#150">150</a>                 Set&lt;Attribute&gt; newAttr = hdrs.get( header );
-<a name="151" href="#151">151</a>                 <strong class="jxr_keyword">for</strong> ( Iterator&lt;Attribute&gt; it = newAttr.iterator(); it.hasNext(); )
-<a name="152" href="#152">152</a>                 {
-<a name="153" href="#153">153</a>                     <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> a = it.next();
-<a name="154" href="#154">154</a>                     <strong class="jxr_keyword">for</strong> ( Attribute b : orgAttr )
-<a name="155" href="#155">155</a>                     {
-<a name="156" href="#156">156</a>                         <strong class="jxr_keyword">if</strong> ( b.getName().equals( a.getName() ) )
-<a name="157" href="#157">157</a>                         {
-<a name="158" href="#158">158</a>                             it.remove();
-<a name="159" href="#159">159</a>                             <strong class="jxr_keyword">break</strong>;
-<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>                 orgAttr.addAll( newAttr );
-<a name="164" href="#164">164</a>                 <em class="jxr_comment">// Rebuild from orgAttr</em>
-<a name="165" href="#165">165</a>                 StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="166" href="#166">166</a>                 <strong class="jxr_keyword">for</strong> ( Attribute a : orgAttr )
-<a name="167" href="#167">167</a>                 {
-<a name="168" href="#168">168</a>                     <strong class="jxr_keyword">if</strong> ( sb.length() &gt; 0 )
-<a name="169" href="#169">169</a>                     {
-<a name="170" href="#170">170</a>                         sb.append( <span class="jxr_string">","</span> );
-<a name="171" href="#171">171</a>                     }
-<a name="172" href="#172">172</a>                     sb.append( a.getName() );
-<a name="173" href="#173">173</a>                     <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, String&gt; prop : a.getProperties().entrySet() )
-<a name="174" href="#174">174</a>                     {
-<a name="175" href="#175">175</a>                         sb.append( ';' ).append( prop.getKey() ).append( <span class="jxr_string">"="</span> );
-<a name="176" href="#176">176</a>                         <strong class="jxr_keyword">if</strong> ( prop.getValue().matches( <span class="jxr_string">"[0-9a-zA-Z_-]+"</span> ) )
-<a name="177" href="#177">177</a>                         {
-<a name="178" href="#178">178</a>                             sb.append( prop.getValue() );
-<a name="179" href="#179">179</a>                         }
-<a name="180" href="#180">180</a>                         <strong class="jxr_keyword">else</strong>
-<a name="181" href="#181">181</a>                         {
-<a name="182" href="#182">182</a>                             sb.append( <span class="jxr_string">"\&quot;"</span> );
-<a name="183" href="#183">183</a>                             sb.append( prop.getValue().replace( <span class="jxr_string">"\&quot;"</span>, <span class="jxr_string">"&#92;&#92;\&quot;"</span> ) );
-<a name="184" href="#184">184</a>                             sb.append( <span class="jxr_string">"\&quot;"</span> );
-<a name="185" href="#185">185</a>                         }
-<a name="186" href="#186">186</a>                     }
-<a name="187" href="#187">187</a>                 }
-<a name="188" href="#188">188</a>                 analyzer.setProperty( header, sb.toString() );
-<a name="189" href="#189">189</a>             }
-<a name="190" href="#190">190</a>         }
-<a name="191" href="#191">191</a>         <strong class="jxr_keyword">return</strong> false;
-<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">private</strong> <strong class="jxr_keyword">void</strong> process( Analyzer analyzer, String path, Resource resource, Set&lt;String&gt; headers )
-<a name="196" href="#196">196</a>     {
-<a name="197" href="#197">197</a>         InputStream in = <strong class="jxr_keyword">null</strong>;
-<a name="198" href="#198">198</a>         <strong class="jxr_keyword">try</strong>
-<a name="199" href="#199">199</a>         {
-<a name="200" href="#200">200</a>             in = resource.openInputStream();
-<a name="201" href="#201">201</a> 
-<a name="202" href="#202">202</a>             <em class="jxr_comment">// Retrieve headers</em>
-<a name="203" href="#203">203</a>             Set&lt;String&gt; set = analyze( in );
-<a name="204" href="#204">204</a>             headers.addAll( set );
-<a name="205" href="#205">205</a>         }
-<a name="206" href="#206">206</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="207" href="#207">207</a>         {
-<a name="208" href="#208">208</a>             analyzer.error( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Unexpected exception in processing spring resources("</span> ) )
-<a name="209" href="#209">209</a>                 .append( path ).append( <span class="jxr_string">"): "</span> ).append( e ).toString() );
-<a name="210" href="#210">210</a>         }
-<a name="211" href="#211">211</a>         <strong class="jxr_keyword">finally</strong>
-<a name="212" href="#212">212</a>         {
-<a name="213" href="#213">213</a>             <strong class="jxr_keyword">try</strong>
-<a name="214" href="#214">214</a>             {
-<a name="215" href="#215">215</a>                 <strong class="jxr_keyword">if</strong> ( in != <strong class="jxr_keyword">null</strong> )
-<a name="216" href="#216">216</a>                 {
-<a name="217" href="#217">217</a>                     in.close();
-<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">catch</strong> ( IOException e )
-<a name="221" href="#221">221</a>             {
-<a name="222" href="#222">222</a>             }
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a> 		<strong class="jxr_keyword">if</strong>( !map.isEmpty() ) 
+<a name="112" href="#112">112</a> 		{
+<a name="113" href="#113">113</a> 			analyzer.setProperty(<span class="jxr_string">"Bundle-Blueprint"</span>, bpHeader);
+<a name="114" href="#114">114</a> 		}
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <em class="jxr_comment">// Group and analyze</em>
+<a name="117" href="#117">117</a>         Map&lt;String, Set&lt;Attribute&gt;&gt; hdrs = Create.map();
+<a name="118" href="#118">118</a>         <strong class="jxr_keyword">for</strong> ( String str : headers )
+<a name="119" href="#119">119</a>         {
+<a name="120" href="#120">120</a>             <strong class="jxr_keyword">int</strong> idx = str.indexOf( ':' );
+<a name="121" href="#121">121</a>             <strong class="jxr_keyword">if</strong> ( idx &lt; 0 )
+<a name="122" href="#122">122</a>             {
+<a name="123" href="#123">123</a>                 analyzer.warning( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Error analyzing services in blueprint resource: "</span> ) ).append(
+<a name="124" href="#124">124</a>                     str ).toString() );
+<a name="125" href="#125">125</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="126" href="#126">126</a>             }
+<a name="127" href="#127">127</a>             String h = str.substring( 0, idx ).trim();
+<a name="128" href="#128">128</a>             String v = str.substring( idx + 1 ).trim();
+<a name="129" href="#129">129</a>             Set&lt;Attribute&gt; att = hdrs.get( h );
+<a name="130" href="#130">130</a>             <strong class="jxr_keyword">if</strong> ( att == <strong class="jxr_keyword">null</strong> )
+<a name="131" href="#131">131</a>             {
+<a name="132" href="#132">132</a>                 att = <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
+<a name="133" href="#133">133</a>                 hdrs.put( h, att );
+<a name="134" href="#134">134</a>             }
+<a name="135" href="#135">135</a>             att.addAll( parseHeader( v, <strong class="jxr_keyword">null</strong> ) );
+<a name="136" href="#136">136</a>         }
+<a name="137" href="#137">137</a>         <em class="jxr_comment">// Merge</em>
+<a name="138" href="#138">138</a>         <strong class="jxr_keyword">for</strong> ( String header : hdrs.keySet() )
+<a name="139" href="#139">139</a>         {
+<a name="140" href="#140">140</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) || <span class="jxr_string">"Import-Package"</span>.equals( header ) )
+<a name="141" href="#141">141</a>             {
+<a name="142" href="#142">142</a>                 Set&lt;Attribute&gt; newAttr = hdrs.get( header );
+<a name="143" href="#143">143</a>                 <strong class="jxr_keyword">for</strong> ( Attribute a : newAttr )
+<a name="144" href="#144">144</a>                 {
+<a name="145" href="#145">145</a>                     String pkg = a.getName();
+<a name="146" href="#146">146</a>                     <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"Import-Class"</span>.equals( header ) )
+<a name="147" href="#147">147</a>                     {
+<a name="148" href="#148">148</a>                         <strong class="jxr_keyword">int</strong> n = a.getName().lastIndexOf( '.' );
+<a name="149" href="#149">149</a>                         <strong class="jxr_keyword">if</strong> ( n &gt; 0 )
+<a name="150" href="#150">150</a>                         {
+<a name="151" href="#151">151</a>                             pkg = pkg.subSequence( 0, n ).toString();
+<a name="152" href="#152">152</a>                         }
+<a name="153" href="#153">153</a>                         <strong class="jxr_keyword">else</strong>
+<a name="154" href="#154">154</a>                         {
+<a name="155" href="#155">155</a>                             <strong class="jxr_keyword">continue</strong>;
+<a name="156" href="#156">156</a>                         }
+<a name="157" href="#157">157</a>                     }
+<a name="158" href="#158">158</a>                     PackageRef pkgRef = analyzer.getPackageRef( pkg );
+<a name="159" href="#159">159</a>                     <strong class="jxr_keyword">if</strong> ( !analyzer.getReferred().containsKey( pkgRef ) )
+<a name="160" href="#160">160</a>                     {
+<a name="161" href="#161">161</a>                         analyzer.getReferred().put( pkgRef ).putAll( a.getProperties() );
+<a name="162" href="#162">162</a>                     }
+<a name="163" href="#163">163</a>                 }
+<a name="164" href="#164">164</a>             }
+<a name="165" href="#165">165</a>             <strong class="jxr_keyword">else</strong>
+<a name="166" href="#166">166</a>             {
+<a name="167" href="#167">167</a>                 Set&lt;Attribute&gt; orgAttr = parseHeader( analyzer.getProperty( header ), <strong class="jxr_keyword">null</strong> );
+<a name="168" href="#168">168</a>                 Set&lt;Attribute&gt; newAttr = hdrs.get( header );
+<a name="169" href="#169">169</a>                 <strong class="jxr_keyword">for</strong> ( Iterator&lt;Attribute&gt; it = newAttr.iterator(); it.hasNext(); )
+<a name="170" href="#170">170</a>                 {
+<a name="171" href="#171">171</a>                     <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> a = it.next();
+<a name="172" href="#172">172</a>                     <strong class="jxr_keyword">for</strong> ( Attribute b : orgAttr )
+<a name="173" href="#173">173</a>                     {
+<a name="174" href="#174">174</a>                         <strong class="jxr_keyword">if</strong> ( b.getName().equals( a.getName() ) )
+<a name="175" href="#175">175</a>                         {
+<a name="176" href="#176">176</a>                             it.remove();
+<a name="177" href="#177">177</a>                             <strong class="jxr_keyword">break</strong>;
+<a name="178" href="#178">178</a>                         }
+<a name="179" href="#179">179</a>                     }
+<a name="180" href="#180">180</a>                 }
+<a name="181" href="#181">181</a>                 orgAttr.addAll( newAttr );
+<a name="182" href="#182">182</a>                 <em class="jxr_comment">// Rebuild from orgAttr</em>
+<a name="183" href="#183">183</a>                 StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="184" href="#184">184</a>                 <strong class="jxr_keyword">for</strong> ( Attribute a : orgAttr )
+<a name="185" href="#185">185</a>                 {
+<a name="186" href="#186">186</a>                     <strong class="jxr_keyword">if</strong> ( sb.length() &gt; 0 )
+<a name="187" href="#187">187</a>                     {
+<a name="188" href="#188">188</a>                         sb.append( <span class="jxr_string">","</span> );
+<a name="189" href="#189">189</a>                     }
+<a name="190" href="#190">190</a>                     sb.append( a.getName() );
+<a name="191" href="#191">191</a>                     <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, String&gt; prop : a.getProperties().entrySet() )
+<a name="192" href="#192">192</a>                     {
+<a name="193" href="#193">193</a>                         sb.append( ';' ).append( prop.getKey() ).append( <span class="jxr_string">"="</span> );
+<a name="194" href="#194">194</a>                         <strong class="jxr_keyword">if</strong> ( prop.getValue().matches( <span class="jxr_string">"[0-9a-zA-Z_-]+"</span> ) )
+<a name="195" href="#195">195</a>                         {
+<a name="196" href="#196">196</a>                             sb.append( prop.getValue() );
+<a name="197" href="#197">197</a>                         }
+<a name="198" href="#198">198</a>                         <strong class="jxr_keyword">else</strong>
+<a name="199" href="#199">199</a>                         {
+<a name="200" href="#200">200</a>                             sb.append( <span class="jxr_string">"\&quot;"</span> );
+<a name="201" href="#201">201</a>                             sb.append( prop.getValue().replace( <span class="jxr_string">"\&quot;"</span>, <span class="jxr_string">"&#92;&#92;\&quot;"</span> ) );
+<a name="202" href="#202">202</a>                             sb.append( <span class="jxr_string">"\&quot;"</span> );
+<a name="203" href="#203">203</a>                         }
+<a name="204" href="#204">204</a>                     }
+<a name="205" href="#205">205</a>                 }
+<a name="206" href="#206">206</a>                 analyzer.setProperty( header, sb.toString() );
+<a name="207" href="#207">207</a>             }
+<a name="208" href="#208">208</a>         }
+<a name="209" href="#209">209</a>         <strong class="jxr_keyword">return</strong> false;
+<a name="210" href="#210">210</a>     }
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> process( Analyzer analyzer, String path, Resource resource, Set&lt;String&gt; headers )
+<a name="214" href="#214">214</a>     {
+<a name="215" href="#215">215</a>         InputStream in = <strong class="jxr_keyword">null</strong>;
+<a name="216" href="#216">216</a>         <strong class="jxr_keyword">try</strong>
+<a name="217" href="#217">217</a>         {
+<a name="218" href="#218">218</a>             in = resource.openInputStream();
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>             <em class="jxr_comment">// Retrieve headers</em>
+<a name="221" href="#221">221</a>             Set&lt;String&gt; set = analyze( in );
+<a name="222" href="#222">222</a>             headers.addAll( set );
 <a name="223" href="#223">223</a>         }
-<a name="224" href="#224">224</a>     }
-<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">public</strong> Set&lt;String&gt; analyze( InputStream in ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="228" href="#228">228</a>     {
-<a name="229" href="#229">229</a>         Set&lt;String&gt; refers = <strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;();
-<a name="230" href="#230">230</a>         ByteArrayOutputStream bout = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="231" href="#231">231</a>         javax.xml.transform.Result r = <strong class="jxr_keyword">new</strong> StreamResult( bout );
-<a name="232" href="#232">232</a>         javax.xml.transform.Source s = <strong class="jxr_keyword">new</strong> StreamSource( in );
-<a name="233" href="#233">233</a>         transformer.transform( s, r );
-<a name="234" href="#234">234</a>         ByteArrayInputStream bin = <strong class="jxr_keyword">new</strong> ByteArrayInputStream( bout.toByteArray() );
-<a name="235" href="#235">235</a>         bout.close();
-<a name="236" href="#236">236</a>         BufferedReader br = <strong class="jxr_keyword">new</strong> BufferedReader( <strong class="jxr_keyword">new</strong> InputStreamReader( bin ) );
-<a name="237" href="#237">237</a>         <strong class="jxr_keyword">for</strong> ( String line = br.readLine(); line != <strong class="jxr_keyword">null</strong>; line = br.readLine() )
-<a name="238" href="#238">238</a>         {
-<a name="239" href="#239">239</a>             line = line.trim();
-<a name="240" href="#240">240</a>             line = line.replace( <span class="jxr_string">";availability:=mandatory"</span>, <span class="jxr_string">""</span> );
-<a name="241" href="#241">241</a>             <strong class="jxr_keyword">if</strong> ( line.length() &gt; 0 )
-<a name="242" href="#242">242</a>             {
-<a name="243" href="#243">243</a>                 refers.add( line );
-<a name="244" href="#244">244</a>             }
-<a name="245" href="#245">245</a>         }
-<a name="246" href="#246">246</a> 
-<a name="247" href="#247">247</a>         br.close();
-<a name="248" href="#248">248</a>         <strong class="jxr_keyword">return</strong> refers;
-<a name="249" href="#249">249</a>     }
-<a name="250" href="#250">250</a> 
-<a name="251" href="#251">251</a> 
-<a name="252" href="#252">252</a>     <strong class="jxr_keyword">protected</strong> Transformer getTransformer( URL url ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="253" href="#253">253</a>     {
-<a name="254" href="#254">254</a>         TransformerFactory tf = TransformerFactory.newInstance();
-<a name="255" href="#255">255</a>         javax.xml.transform.Source source = <strong class="jxr_keyword">new</strong> StreamSource( url.openStream() );
-<a name="256" href="#256">256</a>         <strong class="jxr_keyword">return</strong> tf.newTransformer( source );
-<a name="257" href="#257">257</a>     }
-<a name="258" href="#258">258</a> 
-<a name="259" href="#259">259</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> implements Comparable&lt;Attribute&gt;
-<a name="260" href="#260">260</a>     {
-<a name="261" href="#261">261</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
-<a name="262" href="#262">262</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, String&gt; properties;
-<a name="263" href="#263">263</a> 
+<a name="224" href="#224">224</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="225" href="#225">225</a>         {
+<a name="226" href="#226">226</a>             analyzer.error( ( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Unexpected exception in processing spring resources("</span> ) )
+<a name="227" href="#227">227</a>                 .append( path ).append( <span class="jxr_string">"): "</span> ).append( e ).toString() );
+<a name="228" href="#228">228</a>         }
+<a name="229" href="#229">229</a>         <strong class="jxr_keyword">finally</strong>
+<a name="230" href="#230">230</a>         {
+<a name="231" href="#231">231</a>             <strong class="jxr_keyword">try</strong>
+<a name="232" href="#232">232</a>             {
+<a name="233" href="#233">233</a>                 <strong class="jxr_keyword">if</strong> ( in != <strong class="jxr_keyword">null</strong> )
+<a name="234" href="#234">234</a>                 {
+<a name="235" href="#235">235</a>                     in.close();
+<a name="236" href="#236">236</a>                 }
+<a name="237" href="#237">237</a>             }
+<a name="238" href="#238">238</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="239" href="#239">239</a>             {
+<a name="240" href="#240">240</a>             }
+<a name="241" href="#241">241</a>         }
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <strong class="jxr_keyword">public</strong> Set&lt;String&gt; analyze( InputStream in ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="246" href="#246">246</a>     {
+<a name="247" href="#247">247</a>         Set&lt;String&gt; refers = <strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;();
+<a name="248" href="#248">248</a>         ByteArrayOutputStream bout = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="249" href="#249">249</a>         javax.xml.transform.Result r = <strong class="jxr_keyword">new</strong> StreamResult( bout );
+<a name="250" href="#250">250</a>         javax.xml.transform.Source s = <strong class="jxr_keyword">new</strong> StreamSource( in );
+<a name="251" href="#251">251</a>         transformer.transform( s, r );
+<a name="252" href="#252">252</a>         ByteArrayInputStream bin = <strong class="jxr_keyword">new</strong> ByteArrayInputStream( bout.toByteArray() );
+<a name="253" href="#253">253</a>         bout.close();
+<a name="254" href="#254">254</a>         BufferedReader br = <strong class="jxr_keyword">new</strong> BufferedReader( <strong class="jxr_keyword">new</strong> InputStreamReader( bin ) );
+<a name="255" href="#255">255</a>         <strong class="jxr_keyword">for</strong> ( String line = br.readLine(); line != <strong class="jxr_keyword">null</strong>; line = br.readLine() )
+<a name="256" href="#256">256</a>         {
+<a name="257" href="#257">257</a>             line = line.trim();
+<a name="258" href="#258">258</a>             line = line.replace( <span class="jxr_string">";availability:=mandatory"</span>, <span class="jxr_string">""</span> );
+<a name="259" href="#259">259</a>             <strong class="jxr_keyword">if</strong> ( line.length() &gt; 0 )
+<a name="260" href="#260">260</a>             {
+<a name="261" href="#261">261</a>                 refers.add( line );
+<a name="262" href="#262">262</a>             }
+<a name="263" href="#263">263</a>         }
 <a name="264" href="#264">264</a> 
-<a name="265" href="#265">265</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a>( String name, Map&lt;String, String&gt; properties )
-<a name="266" href="#266">266</a>         {
-<a name="267" href="#267">267</a>             <strong class="jxr_keyword">this</strong>.name = name;
-<a name="268" href="#268">268</a>             <strong class="jxr_keyword">this</strong>.properties = properties;
-<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>         <strong class="jxr_keyword">public</strong> String getName()
-<a name="273" href="#273">273</a>         {
-<a name="274" href="#274">274</a>             <strong class="jxr_keyword">return</strong> name;
-<a name="275" href="#275">275</a>         }
+<a name="265" href="#265">265</a>         br.close();
+<a name="266" href="#266">266</a>         <strong class="jxr_keyword">return</strong> refers;
+<a name="267" href="#267">267</a>     }
+<a name="268" href="#268">268</a> 
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>     <strong class="jxr_keyword">protected</strong> Transformer getTransformer( URL url ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="271" href="#271">271</a>     {
+<a name="272" href="#272">272</a>         TransformerFactory tf = TransformerFactory.newInstance();
+<a name="273" href="#273">273</a>         javax.xml.transform.Source source = <strong class="jxr_keyword">new</strong> StreamSource( url.openStream() );
+<a name="274" href="#274">274</a>         <strong class="jxr_keyword">return</strong> tf.newTransformer( source );
+<a name="275" href="#275">275</a>     }
 <a name="276" href="#276">276</a> 
-<a name="277" href="#277">277</a> 
-<a name="278" href="#278">278</a>         <strong class="jxr_keyword">public</strong> Map&lt;String, String&gt; getProperties()
-<a name="279" href="#279">279</a>         {
-<a name="280" href="#280">280</a>             <strong class="jxr_keyword">return</strong> properties;
-<a name="281" href="#281">281</a>         }
+<a name="277" href="#277">277</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> implements Comparable&lt;Attribute&gt;
+<a name="278" href="#278">278</a>     {
+<a name="279" href="#279">279</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
+<a name="280" href="#280">280</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, String&gt; properties;
+<a name="281" href="#281">281</a> 
 <a name="282" href="#282">282</a> 
-<a name="283" href="#283">283</a> 
-<a name="284" href="#284">284</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo( Attribute a )
-<a name="285" href="#285">285</a>         {
-<a name="286" href="#286">286</a>             <strong class="jxr_keyword">int</strong> c = name.compareTo( a.name );
-<a name="287" href="#287">287</a>             <strong class="jxr_keyword">if</strong> ( c == 0 )
-<a name="288" href="#288">288</a>             {
-<a name="289" href="#289">289</a>                 c = properties.equals( a.properties ) ? 0 : properties.size() &lt; a.properties.size() ? -1 : properties
-<a name="290" href="#290">290</a>                     .hashCode() &lt; a.properties.hashCode() ? -1 : +1;
-<a name="291" href="#291">291</a>             }
-<a name="292" href="#292">292</a>             <strong class="jxr_keyword">return</strong> c;
+<a name="283" href="#283">283</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a>( String name, Map&lt;String, String&gt; properties )
+<a name="284" href="#284">284</a>         {
+<a name="285" href="#285">285</a>             <strong class="jxr_keyword">this</strong>.name = name;
+<a name="286" href="#286">286</a>             <strong class="jxr_keyword">this</strong>.properties = properties;
+<a name="287" href="#287">287</a>         }
+<a name="288" href="#288">288</a> 
+<a name="289" href="#289">289</a> 
+<a name="290" href="#290">290</a>         <strong class="jxr_keyword">public</strong> String getName()
+<a name="291" href="#291">291</a>         {
+<a name="292" href="#292">292</a>             <strong class="jxr_keyword">return</strong> name;
 <a name="293" href="#293">293</a>         }
 <a name="294" href="#294">294</a> 
 <a name="295" href="#295">295</a> 
-<a name="296" href="#296">296</a>         @Override
-<a name="297" href="#297">297</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals( Object o )
-<a name="298" href="#298">298</a>         {
-<a name="299" href="#299">299</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">this</strong> == o )
-<a name="300" href="#300">300</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="301" href="#301">301</a>             <strong class="jxr_keyword">if</strong> ( o == <strong class="jxr_keyword">null</strong> || getClass() != o.getClass() )
-<a name="302" href="#302">302</a>                 <strong class="jxr_keyword">return</strong> false;
-<a name="303" href="#303">303</a> 
-<a name="304" href="#304">304</a>             <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> attribute = ( Attribute ) o;
-<a name="305" href="#305">305</a> 
-<a name="306" href="#306">306</a>             <strong class="jxr_keyword">if</strong> ( name != <strong class="jxr_keyword">null</strong> ? !name.equals( attribute.name ) : attribute.name != <strong class="jxr_keyword">null</strong> )
-<a name="307" href="#307">307</a>                 <strong class="jxr_keyword">return</strong> false;
-<a name="308" href="#308">308</a>             <strong class="jxr_keyword">if</strong> ( properties != <strong class="jxr_keyword">null</strong> ? !properties.equals( attribute.properties ) : attribute.properties != <strong class="jxr_keyword">null</strong> )
-<a name="309" href="#309">309</a>                 <strong class="jxr_keyword">return</strong> false;
-<a name="310" href="#310">310</a> 
-<a name="311" href="#311">311</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="312" href="#312">312</a>         }
+<a name="296" href="#296">296</a>         <strong class="jxr_keyword">public</strong> Map&lt;String, String&gt; getProperties()
+<a name="297" href="#297">297</a>         {
+<a name="298" href="#298">298</a>             <strong class="jxr_keyword">return</strong> properties;
+<a name="299" href="#299">299</a>         }
+<a name="300" href="#300">300</a> 
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo( Attribute a )
+<a name="303" href="#303">303</a>         {
+<a name="304" href="#304">304</a>             <strong class="jxr_keyword">int</strong> c = name.compareTo( a.name );
+<a name="305" href="#305">305</a>             <strong class="jxr_keyword">if</strong> ( c == 0 )
+<a name="306" href="#306">306</a>             {
+<a name="307" href="#307">307</a>                 c = properties.equals( a.properties ) ? 0 : properties.size() &lt; a.properties.size() ? -1 : properties
+<a name="308" href="#308">308</a>                     .hashCode() &lt; a.properties.hashCode() ? -1 : +1;
+<a name="309" href="#309">309</a>             }
+<a name="310" href="#310">310</a>             <strong class="jxr_keyword">return</strong> c;
+<a name="311" href="#311">311</a>         }
+<a name="312" href="#312">312</a> 
 <a name="313" href="#313">313</a> 
-<a name="314" href="#314">314</a> 
-<a name="315" href="#315">315</a>         @Override
-<a name="316" href="#316">316</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode()
-<a name="317" href="#317">317</a>         {
-<a name="318" href="#318">318</a>             <strong class="jxr_keyword">int</strong> result = name != <strong class="jxr_keyword">null</strong> ? name.hashCode() : 0;
-<a name="319" href="#319">319</a>             result = 31 * result + ( properties != <strong class="jxr_keyword">null</strong> ? properties.hashCode() : 0 );
-<a name="320" href="#320">320</a>             <strong class="jxr_keyword">return</strong> result;
-<a name="321" href="#321">321</a>         }
-<a name="322" href="#322">322</a>     }
+<a name="314" href="#314">314</a>         @Override
+<a name="315" href="#315">315</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals( Object o )
+<a name="316" href="#316">316</a>         {
+<a name="317" href="#317">317</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">this</strong> == o )
+<a name="318" href="#318">318</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a name="319" href="#319">319</a>             <strong class="jxr_keyword">if</strong> ( o == <strong class="jxr_keyword">null</strong> || getClass() != o.getClass() )
+<a name="320" href="#320">320</a>                 <strong class="jxr_keyword">return</strong> false;
+<a name="321" href="#321">321</a> 
+<a name="322" href="#322">322</a>             <a href="../../../../org/apache/felix/bundleplugin/BlueprintPlugin.html">Attribute</a> attribute = ( Attribute ) o;
 <a name="323" href="#323">323</a> 
-<a name="324" href="#324">324</a> 
-<a name="325" href="#325">325</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Set&lt;Attribute&gt; parseHeader( String value, Reporter logger )
-<a name="326" href="#326">326</a>     {
-<a name="327" href="#327">327</a>         <strong class="jxr_keyword">if</strong> ( ( value == <strong class="jxr_keyword">null</strong> ) || ( value.trim().length() == 0 ) )
-<a name="328" href="#328">328</a>         {
-<a name="329" href="#329">329</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
+<a name="324" href="#324">324</a>             <strong class="jxr_keyword">if</strong> ( name != <strong class="jxr_keyword">null</strong> ? !name.equals( attribute.name ) : attribute.name != <strong class="jxr_keyword">null</strong> )
+<a name="325" href="#325">325</a>                 <strong class="jxr_keyword">return</strong> false;
+<a name="326" href="#326">326</a>             <strong class="jxr_keyword">if</strong> ( properties != <strong class="jxr_keyword">null</strong> ? !properties.equals( attribute.properties ) : attribute.properties != <strong class="jxr_keyword">null</strong> )
+<a name="327" href="#327">327</a>                 <strong class="jxr_keyword">return</strong> false;
+<a name="328" href="#328">328</a> 
+<a name="329" href="#329">329</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
 <a name="330" href="#330">330</a>         }
-<a name="331" href="#331">331</a>         Set&lt;Attribute&gt; result = <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
-<a name="332" href="#332">332</a>         QuotedTokenizer qt = <strong class="jxr_keyword">new</strong> QuotedTokenizer( value, <span class="jxr_string">";=,"</span> );
-<a name="333" href="#333">333</a>         <strong class="jxr_keyword">char</strong> del = '\0';
-<a name="334" href="#334">334</a>         <strong class="jxr_keyword">do</strong>
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a> 
+<a name="333" href="#333">333</a>         @Override
+<a name="334" href="#334">334</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode()
 <a name="335" href="#335">335</a>         {
-<a name="336" href="#336">336</a>             <strong class="jxr_keyword">boolean</strong> hadAttribute = false;
-<a name="337" href="#337">337</a>             Map&lt;String, String&gt; clause = Create.map();
-<a name="338" href="#338">338</a>             List&lt;String&gt; aliases = Create.list();
-<a name="339" href="#339">339</a>             String name = qt.nextToken( <span class="jxr_string">",;"</span> );
-<a name="340" href="#340">340</a> 
-<a name="341" href="#341">341</a>             del = qt.getSeparator();
-<a name="342" href="#342">342</a>             <strong class="jxr_keyword">if</strong> ( ( name == <strong class="jxr_keyword">null</strong> ) || ( name.length() == 0 ) )
-<a name="343" href="#343">343</a>             {
-<a name="344" href="#344">344</a>                 <strong class="jxr_keyword">if</strong> ( ( logger != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( logger.isPedantic() ) )
-<a name="345" href="#345">345</a>                 {
-<a name="346" href="#346">346</a>                     logger
-<a name="347" href="#347">347</a>                         .warning( <span class="jxr_string">"Empty clause, usually caused by repeating a comma without any name field or by having "</span>
-<a name="348" href="#348">348</a>                             + <span class="jxr_string">"spaces after the backslash of a property file: "</span> + value );
-<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> ( name != <strong class="jxr_keyword">null</strong> )
-<a name="352" href="#352">352</a>                     <strong class="jxr_keyword">continue</strong>;
-<a name="353" href="#353">353</a>                 <strong class="jxr_keyword">break</strong>;
-<a name="354" href="#354">354</a>             }
-<a name="355" href="#355">355</a>             name = name.trim();
-<a name="356" href="#356">356</a> 
-<a name="357" href="#357">357</a>             aliases.add( name );
-<a name="358" href="#358">358</a>             String advalue;
-<a name="359" href="#359">359</a>             <strong class="jxr_keyword">while</strong> ( del == ';' )
-<a name="360" href="#360">360</a>             {
-<a name="361" href="#361">361</a>                 String adname = qt.nextToken();
-<a name="362" href="#362">362</a>                 <strong class="jxr_keyword">if</strong> ( ( del = qt.getSeparator() ) != '=' )
+<a name="336" href="#336">336</a>             <strong class="jxr_keyword">int</strong> result = name != <strong class="jxr_keyword">null</strong> ? name.hashCode() : 0;
+<a name="337" href="#337">337</a>             result = 31 * result + ( properties != <strong class="jxr_keyword">null</strong> ? properties.hashCode() : 0 );
+<a name="338" href="#338">338</a>             <strong class="jxr_keyword">return</strong> result;
+<a name="339" href="#339">339</a>         }
+<a name="340" href="#340">340</a>     }
+<a name="341" href="#341">341</a> 
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Set&lt;Attribute&gt; parseHeader( String value, Reporter logger )
+<a name="344" href="#344">344</a>     {
+<a name="345" href="#345">345</a>         <strong class="jxr_keyword">if</strong> ( ( value == <strong class="jxr_keyword">null</strong> ) || ( value.trim().length() == 0 ) )
+<a name="346" href="#346">346</a>         {
+<a name="347" href="#347">347</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
+<a name="348" href="#348">348</a>         }
+<a name="349" href="#349">349</a>         Set&lt;Attribute&gt; result = <strong class="jxr_keyword">new</strong> TreeSet&lt;Attribute&gt;();
+<a name="350" href="#350">350</a>         QuotedTokenizer qt = <strong class="jxr_keyword">new</strong> QuotedTokenizer( value, <span class="jxr_string">";=,"</span> );
+<a name="351" href="#351">351</a>         <strong class="jxr_keyword">char</strong> del = '\0';
+<a name="352" href="#352">352</a>         <strong class="jxr_keyword">do</strong>
+<a name="353" href="#353">353</a>         {
+<a name="354" href="#354">354</a>             <strong class="jxr_keyword">boolean</strong> hadAttribute = false;
+<a name="355" href="#355">355</a>             Map&lt;String, String&gt; clause = Create.map();
+<a name="356" href="#356">356</a>             List&lt;String&gt; aliases = Create.list();
+<a name="357" href="#357">357</a>             String name = qt.nextToken( <span class="jxr_string">",;"</span> );
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>             del = qt.getSeparator();
+<a name="360" href="#360">360</a>             <strong class="jxr_keyword">if</strong> ( ( name == <strong class="jxr_keyword">null</strong> ) || ( name.length() == 0 ) )
+<a name="361" href="#361">361</a>             {
+<a name="362" href="#362">362</a>                 <strong class="jxr_keyword">if</strong> ( ( logger != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( logger.isPedantic() ) )
 <a name="363" href="#363">363</a>                 {
-<a name="364" href="#364">364</a>                     <strong class="jxr_keyword">if</strong> ( ( hadAttribute ) &amp;&amp; ( logger != <strong class="jxr_keyword">null</strong> ) )
-<a name="365" href="#365">365</a>                     {
-<a name="366" href="#366">366</a>                         logger.error( <span class="jxr_string">"Header contains name field after attribute or directive: "</span> + adname + <span class="jxr_string">" from "</span>
-<a name="367" href="#367">367</a>                             + value + <span class="jxr_string">". Name fields must be consecutive, separated by a ';' like a;b;c;x=3;y=4"</span> );
-<a name="368" href="#368">368</a>                     }
-<a name="369" href="#369">369</a> 
-<a name="370" href="#370">370</a>                     <strong class="jxr_keyword">if</strong> ( ( adname != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( adname.length() &gt; 0 ) )
-<a name="371" href="#371">371</a>                         aliases.add( adname.trim() );
-<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>                     advalue = qt.nextToken();
-<a name="376" href="#376">376</a>                     <strong class="jxr_keyword">if</strong> ( ( clause.containsKey( adname ) ) &amp;&amp; ( logger != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( logger.isPedantic() ) )
-<a name="377" href="#377">377</a>                     {
-<a name="378" href="#378">378</a>                         logger.warning( <span class="jxr_string">"Duplicate attribute/directive name "</span> + adname + <span class="jxr_string">" in "</span> + value
-<a name="379" href="#379">379</a>                             + <span class="jxr_string">". This attribute/directive will be ignored"</span> );
-<a name="380" href="#380">380</a>                     }
-<a name="381" href="#381">381</a> 
-<a name="382" href="#382">382</a>                     <strong class="jxr_keyword">if</strong> ( advalue == <strong class="jxr_keyword">null</strong> )
+<a name="364" href="#364">364</a>                     logger
+<a name="365" href="#365">365</a>                         .warning( <span class="jxr_string">"Empty clause, usually caused by repeating a comma without any name field or by having "</span>
+<a name="366" href="#366">366</a>                             + <span class="jxr_string">"spaces after the backslash of a property file: "</span> + value );
+<a name="367" href="#367">367</a>                 }
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>                 <strong class="jxr_keyword">if</strong> ( name != <strong class="jxr_keyword">null</strong> )
+<a name="370" href="#370">370</a>                     <strong class="jxr_keyword">continue</strong>;
+<a name="371" href="#371">371</a>                 <strong class="jxr_keyword">break</strong>;
+<a name="372" href="#372">372</a>             }
+<a name="373" href="#373">373</a>             name = name.trim();
+<a name="374" href="#374">374</a> 
+<a name="375" href="#375">375</a>             aliases.add( name );
+<a name="376" href="#376">376</a>             String advalue;
+<a name="377" href="#377">377</a>             <strong class="jxr_keyword">while</strong> ( del == ';' )
+<a name="378" href="#378">378</a>             {
+<a name="379" href="#379">379</a>                 String adname = qt.nextToken();
+<a name="380" href="#380">380</a>                 <strong class="jxr_keyword">if</strong> ( ( del = qt.getSeparator() ) != '=' )
+<a name="381" href="#381">381</a>                 {
+<a name="382" href="#382">382</a>                     <strong class="jxr_keyword">if</strong> ( ( hadAttribute ) &amp;&amp; ( logger != <strong class="jxr_keyword">null</strong> ) )
 <a name="383" href="#383">383</a>                     {
-<a name="384" href="#384">384</a>                         <strong class="jxr_keyword">if</strong> ( logger != <strong class="jxr_keyword">null</strong> )
-<a name="385" href="#385">385</a>                         {
-<a name="386" href="#386">386</a>                             logger.error( <span class="jxr_string">"No value after '=' sign for attribute "</span> + adname );
-<a name="387" href="#387">387</a>                         }
-<a name="388" href="#388">388</a>                         advalue = <span class="jxr_string">""</span>;
-<a name="389" href="#389">389</a>                     }
-<a name="390" href="#390">390</a>                     clause.put( adname.trim(), advalue.trim() );
-<a name="391" href="#391">391</a>                     del = qt.getSeparator();
-<a name="392" href="#392">392</a>                     hadAttribute = <strong class="jxr_keyword">true</strong>;
-<a name="393" href="#393">393</a>                 }
-<a name="394" href="#394">394</a>             }
-<a name="395" href="#395">395</a> 
-<a name="396" href="#396">396</a>             <strong class="jxr_keyword">for</strong> ( String clauseName : aliases )
-<a name="397" href="#397">397</a>             {
-<a name="398" href="#398">398</a>                 result.add( <strong class="jxr_keyword">new</strong> Attribute( clauseName, clause ) );
-<a name="399" href="#399">399</a>             }
-<a name="400" href="#400">400</a>         }
-<a name="401" href="#401">401</a>         <strong class="jxr_keyword">while</strong> ( del == ',' );
-<a name="402" href="#402">402</a>         <strong class="jxr_keyword">return</strong> result;
-<a name="403" href="#403">403</a>     }
-<a name="404" href="#404">404</a> 
-<a name="405" href="#405">405</a> }
+<a name="384" href="#384">384</a>                         logger.error( <span class="jxr_string">"Header contains name field after attribute or directive: "</span> + adname + <span class="jxr_string">" from "</span>
+<a name="385" href="#385">385</a>                             + value + <span class="jxr_string">". Name fields must be consecutive, separated by a ';' like a;b;c;x=3;y=4"</span> );
+<a name="386" href="#386">386</a>                     }
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>                     <strong class="jxr_keyword">if</strong> ( ( adname != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( adname.length() &gt; 0 ) )
+<a name="389" href="#389">389</a>                         aliases.add( adname.trim() );
+<a name="390" href="#390">390</a>                 }
+<a name="391" href="#391">391</a>                 <strong class="jxr_keyword">else</strong>
+<a name="392" href="#392">392</a>                 {
+<a name="393" href="#393">393</a>                     advalue = qt.nextToken();
+<a name="394" href="#394">394</a>                     <strong class="jxr_keyword">if</strong> ( ( clause.containsKey( adname ) ) &amp;&amp; ( logger != <strong class="jxr_keyword">null</strong> ) &amp;&amp; ( logger.isPedantic() ) )
+<a name="395" href="#395">395</a>                     {
+<a name="396" href="#396">396</a>                         logger.warning( <span class="jxr_string">"Duplicate attribute/directive name "</span> + adname + <span class="jxr_string">" in "</span> + value
+<a name="397" href="#397">397</a>                             + <span class="jxr_string">". This attribute/directive will be ignored"</span> );
+<a name="398" href="#398">398</a>                     }
+<a name="399" href="#399">399</a> 
+<a name="400" href="#400">400</a>                     <strong class="jxr_keyword">if</strong> ( advalue == <strong class="jxr_keyword">null</strong> )
+<a name="401" href="#401">401</a>                     {
+<a name="402" href="#402">402</a>                         <strong class="jxr_keyword">if</strong> ( logger != <strong class="jxr_keyword">null</strong> )
+<a name="403" href="#403">403</a>                         {
+<a name="404" href="#404">404</a>                             logger.error( <span class="jxr_string">"No value after '=' sign for attribute "</span> + adname );
+<a name="405" href="#405">405</a>                         }
+<a name="406" href="#406">406</a>                         advalue = <span class="jxr_string">""</span>;
+<a name="407" href="#407">407</a>                     }
+<a name="408" href="#408">408</a>                     clause.put( adname.trim(), advalue.trim() );
+<a name="409" href="#409">409</a>                     del = qt.getSeparator();
+<a name="410" href="#410">410</a>                     hadAttribute = <strong class="jxr_keyword">true</strong>;
+<a name="411" href="#411">411</a>                 }
+<a name="412" href="#412">412</a>             }
+<a name="413" href="#413">413</a> 
+<a name="414" href="#414">414</a>             <strong class="jxr_keyword">for</strong> ( String clauseName : aliases )
+<a name="415" href="#415">415</a>             {
+<a name="416" href="#416">416</a>                 result.add( <strong class="jxr_keyword">new</strong> Attribute( clauseName, clause ) );
+<a name="417" href="#417">417</a>             }
+<a name="418" href="#418">418</a>         }
+<a name="419" href="#419">419</a>         <strong class="jxr_keyword">while</strong> ( del == ',' );
+<a name="420" href="#420">420</a>         <strong class="jxr_keyword">return</strong> result;
+<a name="421" href="#421">421</a>     }
+<a name="422" href="#422">422</a> 
+<a name="423" href="#423">423</a> }
 </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 196ee0d..f2473da 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundleAllPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundleAllPlugin.html
@@ -63,8 +63,8 @@
 <a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
 <a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
 <a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
+<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
 <a name="58" href="#58">58</a>  
 <a name="59" href="#59">59</a>  
 <a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">/**</em>
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 cd912e6..65f6d5d 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
@@ -50,1496 +50,1539 @@
 <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.TreeSet;
-<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Attributes;
-<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
-<a name="46" href="#46">46</a>  
-<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.ManifestSection;
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiveConfiguration;
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiver;
-<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
-<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.execution.MavenSession;
-<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.License;
-<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Model;
-<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
-<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
-<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
-<a name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProjectHelper;
-<a name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
-<a name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.Maven2OsgiConverter;
-<a name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.UnArchiver;
-<a name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.manager.ArchiverManager;
-<a name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.DirectoryScanner;
-<a name="67" href="#67">67</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> java.util.jar.Attributes;
+<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.ManifestSection;
+<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiveConfiguration;
+<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiver;
+<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
+<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
+<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.execution.MavenSession;
+<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.License;
+<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Model;
+<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
+<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
+<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
+<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
+<a name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
+<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProjectHelper;
+<a name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
+<a name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.Maven2OsgiConverter;
+<a name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.UnArchiver;
+<a name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.manager.ArchiverManager;
+<a name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.DirectoryScanner;
+<a name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
+<a name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.PropertyUtils;
 <a name="68" href="#68">68</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
 <a name="69" href="#69">69</a>  
-<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Constants;
-<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.EmbeddedResource;
-<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.FileResource;
-<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Processor;
-<a name="77" href="#77">77</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
-<a name="78" href="#78">78</a>  
-<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"> * Create an OSGi bundle from Maven project</em>
-<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> *</em>
-<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
-<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * @phase package</em>
-<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
-<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="89" href="#89">89</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="90" href="#90">90</a>  {
-<a name="91" href="#91">91</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
-<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
-<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="96" href="#96">96</a>      <strong class="jxr_keyword">protected</strong> File manifestLocation;
-<a name="97" href="#97">97</a>  
-<a name="98" href="#98">98</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * File where the BND instructions will be dumped</em>
-<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     *</em>
-<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpInstructions}"</em>
-<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     */</em>
-<a name="103" href="#103">103</a>     <strong class="jxr_keyword">protected</strong> File dumpInstructions;
-<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">     * File where the BND class-path will be dumped</em>
-<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     *</em>
-<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpClasspath}"</em>
-<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     */</em>
-<a name="110" href="#110">110</a>     <strong class="jxr_keyword">protected</strong> File dumpClasspath;
-<a name="111" href="#111">111</a> 
-<a name="112" href="#112">112</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     * When true, unpack the bundle contents to the outputDirectory</em>
-<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     *</em>
-<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     * @parameter expression="${unpackBundle}"</em>
-<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     */</em>
-<a name="117" href="#117">117</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> unpackBundle;
-<a name="118" href="#118">118</a> 
-<a name="119" href="#119">119</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="120" href="#120">120</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="121" href="#121">121</a> <em class="jxr_javadoccomment">     *</em>
-<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * @parameter expression="${excludeDependencies}"</em>
-<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     */</em>
-<a name="124" href="#124">124</a>     <strong class="jxr_keyword">protected</strong> String excludeDependencies;
-<a name="125" href="#125">125</a> 
-<a name="126" href="#126">126</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
-<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
-<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     *</em>
-<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     */</em>
-<a name="132" href="#132">132</a>     <strong class="jxr_keyword">protected</strong> String classifier;
-<a name="133" href="#133">133</a> 
-<a name="134" href="#134">134</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * @component</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> MavenProjectHelper m_projectHelper;
-<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">     * @component</em>
+<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.header.Attrs;
+<a name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Constants;
+<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Descriptors.PackageRef;
+<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.EmbeddedResource;
+<a name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.FileResource;
+<a name="77" href="#77">77</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="78" href="#78">78</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Packages;
+<a name="79" href="#79">79</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
+<a name="80" href="#80">80</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * Create an OSGi bundle from Maven project</em>
+<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> *</em>
+<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
+<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> * @phase package</em>
+<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
+<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
+<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
+<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="92" href="#92">92</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a> <strong class="jxr_keyword">extends</strong> AbstractMojo
+<a name="93" href="#93">93</a>  {
+<a name="94" href="#94">94</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
+<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
+<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="99" href="#99">99</a>      <strong class="jxr_keyword">protected</strong> File manifestLocation;
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     * File where the BND instructions will be dumped</em>
+<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     *</em>
+<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpInstructions}"</em>
+<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     */</em>
+<a name="106" href="#106">106</a>     <strong class="jxr_keyword">protected</strong> File dumpInstructions;
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     * File where the BND class-path will be dumped</em>
+<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     *</em>
+<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpClasspath}"</em>
+<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     */</em>
+<a name="113" href="#113">113</a>     <strong class="jxr_keyword">protected</strong> File dumpClasspath;
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     * When true, unpack the bundle contents to the outputDirectory</em>
+<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     *</em>
+<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     * @parameter expression="${unpackBundle}"</em>
+<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     */</em>
+<a name="120" href="#120">120</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> unpackBundle;
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)</em>
+<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     *</em>
+<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * @parameter expression="${excludeDependencies}"</em>
+<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     */</em>
+<a name="127" href="#127">127</a>     <strong class="jxr_keyword">protected</strong> String excludeDependencies;
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * Final name of the bundle (without classifier or extension)</em>
+<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * </em>
+<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.finalName}"</em>
+<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     */</em> 
+<a name="134" href="#134">134</a>     <strong class="jxr_keyword">private</strong> String finalName; 
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
+<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
+<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     *</em>
+<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     * @parameter</em>
 <a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     */</em>
-<a name="142" href="#142">142</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
+<a name="142" href="#142">142</a>     <strong class="jxr_keyword">protected</strong> String classifier;
 <a name="143" href="#143">143</a> 
 <a name="144" href="#144">144</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     */</em>
-<a name="147" href="#147">147</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
-<a name="148" href="#148">148</a> 
-<a name="149" href="#149">149</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</em>
-<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     *</em>
-<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     */</em>
-<a name="154" href="#154">154</a>     <strong class="jxr_keyword">protected</strong> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
-<a name="155" href="#155">155</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
+<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * Packaging type of the bundle to be installed.  For example, "jar".</em>
+<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * Defaults to none which means use the same packaging as the project.</em>
+<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     *</em>
+<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     */</em>
+<a name="150" href="#150">150</a>     <strong class="jxr_keyword">protected</strong> String packaging;
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">     */</em>
+<a name="155" href="#155">155</a>     <strong class="jxr_keyword">private</strong> MavenProjectHelper m_projectHelper;
 <a name="156" href="#156">156</a> 
 <a name="157" href="#157">157</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
-<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     *</em>
-<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
-<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     */</em>
-<a name="163" href="#163">163</a>     <strong class="jxr_keyword">private</strong> File outputDirectory;
-<a name="164" href="#164">164</a> 
-<a name="165" href="#165">165</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     * The directory for the generated JAR.</em>
-<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     *</em>
-<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
-<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">     */</em>
-<a name="171" href="#171">171</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
-<a name="172" href="#172">172</a> 
-<a name="173" href="#173">173</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
-<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     *</em>
-<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
-<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     */</em>
-<a name="180" href="#180">180</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
-<a name="181" href="#181">181</a> 
-<a name="182" href="#182">182</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
-<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     *</em>
-<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">     */</em>
-<a name="187" href="#187">187</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="188" href="#188">188</a> 
-<a name="189" href="#189">189</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</em>
-<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">     */</em>
-<a name="192" href="#192">192</a>     <strong class="jxr_keyword">private</strong> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
-<a name="193" href="#193">193</a> 
-<a name="194" href="#194">194</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * The archive configuration to use.</em>
-<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     *</em>
-<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">     */</em>
-<a name="199" href="#199">199</a>     <strong class="jxr_keyword">private</strong> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
-<a name="200" href="#200">200</a> 
-<a name="201" href="#201">201</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * @parameter default-value="${session}"</em>
-<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     */</em>
-<a name="206" href="#206">206</a>     <strong class="jxr_keyword">private</strong> MavenSession m_mavenSession;
-<a name="207" href="#207">207</a> 
-<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_SYMBOLICNAME = <span class="jxr_string">"maven-symbolicname"</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 MAVEN_RESOURCES = <span class="jxr_string">"{maven-resources}"</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 LOCAL_PACKAGES = <span class="jxr_string">"{local-packages}"</span>;
-<a name="211" href="#211">211</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="212" href="#212">212</a> 
-<a name="213" href="#213">213</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="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[] DEFAULT_INCLUDES =
-<a name="216" href="#216">216</a>         { <span class="jxr_string">"**/**"</span> };
-<a name="217" href="#217">217</a> 
-<a name="218" href="#218">218</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="219" href="#219">219</a> 
-<a name="220" href="#220">220</a> 
-<a name="221" href="#221">221</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
-<a name="222" href="#222">222</a>     {
-<a name="223" href="#223">223</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
-<a name="224" href="#224">224</a>     }
+<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     */</em>
+<a name="160" href="#160">160</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     * @component</em>
+<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     */</em>
+<a name="165" href="#165">165</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</em>
+<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     *</em>
+<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">     */</em>
+<a name="172" href="#172">172</a>     <strong class="jxr_keyword">protected</strong> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
+<a name="173" href="#173">173</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
+<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     *</em>
+<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
+<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     */</em>
+<a name="181" href="#181">181</a>     <strong class="jxr_keyword">private</strong> File outputDirectory;
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     * The directory for the generated JAR.</em>
+<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     *</em>
+<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
+<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     */</em>
+<a name="189" href="#189">189</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
+<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     *</em>
+<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
+<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     */</em>
+<a name="198" href="#198">198</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
+<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     *</em>
+<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     */</em>
+<a name="205" href="#205">205</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</em>
+<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">     */</em>
+<a name="210" href="#210">210</a>     <strong class="jxr_keyword">private</strong> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     * The archive configuration to use.</em>
+<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     *</em>
+<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     * @parameter</em>
+<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     */</em>
+<a name="217" href="#217">217</a>     <strong class="jxr_keyword">private</strong> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">     * @parameter default-value="${session}"</em>
+<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">     * @required</em>
+<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">     * @readonly</em>
+<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">     */</em>
+<a name="224" href="#224">224</a>     <strong class="jxr_keyword">private</strong> MavenSession m_mavenSession;
 <a name="225" href="#225">225</a> 
-<a name="226" href="#226">226</a> 
-<a name="227" href="#227">227</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
-<a name="228" href="#228">228</a>     {
-<a name="229" href="#229">229</a>         m_maven2OsgiConverter = maven2OsgiConverter;
-<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>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
-<a name="234" href="#234">234</a>     {
-<a name="235" href="#235">235</a>         <strong class="jxr_keyword">return</strong> project;
-<a name="236" href="#236">236</a>     }
+<a name="226" href="#226">226</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SYMBOLICNAME = <span class="jxr_string">"maven-symbolicname"</span>;
+<a name="227" href="#227">227</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_RESOURCES = <span class="jxr_string">"{maven-resources}"</span>;
+<a name="228" href="#228">228</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOCAL_PACKAGES = <span class="jxr_string">"{local-packages}"</span>;
+<a name="229" href="#229">229</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SOURCES = <span class="jxr_string">"{maven-sources}"</span>;
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] EMPTY_STRING_ARRAY =
+<a name="232" href="#232">232</a>         {};
+<a name="233" href="#233">233</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] DEFAULT_INCLUDES =
+<a name="234" href="#234">234</a>         { <span class="jxr_string">"**/**"</span> };
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NL = System.getProperty( <span class="jxr_string">"line.separator"</span> );
 <a name="237" href="#237">237</a> 
 <a name="238" href="#238">238</a> 
-<a name="239" href="#239">239</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
-<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">     */</em>
-<a name="242" href="#242">242</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="243" href="#243">243</a>     {
-<a name="244" href="#244">244</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="245" href="#245">245</a>         String projectType = getProject().getArtifact().getType();
-<a name="246" href="#246">246</a> 
-<a name="247" href="#247">247</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
-<a name="248" href="#248">248</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
-<a name="249" href="#249">249</a>         {
-<a name="250" href="#250">250</a>             getLog().warn(
-<a name="251" href="#251">251</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
-<a name="252" href="#252">252</a>             <strong class="jxr_keyword">return</strong>;
-<a name="253" href="#253">253</a>         }
-<a name="254" href="#254">254</a> 
-<a name="255" href="#255">255</a>         execute( getProject(), instructions, properties );
-<a name="256" href="#256">256</a>     }
-<a name="257" href="#257">257</a> 
-<a name="258" href="#258">258</a> 
-<a name="259" href="#259">259</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
-<a name="260" href="#260">260</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="239" href="#239">239</a>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
+<a name="240" href="#240">240</a>     {
+<a name="241" href="#241">241</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
+<a name="246" href="#246">246</a>     {
+<a name="247" href="#247">247</a>         m_maven2OsgiConverter = maven2OsgiConverter;
+<a name="248" href="#248">248</a>     }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
+<a name="252" href="#252">252</a>     {
+<a name="253" href="#253">253</a>         <strong class="jxr_keyword">return</strong> project;
+<a name="254" href="#254">254</a>     }
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
+<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">     */</em>
+<a name="260" href="#260">260</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
 <a name="261" href="#261">261</a>     {
-<a name="262" href="#262">262</a>         <strong class="jxr_keyword">try</strong>
-<a name="263" href="#263">263</a>         {
-<a name="264" href="#264">264</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
-<a name="265" href="#265">265</a>         }
-<a name="266" href="#266">266</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="262" href="#262">262</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="263" href="#263">263</a>         String projectType = getProject().getArtifact().getType();
+<a name="264" href="#264">264</a> 
+<a name="265" href="#265">265</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
+<a name="266" href="#266">266</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
 <a name="267" href="#267">267</a>         {
-<a name="268" href="#268">268</a>             <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="269" href="#269">269</a>         }
-<a name="270" href="#270">270</a>     }
-<a name="271" href="#271">271</a> 
+<a name="268" href="#268">268</a>             getLog().warn(
+<a name="269" href="#269">269</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
+<a name="270" href="#270">270</a>             <strong class="jxr_keyword">return</strong>;
+<a name="271" href="#271">271</a>         }
 <a name="272" href="#272">272</a> 
-<a name="273" href="#273">273</a>     <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="274" href="#274">274</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
-<a name="275" href="#275">275</a>     {
-<a name="276" href="#276">276</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="277" href="#277">277</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
-<a name="278" href="#278">278</a>         {
-<a name="279" href="#279">279</a>             Map.Entry e = ( Map.Entry ) i.next();
-<a name="280" href="#280">280</a> 
-<a name="281" href="#281">281</a>             String key = ( String ) e.getKey();
-<a name="282" href="#282">282</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
-<a name="283" href="#283">283</a>             {
-<a name="284" href="#284">284</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
-<a name="285" href="#285">285</a>             }
-<a name="286" href="#286">286</a> 
-<a name="287" href="#287">287</a>             String value = ( String ) e.getValue();
-<a name="288" href="#288">288</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
-<a name="289" href="#289">289</a>             {
-<a name="290" href="#290">290</a>                 value = <span class="jxr_string">""</span>;
-<a name="291" href="#291">291</a>             }
-<a name="292" href="#292">292</a>             <strong class="jxr_keyword">else</strong>
-<a name="293" href="#293">293</a>             {
-<a name="294" href="#294">294</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="295" href="#295">295</a>             }
-<a name="296" href="#296">296</a> 
-<a name="297" href="#297">297</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
-<a name="298" href="#298">298</a>             {
-<a name="299" href="#299">299</a>                 <em class="jxr_comment">// provide useful default</em>
-<a name="300" href="#300">300</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
-<a name="301" href="#301">301</a>             }
-<a name="302" href="#302">302</a> 
-<a name="303" href="#303">303</a>             transformedInstructions.put( key, value );
-<a name="304" href="#304">304</a>         }
-<a name="305" href="#305">305</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
-<a name="306" href="#306">306</a>     }
-<a name="307" href="#307">307</a> 
-<a name="308" href="#308">308</a> 
-<a name="309" href="#309">309</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
-<a name="310" href="#310">310</a>     {
-<a name="311" href="#311">311</a>         List errors = analyzer.getErrors();
-<a name="312" href="#312">312</a>         List warnings = analyzer.getWarnings();
-<a name="313" href="#313">313</a> 
-<a name="314" href="#314">314</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
-<a name="315" href="#315">315</a>         {
-<a name="316" href="#316">316</a>             String msg = ( String ) w.next();
-<a name="317" href="#317">317</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="318" href="#318">318</a>         }
-<a name="319" href="#319">319</a> 
-<a name="320" href="#320">320</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
-<a name="321" href="#321">321</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
-<a name="322" href="#322">322</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
-<a name="323" href="#323">323</a>         {
-<a name="324" href="#324">324</a>             String msg = ( String ) e.next();
-<a name="325" href="#325">325</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
-<a name="326" href="#326">326</a>             {
-<a name="327" href="#327">327</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
-<a name="328" href="#328">328</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
-<a name="329" href="#329">329</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
-<a name="330" href="#330">330</a>             }
-<a name="331" href="#331">331</a>             <strong class="jxr_keyword">else</strong>
-<a name="332" href="#332">332</a>             {
-<a name="333" href="#333">333</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="334" href="#334">334</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
-<a name="335" href="#335">335</a>             }
+<a name="273" href="#273">273</a>         execute( getProject(), instructions, properties );
+<a name="274" href="#274">274</a>     }
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
+<a name="278" href="#278">278</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="279" href="#279">279</a>     {
+<a name="280" href="#280">280</a>         <strong class="jxr_keyword">try</strong>
+<a name="281" href="#281">281</a>         {
+<a name="282" href="#282">282</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
+<a name="283" href="#283">283</a>         }
+<a name="284" href="#284">284</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="285" href="#285">285</a>         {
+<a name="286" href="#286">286</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error calculating classpath for project "</span> + currentProject, e );
+<a name="287" href="#287">287</a>         }
+<a name="288" href="#288">288</a>     }
+<a name="289" href="#289">289</a> 
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>     <em class="jxr_comment">/*<em class="jxr_comment"> transform directives from their XML form to the expected BND syntax (eg. _include becomes -include) */</em></em>
+<a name="292" href="#292">292</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
+<a name="293" href="#293">293</a>     {
+<a name="294" href="#294">294</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="295" href="#295">295</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
+<a name="296" href="#296">296</a>         {
+<a name="297" href="#297">297</a>             Map.Entry e = ( Map.Entry ) i.next();
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>             String key = ( String ) e.getKey();
+<a name="300" href="#300">300</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
+<a name="301" href="#301">301</a>             {
+<a name="302" href="#302">302</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
+<a name="303" href="#303">303</a>             }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>             String value = ( String ) e.getValue();
+<a name="306" href="#306">306</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
+<a name="307" href="#307">307</a>             {
+<a name="308" href="#308">308</a>                 value = <span class="jxr_string">""</span>;
+<a name="309" href="#309">309</a>             }
+<a name="310" href="#310">310</a>             <strong class="jxr_keyword">else</strong>
+<a name="311" href="#311">311</a>             {
+<a name="312" href="#312">312</a>                 value = value.replaceAll( <span class="jxr_string">"&#92;&#92;p{Blank}*[\r\n]&#92;&#92;p{Blank}*"</span>, <span class="jxr_string">""</span> );
+<a name="313" href="#313">313</a>             }
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
+<a name="316" href="#316">316</a>             {
+<a name="317" href="#317">317</a>                 <em class="jxr_comment">// provide useful default</em>
+<a name="318" href="#318">318</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
+<a name="319" href="#319">319</a>             }
+<a name="320" href="#320">320</a> 
+<a name="321" href="#321">321</a>             transformedInstructions.put( key, value );
+<a name="322" href="#322">322</a>         }
+<a name="323" href="#323">323</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
+<a name="324" href="#324">324</a>     }
+<a name="325" href="#325">325</a> 
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
+<a name="328" href="#328">328</a>     {
+<a name="329" href="#329">329</a>         List errors = analyzer.getErrors();
+<a name="330" href="#330">330</a>         List warnings = analyzer.getWarnings();
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
+<a name="333" href="#333">333</a>         {
+<a name="334" href="#334">334</a>             String msg = ( String ) w.next();
+<a name="335" href="#335">335</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
 <a name="336" href="#336">336</a>         }
-<a name="337" href="#337">337</a>         <strong class="jxr_keyword">return</strong> hasErrors;
-<a name="338" href="#338">338</a>     }
-<a name="339" href="#339">339</a> 
-<a name="340" href="#340">340</a> 
-<a name="341" href="#341">341</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="342" href="#342">342</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="343" href="#343">343</a>     {
-<a name="344" href="#344">344</a>         <strong class="jxr_keyword">try</strong>
-<a name="345" href="#345">345</a>         {
-<a name="346" href="#346">346</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
-<a name="347" href="#347">347</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
-<a name="348" href="#348">348</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
-<a name="349" href="#349">349</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="337" href="#337">337</a> 
+<a name="338" href="#338">338</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
+<a name="339" href="#339">339</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
+<a name="340" href="#340">340</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
+<a name="341" href="#341">341</a>         {
+<a name="342" href="#342">342</a>             String msg = ( String ) e.next();
+<a name="343" href="#343">343</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
+<a name="344" href="#344">344</a>             {
+<a name="345" href="#345">345</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
+<a name="346" href="#346">346</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
+<a name="347" href="#347">347</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
+<a name="348" href="#348">348</a>             }
+<a name="349" href="#349">349</a>             <strong class="jxr_keyword">else</strong>
 <a name="350" href="#350">350</a>             {
-<a name="351" href="#351">351</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="352" href="#352">352</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="353" href="#353">353</a>                 {
-<a name="354" href="#354">354</a>                     jarFile.delete();
-<a name="355" href="#355">355</a> 
-<a name="356" href="#356">356</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="357" href="#357">357</a>                 }
-<a name="358" href="#358">358</a>             }
-<a name="359" href="#359">359</a> 
-<a name="360" href="#360">360</a>             <em class="jxr_comment">// attach bundle to maven project</em>
-<a name="361" href="#361">361</a>             jarFile.getParentFile().mkdirs();
-<a name="362" href="#362">362</a>             builder.getJar().write( jarFile );
-<a name="363" href="#363">363</a> 
-<a name="364" href="#364">364</a>             Artifact mainArtifact = currentProject.getArtifact();
-<a name="365" href="#365">365</a> 
-<a name="366" href="#366">366</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
-<a name="367" href="#367">367</a>             {
-<a name="368" href="#368">368</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
-<a name="369" href="#369">369</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
-<a name="370" href="#370">370</a>             }
-<a name="371" href="#371">371</a> 
-<a name="372" href="#372">372</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == classifier || classifier.trim().length() == 0 )
-<a name="373" href="#373">373</a>             {
-<a name="374" href="#374">374</a>                 mainArtifact.setFile( jarFile );
-<a name="375" href="#375">375</a>             }
-<a name="376" href="#376">376</a>             <strong class="jxr_keyword">else</strong>
-<a name="377" href="#377">377</a>             {
-<a name="378" href="#378">378</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
-<a name="379" href="#379">379</a>             }
-<a name="380" href="#380">380</a> 
-<a name="381" href="#381">381</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
-<a name="382" href="#382">382</a>             {
-<a name="383" href="#383">383</a>                 unpackBundle( jarFile );
-<a name="384" href="#384">384</a>             }
-<a name="385" href="#385">385</a> 
-<a name="386" href="#386">386</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
-<a name="387" href="#387">387</a>             {
-<a name="388" href="#388">388</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<a name="351" href="#351">351</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
+<a name="352" href="#352">352</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
+<a name="353" href="#353">353</a>             }
+<a name="354" href="#354">354</a>         }
+<a name="355" href="#355">355</a>         <strong class="jxr_keyword">return</strong> hasErrors;
+<a name="356" href="#356">356</a>     }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="360" href="#360">360</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="361" href="#361">361</a>     {
+<a name="362" href="#362">362</a>         <strong class="jxr_keyword">try</strong>
+<a name="363" href="#363">363</a>         {
+<a name="364" href="#364">364</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
+<a name="365" href="#365">365</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
+<a name="366" href="#366">366</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
+<a name="367" href="#367">367</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="368" href="#368">368</a>             {
+<a name="369" href="#369">369</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
+<a name="370" href="#370">370</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
+<a name="371" href="#371">371</a>                 {
+<a name="372" href="#372">372</a>                     jarFile.delete();
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in bundle configuration"</span> );
+<a name="375" href="#375">375</a>                 }
+<a name="376" href="#376">376</a>             }
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a>             <em class="jxr_comment">// attach bundle to maven project</em>
+<a name="379" href="#379">379</a>             jarFile.getParentFile().mkdirs();
+<a name="380" href="#380">380</a>             builder.getJar().write( jarFile );
+<a name="381" href="#381">381</a> 
+<a name="382" href="#382">382</a>             Artifact mainArtifact = currentProject.getArtifact();
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
+<a name="385" href="#385">385</a>             {
+<a name="386" href="#386">386</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
+<a name="387" href="#387">387</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
+<a name="388" href="#388">388</a>             }
 <a name="389" href="#389">389</a> 
-<a name="390" href="#390">390</a>                 <strong class="jxr_keyword">try</strong>
-<a name="391" href="#391">391</a>                 {
-<a name="392" href="#392">392</a>                     Manifest manifest = builder.getJar().getManifest();
-<a name="393" href="#393">393</a>                     ManifestPlugin.writeManifest( manifest, outputFile );
-<a name="394" href="#394">394</a>                 }
-<a name="395" href="#395">395</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="396" href="#396">396</a>                 {
-<a name="397" href="#397">397</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="398" href="#398">398</a>                 }
-<a name="399" href="#399">399</a>             }
-<a name="400" href="#400">400</a> 
-<a name="401" href="#401">401</a>             <em class="jxr_comment">// cleanup...</em>
-<a name="402" href="#402">402</a>             builder.close();
-<a name="403" href="#403">403</a>         }
-<a name="404" href="#404">404</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="405" href="#405">405</a>         {
-<a name="406" href="#406">406</a>             getLog().error( e.getLocalizedMessage() );
-<a name="407" href="#407">407</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="408" href="#408">408</a>         }
-<a name="409" href="#409">409</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="410" href="#410">410</a>         {
-<a name="411" href="#411">411</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="412" href="#412">412</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="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> 
-<a name="417" href="#417">417</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="418" href="#418">418</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="419" href="#419">419</a>     {
-<a name="420" href="#420">420</a>         properties.putAll( getDefaultProperties( currentProject ) );
-<a name="421" href="#421">421</a>         properties.putAll( transformDirectives( originalInstructions ) );
-<a name="422" href="#422">422</a> 
-<a name="423" href="#423">423</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
-<a name="424" href="#424">424</a>         builder.setBase( getBase( currentProject ) );
-<a name="425" href="#425">425</a>         builder.setProperties( sanitize( properties ) );
-<a name="426" href="#426">426</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
-<a name="427" href="#427">427</a>         {
-<a name="428" href="#428">428</a>             builder.setClasspath( classpath );
-<a name="429" href="#429">429</a>         }
-<a name="430" href="#430">430</a> 
-<a name="431" href="#431">431</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="432" href="#432">432</a>     }
-<a name="433" href="#433">433</a> 
-<a name="434" href="#434">434</a> 
-<a name="435" href="#435">435</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
-<a name="436" href="#436">436</a>     {
-<a name="437" href="#437">437</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
-<a name="438" href="#438">438</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
-<a name="439" href="#439">439</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
-<a name="440" href="#440">440</a>         {
-<a name="441" href="#441">441</a>             Map.Entry entry = ( Map.Entry ) itr.next();
-<a name="442" href="#442">442</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
-<a name="443" href="#443">443</a>             {
-<a name="444" href="#444">444</a>                 String key = sanitize( entry.getKey() );
-<a name="445" href="#445">445</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
-<a name="446" href="#446">446</a>                 {
-<a name="447" href="#447">447</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
-<a name="448" href="#448">448</a>                 }
-<a name="449" href="#449">449</a>                 itr.remove();
-<a name="450" href="#450">450</a>             }
-<a name="451" href="#451">451</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
-<a name="452" href="#452">452</a>             {
-<a name="453" href="#453">453</a>                 entry.setValue( sanitize( entry.getValue() ) );
-<a name="454" href="#454">454</a>             }
-<a name="455" href="#455">455</a>         }
-<a name="456" href="#456">456</a>         properties.putAll( sanitizedEntries );
-<a name="457" href="#457">457</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="458" href="#458">458</a>     }
-<a name="459" href="#459">459</a> 
-<a name="460" href="#460">460</a> 
-<a name="461" href="#461">461</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
-<a name="462" href="#462">462</a>     {
-<a name="463" href="#463">463</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
-<a name="464" href="#464">464</a>         {
-<a name="465" href="#465">465</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
-<a name="466" href="#466">466</a>         }
-<a name="467" href="#467">467</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
-<a name="468" href="#468">468</a>         {
-<a name="469" href="#469">469</a>             String delim = <span class="jxr_string">""</span>;
-<a name="470" href="#470">470</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="471" href="#471">471</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
-<a name="472" href="#472">472</a>             {
-<a name="473" href="#473">473</a>                 buf.append( delim ).append( i );
-<a name="474" href="#474">474</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="475" href="#475">475</a>             }
-<a name="476" href="#476">476</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="477" href="#477">477</a>         }
-<a name="478" href="#478">478</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
-<a name="479" href="#479">479</a>         {
-<a name="480" href="#480">480</a>             String delim = <span class="jxr_string">""</span>;
-<a name="481" href="#481">481</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="482" href="#482">482</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="483" href="#483">483</a>             {
-<a name="484" href="#484">484</a>                 buf.append( delim ).append( Array.get( value, i ) );
-<a name="485" href="#485">485</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="390" href="#390">390</a>             <strong class="jxr_keyword">boolean</strong> customClassifier = <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0;
+<a name="391" href="#391">391</a>             <strong class="jxr_keyword">boolean</strong> customPackaging = <strong class="jxr_keyword">null</strong> != packaging &amp;&amp; packaging.trim().length() &gt; 0;
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>             <strong class="jxr_keyword">if</strong> ( customClassifier &amp;&amp; customPackaging )
+<a name="394" href="#394">394</a>             {
+<a name="395" href="#395">395</a>                 m_projectHelper.attachArtifact( currentProject, packaging, classifier, jarFile );
+<a name="396" href="#396">396</a>             }
+<a name="397" href="#397">397</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customClassifier )
+<a name="398" href="#398">398</a>             {
+<a name="399" href="#399">399</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
+<a name="400" href="#400">400</a>             }
+<a name="401" href="#401">401</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( customPackaging )
+<a name="402" href="#402">402</a>             {
+<a name="403" href="#403">403</a>                 m_projectHelper.attachArtifact( currentProject, packaging, jarFile );
+<a name="404" href="#404">404</a>             }
+<a name="405" href="#405">405</a>             <strong class="jxr_keyword">else</strong>
+<a name="406" href="#406">406</a>             {
+<a name="407" href="#407">407</a>                 mainArtifact.setFile( jarFile );
+<a name="408" href="#408">408</a>             }
+<a name="409" href="#409">409</a> 
+<a name="410" href="#410">410</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
+<a name="411" href="#411">411</a>             {
+<a name="412" href="#412">412</a>                 unpackBundle( jarFile );
+<a name="413" href="#413">413</a>             }
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
+<a name="416" href="#416">416</a>             {
+<a name="417" href="#417">417</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<a name="418" href="#418">418</a> 
+<a name="419" href="#419">419</a>                 <strong class="jxr_keyword">try</strong>
+<a name="420" href="#420">420</a>                 {
+<a name="421" href="#421">421</a>                     Manifest manifest = builder.getJar().getManifest();
+<a name="422" href="#422">422</a>                     ManifestPlugin.writeManifest( manifest, outputFile );
+<a name="423" href="#423">423</a>                 }
+<a name="424" href="#424">424</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="425" href="#425">425</a>                 {
+<a name="426" href="#426">426</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
+<a name="427" href="#427">427</a>                 }
+<a name="428" href="#428">428</a>             }
+<a name="429" href="#429">429</a> 
+<a name="430" href="#430">430</a>             <em class="jxr_comment">// cleanup...</em>
+<a name="431" href="#431">431</a>             builder.close();
+<a name="432" href="#432">432</a>         }
+<a name="433" href="#433">433</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
+<a name="434" href="#434">434</a>         {
+<a name="435" href="#435">435</a>             getLog().error( e.getLocalizedMessage() );
+<a name="436" href="#436">436</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in bundle configuration"</span>, e );
+<a name="437" href="#437">437</a>         }
+<a name="438" href="#438">438</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="439" href="#439">439</a>         {
+<a name="440" href="#440">440</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
+<a name="441" href="#441">441</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Internal error in maven-bundle-plugin"</span>, e );
+<a name="442" href="#442">442</a>         }
+<a name="443" href="#443">443</a>     }
+<a name="444" href="#444">444</a> 
+<a name="445" href="#445">445</a> 
+<a name="446" href="#446">446</a>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="447" href="#447">447</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="448" href="#448">448</a>     {
+<a name="449" href="#449">449</a>         properties.putAll( getDefaultProperties( currentProject ) );
+<a name="450" href="#450">450</a>         properties.putAll( transformDirectives( originalInstructions ) );
+<a name="451" href="#451">451</a> 
+<a name="452" href="#452">452</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
+<a name="453" href="#453">453</a>         <strong class="jxr_keyword">synchronized</strong> ( BundlePlugin.<strong class="jxr_keyword">class</strong> ) <em class="jxr_comment">// protect setBase...getBndLastModified which uses static DateFormat </em>
+<a name="454" href="#454">454</a>         {
+<a name="455" href="#455">455</a>             builder.setBase( getBase( currentProject ) );
+<a name="456" href="#456">456</a>         }
+<a name="457" href="#457">457</a>         builder.setProperties( sanitize( properties ) );
+<a name="458" href="#458">458</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
+<a name="459" href="#459">459</a>         {
+<a name="460" href="#460">460</a>             builder.setClasspath( classpath );
+<a name="461" href="#461">461</a>         }
+<a name="462" href="#462">462</a> 
+<a name="463" href="#463">463</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="464" href="#464">464</a>     }
+<a name="465" href="#465">465</a> 
+<a name="466" href="#466">466</a> 
+<a name="467" href="#467">467</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
+<a name="468" href="#468">468</a>     {
+<a name="469" href="#469">469</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
+<a name="470" href="#470">470</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
+<a name="471" href="#471">471</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
+<a name="472" href="#472">472</a>         {
+<a name="473" href="#473">473</a>             Map.Entry entry = ( Map.Entry ) itr.next();
+<a name="474" href="#474">474</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
+<a name="475" href="#475">475</a>             {
+<a name="476" href="#476">476</a>                 String key = sanitize( entry.getKey() );
+<a name="477" href="#477">477</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
+<a name="478" href="#478">478</a>                 {
+<a name="479" href="#479">479</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
+<a name="480" href="#480">480</a>                 }
+<a name="481" href="#481">481</a>                 itr.remove();
+<a name="482" href="#482">482</a>             }
+<a name="483" href="#483">483</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
+<a name="484" href="#484">484</a>             {
+<a name="485" href="#485">485</a>                 entry.setValue( sanitize( entry.getValue() ) );
 <a name="486" href="#486">486</a>             }
-<a name="487" href="#487">487</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="488" href="#488">488</a>         }
-<a name="489" href="#489">489</a>         <strong class="jxr_keyword">else</strong>
-<a name="490" href="#490">490</a>         {
-<a name="491" href="#491">491</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
-<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> 
-<a name="496" href="#496">496</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="497" href="#497">497</a>     {
-<a name="498" href="#498">498</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
-<a name="499" href="#499">499</a>         {
-<a name="500" href="#500">500</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
-<a name="501" href="#501">501</a>             includeMavenResources( currentProject, builder, getLog() );
-<a name="502" href="#502">502</a> 
-<a name="503" href="#503">503</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
-<a name="504" href="#504">504</a>             addLocalPackages( outputDirectory, builder );
-<a name="505" href="#505">505</a> 
-<a name="506" href="#506">506</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
-<a name="507" href="#507">507</a>             addMavenSourcePath( currentProject, builder, getLog() );
-<a name="508" href="#508">508</a>         }
-<a name="509" href="#509">509</a> 
-<a name="510" href="#510">510</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
-<a name="511" href="#511">511</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
-<a name="512" href="#512">512</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
-<a name="513" href="#513">513</a> 
-<a name="514" href="#514">514</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="515" href="#515">515</a>         {
-<a name="516" href="#516">516</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="517" href="#517">517</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
-<a name="518" href="#518">518</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
-<a name="519" href="#519">519</a>             {
-<a name="520" href="#520">520</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
-<a name="521" href="#521">521</a>                 dumpInstructions.getParentFile().mkdirs();
-<a name="522" href="#522">522</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
-<a name="523" href="#523">523</a>             }
+<a name="487" href="#487">487</a>         }
+<a name="488" href="#488">488</a>         properties.putAll( sanitizedEntries );
+<a name="489" href="#489">489</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="490" href="#490">490</a>     }
+<a name="491" href="#491">491</a> 
+<a name="492" href="#492">492</a> 
+<a name="493" href="#493">493</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
+<a name="494" href="#494">494</a>     {
+<a name="495" href="#495">495</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
+<a name="496" href="#496">496</a>         {
+<a name="497" href="#497">497</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
+<a name="498" href="#498">498</a>         }
+<a name="499" href="#499">499</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
+<a name="500" href="#500">500</a>         {
+<a name="501" href="#501">501</a>             String delim = <span class="jxr_string">""</span>;
+<a name="502" href="#502">502</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="503" href="#503">503</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
+<a name="504" href="#504">504</a>             {
+<a name="505" href="#505">505</a>                 buf.append( delim ).append( i );
+<a name="506" href="#506">506</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="507" href="#507">507</a>             }
+<a name="508" href="#508">508</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="509" href="#509">509</a>         }
+<a name="510" href="#510">510</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
+<a name="511" href="#511">511</a>         {
+<a name="512" href="#512">512</a>             String delim = <span class="jxr_string">""</span>;
+<a name="513" href="#513">513</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="514" href="#514">514</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0, len = Array.getLength( value ); i &lt; len; i++ )
+<a name="515" href="#515">515</a>             {
+<a name="516" href="#516">516</a>                 buf.append( delim ).append( Array.get( value, i ) );
+<a name="517" href="#517">517</a>                 delim = <span class="jxr_string">", "</span>;
+<a name="518" href="#518">518</a>             }
+<a name="519" href="#519">519</a>             <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="520" href="#520">520</a>         }
+<a name="521" href="#521">521</a>         <strong class="jxr_keyword">else</strong>
+<a name="522" href="#522">522</a>         {
+<a name="523" href="#523">523</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
 <a name="524" href="#524">524</a>         }
-<a name="525" href="#525">525</a> 
-<a name="526" href="#526">526</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="527" href="#527">527</a>         {
-<a name="528" href="#528">528</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="529" href="#529">529</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
-<a name="530" href="#530">530</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
-<a name="531" href="#531">531</a>             {
-<a name="532" href="#532">532</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
-<a name="533" href="#533">533</a>                 dumpClasspath.getParentFile().mkdirs();
-<a name="534" href="#534">534</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
-<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> 
-<a name="540" href="#540">540</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="541" href="#541">541</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="542" href="#542">542</a>     {
-<a name="543" href="#543">543</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
-<a name="544" href="#544">544</a> 
-<a name="545" href="#545">545</a>         addMavenInstructions( currentProject, builder );
-<a name="546" href="#546">546</a> 
-<a name="547" href="#547">547</a>         builder.build();
-<a name="548" href="#548">548</a> 
-<a name="549" href="#549">549</a>         mergeMavenManifest( currentProject, builder );
-<a name="550" href="#550">550</a> 
-<a name="551" href="#551">551</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="552" href="#552">552</a>     }
-<a name="553" href="#553">553</a> 
-<a name="554" href="#554">554</a> 
-<a name="555" href="#555">555</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
-<a name="556" href="#556">556</a>     {
-<a name="557" href="#557">557</a>         <strong class="jxr_keyword">try</strong>
-<a name="558" href="#558">558</a>         {
-<a name="559" href="#559">559</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="560" href="#560">560</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="561" href="#561">561</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
-<a name="562" href="#562">562</a>             {
-<a name="563" href="#563">563</a>                 <em class="jxr_comment">// we can only store String properties</em>
-<a name="564" href="#564">564</a>                 String key = ( String ) e.nextElement();
-<a name="565" href="#565">565</a>                 String value = properties.getProperty( key );
-<a name="566" href="#566">566</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
-<a name="567" href="#567">567</a>                 {
-<a name="568" href="#568">568</a>                     stringProperties.setProperty( key, value );
-<a name="569" href="#569">569</a>                 }
-<a name="570" href="#570">570</a>             }
-<a name="571" href="#571">571</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="572" href="#572">572</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
-<a name="573" href="#573">573</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
-<a name="574" href="#574">574</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="575" href="#575">575</a>         }
-<a name="576" href="#576">576</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="577" href="#577">577</a>         {
-<a name="578" href="#578">578</a>             <em class="jxr_comment">// ignore...</em>
-<a name="579" href="#579">579</a>         }
-<a name="580" href="#580">580</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="581" href="#581">581</a>     }
+<a name="525" href="#525">525</a>     }
+<a name="526" href="#526">526</a> 
+<a name="527" href="#527">527</a> 
+<a name="528" href="#528">528</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addMavenInstructions( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="529" href="#529">529</a>     {
+<a name="530" href="#530">530</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
+<a name="531" href="#531">531</a>         {
+<a name="532" href="#532">532</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
+<a name="533" href="#533">533</a>             includeMavenResources( currentProject, builder, getLog() );
+<a name="534" href="#534">534</a> 
+<a name="535" href="#535">535</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
+<a name="536" href="#536">536</a>             addLocalPackages( outputDirectory, builder );
+<a name="537" href="#537">537</a> 
+<a name="538" href="#538">538</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
+<a name="539" href="#539">539</a>             addMavenSourcePath( currentProject, builder, getLog() );
+<a name="540" href="#540">540</a>         }
+<a name="541" href="#541">541</a> 
+<a name="542" href="#542">542</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
+<a name="543" href="#543">543</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
+<a name="544" href="#544">544</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
+<a name="547" href="#547">547</a>         {
+<a name="548" href="#548">548</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="549" href="#549">549</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
+<a name="550" href="#550">550</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
+<a name="551" href="#551">551</a>             {
+<a name="552" href="#552">552</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
+<a name="553" href="#553">553</a>                 dumpInstructions.getParentFile().mkdirs();
+<a name="554" href="#554">554</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
+<a name="555" href="#555">555</a>             }
+<a name="556" href="#556">556</a>         }
+<a name="557" href="#557">557</a> 
+<a name="558" href="#558">558</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
+<a name="559" href="#559">559</a>         {
+<a name="560" href="#560">560</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="561" href="#561">561</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
+<a name="562" href="#562">562</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
+<a name="563" href="#563">563</a>             {
+<a name="564" href="#564">564</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
+<a name="565" href="#565">565</a>                 dumpClasspath.getParentFile().mkdirs();
+<a name="566" href="#566">566</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
+<a name="567" href="#567">567</a>             }
+<a name="568" href="#568">568</a>         }
+<a name="569" href="#569">569</a>     }
+<a name="570" href="#570">570</a> 
+<a name="571" href="#571">571</a> 
+<a name="572" href="#572">572</a>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
+<a name="573" href="#573">573</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="574" href="#574">574</a>     {
+<a name="575" href="#575">575</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
+<a name="576" href="#576">576</a> 
+<a name="577" href="#577">577</a>         addMavenInstructions( currentProject, builder );
+<a name="578" href="#578">578</a> 
+<a name="579" href="#579">579</a>         builder.build();
+<a name="580" href="#580">580</a> 
+<a name="581" href="#581">581</a>         mergeMavenManifest( currentProject, builder );
 <a name="582" href="#582">582</a> 
-<a name="583" href="#583">583</a> 
-<a name="584" href="#584">584</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
-<a name="585" href="#585">585</a>     {
-<a name="586" href="#586">586</a>         <strong class="jxr_keyword">try</strong>
-<a name="587" href="#587">587</a>         {
-<a name="588" href="#588">588</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="589" href="#589">589</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
-<a name="590" href="#590">590</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
-<a name="591" href="#591">591</a>             {
-<a name="592" href="#592">592</a>                 File path = ( ( Jar ) i.next() ).getSource();
-<a name="593" href="#593">593</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
-<a name="594" href="#594">594</a>                 {
-<a name="595" href="#595">595</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
-<a name="596" href="#596">596</a>                 }
-<a name="597" href="#597">597</a>             }
-<a name="598" href="#598">598</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="599" href="#599">599</a>         }
-<a name="600" href="#600">600</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="601" href="#601">601</a>         {
-<a name="602" href="#602">602</a>             <em class="jxr_comment">// ignore...</em>
-<a name="603" href="#603">603</a>         }
-<a name="604" href="#604">604</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="605" href="#605">605</a>     }
-<a name="606" href="#606">606</a> 
-<a name="607" href="#607">607</a> 
-<a name="608" href="#608">608</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
-<a name="609" href="#609">609</a>     {
-<a name="610" href="#610">610</a>         <strong class="jxr_keyword">try</strong>
-<a name="611" href="#611">611</a>         {
-<a name="612" href="#612">612</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="613" href="#613">613</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="614" href="#614">614</a>             Jar.writeManifest( manifest, out ); <em class="jxr_comment">// manifest encoding is UTF8</em>
-<a name="615" href="#615">615</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
-<a name="616" href="#616">616</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="617" href="#617">617</a>         }
-<a name="618" href="#618">618</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="583" href="#583">583</a>         <strong class="jxr_keyword">return</strong> builder;
+<a name="584" href="#584">584</a>     }
+<a name="585" href="#585">585</a> 
+<a name="586" href="#586">586</a> 
+<a name="587" href="#587">587</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
+<a name="588" href="#588">588</a>     {
+<a name="589" href="#589">589</a>         <strong class="jxr_keyword">try</strong>
+<a name="590" href="#590">590</a>         {
+<a name="591" href="#591">591</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="592" href="#592">592</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="593" href="#593">593</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
+<a name="594" href="#594">594</a>             {
+<a name="595" href="#595">595</a>                 <em class="jxr_comment">// we can only store String properties</em>
+<a name="596" href="#596">596</a>                 String key = ( String ) e.nextElement();
+<a name="597" href="#597">597</a>                 String value = properties.getProperty( key );
+<a name="598" href="#598">598</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
+<a name="599" href="#599">599</a>                 {
+<a name="600" href="#600">600</a>                     stringProperties.setProperty( key, value );
+<a name="601" href="#601">601</a>                 }
+<a name="602" href="#602">602</a>             }
+<a name="603" href="#603">603</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="604" href="#604">604</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
+<a name="605" href="#605">605</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
+<a name="606" href="#606">606</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="607" href="#607">607</a>         }
+<a name="608" href="#608">608</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="609" href="#609">609</a>         {
+<a name="610" href="#610">610</a>             <em class="jxr_comment">// ignore...</em>
+<a name="611" href="#611">611</a>         }
+<a name="612" href="#612">612</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="613" href="#613">613</a>     }
+<a name="614" href="#614">614</a> 
+<a name="615" href="#615">615</a> 
+<a name="616" href="#616">616</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
+<a name="617" href="#617">617</a>     {
+<a name="618" href="#618">618</a>         <strong class="jxr_keyword">try</strong>
 <a name="619" href="#619">619</a>         {
-<a name="620" href="#620">620</a>             <em class="jxr_comment">// ignore...</em>
-<a name="621" href="#621">621</a>         }
-<a name="622" href="#622">622</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="623" href="#623">623</a>     }
-<a name="624" href="#624">624</a> 
-<a name="625" href="#625">625</a> 
-<a name="626" href="#626">626</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="627" href="#627">627</a>     {
-<a name="628" href="#628">628</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
-<a name="629" href="#629">629</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject );
-<a name="630" href="#630">630</a>         <strong class="jxr_keyword">final</strong> String includeResource = ( String ) analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="631" href="#631">631</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
-<a name="632" href="#632">632</a>         {
-<a name="633" href="#633">633</a>             <strong class="jxr_keyword">if</strong> ( includeResource.indexOf( MAVEN_RESOURCES ) &gt;= 0 )
-<a name="634" href="#634">634</a>             {
-<a name="635" href="#635">635</a>                 <em class="jxr_comment">// if there is no maven resource path, we do a special treatment and replace</em>
-<a name="636" href="#636">636</a>                 <em class="jxr_comment">// every occurance of MAVEN_RESOURCES and a following comma with an empty string</em>
-<a name="637" href="#637">637</a>                 <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() == 0 )
-<a name="638" href="#638">638</a>                 {
-<a name="639" href="#639">639</a>                     String cleanedResource = removeTagFromInstruction( includeResource, MAVEN_RESOURCES );
-<a name="640" href="#640">640</a>                     <strong class="jxr_keyword">if</strong> ( cleanedResource.length() &gt; 0 )
-<a name="641" href="#641">641</a>                     {
-<a name="642" href="#642">642</a>                         analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, cleanedResource );
-<a name="643" href="#643">643</a>                     }
-<a name="644" href="#644">644</a>                     <strong class="jxr_keyword">else</strong>
-<a name="645" href="#645">645</a>                     {
-<a name="646" href="#646">646</a>                         analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="647" href="#647">647</a>                     }
-<a name="648" href="#648">648</a>                 }
-<a name="649" href="#649">649</a>                 <strong class="jxr_keyword">else</strong>
-<a name="650" href="#650">650</a>                 {
-<a name="651" href="#651">651</a>                     String combinedResource = StringUtils
-<a name="652" href="#652">652</a>                         .replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
-<a name="653" href="#653">653</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
-<a name="654" href="#654">654</a>                 }
-<a name="655" href="#655">655</a>             }
-<a name="656" href="#656">656</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="657" href="#657">657</a>             {
-<a name="658" href="#658">658</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
-<a name="659" href="#659">659</a>                     + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
-<a name="660" href="#660">660</a>             }
-<a name="661" href="#661">661</a>         }
-<a name="662" href="#662">662</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="663" href="#663">663</a>         {
-<a name="664" href="#664">664</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
-<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> 
-<a name="669" href="#669">669</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="670" href="#670">670</a>     {
-<a name="671" href="#671">671</a>         Jar jar = builder.getJar();
-<a name="672" href="#672">672</a> 
-<a name="673" href="#673">673</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="674" href="#674">674</a>         {
-<a name="675" href="#675">675</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="676" href="#676">676</a>         }
-<a name="677" href="#677">677</a> 
-<a name="678" href="#678">678</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
-<a name="679" href="#679">679</a> 
-<a name="680" href="#680">680</a>         <strong class="jxr_keyword">try</strong>
-<a name="681" href="#681">681</a>         {
-<a name="682" href="#682">682</a>             <em class="jxr_comment">/*</em>
-<a name="683" href="#683">683</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
-<a name="684" href="#684">684</a> <em class="jxr_comment">             */</em>
-<a name="685" href="#685">685</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
-<a name="686" href="#686">686</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
-<a name="687" href="#687">687</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
-<a name="688" href="#688">688</a> 
-<a name="689" href="#689">689</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
-<a name="690" href="#690">690</a> 
-<a name="691" href="#691">691</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
-<a name="692" href="#692">692</a>             File externalManifestFile = archiveConfig.getManifestFile();
-<a name="693" href="#693">693</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile &amp;&amp; externalManifestFile.exists()
-<a name="694" href="#694">694</a>                 &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
-<a name="695" href="#695">695</a>             {
-<a name="696" href="#696">696</a>                 InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
-<a name="697" href="#697">697</a>                 mavenManifest.read( mis );
-<a name="698" href="#698">698</a>                 mis.close();
-<a name="699" href="#699">699</a>             }
+<a name="620" href="#620">620</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="621" href="#621">621</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
+<a name="622" href="#622">622</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
+<a name="623" href="#623">623</a>             {
+<a name="624" href="#624">624</a>                 File path = ( ( Jar ) i.next() ).getSource();
+<a name="625" href="#625">625</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
+<a name="626" href="#626">626</a>                 {
+<a name="627" href="#627">627</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
+<a name="628" href="#628">628</a>                 }
+<a name="629" href="#629">629</a>             }
+<a name="630" href="#630">630</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="631" href="#631">631</a>         }
+<a name="632" href="#632">632</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="633" href="#633">633</a>         {
+<a name="634" href="#634">634</a>             <em class="jxr_comment">// ignore...</em>
+<a name="635" href="#635">635</a>         }
+<a name="636" href="#636">636</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="637" href="#637">637</a>     }
+<a name="638" href="#638">638</a> 
+<a name="639" href="#639">639</a> 
+<a name="640" href="#640">640</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
+<a name="641" href="#641">641</a>     {
+<a name="642" href="#642">642</a>         <strong class="jxr_keyword">try</strong>
+<a name="643" href="#643">643</a>         {
+<a name="644" href="#644">644</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="645" href="#645">645</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="646" href="#646">646</a>             Jar.writeManifest( manifest, out ); <em class="jxr_comment">// manifest encoding is UTF8</em>
+<a name="647" href="#647">647</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
+<a name="648" href="#648">648</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
+<a name="649" href="#649">649</a>         }
+<a name="650" href="#650">650</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
+<a name="651" href="#651">651</a>         {
+<a name="652" href="#652">652</a>             <em class="jxr_comment">// ignore...</em>
+<a name="653" href="#653">653</a>         }
+<a name="654" href="#654">654</a>         <strong class="jxr_keyword">return</strong> buf;
+<a name="655" href="#655">655</a>     }
+<a name="656" href="#656">656</a> 
+<a name="657" href="#657">657</a> 
+<a name="658" href="#658">658</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> includeMavenResources( MavenProject currentProject, Analyzer analyzer, Log log )
+<a name="659" href="#659">659</a>     {
+<a name="660" href="#660">660</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
+<a name="661" href="#661">661</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject );
+<a name="662" href="#662">662</a>         <strong class="jxr_keyword">final</strong> String includeResource = ( String ) analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="663" href="#663">663</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
+<a name="664" href="#664">664</a>         {
+<a name="665" href="#665">665</a>             <strong class="jxr_keyword">if</strong> ( includeResource.indexOf( MAVEN_RESOURCES ) &gt;= 0 )
+<a name="666" href="#666">666</a>             {
+<a name="667" href="#667">667</a>                 <em class="jxr_comment">// if there is no maven resource path, we do a special treatment and replace</em>
+<a name="668" href="#668">668</a>                 <em class="jxr_comment">// every occurance of MAVEN_RESOURCES and a following comma with an empty string</em>
+<a name="669" href="#669">669</a>                 <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() == 0 )
+<a name="670" href="#670">670</a>                 {
+<a name="671" href="#671">671</a>                     String cleanedResource = removeTagFromInstruction( includeResource, MAVEN_RESOURCES );
+<a name="672" href="#672">672</a>                     <strong class="jxr_keyword">if</strong> ( cleanedResource.length() &gt; 0 )
+<a name="673" href="#673">673</a>                     {
+<a name="674" href="#674">674</a>                         analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, cleanedResource );
+<a name="675" href="#675">675</a>                     }
+<a name="676" href="#676">676</a>                     <strong class="jxr_keyword">else</strong>
+<a name="677" href="#677">677</a>                     {
+<a name="678" href="#678">678</a>                         analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
+<a name="679" href="#679">679</a>                     }
+<a name="680" href="#680">680</a>                 }
+<a name="681" href="#681">681</a>                 <strong class="jxr_keyword">else</strong>
+<a name="682" href="#682">682</a>                 {
+<a name="683" href="#683">683</a>                     String combinedResource = StringUtils
+<a name="684" href="#684">684</a>                         .replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
+<a name="685" href="#685">685</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
+<a name="686" href="#686">686</a>                 }
+<a name="687" href="#687">687</a>             }
+<a name="688" href="#688">688</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="689" href="#689">689</a>             {
+<a name="690" href="#690">690</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
+<a name="691" href="#691">691</a>                     + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
+<a name="692" href="#692">692</a>             }
+<a name="693" href="#693">693</a>         }
+<a name="694" href="#694">694</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
+<a name="695" href="#695">695</a>         {
+<a name="696" href="#696">696</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
+<a name="697" href="#697">697</a>         }
+<a name="698" href="#698">698</a>     }
+<a name="699" href="#699">699</a> 
 <a name="700" href="#700">700</a> 
-<a name="701" href="#701">701</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
-<a name="702" href="#702">702</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
-<a name="703" href="#703">703</a> 
-<a name="704" href="#704">704</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
-<a name="705" href="#705">705</a>             {
-<a name="706" href="#706">706</a>                 <em class="jxr_comment">/*</em>
-<a name="707" href="#707">707</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
-<a name="708" href="#708">708</a> <em class="jxr_comment">                 */</em>
-<a name="709" href="#709">709</a>                 List sections = archiveConfig.getManifestSections();
-<a name="710" href="#710">710</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
-<a name="711" href="#711">711</a>                 {
-<a name="712" href="#712">712</a>                     ManifestSection section = ( ManifestSection ) i.next();
-<a name="713" href="#713">713</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
-<a name="714" href="#714">714</a> 
-<a name="715" href="#715">715</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
-<a name="716" href="#716">716</a>                     {
-<a name="717" href="#717">717</a>                         Map entries = section.getManifestEntries();
-<a name="718" href="#718">718</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
-<a name="719" href="#719">719</a>                         {
-<a name="720" href="#720">720</a>                             Map.Entry entry = ( Map.Entry ) j.next();
-<a name="721" href="#721">721</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
-<a name="722" href="#722">722</a>                         }
-<a name="723" href="#723">723</a>                     }
-<a name="724" href="#724">724</a> 
-<a name="725" href="#725">725</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
-<a name="726" href="#726">726</a>                 }
-<a name="727" href="#727">727</a>             }
-<a name="728" href="#728">728</a> 
-<a name="729" href="#729">729</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
-<a name="730" href="#730">730</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
-<a name="731" href="#731">731</a> 
-<a name="732" href="#732">732</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
-<a name="733" href="#733">733</a> 
-<a name="734" href="#734">734</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
-<a name="735" href="#735">735</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
-<a name="736" href="#736">736</a>             {
-<a name="737" href="#737">737</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
-<a name="738" href="#738">738</a>                 {
-<a name="739" href="#739">739</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
-<a name="740" href="#740">740</a>                     {
-<a name="741" href="#741">741</a>                         j.remove();
-<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> 
-<a name="746" href="#746">746</a>             <em class="jxr_comment">/*</em>
-<a name="747" href="#747">747</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
-<a name="748" href="#748">748</a> <em class="jxr_comment">             */</em>
-<a name="749" href="#749">749</a>             Manifest bundleManifest = jar.getManifest();
-<a name="750" href="#750">750</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
-<a name="751" href="#751">751</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
+<a name="701" href="#701">701</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> mergeMavenManifest( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
+<a name="702" href="#702">702</a>     {
+<a name="703" href="#703">703</a>         Jar jar = builder.getJar();
+<a name="704" href="#704">704</a> 
+<a name="705" href="#705">705</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="706" href="#706">706</a>         {
+<a name="707" href="#707">707</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="708" href="#708">708</a>         }
+<a name="709" href="#709">709</a> 
+<a name="710" href="#710">710</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
+<a name="711" href="#711">711</a> 
+<a name="712" href="#712">712</a>         <strong class="jxr_keyword">try</strong>
+<a name="713" href="#713">713</a>         {
+<a name="714" href="#714">714</a>             <em class="jxr_comment">/*</em>
+<a name="715" href="#715">715</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
+<a name="716" href="#716">716</a> <em class="jxr_comment">             */</em>
+<a name="717" href="#717">717</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
+<a name="718" href="#718">718</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
+<a name="719" href="#719">719</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
+<a name="720" href="#720">720</a> 
+<a name="721" href="#721">721</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="722" href="#722">722</a> 
+<a name="723" href="#723">723</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
+<a name="724" href="#724">724</a>             File externalManifestFile = archiveConfig.getManifestFile();
+<a name="725" href="#725">725</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile )
+<a name="726" href="#726">726</a>             {
+<a name="727" href="#727">727</a>                 <strong class="jxr_keyword">if</strong> ( !externalManifestFile.isAbsolute() )
+<a name="728" href="#728">728</a>                 {
+<a name="729" href="#729">729</a>                     externalManifestFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), externalManifestFile.getPath() );
+<a name="730" href="#730">730</a>                 }
+<a name="731" href="#731">731</a>                 <strong class="jxr_keyword">if</strong> ( externalManifestFile.exists() &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
+<a name="732" href="#732">732</a>                 {
+<a name="733" href="#733">733</a>                     InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
+<a name="734" href="#734">734</a>                     mavenManifest.read( mis );
+<a name="735" href="#735">735</a>                     mis.close();
+<a name="736" href="#736">736</a>                 }
+<a name="737" href="#737">737</a>             }
+<a name="738" href="#738">738</a> 
+<a name="739" href="#739">739</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
+<a name="740" href="#740">740</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
+<a name="741" href="#741">741</a> 
+<a name="742" href="#742">742</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
+<a name="743" href="#743">743</a>             {
+<a name="744" href="#744">744</a>                 <em class="jxr_comment">/*</em>
+<a name="745" href="#745">745</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
+<a name="746" href="#746">746</a> <em class="jxr_comment">                 */</em>
+<a name="747" href="#747">747</a>                 List sections = archiveConfig.getManifestSections();
+<a name="748" href="#748">748</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
+<a name="749" href="#749">749</a>                 {
+<a name="750" href="#750">750</a>                     ManifestSection section = ( ManifestSection ) i.next();
+<a name="751" href="#751">751</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
 <a name="752" href="#752">752</a> 
-<a name="753" href="#753">753</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
-<a name="754" href="#754">754</a>             <em class="jxr_comment">// optional resolution.</em>
-<a name="755" href="#755">755</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
-<a name="756" href="#756">756</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
-<a name="757" href="#757">757</a>             {
-<a name="758" href="#758">758</a>                 Set optionalPackages = getOptionalPackages( currentProject );
-<a name="759" href="#759">759</a> 
-<a name="760" href="#760">760</a>                 Map&lt;String, Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
-<a name="761" href="#761">761</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Map&lt;String, String&gt;&gt; entry : values.entrySet() )
-<a name="762" href="#762">762</a>                 {
-<a name="763" href="#763">763</a>                     String pkg = entry.getKey();
-<a name="764" href="#764">764</a>                     Map&lt;String, String&gt; options = entry.getValue();
-<a name="765" href="#765">765</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
-<a name="766" href="#766">766</a>                     {
-<a name="767" href="#767">767</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
-<a name="768" href="#768">768</a>                     }
-<a name="769" href="#769">769</a>                 }
-<a name="770" href="#770">770</a>                 String result = Processor.printClauses( values );
-<a name="771" href="#771">771</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
-<a name="772" href="#772">772</a>             }
-<a name="773" href="#773">773</a> 
-<a name="774" href="#774">774</a>             jar.setManifest( bundleManifest );
-<a name="775" href="#775">775</a>         }
-<a name="776" href="#776">776</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="777" href="#777">777</a>         {
-<a name="778" href="#778">778</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
-<a name="779" href="#779">779</a>         }
-<a name="780" href="#780">780</a> 
-<a name="781" href="#781">781</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
-<a name="782" href="#782">782</a>         {
-<a name="783" href="#783">783</a>             doMavenMetadata( currentProject, jar );
-<a name="784" href="#784">784</a>         }
-<a name="785" href="#785">785</a> 
-<a name="786" href="#786">786</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="787" href="#787">787</a>         {
-<a name="788" href="#788">788</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="789" href="#789">789</a>         }
+<a name="753" href="#753">753</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
+<a name="754" href="#754">754</a>                     {
+<a name="755" href="#755">755</a>                         Map entries = section.getManifestEntries();
+<a name="756" href="#756">756</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
+<a name="757" href="#757">757</a>                         {
+<a name="758" href="#758">758</a>                             Map.Entry entry = ( Map.Entry ) j.next();
+<a name="759" href="#759">759</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
+<a name="760" href="#760">760</a>                         }
+<a name="761" href="#761">761</a>                     }
+<a name="762" href="#762">762</a> 
+<a name="763" href="#763">763</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
+<a name="764" href="#764">764</a>                 }
+<a name="765" href="#765">765</a>             }
+<a name="766" href="#766">766</a> 
+<a name="767" href="#767">767</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
+<a name="768" href="#768">768</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
+<a name="769" href="#769">769</a> 
+<a name="770" href="#770">770</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
+<a name="771" href="#771">771</a> 
+<a name="772" href="#772">772</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
+<a name="773" href="#773">773</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
+<a name="774" href="#774">774</a>             {
+<a name="775" href="#775">775</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
+<a name="776" href="#776">776</a>                 {
+<a name="777" href="#777">777</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
+<a name="778" href="#778">778</a>                     {
+<a name="779" href="#779">779</a>                         j.remove();
+<a name="780" href="#780">780</a>                     }
+<a name="781" href="#781">781</a>                 }
+<a name="782" href="#782">782</a>             }
+<a name="783" href="#783">783</a> 
+<a name="784" href="#784">784</a>             <em class="jxr_comment">/*</em>
+<a name="785" href="#785">785</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
+<a name="786" href="#786">786</a> <em class="jxr_comment">             */</em>
+<a name="787" href="#787">787</a>             Manifest bundleManifest = jar.getManifest();
+<a name="788" href="#788">788</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
+<a name="789" href="#789">789</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
 <a name="790" href="#790">790</a> 
-<a name="791" href="#791">791</a>         builder.setJar( jar );
-<a name="792" href="#792">792</a>     }
-<a name="793" href="#793">793</a> 
-<a name="794" href="#794">794</a> 
-<a name="795" href="#795">795</a>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="796" href="#796">796</a>     {
-<a name="797" href="#797">797</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="798" href="#798">798</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="799" href="#799">799</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="800" href="#800">800</a>         {
-<a name="801" href="#801">801</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="802" href="#802">802</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="803" href="#803">803</a>             {
-<a name="804" href="#804">804</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="805" href="#805">805</a>                 {
-<a name="806" href="#806">806</a>                     inscope.add( artifact );
+<a name="791" href="#791">791</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
+<a name="792" href="#792">792</a>             <em class="jxr_comment">// optional resolution.</em>
+<a name="793" href="#793">793</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
+<a name="794" href="#794">794</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
+<a name="795" href="#795">795</a>             {
+<a name="796" href="#796">796</a>                 Set optionalPackages = getOptionalPackages( currentProject );
+<a name="797" href="#797">797</a> 
+<a name="798" href="#798">798</a>                 Map&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
+<a name="799" href="#799">799</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> Map&lt;String, String&gt;&gt; entry : values.entrySet() )
+<a name="800" href="#800">800</a>                 {
+<a name="801" href="#801">801</a>                     String pkg = entry.getKey();
+<a name="802" href="#802">802</a>                     Map&lt;String, String&gt; options = entry.getValue();
+<a name="803" href="#803">803</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
+<a name="804" href="#804">804</a>                     {
+<a name="805" href="#805">805</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
+<a name="806" href="#806">806</a>                     }
 <a name="807" href="#807">807</a>                 }
-<a name="808" href="#808">808</a>             }
-<a name="809" href="#809">809</a>         }
-<a name="810" href="#810">810</a> 
-<a name="811" href="#811">811</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="812" href="#812">812</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="813" href="#813">813</a>         {
-<a name="814" href="#814">814</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="815" href="#815">815</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
-<a name="816" href="#816">816</a>             {
-<a name="817" href="#817">817</a>                 String id = artifact.toString();
-<a name="818" href="#818">818</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
-<a name="819" href="#819">819</a>                 {
-<a name="820" href="#820">820</a>                     <em class="jxr_comment">// strip the scope...</em>
-<a name="821" href="#821">821</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
-<a name="822" href="#822">822</a>                 }
-<a name="823" href="#823">823</a>                 optionalArtifactIds.add( id );
-<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> 
-<a name="828" href="#828">828</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="829" href="#829">829</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="830" href="#830">830</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="831" href="#831">831</a>         {
-<a name="832" href="#832">832</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="833" href="#833">833</a>             File file = getFile( artifact );
-<a name="834" href="#834">834</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="835" href="#835">835</a>             {
-<a name="836" href="#836">836</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="837" href="#837">837</a>             }
-<a name="838" href="#838">838</a> 
-<a name="839" href="#839">839</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="840" href="#840">840</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
+<a name="808" href="#808">808</a>                 String result = Processor.printClauses( values );
+<a name="809" href="#809">809</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
+<a name="810" href="#810">810</a>             }
+<a name="811" href="#811">811</a> 
+<a name="812" href="#812">812</a>             jar.setManifest( bundleManifest );
+<a name="813" href="#813">813</a>         }
+<a name="814" href="#814">814</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="815" href="#815">815</a>         {
+<a name="816" href="#816">816</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
+<a name="817" href="#817">817</a>         }
+<a name="818" href="#818">818</a> 
+<a name="819" href="#819">819</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
+<a name="820" href="#820">820</a>         {
+<a name="821" href="#821">821</a>             doMavenMetadata( currentProject, jar );
+<a name="822" href="#822">822</a>         }
+<a name="823" href="#823">823</a> 
+<a name="824" href="#824">824</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a name="825" href="#825">825</a>         {
+<a name="826" href="#826">826</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
+<a name="827" href="#827">827</a>         }
+<a name="828" href="#828">828</a> 
+<a name="829" href="#829">829</a>         builder.setJar( jar );
+<a name="830" href="#830">830</a>     }
+<a name="831" href="#831">831</a> 
+<a name="832" href="#832">832</a> 
+<a name="833" href="#833">833</a>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
+<a name="834" href="#834">834</a>     {
+<a name="835" href="#835">835</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="836" href="#836">836</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="837" href="#837">837</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="838" href="#838">838</a>         {
+<a name="839" href="#839">839</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="840" href="#840">840</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
 <a name="841" href="#841">841</a>             {
-<a name="842" href="#842">842</a>                 optional.addAll( jar.getPackages() );
-<a name="843" href="#843">843</a>             }
-<a name="844" href="#844">844</a>             <strong class="jxr_keyword">else</strong>
-<a name="845" href="#845">845</a>             {
-<a name="846" href="#846">846</a>                 required.addAll( jar.getPackages() );
-<a name="847" href="#847">847</a>             }
-<a name="848" href="#848">848</a>             jar.close();
-<a name="849" href="#849">849</a>         }
-<a name="850" href="#850">850</a> 
-<a name="851" href="#851">851</a>         optional.removeAll( required );
-<a name="852" href="#852">852</a>         <strong class="jxr_keyword">return</strong> optional;
-<a name="853" href="#853">853</a>     }
-<a name="854" href="#854">854</a> 
-<a name="855" href="#855">855</a> 
-<a name="856" href="#856">856</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="857" href="#857">857</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
-<a name="858" href="#858">858</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
-<a name="859" href="#859">859</a> <em class="jxr_javadoccomment">     *</em>
-<a name="860" href="#860">860</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="861" href="#861">861</a> <em class="jxr_javadoccomment">     */</em>
-<a name="862" href="#862">862</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
-<a name="863" href="#863">863</a>     {
-<a name="864" href="#864">864</a>         List trail = artifact.getDependencyTrail();
-<a name="865" href="#865">865</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
-<a name="866" href="#866">866</a>         {
-<a name="867" href="#867">867</a>             String next = ( String ) iterator.next();
-<a name="868" href="#868">868</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
-<a name="869" href="#869">869</a>             {
-<a name="870" href="#870">870</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="871" href="#871">871</a>             }
-<a name="872" href="#872">872</a>         }
-<a name="873" href="#873">873</a>         <strong class="jxr_keyword">return</strong> false;
-<a name="874" href="#874">874</a>     }
-<a name="875" href="#875">875</a> 
+<a name="842" href="#842">842</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="843" href="#843">843</a>                 {
+<a name="844" href="#844">844</a>                     inscope.add( artifact );
+<a name="845" href="#845">845</a>                 }
+<a name="846" href="#846">846</a>             }
+<a name="847" href="#847">847</a>         }
+<a name="848" href="#848">848</a> 
+<a name="849" href="#849">849</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="850" href="#850">850</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="851" href="#851">851</a>         {
+<a name="852" href="#852">852</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="853" href="#853">853</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
+<a name="854" href="#854">854</a>             {
+<a name="855" href="#855">855</a>                 String id = artifact.toString();
+<a name="856" href="#856">856</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
+<a name="857" href="#857">857</a>                 {
+<a name="858" href="#858">858</a>                     <em class="jxr_comment">// strip the scope...</em>
+<a name="859" href="#859">859</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
+<a name="860" href="#860">860</a>                 }
+<a name="861" href="#861">861</a>                 optionalArtifactIds.add( id );
+<a name="862" href="#862">862</a>             }
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>         }
+<a name="865" href="#865">865</a> 
+<a name="866" href="#866">866</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="867" href="#867">867</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="868" href="#868">868</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
+<a name="869" href="#869">869</a>         {
+<a name="870" href="#870">870</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="871" href="#871">871</a>             File file = getFile( artifact );
+<a name="872" href="#872">872</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="873" href="#873">873</a>             {
+<a name="874" href="#874">874</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="875" href="#875">875</a>             }
 <a name="876" href="#876">876</a> 
-<a name="877" href="#877">877</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
-<a name="878" href="#878">878</a>     {
-<a name="879" href="#879">879</a>         File outputDir = getOutputDirectory();
-<a name="880" href="#880">880</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
-<a name="881" href="#881">881</a>         {
-<a name="882" href="#882">882</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
-<a name="883" href="#883">883</a>         }
-<a name="884" href="#884">884</a> 
-<a name="885" href="#885">885</a>         <strong class="jxr_keyword">try</strong>
-<a name="886" href="#886">886</a>         {
-<a name="887" href="#887">887</a>             <em class="jxr_comment">/*</em>
-<a name="888" href="#888">888</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
-<a name="889" href="#889">889</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
-<a name="890" href="#890">890</a> <em class="jxr_comment">             */</em>
-<a name="891" href="#891">891</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
-<a name="892" href="#892">892</a>             {
-<a name="893" href="#893">893</a>                 outputDir.mkdirs();
-<a name="894" href="#894">894</a>             }
-<a name="895" href="#895">895</a> 
-<a name="896" href="#896">896</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
-<a name="897" href="#897">897</a>             unArchiver.setDestDirectory( outputDir );
-<a name="898" href="#898">898</a>             unArchiver.setSourceFile( jarFile );
-<a name="899" href="#899">899</a>             unArchiver.extract();
-<a name="900" href="#900">900</a>         }
-<a name="901" href="#901">901</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="902" href="#902">902</a>         {
-<a name="903" href="#903">903</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
-<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> 
-<a name="908" href="#908">908</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
-<a name="909" href="#909">909</a>     {
-<a name="910" href="#910">910</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="911" href="#911">911</a> 
-<a name="912" href="#912">912</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
-<a name="913" href="#913">913</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
-<a name="914" href="#914">914</a>         {
-<a name="915" href="#915">915</a>             String clause = clauses[i].trim();
-<a name="916" href="#916">916</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
-<a name="917" href="#917">917</a>             {
-<a name="918" href="#918">918</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
-<a name="919" href="#919">919</a>                 {
-<a name="920" href="#920">920</a>                     buf.append( ',' );
-<a name="921" href="#921">921</a>                 }
-<a name="922" href="#922">922</a>                 buf.append( clause );
-<a name="923" href="#923">923</a>             }
-<a name="924" href="#924">924</a>         }
-<a name="925" href="#925">925</a> 
-<a name="926" href="#926">926</a>         <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="927" href="#927">927</a>     }
-<a name="928" href="#928">928</a> 
-<a name="929" href="#929">929</a> 
-<a name="930" href="#930">930</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
-<a name="931" href="#931">931</a>     {
-<a name="932" href="#932">932</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="933" href="#933">933</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
-<a name="934" href="#934">934</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
-<a name="935" href="#935">935</a>         {
-<a name="936" href="#936">936</a>             String name = methods[i].getName();
-<a name="937" href="#937">937</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
-<a name="938" href="#938">938</a>             {
-<a name="939" href="#939">939</a>                 <strong class="jxr_keyword">try</strong>
-<a name="940" href="#940">940</a>                 {
-<a name="941" href="#941">941</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
-<a name="942" href="#942">942</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
-<a name="943" href="#943">943</a>                     {
-<a name="944" href="#944">944</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
-<a name="945" href="#945">945</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
-<a name="946" href="#946">946</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
-<a name="947" href="#947">947</a>                         <strong class="jxr_keyword">else</strong>
-<a name="948" href="#948">948</a>                             properties.put( name, v );
+<a name="877" href="#877">877</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="878" href="#878">878</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
+<a name="879" href="#879">879</a>             {
+<a name="880" href="#880">880</a>                 optional.addAll( jar.getPackages() );
+<a name="881" href="#881">881</a>             }
+<a name="882" href="#882">882</a>             <strong class="jxr_keyword">else</strong>
+<a name="883" href="#883">883</a>             {
+<a name="884" href="#884">884</a>                 required.addAll( jar.getPackages() );
+<a name="885" href="#885">885</a>             }
+<a name="886" href="#886">886</a>             jar.close();
+<a name="887" href="#887">887</a>         }
+<a name="888" href="#888">888</a> 
+<a name="889" href="#889">889</a>         optional.removeAll( required );
+<a name="890" href="#890">890</a>         <strong class="jxr_keyword">return</strong> optional;
+<a name="891" href="#891">891</a>     }
+<a name="892" href="#892">892</a> 
+<a name="893" href="#893">893</a> 
+<a name="894" href="#894">894</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="895" href="#895">895</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
+<a name="896" href="#896">896</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
+<a name="897" href="#897">897</a> <em class="jxr_javadoccomment">     *</em>
+<a name="898" href="#898">898</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="899" href="#899">899</a> <em class="jxr_javadoccomment">     */</em>
+<a name="900" href="#900">900</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
+<a name="901" href="#901">901</a>     {
+<a name="902" href="#902">902</a>         List trail = artifact.getDependencyTrail();
+<a name="903" href="#903">903</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
+<a name="904" href="#904">904</a>         {
+<a name="905" href="#905">905</a>             String next = ( String ) iterator.next();
+<a name="906" href="#906">906</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
+<a name="907" href="#907">907</a>             {
+<a name="908" href="#908">908</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a name="909" href="#909">909</a>             }
+<a name="910" href="#910">910</a>         }
+<a name="911" href="#911">911</a>         <strong class="jxr_keyword">return</strong> false;
+<a name="912" href="#912">912</a>     }
+<a name="913" href="#913">913</a> 
+<a name="914" href="#914">914</a> 
+<a name="915" href="#915">915</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
+<a name="916" href="#916">916</a>     {
+<a name="917" href="#917">917</a>         File outputDir = getOutputDirectory();
+<a name="918" href="#918">918</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
+<a name="919" href="#919">919</a>         {
+<a name="920" href="#920">920</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
+<a name="921" href="#921">921</a>         }
+<a name="922" href="#922">922</a> 
+<a name="923" href="#923">923</a>         <strong class="jxr_keyword">try</strong>
+<a name="924" href="#924">924</a>         {
+<a name="925" href="#925">925</a>             <em class="jxr_comment">/*</em>
+<a name="926" href="#926">926</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
+<a name="927" href="#927">927</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
+<a name="928" href="#928">928</a> <em class="jxr_comment">             */</em>
+<a name="929" href="#929">929</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
+<a name="930" href="#930">930</a>             {
+<a name="931" href="#931">931</a>                 outputDir.mkdirs();
+<a name="932" href="#932">932</a>             }
+<a name="933" href="#933">933</a> 
+<a name="934" href="#934">934</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
+<a name="935" href="#935">935</a>             unArchiver.setDestDirectory( outputDir );
+<a name="936" href="#936">936</a>             unArchiver.setSourceFile( jarFile );
+<a name="937" href="#937">937</a>             unArchiver.extract();
+<a name="938" href="#938">938</a>         }
+<a name="939" href="#939">939</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="940" href="#940">940</a>         {
+<a name="941" href="#941">941</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
+<a name="942" href="#942">942</a>         }
+<a name="943" href="#943">943</a>     }
+<a name="944" href="#944">944</a> 
+<a name="945" href="#945">945</a> 
+<a name="946" href="#946">946</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
+<a name="947" href="#947">947</a>     {
+<a name="948" href="#948">948</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
 <a name="949" href="#949">949</a> 
-<a name="950" href="#950">950</a>                     }
-<a name="951" href="#951">951</a>                 }
-<a name="952" href="#952">952</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="953" href="#953">953</a>                 {
-<a name="954" href="#954">954</a>                     <em class="jxr_comment">// too bad</em>
-<a name="955" href="#955">955</a>                 }
-<a name="956" href="#956">956</a>             }
-<a name="957" href="#957">957</a>         }
-<a name="958" href="#958">958</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="959" href="#959">959</a>     }
-<a name="960" href="#960">960</a> 
-<a name="961" href="#961">961</a> 
-<a name="962" href="#962">962</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
-<a name="963" href="#963">963</a>     {
-<a name="964" href="#964">964</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
-<a name="965" href="#965">965</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="966" href="#966">966</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="967" href="#967">967</a>         String del = <span class="jxr_string">""</span>;
-<a name="968" href="#968">968</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
-<a name="969" href="#969">969</a>         {
-<a name="970" href="#970">970</a>             License l = ( License ) i.next();
-<a name="971" href="#971">971</a>             String url = l.getUrl();
-<a name="972" href="#972">972</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
-<a name="973" href="#973">973</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="974" href="#974">974</a>             sb.append( del );
-<a name="975" href="#975">975</a>             sb.append( url );
-<a name="976" href="#976">976</a>             del = <span class="jxr_string">", "</span>;
-<a name="977" href="#977">977</a>         }
-<a name="978" href="#978">978</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
-<a name="979" href="#979">979</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="980" href="#980">980</a>         <strong class="jxr_keyword">return</strong> sb;
-<a name="981" href="#981">981</a>     }
-<a name="982" href="#982">982</a> 
-<a name="983" href="#983">983</a> 
-<a name="984" href="#984">984</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="985" href="#985">985</a> <em class="jxr_javadoccomment">     * @param jar</em>
-<a name="986" href="#986">986</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
-<a name="987" href="#987">987</a> <em class="jxr_javadoccomment">     */</em>
-<a name="988" href="#988">988</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="989" href="#989">989</a>     {
-<a name="990" href="#990">990</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
-<a name="991" href="#991">991</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
-<a name="992" href="#992">992</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
-<a name="993" href="#993">993</a> 
-<a name="994" href="#994">994</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
-<a name="995" href="#995">995</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
-<a name="996" href="#996">996</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
-<a name="997" href="#997">997</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
-<a name="998" href="#998">998</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="999" href="#999">999</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
-<a name="1000" href="#1000">1000</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
-<a name="1001" href="#1001">1001</a>     }
-<a name="1002" href="#1002">1002</a> 
-<a name="1003" href="#1003">1003</a> 
-<a name="1004" href="#1004">1004</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="1005" href="#1005">1005</a>     {
-<a name="1006" href="#1006">1006</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="1007" href="#1007">1007</a> 
-<a name="1008" href="#1008">1008</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
-<a name="1009" href="#1009">1009</a>         {
-<a name="1010" href="#1010">1010</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
-<a name="1011" href="#1011">1011</a>         }
-<a name="1012" href="#1012">1012</a> 
-<a name="1013" href="#1013">1013</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="1014" href="#1014">1014</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="1015" href="#1015">1015</a>         {
-<a name="1016" href="#1016">1016</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="1017" href="#1017">1017</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="1018" href="#1018">1018</a>             {
-<a name="1019" href="#1019">1019</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="1020" href="#1020">1020</a>                 {
-<a name="1021" href="#1021">1021</a>                     File file = getFile( artifact );
-<a name="1022" href="#1022">1022</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="1023" href="#1023">1023</a>                     {
-<a name="1024" href="#1024">1024</a>                         getLog().warn(
-<a name="1025" href="#1025">1025</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
-<a name="1026" href="#1026">1026</a>                                 + currentProject.getArtifact() );
-<a name="1027" href="#1027">1027</a>                         <strong class="jxr_keyword">continue</strong>;
-<a name="1028" href="#1028">1028</a>                     }
-<a name="1029" href="#1029">1029</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="1030" href="#1030">1030</a>                     list.add( jar );
-<a name="1031" href="#1031">1031</a>                 }
-<a name="1032" href="#1032">1032</a>             }
-<a name="1033" href="#1033">1033</a>         }
-<a name="1034" href="#1034">1034</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
-<a name="1035" href="#1035">1035</a>         list.toArray( cp );
-<a name="1036" href="#1036">1036</a>         <strong class="jxr_keyword">return</strong> cp;
-<a name="1037" href="#1037">1037</a>     }
-<a name="1038" href="#1038">1038</a> 
-<a name="1039" href="#1039">1039</a> 
-<a name="1040" href="#1040">1040</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1041" href="#1041">1041</a>     {
-<a name="1042" href="#1042">1042</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
-<a name="1043" href="#1043">1043</a>         {
-<a name="1044" href="#1044">1044</a>             <strong class="jxr_keyword">return</strong> artifacts;
-<a name="1045" href="#1045">1045</a>         }
-<a name="1046" href="#1046">1046</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
+<a name="950" href="#950">950</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
+<a name="951" href="#951">951</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
+<a name="952" href="#952">952</a>         {
+<a name="953" href="#953">953</a>             String clause = clauses[i].trim();
+<a name="954" href="#954">954</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
+<a name="955" href="#955">955</a>             {
+<a name="956" href="#956">956</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
+<a name="957" href="#957">957</a>                 {
+<a name="958" href="#958">958</a>                     buf.append( ',' );
+<a name="959" href="#959">959</a>                 }
+<a name="960" href="#960">960</a>                 buf.append( clause );
+<a name="961" href="#961">961</a>             }
+<a name="962" href="#962">962</a>         }
+<a name="963" href="#963">963</a> 
+<a name="964" href="#964">964</a>         <strong class="jxr_keyword">return</strong> buf.toString();
+<a name="965" href="#965">965</a>     }
+<a name="966" href="#966">966</a> 
+<a name="967" href="#967">967</a> 
+<a name="968" href="#968">968</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
+<a name="969" href="#969">969</a>     {
+<a name="970" href="#970">970</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
+<a name="971" href="#971">971</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
+<a name="972" href="#972">972</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
+<a name="973" href="#973">973</a>         {
+<a name="974" href="#974">974</a>             String name = methods[i].getName();
+<a name="975" href="#975">975</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
+<a name="976" href="#976">976</a>             {
+<a name="977" href="#977">977</a>                 <strong class="jxr_keyword">try</strong>
+<a name="978" href="#978">978</a>                 {
+<a name="979" href="#979">979</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
+<a name="980" href="#980">980</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
+<a name="981" href="#981">981</a>                     {
+<a name="982" href="#982">982</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
+<a name="983" href="#983">983</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
+<a name="984" href="#984">984</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
+<a name="985" href="#985">985</a>                         <strong class="jxr_keyword">else</strong>
+<a name="986" href="#986">986</a>                             properties.put( name, v );
+<a name="987" href="#987">987</a> 
+<a name="988" href="#988">988</a>                     }
+<a name="989" href="#989">989</a>                 }
+<a name="990" href="#990">990</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="991" href="#991">991</a>                 {
+<a name="992" href="#992">992</a>                     <em class="jxr_comment">// too bad</em>
+<a name="993" href="#993">993</a>                 }
+<a name="994" href="#994">994</a>             }
+<a name="995" href="#995">995</a>         }
+<a name="996" href="#996">996</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="997" href="#997">997</a>     }
+<a name="998" href="#998">998</a> 
+<a name="999" href="#999">999</a> 
+<a name="1000" href="#1000">1000</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
+<a name="1001" href="#1001">1001</a>     {
+<a name="1002" href="#1002">1002</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
+<a name="1003" href="#1003">1003</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="1004" href="#1004">1004</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1005" href="#1005">1005</a>         String del = <span class="jxr_string">""</span>;
+<a name="1006" href="#1006">1006</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
+<a name="1007" href="#1007">1007</a>         {
+<a name="1008" href="#1008">1008</a>             License l = ( License ) i.next();
+<a name="1009" href="#1009">1009</a>             String url = l.getUrl();
+<a name="1010" href="#1010">1010</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
+<a name="1011" href="#1011">1011</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="1012" href="#1012">1012</a>             sb.append( del );
+<a name="1013" href="#1013">1013</a>             sb.append( url );
+<a name="1014" href="#1014">1014</a>             del = <span class="jxr_string">", "</span>;
+<a name="1015" href="#1015">1015</a>         }
+<a name="1016" href="#1016">1016</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
+<a name="1017" href="#1017">1017</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="1018" href="#1018">1018</a>         <strong class="jxr_keyword">return</strong> sb;
+<a name="1019" href="#1019">1019</a>     }
+<a name="1020" href="#1020">1020</a> 
+<a name="1021" href="#1021">1021</a> 
+<a name="1022" href="#1022">1022</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1023" href="#1023">1023</a> <em class="jxr_javadoccomment">     * @param jar</em>
+<a name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
+<a name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1026" href="#1026">1026</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doMavenMetadata( MavenProject currentProject, Jar jar ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="1027" href="#1027">1027</a>     {
+<a name="1028" href="#1028">1028</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
+<a name="1029" href="#1029">1029</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
+<a name="1030" href="#1030">1030</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
+<a name="1031" href="#1031">1031</a> 
+<a name="1032" href="#1032">1032</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1033" href="#1033">1033</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
+<a name="1034" href="#1034">1034</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
+<a name="1035" href="#1035">1035</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
+<a name="1036" href="#1036">1036</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a name="1037" href="#1037">1037</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
+<a name="1038" href="#1038">1038</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
+<a name="1039" href="#1039">1039</a>     }
+<a name="1040" href="#1040">1040</a> 
+<a name="1041" href="#1041">1041</a> 
+<a name="1042" href="#1042">1042</a>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
+<a name="1043" href="#1043">1043</a>     {
+<a name="1044" href="#1044">1044</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="1045" href="#1045">1045</a> 
+<a name="1046" href="#1046">1046</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
 <a name="1047" href="#1047">1047</a>         {
-<a name="1048" href="#1048">1048</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
+<a name="1048" href="#1048">1048</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
 <a name="1049" href="#1049">1049</a>         }
 <a name="1050" href="#1050">1050</a> 
-<a name="1051" href="#1051">1051</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
-<a name="1052" href="#1052">1052</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="1053" href="#1053">1053</a>         excluder.processHeaders( excludeDependencies );
-<a name="1054" href="#1054">1054</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
-<a name="1055" href="#1055">1055</a> 
-<a name="1056" href="#1056">1056</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
-<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>     <em class="jxr_javadoccomment">/**</em>
-<a name="1061" href="#1061">1061</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
-<a name="1062" href="#1062">1062</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1063" href="#1063">1063</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="1064" href="#1064">1064</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1065" href="#1065">1065</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
-<a name="1066" href="#1066">1066</a>     {
-<a name="1067" href="#1067">1067</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
-<a name="1068" href="#1068">1068</a>     }
-<a name="1069" href="#1069">1069</a> 
-<a name="1070" href="#1070">1070</a> 
-<a name="1071" href="#1071">1071</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="1072" href="#1072">1072</a>     {
-<a name="1073" href="#1073">1073</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
-<a name="1074" href="#1074">1074</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1075" href="#1075">1075</a> 
-<a name="1076" href="#1076">1076</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
-<a name="1077" href="#1077">1077</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1078" href="#1078">1078</a> 
-<a name="1079" href="#1079">1079</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
-<a name="1080" href="#1080">1080</a>     }
-<a name="1081" href="#1081">1081</a> 
-<a name="1082" href="#1082">1082</a> 
-<a name="1083" href="#1083">1083</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1084" href="#1084">1084</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
-<a name="1085" href="#1085">1085</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1086" href="#1086">1086</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
-<a name="1087" href="#1087">1087</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
-<a name="1088" href="#1088">1088</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1089" href="#1089">1089</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
-<a name="1090" href="#1090">1090</a>     {
-<a name="1091" href="#1091">1091</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
-<a name="1092" href="#1092">1092</a>     }
+<a name="1051" href="#1051">1051</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
+<a name="1052" href="#1052">1052</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
+<a name="1053" href="#1053">1053</a>         {
+<a name="1054" href="#1054">1054</a>             Artifact artifact = ( Artifact ) it.next();
+<a name="1055" href="#1055">1055</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
+<a name="1056" href="#1056">1056</a>             {
+<a name="1057" href="#1057">1057</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+<a name="1058" href="#1058">1058</a>                 {
+<a name="1059" href="#1059">1059</a>                     File file = getFile( artifact );
+<a name="1060" href="#1060">1060</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="1061" href="#1061">1061</a>                     {
+<a name="1062" href="#1062">1062</a>                         getLog().warn(
+<a name="1063" href="#1063">1063</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
+<a name="1064" href="#1064">1064</a>                                 + currentProject.getArtifact() );
+<a name="1065" href="#1065">1065</a>                         <strong class="jxr_keyword">continue</strong>;
+<a name="1066" href="#1066">1066</a>                     }
+<a name="1067" href="#1067">1067</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
+<a name="1068" href="#1068">1068</a>                     list.add( jar );
+<a name="1069" href="#1069">1069</a>                 }
+<a name="1070" href="#1070">1070</a>             }
+<a name="1071" href="#1071">1071</a>         }
+<a name="1072" href="#1072">1072</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
+<a name="1073" href="#1073">1073</a>         list.toArray( cp );
+<a name="1074" href="#1074">1074</a>         <strong class="jxr_keyword">return</strong> cp;
+<a name="1075" href="#1075">1075</a>     }
+<a name="1076" href="#1076">1076</a> 
+<a name="1077" href="#1077">1077</a> 
+<a name="1078" href="#1078">1078</a>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1079" href="#1079">1079</a>     {
+<a name="1080" href="#1080">1080</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
+<a name="1081" href="#1081">1081</a>         {
+<a name="1082" href="#1082">1082</a>             <strong class="jxr_keyword">return</strong> artifacts;
+<a name="1083" href="#1083">1083</a>         }
+<a name="1084" href="#1084">1084</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
+<a name="1085" href="#1085">1085</a>         {
+<a name="1086" href="#1086">1086</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
+<a name="1087" href="#1087">1087</a>         }
+<a name="1088" href="#1088">1088</a> 
+<a name="1089" href="#1089">1089</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
+<a name="1090" href="#1090">1090</a>         <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> excluder = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( artifacts );
+<a name="1091" href="#1091">1091</a>         excluder.processHeaders( excludeDependencies );
+<a name="1092" href="#1092">1092</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
 <a name="1093" href="#1093">1093</a> 
-<a name="1094" href="#1094">1094</a> 
-<a name="1095" href="#1095">1095</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
-<a name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1098" href="#1098">1098</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
-<a name="1099" href="#1099">1099</a>     {
-<a name="1100" href="#1100">1100</a>         String extension;
-<a name="1101" href="#1101">1101</a>         <strong class="jxr_keyword">try</strong>
-<a name="1102" href="#1102">1102</a>         {
-<a name="1103" href="#1103">1103</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
-<a name="1104" href="#1104">1104</a>         }
-<a name="1105" href="#1105">1105</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="1106" href="#1106">1106</a>         {
-<a name="1107" href="#1107">1107</a>             extension = currentProject.getArtifact().getType();
-<a name="1108" href="#1108">1108</a>         }
-<a name="1109" href="#1109">1109</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="1110" href="#1110">1110</a>         {
-<a name="1111" href="#1111">1111</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
-<a name="1112" href="#1112">1112</a>         }
-<a name="1113" href="#1113">1113</a>         String finalName = currentProject.getBuild().getFinalName();
-<a name="1114" href="#1114">1114</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
-<a name="1115" href="#1115">1115</a>         {
-<a name="1116" href="#1116">1116</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
-<a name="1117" href="#1117">1117</a>         }
-<a name="1118" href="#1118">1118</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
-<a name="1119" href="#1119">1119</a>     }
+<a name="1094" href="#1094">1094</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
+<a name="1095" href="#1095">1095</a>     }
+<a name="1096" href="#1096">1096</a> 
+<a name="1097" href="#1097">1097</a> 
+<a name="1098" href="#1098">1098</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
+<a name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1101" href="#1101">1101</a> <em class="jxr_javadoccomment">     * @param artifact</em>
+<a name="1102" href="#1102">1102</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1103" href="#1103">1103</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
+<a name="1104" href="#1104">1104</a>     {
+<a name="1105" href="#1105">1105</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
+<a name="1106" href="#1106">1106</a>     }
+<a name="1107" href="#1107">1107</a> 
+<a name="1108" href="#1108">1108</a> 
+<a name="1109" href="#1109">1109</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> header( Properties properties, String key, Object value )
+<a name="1110" href="#1110">1110</a>     {
+<a name="1111" href="#1111">1111</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
+<a name="1112" href="#1112">1112</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1113" href="#1113">1113</a> 
+<a name="1114" href="#1114">1114</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
+<a name="1115" href="#1115">1115</a>             <strong class="jxr_keyword">return</strong>;
+<a name="1116" href="#1116">1116</a> 
+<a name="1117" href="#1117">1117</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
+<a name="1118" href="#1118">1118</a>     }
+<a name="1119" href="#1119">1119</a> 
 <a name="1120" href="#1120">1120</a> 
-<a name="1121" href="#1121">1121</a> 
-<a name="1122" href="#1122">1122</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
-<a name="1123" href="#1123">1123</a>     {
-<a name="1124" href="#1124">1124</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
-<a name="1125" href="#1125">1125</a>     }
-<a name="1126" href="#1126">1126</a> 
-<a name="1127" href="#1127">1127</a> 
-<a name="1128" href="#1128">1128</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
-<a name="1129" href="#1129">1129</a>     {
-<a name="1130" href="#1130">1130</a>         buildDirectory = _buildirectory;
-<a name="1131" href="#1131">1131</a>     }
+<a name="1121" href="#1121">1121</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1122" href="#1122">1122</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
+<a name="1123" href="#1123">1123</a> <em class="jxr_javadoccomment">     *</em>
+<a name="1124" href="#1124">1124</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
+<a name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
+<a name="1126" href="#1126">1126</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1127" href="#1127">1127</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
+<a name="1128" href="#1128">1128</a>     {
+<a name="1129" href="#1129">1129</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
+<a name="1130" href="#1130">1130</a>     }
+<a name="1131" href="#1131">1131</a> 
 <a name="1132" href="#1132">1132</a> 
-<a name="1133" href="#1133">1133</a> 
-<a name="1134" href="#1134">1134</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
-<a name="1135" href="#1135">1135</a>     {
-<a name="1136" href="#1136">1136</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="1137" href="#1137">1137</a> 
-<a name="1138" href="#1138">1138</a>         String bsn;
+<a name="1133" href="#1133">1133</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="1134" href="#1134">1134</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
+<a name="1135" href="#1135">1135</a> <em class="jxr_javadoccomment">     */</em>
+<a name="1136" href="#1136">1136</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
+<a name="1137" href="#1137">1137</a>     {
+<a name="1138" href="#1138">1138</a>         String extension;
 <a name="1139" href="#1139">1139</a>         <strong class="jxr_keyword">try</strong>
 <a name="1140" href="#1140">1140</a>         {
-<a name="1141" href="#1141">1141</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
+<a name="1141" href="#1141">1141</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
 <a name="1142" href="#1142">1142</a>         }
-<a name="1143" href="#1143">1143</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1143" href="#1143">1143</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
 <a name="1144" href="#1144">1144</a>         {
-<a name="1145" href="#1145">1145</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
+<a name="1145" href="#1145">1145</a>             extension = currentProject.getArtifact().getType();
 <a name="1146" href="#1146">1146</a>         }
-<a name="1147" href="#1147">1147</a> 
-<a name="1148" href="#1148">1148</a>         <em class="jxr_comment">// Setup defaults</em>
-<a name="1149" href="#1149">1149</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
-<a name="1150" href="#1150">1150</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
-<a name="1151" href="#1151">1151</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="1152" href="#1152">1152</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
-<a name="1153" href="#1153">1153</a> 
-<a name="1154" href="#1154">1154</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
-<a name="1155" href="#1155">1155</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
-<a name="1156" href="#1156">1156</a> 
-<a name="1157" href="#1157">1157</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
-<a name="1158" href="#1158">1158</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
-<a name="1159" href="#1159">1159</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
-<a name="1160" href="#1160">1160</a>         {
-<a name="1161" href="#1161">1161</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
-<a name="1162" href="#1162">1162</a>         }
-<a name="1163" href="#1163">1163</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
+<a name="1147" href="#1147">1147</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( extension ) || <span class="jxr_string">"bundle"</span>.equals( extension ) || <span class="jxr_string">"pom"</span>.equals( extension ) )
+<a name="1148" href="#1148">1148</a>         {
+<a name="1149" href="#1149">1149</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
+<a name="1150" href="#1150">1150</a>         }
+<a name="1151" href="#1151">1151</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
+<a name="1152" href="#1152">1152</a>         {
+<a name="1153" href="#1153">1153</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
+<a name="1154" href="#1154">1154</a>         }
+<a name="1155" href="#1155">1155</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
+<a name="1156" href="#1156">1156</a>     }
+<a name="1157" href="#1157">1157</a> 
+<a name="1158" href="#1158">1158</a> 
+<a name="1159" href="#1159">1159</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
+<a name="1160" href="#1160">1160</a>     {
+<a name="1161" href="#1161">1161</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
+<a name="1162" href="#1162">1162</a>     }
+<a name="1163" href="#1163">1163</a> 
 <a name="1164" href="#1164">1164</a> 
-<a name="1165" href="#1165">1165</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
-<a name="1166" href="#1166">1166</a>         {
-<a name="1167" href="#1167">1167</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
-<a name="1168" href="#1168">1168</a>             {
-<a name="1169" href="#1169">1169</a>                 String organizationName = currentProject.getOrganization().getName();
-<a name="1170" href="#1170">1170</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
-<a name="1171" href="#1171">1171</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
-<a name="1172" href="#1172">1172</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
-<a name="1173" href="#1173">1173</a>             }
-<a name="1174" href="#1174">1174</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
-<a name="1175" href="#1175">1175</a>             {
-<a name="1176" href="#1176">1176</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
-<a name="1177" href="#1177">1177</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
-<a name="1178" href="#1178">1178</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
-<a name="1179" href="#1179">1179</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
-<a name="1180" href="#1180">1180</a>             }
-<a name="1181" href="#1181">1181</a>         }
-<a name="1182" href="#1182">1182</a> 
-<a name="1183" href="#1183">1183</a>         properties.putAll( currentProject.getProperties() );
-<a name="1184" href="#1184">1184</a>         properties.putAll( currentProject.getModel().getProperties() );
-<a name="1185" href="#1185">1185</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
-<a name="1186" href="#1186">1186</a>         {
-<a name="1187" href="#1187">1187</a>             <strong class="jxr_keyword">try</strong>
-<a name="1188" href="#1188">1188</a>             {
-<a name="1189" href="#1189">1189</a>                 <em class="jxr_comment">// don't pass upper-case session settings to bnd as they end up in the manifest</em>
-<a name="1190" href="#1190">1190</a>                 Properties sessionProperties = m_mavenSession.getExecutionProperties();
-<a name="1191" href="#1191">1191</a>                 <strong class="jxr_keyword">for</strong> ( Enumeration e = sessionProperties.propertyNames(); e.hasMoreElements(); )
-<a name="1192" href="#1192">1192</a>                 {
-<a name="1193" href="#1193">1193</a>                     String key = ( String ) e.nextElement();
-<a name="1194" href="#1194">1194</a>                     <strong class="jxr_keyword">if</strong> ( key.length() &gt; 0 &amp;&amp; !Character.isUpperCase( key.charAt( 0 ) ) )
-<a name="1195" href="#1195">1195</a>                     {
-<a name="1196" href="#1196">1196</a>                         properties.put( key, sessionProperties.getProperty( key ) );
-<a name="1197" href="#1197">1197</a>                     }
-<a name="1198" href="#1198">1198</a>                 }
-<a name="1199" href="#1199">1199</a>             }
-<a name="1200" href="#1200">1200</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1201" href="#1201">1201</a>             {
-<a name="1202" href="#1202">1202</a>                 getLog().warn( <span class="jxr_string">"Problem with Maven session properties: "</span> + e.getLocalizedMessage() );
-<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>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
-<a name="1207" href="#1207">1207</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
-<a name="1208" href="#1208">1208</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
-<a name="1209" href="#1209">1209</a> 
-<a name="1210" href="#1210">1210</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
-<a name="1211" href="#1211">1211</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
-<a name="1212" href="#1212">1212</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
-<a name="1213" href="#1213">1213</a> 
-<a name="1214" href="#1214">1214</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
-<a name="1215" href="#1215">1215</a> 
-<a name="1216" href="#1216">1216</a>         <em class="jxr_comment">// Add default plugins</em>
-<a name="1217" href="#1217">1217</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="1218" href="#1218">1218</a> 
-<a name="1219" href="#1219">1219</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="1220" href="#1220">1220</a>     }
-<a name="1221" href="#1221">1221</a> 
+<a name="1165" href="#1165">1165</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
+<a name="1166" href="#1166">1166</a>     {
+<a name="1167" href="#1167">1167</a>         buildDirectory = _buildirectory;
+<a name="1168" href="#1168">1168</a>     }
+<a name="1169" href="#1169">1169</a> 
+<a name="1170" href="#1170">1170</a> 
+<a name="1171" href="#1171">1171</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
+<a name="1172" href="#1172">1172</a>     {
+<a name="1173" href="#1173">1173</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a name="1174" href="#1174">1174</a> 
+<a name="1175" href="#1175">1175</a>         String bsn;
+<a name="1176" href="#1176">1176</a>         <strong class="jxr_keyword">try</strong>
+<a name="1177" href="#1177">1177</a>         {
+<a name="1178" href="#1178">1178</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
+<a name="1179" href="#1179">1179</a>         }
+<a name="1180" href="#1180">1180</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1181" href="#1181">1181</a>         {
+<a name="1182" href="#1182">1182</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
+<a name="1183" href="#1183">1183</a>         }
+<a name="1184" href="#1184">1184</a> 
+<a name="1185" href="#1185">1185</a>         <em class="jxr_comment">// Setup defaults</em>
+<a name="1186" href="#1186">1186</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
+<a name="1187" href="#1187">1187</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
+<a name="1188" href="#1188">1188</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
+<a name="1189" href="#1189">1189</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
+<a name="1190" href="#1190">1190</a> 
+<a name="1191" href="#1191">1191</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
+<a name="1192" href="#1192">1192</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
+<a name="1193" href="#1193">1193</a> 
+<a name="1194" href="#1194">1194</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
+<a name="1195" href="#1195">1195</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
+<a name="1196" href="#1196">1196</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
+<a name="1197" href="#1197">1197</a>         {
+<a name="1198" href="#1198">1198</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
+<a name="1199" href="#1199">1199</a>         }
+<a name="1200" href="#1200">1200</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
+<a name="1201" href="#1201">1201</a> 
+<a name="1202" href="#1202">1202</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
+<a name="1203" href="#1203">1203</a>         {
+<a name="1204" href="#1204">1204</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
+<a name="1205" href="#1205">1205</a>             {
+<a name="1206" href="#1206">1206</a>                 String organizationName = currentProject.getOrganization().getName();
+<a name="1207" href="#1207">1207</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
+<a name="1208" href="#1208">1208</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
+<a name="1209" href="#1209">1209</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
+<a name="1210" href="#1210">1210</a>             }
+<a name="1211" href="#1211">1211</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
+<a name="1212" href="#1212">1212</a>             {
+<a name="1213" href="#1213">1213</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
+<a name="1214" href="#1214">1214</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
+<a name="1215" href="#1215">1215</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
+<a name="1216" href="#1216">1216</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
+<a name="1217" href="#1217">1217</a>             }
+<a name="1218" href="#1218">1218</a>         }
+<a name="1219" href="#1219">1219</a> 
+<a name="1220" href="#1220">1220</a>         properties.putAll( currentProject.getProperties() );
+<a name="1221" href="#1221">1221</a>         properties.putAll( currentProject.getModel().getProperties() );
 <a name="1222" href="#1222">1222</a> 
-<a name="1223" href="#1223">1223</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
-<a name="1224" href="#1224">1224</a>     {
-<a name="1225" href="#1225">1225</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="1226" href="#1226">1226</a>     }
-<a name="1227" href="#1227">1227</a> 
-<a name="1228" href="#1228">1228</a> 
-<a name="1229" href="#1229">1229</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
-<a name="1230" href="#1230">1230</a>     {
-<a name="1231" href="#1231">1231</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
-<a name="1232" href="#1232">1232</a>     }
-<a name="1233" href="#1233">1233</a> 
-<a name="1234" href="#1234">1234</a> 
-<a name="1235" href="#1235">1235</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
-<a name="1236" href="#1236">1236</a>     {
-<a name="1237" href="#1237">1237</a>         outputDirectory = _outputDirectory;
-<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> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer )
-<a name="1242" href="#1242">1242</a>     {
-<a name="1243" href="#1243">1243</a>         Collection packages = <strong class="jxr_keyword">new</strong> TreeSet();
-<a name="1244" href="#1244">1244</a> 
-<a name="1245" href="#1245">1245</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
-<a name="1246" href="#1246">1246</a>         {
-<a name="1247" href="#1247">1247</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
-<a name="1248" href="#1248">1248</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1249" href="#1249">1249</a>             scanner.setBasedir( outputDirectory );
-<a name="1250" href="#1250">1250</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
-<a name="1251" href="#1251">1251</a>                 { <span class="jxr_string">"**/*.class"</span> } );
+<a name="1223" href="#1223">1223</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getFilters().iterator(); i.hasNext(); )
+<a name="1224" href="#1224">1224</a>         {
+<a name="1225" href="#1225">1225</a>             File filterFile = <strong class="jxr_keyword">new</strong> File( ( String ) i.next() );
+<a name="1226" href="#1226">1226</a>             <strong class="jxr_keyword">if</strong> ( filterFile.isFile() )
+<a name="1227" href="#1227">1227</a>             {
+<a name="1228" href="#1228">1228</a>                 properties.putAll( PropertyUtils.loadProperties( filterFile ) );
+<a name="1229" href="#1229">1229</a>             }
+<a name="1230" href="#1230">1230</a>         }
+<a name="1231" href="#1231">1231</a> 
+<a name="1232" href="#1232">1232</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
+<a name="1233" href="#1233">1233</a>         {
+<a name="1234" href="#1234">1234</a>             <strong class="jxr_keyword">try</strong>
+<a name="1235" href="#1235">1235</a>             {
+<a name="1236" href="#1236">1236</a>                 <em class="jxr_comment">// don't pass upper-case session settings to bnd as they end up in the manifest</em>
+<a name="1237" href="#1237">1237</a>                 Properties sessionProperties = m_mavenSession.getExecutionProperties();
+<a name="1238" href="#1238">1238</a>                 <strong class="jxr_keyword">for</strong> ( Enumeration e = sessionProperties.propertyNames(); e.hasMoreElements(); )
+<a name="1239" href="#1239">1239</a>                 {
+<a name="1240" href="#1240">1240</a>                     String key = ( String ) e.nextElement();
+<a name="1241" href="#1241">1241</a>                     <strong class="jxr_keyword">if</strong> ( key.length() &gt; 0 &amp;&amp; !Character.isUpperCase( key.charAt( 0 ) ) )
+<a name="1242" href="#1242">1242</a>                     {
+<a name="1243" href="#1243">1243</a>                         properties.put( key, sessionProperties.getProperty( key ) );
+<a name="1244" href="#1244">1244</a>                     }
+<a name="1245" href="#1245">1245</a>                 }
+<a name="1246" href="#1246">1246</a>             }
+<a name="1247" href="#1247">1247</a>             <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="1248" href="#1248">1248</a>             {
+<a name="1249" href="#1249">1249</a>                 getLog().warn( <span class="jxr_string">"Problem with Maven session properties: "</span> + e.getLocalizedMessage() );
+<a name="1250" href="#1250">1250</a>             }
+<a name="1251" href="#1251">1251</a>         }
 <a name="1252" href="#1252">1252</a> 
-<a name="1253" href="#1253">1253</a>             scanner.addDefaultExcludes();
-<a name="1254" href="#1254">1254</a>             scanner.scan();
-<a name="1255" href="#1255">1255</a> 
-<a name="1256" href="#1256">1256</a>             String[] paths = scanner.getIncludedFiles();
-<a name="1257" href="#1257">1257</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
-<a name="1258" href="#1258">1258</a>             {
-<a name="1259" href="#1259">1259</a>                 packages.add( getPackageName( paths[i] ) );
-<a name="1260" href="#1260">1260</a>             }
-<a name="1261" href="#1261">1261</a>         }
+<a name="1253" href="#1253">1253</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
+<a name="1254" href="#1254">1254</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
+<a name="1255" href="#1255">1255</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
+<a name="1256" href="#1256">1256</a> 
+<a name="1257" href="#1257">1257</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
+<a name="1258" href="#1258">1258</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
+<a name="1259" href="#1259">1259</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
+<a name="1260" href="#1260">1260</a> 
+<a name="1261" href="#1261">1261</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
 <a name="1262" href="#1262">1262</a> 
-<a name="1263" href="#1263">1263</a>         StringBuffer exportedPkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1264" href="#1264">1264</a>         StringBuffer privatePkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1263" href="#1263">1263</a>         <em class="jxr_comment">// Add default plugins</em>
+<a name="1264" href="#1264">1264</a>         header( properties, Analyzer.PLUGIN, BlueprintPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span> + SpringXMLType.<strong class="jxr_keyword">class</strong>.getName() );
 <a name="1265" href="#1265">1265</a> 
-<a name="1266" href="#1266">1266</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
-<a name="1267" href="#1267">1267</a> 
-<a name="1268" href="#1268">1268</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = packages.iterator(); i.hasNext(); )
-<a name="1269" href="#1269">1269</a>         {
-<a name="1270" href="#1270">1270</a>             String pkg = ( String ) i.next();
-<a name="1271" href="#1271">1271</a> 
-<a name="1272" href="#1272">1272</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
-<a name="1273" href="#1273">1273</a>             <strong class="jxr_keyword">if</strong> ( privatePkgs.length() &gt; 0 )
-<a name="1274" href="#1274">1274</a>             {
-<a name="1275" href="#1275">1275</a>                 privatePkgs.append( ';' );
-<a name="1276" href="#1276">1276</a>             }
-<a name="1277" href="#1277">1277</a>             privatePkgs.append( pkg );
-<a name="1278" href="#1278">1278</a> 
-<a name="1279" href="#1279">1279</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
-<a name="1280" href="#1280">1280</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="1281" href="#1281">1281</a>             {
-<a name="1282" href="#1282">1282</a>                 <strong class="jxr_keyword">if</strong> ( exportedPkgs.length() &gt; 0 )
-<a name="1283" href="#1283">1283</a>                 {
-<a name="1284" href="#1284">1284</a>                     exportedPkgs.append( ';' );
-<a name="1285" href="#1285">1285</a>                 }
-<a name="1286" href="#1286">1286</a>                 exportedPkgs.append( pkg );
-<a name="1287" href="#1287">1287</a>             }
-<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> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
-<a name="1291" href="#1291">1291</a>         {
-<a name="1292" href="#1292">1292</a>             <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong> )
-<a name="1293" href="#1293">1293</a>             {
-<a name="1294" href="#1294">1294</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
-<a name="1295" href="#1295">1295</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, exportedPkgs + <span class="jxr_string">";-split-package:=merge-first"</span> );
-<a name="1296" href="#1296">1296</a>             }
-<a name="1297" href="#1297">1297</a>             <strong class="jxr_keyword">else</strong>
-<a name="1298" href="#1298">1298</a>             {
-<a name="1299" href="#1299">1299</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
-<a name="1300" href="#1300">1300</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
-<a name="1301" href="#1301">1301</a>             }
-<a name="1302" href="#1302">1302</a>         }
-<a name="1303" href="#1303">1303</a>         <strong class="jxr_keyword">else</strong>
-<a name="1304" href="#1304">1304</a>         {
-<a name="1305" href="#1305">1305</a>             String exported = analyzer.getProperty( Analyzer.EXPORT_PACKAGE );
-<a name="1306" href="#1306">1306</a>             <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1307" href="#1307">1307</a>             {
-<a name="1308" href="#1308">1308</a>                 String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, exportedPkgs.toString() );
-<a name="1309" href="#1309">1309</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
-<a name="1310" href="#1310">1310</a> 
-<a name="1311" href="#1311">1311</a>             }
-<a name="1312" href="#1312">1312</a>         }
-<a name="1313" href="#1313">1313</a> 
-<a name="1314" href="#1314">1314</a>         String internal = analyzer.getProperty( Analyzer.PRIVATE_PACKAGE );
-<a name="1315" href="#1315">1315</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
+<a name="1266" href="#1266">1266</a>         <strong class="jxr_keyword">return</strong> properties;
+<a name="1267" href="#1267">1267</a>     }
+<a name="1268" href="#1268">1268</a> 
+<a name="1269" href="#1269">1269</a> 
+<a name="1270" href="#1270">1270</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
+<a name="1271" href="#1271">1271</a>     {
+<a name="1272" href="#1272">1272</a>         <strong class="jxr_keyword">return</strong> currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> ? currentProject.getBasedir() : <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">""</span> );
+<a name="1273" href="#1273">1273</a>     }
+<a name="1274" href="#1274">1274</a> 
+<a name="1275" href="#1275">1275</a> 
+<a name="1276" href="#1276">1276</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
+<a name="1277" href="#1277">1277</a>     {
+<a name="1278" href="#1278">1278</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
+<a name="1279" href="#1279">1279</a>     }
+<a name="1280" href="#1280">1280</a> 
+<a name="1281" href="#1281">1281</a> 
+<a name="1282" href="#1282">1282</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
+<a name="1283" href="#1283">1283</a>     {
+<a name="1284" href="#1284">1284</a>         outputDirectory = _outputDirectory;
+<a name="1285" href="#1285">1285</a>     }
+<a name="1286" href="#1286">1286</a> 
+<a name="1287" href="#1287">1287</a> 
+<a name="1288" href="#1288">1288</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> IOException
+<a name="1289" href="#1289">1289</a>     {
+<a name="1290" href="#1290">1290</a>         Packages packages = <strong class="jxr_keyword">new</strong> Packages();
+<a name="1291" href="#1291">1291</a> 
+<a name="1292" href="#1292">1292</a>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
+<a name="1293" href="#1293">1293</a>         {
+<a name="1294" href="#1294">1294</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
+<a name="1295" href="#1295">1295</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1296" href="#1296">1296</a>             scanner.setBasedir( outputDirectory );
+<a name="1297" href="#1297">1297</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
+<a name="1298" href="#1298">1298</a>                 { <span class="jxr_string">"**/*.class"</span> } );
+<a name="1299" href="#1299">1299</a> 
+<a name="1300" href="#1300">1300</a>             scanner.addDefaultExcludes();
+<a name="1301" href="#1301">1301</a>             scanner.scan();
+<a name="1302" href="#1302">1302</a> 
+<a name="1303" href="#1303">1303</a>             String[] paths = scanner.getIncludedFiles();
+<a name="1304" href="#1304">1304</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
+<a name="1305" href="#1305">1305</a>             {
+<a name="1306" href="#1306">1306</a>                 packages.put( analyzer.getPackageRef( getPackageName( paths[i] ) ) );
+<a name="1307" href="#1307">1307</a>             }
+<a name="1308" href="#1308">1308</a>         }
+<a name="1309" href="#1309">1309</a> 
+<a name="1310" href="#1310">1310</a>         Packages exportedPkgs = <strong class="jxr_keyword">new</strong> Packages();
+<a name="1311" href="#1311">1311</a>         Packages privatePkgs = <strong class="jxr_keyword">new</strong> Packages();
+<a name="1312" href="#1312">1312</a> 
+<a name="1313" href="#1313">1313</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
+<a name="1314" href="#1314">1314</a> 
+<a name="1315" href="#1315">1315</a>         <strong class="jxr_keyword">for</strong> ( PackageRef pkg : packages.keySet() )
 <a name="1316" href="#1316">1316</a>         {
-<a name="1317" href="#1317">1317</a>             <strong class="jxr_keyword">if</strong> ( privatePkgs.length() &gt; 0 )
-<a name="1318" href="#1318">1318</a>             {
-<a name="1319" href="#1319">1319</a>                 analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, privatePkgs + <span class="jxr_string">";-split-package:=merge-first"</span> );
-<a name="1320" href="#1320">1320</a>             }
-<a name="1321" href="#1321">1321</a>             <strong class="jxr_keyword">else</strong>
-<a name="1322" href="#1322">1322</a>             {
-<a name="1323" href="#1323">1323</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="1324" href="#1324">1324</a>                 analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
+<a name="1317" href="#1317">1317</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
+<a name="1318" href="#1318">1318</a>             privatePkgs.put( pkg );
+<a name="1319" href="#1319">1319</a> 
+<a name="1320" href="#1320">1320</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
+<a name="1321" href="#1321">1321</a>             String fqn = pkg.getFQN();
+<a name="1322" href="#1322">1322</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( fqn ) || fqn.contains( <span class="jxr_string">".internal"</span> ) || fqn.contains( <span class="jxr_string">".impl"</span> ) ) )
+<a name="1323" href="#1323">1323</a>             {
+<a name="1324" href="#1324">1324</a>                 exportedPkgs.put( pkg );
 <a name="1325" href="#1325">1325</a>             }
 <a name="1326" href="#1326">1326</a>         }
-<a name="1327" href="#1327">1327</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1328" href="#1328">1328</a>         {
-<a name="1329" href="#1329">1329</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, privatePkgs.toString() );
-<a name="1330" href="#1330">1330</a>             analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
-<a name="1331" href="#1331">1331</a>         }
-<a name="1332" href="#1332">1332</a>     }
-<a name="1333" href="#1333">1333</a> 
-<a name="1334" href="#1334">1334</a> 
-<a name="1335" href="#1335">1335</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
-<a name="1336" href="#1336">1336</a>     {
-<a name="1337" href="#1337">1337</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
-<a name="1338" href="#1338">1338</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
-<a name="1339" href="#1339">1339</a>     }
-<a name="1340" href="#1340">1340</a> 
-<a name="1341" href="#1341">1341</a> 
-<a name="1342" href="#1342">1342</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject )
-<a name="1343" href="#1343">1343</a>     {
-<a name="1344" href="#1344">1344</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( currentProject.getResources() );
-<a name="1345" href="#1345">1345</a> 
-<a name="1346" href="#1346">1346</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1347" href="#1347">1347</a>         {
-<a name="1348" href="#1348">1348</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
-<a name="1349" href="#1349">1349</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
-<a name="1350" href="#1350">1350</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1351" href="#1351">1351</a>             {
-<a name="1352" href="#1352">1352</a>                 String sourceRoot = ( String ) i.next();
-<a name="1353" href="#1353">1353</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
-<a name="1354" href="#1354">1354</a>                 packageInfoResource.setDirectory( sourceRoot );
-<a name="1355" href="#1355">1355</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
-<a name="1356" href="#1356">1356</a>                 resources.add( packageInfoResource );
-<a name="1357" href="#1357">1357</a>             }
-<a name="1358" href="#1358">1358</a>         }
-<a name="1359" href="#1359">1359</a> 
-<a name="1360" href="#1360">1360</a>         <strong class="jxr_keyword">return</strong> resources;
-<a name="1361" href="#1361">1361</a>     }
-<a name="1362" href="#1362">1362</a> 
-<a name="1363" href="#1363">1363</a> 
-<a name="1364" href="#1364">1364</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject )
-<a name="1365" href="#1365">1365</a>     {
-<a name="1366" href="#1366">1366</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
-<a name="1367" href="#1367">1367</a> 
-<a name="1368" href="#1368">1368</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="1369" href="#1369">1369</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject ).iterator(); i.hasNext(); )
-<a name="1370" href="#1370">1370</a>         {
-<a name="1371" href="#1371">1371</a>             Resource resource = ( Resource ) i.next();
-<a name="1372" href="#1372">1372</a> 
-<a name="1373" href="#1373">1373</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
-<a name="1374" href="#1374">1374</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
-<a name="1375" href="#1375">1375</a> 
-<a name="1376" href="#1376">1376</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
-<a name="1377" href="#1377">1377</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="1378" href="#1378">1378</a>             {
-<a name="1379" href="#1379">1379</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1380" href="#1380">1380</a> 
-<a name="1381" href="#1381">1381</a>                 scanner.setBasedir( sourcePath );
-<a name="1382" href="#1382">1382</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
-<a name="1383" href="#1383">1383</a>                 {
-<a name="1384" href="#1384">1384</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1385" href="#1385">1385</a>                 }
-<a name="1386" href="#1386">1386</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1387" href="#1387">1387</a>                 {
-<a name="1388" href="#1388">1388</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
-<a name="1389" href="#1389">1389</a>                 }
-<a name="1390" href="#1390">1390</a> 
-<a name="1391" href="#1391">1391</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
-<a name="1392" href="#1392">1392</a>                 {
-<a name="1393" href="#1393">1393</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1394" href="#1394">1394</a>                 }
-<a name="1395" href="#1395">1395</a> 
-<a name="1396" href="#1396">1396</a>                 scanner.addDefaultExcludes();
-<a name="1397" href="#1397">1397</a>                 scanner.scan();
-<a name="1398" href="#1398">1398</a> 
-<a name="1399" href="#1399">1399</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
-<a name="1400" href="#1400">1400</a> 
-<a name="1401" href="#1401">1401</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
-<a name="1402" href="#1402">1402</a>                 {
-<a name="1403" href="#1403">1403</a>                     String name = ( String ) j.next();
-<a name="1404" href="#1404">1404</a>                     String path = sourcePath + '/' + name;
+<a name="1327" href="#1327">1327</a> 
+<a name="1328" href="#1328">1328</a>         Properties properties = analyzer.getProperties();
+<a name="1329" href="#1329">1329</a>         String exported = properties.getProperty( Analyzer.EXPORT_PACKAGE );
+<a name="1330" href="#1330">1330</a>         <strong class="jxr_keyword">if</strong> ( exported == <strong class="jxr_keyword">null</strong> )
+<a name="1331" href="#1331">1331</a>         {
+<a name="1332" href="#1332">1332</a>             <strong class="jxr_keyword">if</strong> ( !properties.containsKey( Analyzer.EXPORT_CONTENTS ) )
+<a name="1333" href="#1333">1333</a>             {
+<a name="1334" href="#1334">1334</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
+<a name="1335" href="#1335">1335</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : exportedPkgs.values() )
+<a name="1336" href="#1336">1336</a>                 {
+<a name="1337" href="#1337">1337</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
+<a name="1338" href="#1338">1338</a>                 }
+<a name="1339" href="#1339">1339</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, Processor.printClauses( exportedPkgs ) );
+<a name="1340" href="#1340">1340</a>             }
+<a name="1341" href="#1341">1341</a>             <strong class="jxr_keyword">else</strong>
+<a name="1342" href="#1342">1342</a>             {
+<a name="1343" href="#1343">1343</a>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
+<a name="1344" href="#1344">1344</a>                 properties.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
+<a name="1345" href="#1345">1345</a>             }
+<a name="1346" href="#1346">1346</a>         }
+<a name="1347" href="#1347">1347</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1348" href="#1348">1348</a>         {
+<a name="1349" href="#1349">1349</a>             String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, Processor.printClauses( exportedPkgs ) );
+<a name="1350" href="#1350">1350</a>             properties.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
+<a name="1351" href="#1351">1351</a>         }
+<a name="1352" href="#1352">1352</a> 
+<a name="1353" href="#1353">1353</a>         String internal = properties.getProperty( Analyzer.PRIVATE_PACKAGE );
+<a name="1354" href="#1354">1354</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
+<a name="1355" href="#1355">1355</a>         {
+<a name="1356" href="#1356">1356</a>             <strong class="jxr_keyword">if</strong> ( !privatePkgs.isEmpty() )
+<a name="1357" href="#1357">1357</a>             {
+<a name="1358" href="#1358">1358</a>                 <strong class="jxr_keyword">for</strong> ( Attrs attrs : privatePkgs.values() )
+<a name="1359" href="#1359">1359</a>                 {
+<a name="1360" href="#1360">1360</a>                     attrs.put( Constants.SPLIT_PACKAGE_DIRECTIVE, <span class="jxr_string">"merge-first"</span> );
+<a name="1361" href="#1361">1361</a>                 }
+<a name="1362" href="#1362">1362</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, Processor.printClauses( privatePkgs ) );
+<a name="1363" href="#1363">1363</a>             }
+<a name="1364" href="#1364">1364</a>             <strong class="jxr_keyword">else</strong>
+<a name="1365" href="#1365">1365</a>             {
+<a name="1366" href="#1366">1366</a>                 <em class="jxr_comment">// if there are really no private packages then use "!*" as this will keep the Bnd Tool happy</em>
+<a name="1367" href="#1367">1367</a>                 properties.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
+<a name="1368" href="#1368">1368</a>             }
+<a name="1369" href="#1369">1369</a>         }
+<a name="1370" href="#1370">1370</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
+<a name="1371" href="#1371">1371</a>         {
+<a name="1372" href="#1372">1372</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, Processor.printClauses( privatePkgs ) );
+<a name="1373" href="#1373">1373</a>             properties.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
+<a name="1374" href="#1374">1374</a>         }
+<a name="1375" href="#1375">1375</a>     }
+<a name="1376" href="#1376">1376</a> 
+<a name="1377" href="#1377">1377</a> 
+<a name="1378" href="#1378">1378</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
+<a name="1379" href="#1379">1379</a>     {
+<a name="1380" href="#1380">1380</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
+<a name="1381" href="#1381">1381</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
+<a name="1382" href="#1382">1382</a>     }
+<a name="1383" href="#1383">1383</a> 
+<a name="1384" href="#1384">1384</a> 
+<a name="1385" href="#1385">1385</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject )
+<a name="1386" href="#1386">1386</a>     {
+<a name="1387" href="#1387">1387</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( currentProject.getResources() );
+<a name="1388" href="#1388">1388</a> 
+<a name="1389" href="#1389">1389</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
+<a name="1390" href="#1390">1390</a>         {
+<a name="1391" href="#1391">1391</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
+<a name="1392" href="#1392">1392</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
+<a name="1393" href="#1393">1393</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
+<a name="1394" href="#1394">1394</a>             {
+<a name="1395" href="#1395">1395</a>                 String sourceRoot = ( String ) i.next();
+<a name="1396" href="#1396">1396</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
+<a name="1397" href="#1397">1397</a>                 packageInfoResource.setDirectory( sourceRoot );
+<a name="1398" href="#1398">1398</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
+<a name="1399" href="#1399">1399</a>                 resources.add( packageInfoResource );
+<a name="1400" href="#1400">1400</a>             }
+<a name="1401" href="#1401">1401</a>         }
+<a name="1402" href="#1402">1402</a> 
+<a name="1403" href="#1403">1403</a>         <strong class="jxr_keyword">return</strong> resources;
+<a name="1404" href="#1404">1404</a>     }
 <a name="1405" href="#1405">1405</a> 
-<a name="1406" href="#1406">1406</a>                     <em class="jxr_comment">// make relative to project</em>
-<a name="1407" href="#1407">1407</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
-<a name="1408" href="#1408">1408</a>                     {
-<a name="1409" href="#1409">1409</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
-<a name="1410" href="#1410">1410</a>                         {
-<a name="1411" href="#1411">1411</a>                             path = <span class="jxr_string">"."</span>;
-<a name="1412" href="#1412">1412</a>                         }
-<a name="1413" href="#1413">1413</a>                         <strong class="jxr_keyword">else</strong>
-<a name="1414" href="#1414">1414</a>                         {
-<a name="1415" href="#1415">1415</a>                             path = path.substring( basePath.length() + 1 );
-<a name="1416" href="#1416">1416</a>                         }
-<a name="1417" href="#1417">1417</a>                     }
+<a name="1406" href="#1406">1406</a> 
+<a name="1407" href="#1407">1407</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject )
+<a name="1408" href="#1408">1408</a>     {
+<a name="1409" href="#1409">1409</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
+<a name="1410" href="#1410">1410</a> 
+<a name="1411" href="#1411">1411</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="1412" href="#1412">1412</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject ).iterator(); i.hasNext(); )
+<a name="1413" href="#1413">1413</a>         {
+<a name="1414" href="#1414">1414</a>             Resource resource = ( Resource ) i.next();
+<a name="1415" href="#1415">1415</a> 
+<a name="1416" href="#1416">1416</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
+<a name="1417" href="#1417">1417</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
 <a name="1418" href="#1418">1418</a> 
-<a name="1419" href="#1419">1419</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
-<a name="1420" href="#1420">1420</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
-<a name="1421" href="#1421">1421</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
-<a name="1422" href="#1422">1422</a>                     {
-<a name="1423" href="#1423">1423</a>                         name = name.replace( File.separatorChar, '/' );
-<a name="1424" href="#1424">1424</a>                         path = path.replace( File.separatorChar, '/' );
-<a name="1425" href="#1425">1425</a>                     }
-<a name="1426" href="#1426">1426</a> 
-<a name="1427" href="#1427">1427</a>                     <em class="jxr_comment">// copy to correct place</em>
-<a name="1428" href="#1428">1428</a>                     path = name + '=' + path;
-<a name="1429" href="#1429">1429</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
-<a name="1430" href="#1430">1430</a>                     {
-<a name="1431" href="#1431">1431</a>                         path = targetPath + '/' + path;
-<a name="1432" href="#1432">1432</a>                     }
+<a name="1419" href="#1419">1419</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
+<a name="1420" href="#1420">1420</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( sourcePath ).exists() &amp;&amp; ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) &lt; 0 ) ) )
+<a name="1421" href="#1421">1421</a>             {
+<a name="1422" href="#1422">1422</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="1423" href="#1423">1423</a> 
+<a name="1424" href="#1424">1424</a>                 scanner.setBasedir( sourcePath );
+<a name="1425" href="#1425">1425</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
+<a name="1426" href="#1426">1426</a>                 {
+<a name="1427" href="#1427">1427</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1428" href="#1428">1428</a>                 }
+<a name="1429" href="#1429">1429</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1430" href="#1430">1430</a>                 {
+<a name="1431" href="#1431">1431</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
+<a name="1432" href="#1432">1432</a>                 }
 <a name="1433" href="#1433">1433</a> 
-<a name="1434" href="#1434">1434</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
-<a name="1435" href="#1435">1435</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
-<a name="1436" href="#1436">1436</a>                     {
-<a name="1437" href="#1437">1437</a>                         path = '{' + path + '}';
-<a name="1438" href="#1438">1438</a>                     }
-<a name="1439" href="#1439">1439</a> 
-<a name="1440" href="#1440">1440</a>                     pathSet.add( path );
-<a name="1441" href="#1441">1441</a>                 }
-<a name="1442" href="#1442">1442</a>             }
-<a name="1443" href="#1443">1443</a>         }
-<a name="1444" href="#1444">1444</a> 
-<a name="1445" href="#1445">1445</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1446" href="#1446">1446</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
-<a name="1447" href="#1447">1447</a>         {
-<a name="1448" href="#1448">1448</a>             resourcePaths.append( i.next() );
-<a name="1449" href="#1449">1449</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
-<a name="1450" href="#1450">1450</a>             {
-<a name="1451" href="#1451">1451</a>                 resourcePaths.append( ',' );
-<a name="1452" href="#1452">1452</a>             }
-<a name="1453" href="#1453">1453</a>         }
-<a name="1454" href="#1454">1454</a> 
-<a name="1455" href="#1455">1455</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
-<a name="1456" href="#1456">1456</a>     }
-<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">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
-<a name="1460" href="#1460">1460</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1461" href="#1461">1461</a>     {
-<a name="1462" href="#1462">1462</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
-<a name="1463" href="#1463">1463</a> 
-<a name="1464" href="#1464">1464</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
-<a name="1465" href="#1465">1465</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
-<a name="1466" href="#1466">1466</a>         {
-<a name="1467" href="#1467">1467</a>             <em class="jxr_comment">// includes transitive dependencies</em>
-<a name="1468" href="#1468">1468</a>             artifacts = currentProject.getArtifacts();
-<a name="1469" href="#1469">1469</a>         }
-<a name="1470" href="#1470">1470</a>         <strong class="jxr_keyword">else</strong>
-<a name="1471" href="#1471">1471</a>         {
-<a name="1472" href="#1472">1472</a>             <em class="jxr_comment">// only includes direct dependencies</em>
-<a name="1473" href="#1473">1473</a>             artifacts = currentProject.getDependencyArtifacts();
-<a name="1474" href="#1474">1474</a>         }
-<a name="1475" href="#1475">1475</a> 
-<a name="1476" href="#1476">1476</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
-<a name="1477" href="#1477">1477</a>     }
-<a name="1478" href="#1478">1478</a> 
-<a name="1479" href="#1479">1479</a> 
-<a name="1480" href="#1480">1480</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="1481" href="#1481">1481</a>     {
-<a name="1482" href="#1482">1482</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
-<a name="1483" href="#1483">1483</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="1484" href="#1484">1484</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1485" href="#1485">1485</a>         {
-<a name="1486" href="#1486">1486</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1487" href="#1487">1487</a>             {
-<a name="1488" href="#1488">1488</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1489" href="#1489">1489</a>                 {
-<a name="1490" href="#1490">1490</a>                     mavenSourcePaths.append( ',' );
-<a name="1491" href="#1491">1491</a>                 }
-<a name="1492" href="#1492">1492</a>                 mavenSourcePaths.append( ( String ) i.next() );
-<a name="1493" href="#1493">1493</a>             }
-<a name="1494" href="#1494">1494</a>         }
-<a name="1495" href="#1495">1495</a>         <strong class="jxr_keyword">final</strong> String sourcePath = ( String ) analyzer.getProperty( Analyzer.SOURCEPATH );
-<a name="1496" href="#1496">1496</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
-<a name="1497" href="#1497">1497</a>         {
-<a name="1498" href="#1498">1498</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.indexOf( MAVEN_SOURCES ) &gt;= 0 )
-<a name="1499" href="#1499">1499</a>             {
-<a name="1500" href="#1500">1500</a>                 <em class="jxr_comment">// if there is no maven source path, we do a special treatment and replace</em>
-<a name="1501" href="#1501">1501</a>                 <em class="jxr_comment">// every occurance of MAVEN_SOURCES and a following comma with an empty string</em>
-<a name="1502" href="#1502">1502</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() == 0 )
-<a name="1503" href="#1503">1503</a>                 {
-<a name="1504" href="#1504">1504</a>                     String cleanedSource = removeTagFromInstruction( sourcePath, MAVEN_SOURCES );
-<a name="1505" href="#1505">1505</a>                     <strong class="jxr_keyword">if</strong> ( cleanedSource.length() &gt; 0 )
-<a name="1506" href="#1506">1506</a>                     {
-<a name="1507" href="#1507">1507</a>                         analyzer.setProperty( Analyzer.SOURCEPATH, cleanedSource );
-<a name="1508" href="#1508">1508</a>                     }
-<a name="1509" href="#1509">1509</a>                     <strong class="jxr_keyword">else</strong>
-<a name="1510" href="#1510">1510</a>                     {
-<a name="1511" href="#1511">1511</a>                         analyzer.unsetProperty( Analyzer.SOURCEPATH );
-<a name="1512" href="#1512">1512</a>                     }
-<a name="1513" href="#1513">1513</a>                 }
-<a name="1514" href="#1514">1514</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1515" href="#1515">1515</a>                 {
-<a name="1516" href="#1516">1516</a>                     String combinedSource = StringUtils
-<a name="1517" href="#1517">1517</a>                         .replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
-<a name="1518" href="#1518">1518</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
-<a name="1519" href="#1519">1519</a>                 }
-<a name="1520" href="#1520">1520</a>             }
-<a name="1521" href="#1521">1521</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1522" href="#1522">1522</a>             {
-<a name="1523" href="#1523">1523</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="1524" href="#1524">1524</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
-<a name="1525" href="#1525">1525</a>             }
-<a name="1526" href="#1526">1526</a>         }
-<a name="1527" href="#1527">1527</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1434" href="#1434">1434</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
+<a name="1435" href="#1435">1435</a>                 {
+<a name="1436" href="#1436">1436</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
+<a name="1437" href="#1437">1437</a>                 }
+<a name="1438" href="#1438">1438</a> 
+<a name="1439" href="#1439">1439</a>                 scanner.addDefaultExcludes();
+<a name="1440" href="#1440">1440</a>                 scanner.scan();
+<a name="1441" href="#1441">1441</a> 
+<a name="1442" href="#1442">1442</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
+<a name="1443" href="#1443">1443</a> 
+<a name="1444" href="#1444">1444</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
+<a name="1445" href="#1445">1445</a>                 {
+<a name="1446" href="#1446">1446</a>                     String name = ( String ) j.next();
+<a name="1447" href="#1447">1447</a>                     String path = sourcePath + '/' + name;
+<a name="1448" href="#1448">1448</a> 
+<a name="1449" href="#1449">1449</a>                     <em class="jxr_comment">// make relative to project</em>
+<a name="1450" href="#1450">1450</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
+<a name="1451" href="#1451">1451</a>                     {
+<a name="1452" href="#1452">1452</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
+<a name="1453" href="#1453">1453</a>                         {
+<a name="1454" href="#1454">1454</a>                             path = <span class="jxr_string">"."</span>;
+<a name="1455" href="#1455">1455</a>                         }
+<a name="1456" href="#1456">1456</a>                         <strong class="jxr_keyword">else</strong>
+<a name="1457" href="#1457">1457</a>                         {
+<a name="1458" href="#1458">1458</a>                             path = path.substring( basePath.length() + 1 );
+<a name="1459" href="#1459">1459</a>                         }
+<a name="1460" href="#1460">1460</a>                     }
+<a name="1461" href="#1461">1461</a> 
+<a name="1462" href="#1462">1462</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
+<a name="1463" href="#1463">1463</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
+<a name="1464" href="#1464">1464</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
+<a name="1465" href="#1465">1465</a>                     {
+<a name="1466" href="#1466">1466</a>                         name = name.replace( File.separatorChar, '/' );
+<a name="1467" href="#1467">1467</a>                         path = path.replace( File.separatorChar, '/' );
+<a name="1468" href="#1468">1468</a>                     }
+<a name="1469" href="#1469">1469</a> 
+<a name="1470" href="#1470">1470</a>                     <em class="jxr_comment">// copy to correct place</em>
+<a name="1471" href="#1471">1471</a>                     path = name + '=' + path;
+<a name="1472" href="#1472">1472</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
+<a name="1473" href="#1473">1473</a>                     {
+<a name="1474" href="#1474">1474</a>                         path = targetPath + '/' + path;
+<a name="1475" href="#1475">1475</a>                     }
+<a name="1476" href="#1476">1476</a> 
+<a name="1477" href="#1477">1477</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
+<a name="1478" href="#1478">1478</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
+<a name="1479" href="#1479">1479</a>                     {
+<a name="1480" href="#1480">1480</a>                         path = '{' + path + '}';
+<a name="1481" href="#1481">1481</a>                     }
+<a name="1482" href="#1482">1482</a> 
+<a name="1483" href="#1483">1483</a>                     pathSet.add( path );
+<a name="1484" href="#1484">1484</a>                 }
+<a name="1485" href="#1485">1485</a>             }
+<a name="1486" href="#1486">1486</a>         }
+<a name="1487" href="#1487">1487</a> 
+<a name="1488" href="#1488">1488</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="1489" href="#1489">1489</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
+<a name="1490" href="#1490">1490</a>         {
+<a name="1491" href="#1491">1491</a>             resourcePaths.append( i.next() );
+<a name="1492" href="#1492">1492</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
+<a name="1493" href="#1493">1493</a>             {
+<a name="1494" href="#1494">1494</a>                 resourcePaths.append( ',' );
+<a name="1495" href="#1495">1495</a>             }
+<a name="1496" href="#1496">1496</a>         }
+<a name="1497" href="#1497">1497</a> 
+<a name="1498" href="#1498">1498</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
+<a name="1499" href="#1499">1499</a>     }
+<a name="1500" href="#1500">1500</a> 
+<a name="1501" href="#1501">1501</a> 
+<a name="1502" href="#1502">1502</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
+<a name="1503" href="#1503">1503</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="1504" href="#1504">1504</a>     {
+<a name="1505" href="#1505">1505</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
+<a name="1506" href="#1506">1506</a> 
+<a name="1507" href="#1507">1507</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
+<a name="1508" href="#1508">1508</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
+<a name="1509" href="#1509">1509</a>         {
+<a name="1510" href="#1510">1510</a>             <em class="jxr_comment">// includes transitive dependencies</em>
+<a name="1511" href="#1511">1511</a>             artifacts = currentProject.getArtifacts();
+<a name="1512" href="#1512">1512</a>         }
+<a name="1513" href="#1513">1513</a>         <strong class="jxr_keyword">else</strong>
+<a name="1514" href="#1514">1514</a>         {
+<a name="1515" href="#1515">1515</a>             <em class="jxr_comment">// only includes direct dependencies</em>
+<a name="1516" href="#1516">1516</a>             artifacts = currentProject.getDependencyArtifacts();
+<a name="1517" href="#1517">1517</a>         }
+<a name="1518" href="#1518">1518</a> 
+<a name="1519" href="#1519">1519</a>         <strong class="jxr_keyword">return</strong> getSelectedDependencies( artifacts );
+<a name="1520" href="#1520">1520</a>     }
+<a name="1521" href="#1521">1521</a> 
+<a name="1522" href="#1522">1522</a> 
+<a name="1523" href="#1523">1523</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addMavenSourcePath( MavenProject currentProject, Analyzer analyzer, Log log )
+<a name="1524" href="#1524">1524</a>     {
+<a name="1525" href="#1525">1525</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
+<a name="1526" href="#1526">1526</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a name="1527" href="#1527">1527</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
 <a name="1528" href="#1528">1528</a>         {
-<a name="1529" href="#1529">1529</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
-<a name="1530" href="#1530">1530</a>         }
-<a name="1531" href="#1531">1531</a>     }
-<a name="1532" href="#1532">1532</a> }
+<a name="1529" href="#1529">1529</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
+<a name="1530" href="#1530">1530</a>             {
+<a name="1531" href="#1531">1531</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1532" href="#1532">1532</a>                 {
+<a name="1533" href="#1533">1533</a>                     mavenSourcePaths.append( ',' );
+<a name="1534" href="#1534">1534</a>                 }
+<a name="1535" href="#1535">1535</a>                 mavenSourcePaths.append( ( String ) i.next() );
+<a name="1536" href="#1536">1536</a>             }
+<a name="1537" href="#1537">1537</a>         }
+<a name="1538" href="#1538">1538</a>         <strong class="jxr_keyword">final</strong> String sourcePath = ( String ) analyzer.getProperty( Analyzer.SOURCEPATH );
+<a name="1539" href="#1539">1539</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
+<a name="1540" href="#1540">1540</a>         {
+<a name="1541" href="#1541">1541</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.indexOf( MAVEN_SOURCES ) &gt;= 0 )
+<a name="1542" href="#1542">1542</a>             {
+<a name="1543" href="#1543">1543</a>                 <em class="jxr_comment">// if there is no maven source path, we do a special treatment and replace</em>
+<a name="1544" href="#1544">1544</a>                 <em class="jxr_comment">// every occurance of MAVEN_SOURCES and a following comma with an empty string</em>
+<a name="1545" href="#1545">1545</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() == 0 )
+<a name="1546" href="#1546">1546</a>                 {
+<a name="1547" href="#1547">1547</a>                     String cleanedSource = removeTagFromInstruction( sourcePath, MAVEN_SOURCES );
+<a name="1548" href="#1548">1548</a>                     <strong class="jxr_keyword">if</strong> ( cleanedSource.length() &gt; 0 )
+<a name="1549" href="#1549">1549</a>                     {
+<a name="1550" href="#1550">1550</a>                         analyzer.setProperty( Analyzer.SOURCEPATH, cleanedSource );
+<a name="1551" href="#1551">1551</a>                     }
+<a name="1552" href="#1552">1552</a>                     <strong class="jxr_keyword">else</strong>
+<a name="1553" href="#1553">1553</a>                     {
+<a name="1554" href="#1554">1554</a>                         analyzer.unsetProperty( Analyzer.SOURCEPATH );
+<a name="1555" href="#1555">1555</a>                     }
+<a name="1556" href="#1556">1556</a>                 }
+<a name="1557" href="#1557">1557</a>                 <strong class="jxr_keyword">else</strong>
+<a name="1558" href="#1558">1558</a>                 {
+<a name="1559" href="#1559">1559</a>                     String combinedSource = StringUtils
+<a name="1560" href="#1560">1560</a>                         .replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
+<a name="1561" href="#1561">1561</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
+<a name="1562" href="#1562">1562</a>                 }
+<a name="1563" href="#1563">1563</a>             }
+<a name="1564" href="#1564">1564</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1565" href="#1565">1565</a>             {
+<a name="1566" href="#1566">1566</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
+<a name="1567" href="#1567">1567</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
+<a name="1568" href="#1568">1568</a>             }
+<a name="1569" href="#1569">1569</a>         }
+<a name="1570" href="#1570">1570</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
+<a name="1571" href="#1571">1571</a>         {
+<a name="1572" href="#1572">1572</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
+<a name="1573" href="#1573">1573</a>         }
+<a name="1574" href="#1574">1574</a>     }
+<a name="1575" href="#1575">1575</a> }
 </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 1ce3613..79f8ee8 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyEmbedder.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/DependencyEmbedder.html
@@ -39,7 +39,7 @@
 <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="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.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>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/InstructionsPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/InstructionsPlugin.html
index b6e9d55..97378e8 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/InstructionsPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/InstructionsPlugin.html
@@ -39,7 +39,7 @@
 <a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
 <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>  
-<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
 <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>
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 42eb4d2..f213940 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
@@ -45,10 +45,10 @@
 <a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
 <a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
 <a name="37" href="#37">37</a>  
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Resource;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Resource;
 <a name="42" href="#42">42</a>  
 <a name="43" href="#43">43</a>  
 <a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">/**</em>
@@ -182,106 +182,113 @@
 <a name="172" href="#172">172</a> 
 <a name="173" href="#173">173</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
 <a name="174" href="#174">174</a>         {
-<a name="175" href="#175">175</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> FileNotFoundException( file.getPath() );
-<a name="176" href="#176">176</a>         }
-<a name="177" href="#177">177</a> 
-<a name="178" href="#178">178</a>         Builder analyzer = getOSGiBuilder( project, instructions, properties, classpath );
-<a name="179" href="#179">179</a> 
-<a name="180" href="#180">180</a>         analyzer.setJar( file );
-<a name="181" href="#181">181</a> 
-<a name="182" href="#182">182</a>         <em class="jxr_comment">// calculateExportsFromContents when we have no explicit instructions defining</em>
-<a name="183" href="#183">183</a>         <em class="jxr_comment">// the contents of the bundle *and* we are not analyzing the output directory,</em>
-<a name="184" href="#184">184</a>         <em class="jxr_comment">// otherwise fall-back to addMavenInstructions approach</em>
-<a name="185" href="#185">185</a> 
-<a name="186" href="#186">186</a>         <strong class="jxr_keyword">boolean</strong> isOutputDirectory = file.equals( getOutputDirectory() );
-<a name="187" href="#187">187</a> 
-<a name="188" href="#188">188</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong>
-<a name="189" href="#189">189</a>             &amp;&amp; analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong>
-<a name="190" href="#190">190</a>             &amp;&amp; analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) == <strong class="jxr_keyword">null</strong> &amp;&amp; !isOutputDirectory )
-<a name="191" href="#191">191</a>         {
-<a name="192" href="#192">192</a>             String export = calculateExportsFromContents( analyzer.getJar() );
-<a name="193" href="#193">193</a>             analyzer.setProperty( Analyzer.EXPORT_PACKAGE, export );
-<a name="194" href="#194">194</a>         }
-<a name="195" href="#195">195</a> 
-<a name="196" href="#196">196</a>         addMavenInstructions( project, analyzer );
-<a name="197" href="#197">197</a> 
-<a name="198" href="#198">198</a>         <em class="jxr_comment">// if we spot Embed-Dependency and the bundle is "target/classes", assume we need to rebuild</em>
-<a name="199" href="#199">199</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( DependencyEmbedder.EMBED_DEPENDENCY ) != <strong class="jxr_keyword">null</strong> &amp;&amp; isOutputDirectory )
-<a name="200" href="#200">200</a>         {
-<a name="201" href="#201">201</a>             analyzer.build();
-<a name="202" href="#202">202</a>         }
-<a name="203" href="#203">203</a>         <strong class="jxr_keyword">else</strong>
-<a name="204" href="#204">204</a>         {
-<a name="205" href="#205">205</a>             analyzer.mergeManifest( analyzer.getJar().getManifest() );
-<a name="206" href="#206">206</a>             analyzer.calcManifest();
-<a name="207" href="#207">207</a>         }
-<a name="208" href="#208">208</a> 
-<a name="209" href="#209">209</a>         mergeMavenManifest( project, analyzer );
-<a name="210" href="#210">210</a> 
-<a name="211" href="#211">211</a>         <strong class="jxr_keyword">return</strong> analyzer;
-<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">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="216" href="#216">216</a>     {
-<a name="217" href="#217">217</a>         outputFile.getParentFile().mkdirs();
-<a name="218" href="#218">218</a> 
-<a name="219" href="#219">219</a>         FileOutputStream os;
-<a name="220" href="#220">220</a>         os = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
-<a name="221" href="#221">221</a>         <strong class="jxr_keyword">try</strong>
-<a name="222" href="#222">222</a>         {
-<a name="223" href="#223">223</a>             Jar.writeManifest( manifest, os );
-<a name="224" href="#224">224</a>         }
-<a name="225" href="#225">225</a>         <strong class="jxr_keyword">finally</strong>
-<a name="226" href="#226">226</a>         {
-<a name="227" href="#227">227</a>             <strong class="jxr_keyword">try</strong>
-<a name="228" href="#228">228</a>             {
-<a name="229" href="#229">229</a>                 os.close();
-<a name="230" href="#230">230</a>             }
-<a name="231" href="#231">231</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="232" href="#232">232</a>             {
-<a name="233" href="#233">233</a>                 <em class="jxr_comment">// nothing we can do here</em>
-<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> 
-<a name="239" href="#239">239</a>     <em class="jxr_comment">/*</em>
-<a name="240" href="#240">240</a> <em class="jxr_comment">     * Patched version of bnd's Analyzer.calculateExportsFromContents</em>
-<a name="241" href="#241">241</a> <em class="jxr_comment">     */</em>
-<a name="242" href="#242">242</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String calculateExportsFromContents( Jar bundle )
-<a name="243" href="#243">243</a>     {
-<a name="244" href="#244">244</a>         String ddel = <span class="jxr_string">""</span>;
-<a name="245" href="#245">245</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="246" href="#246">246</a>         Map&lt;String, Map&lt;String, Resource&gt;&gt; map = bundle.getDirectories();
-<a name="247" href="#247">247</a>         <strong class="jxr_keyword">for</strong> ( Iterator&lt;Entry&lt;String, Map&lt;String, Resource&gt;&gt;&gt; i = map.entrySet().iterator(); i.hasNext(); )
-<a name="248" href="#248">248</a>         {
-<a name="249" href="#249">249</a>             <em class="jxr_comment">//----------------------------------------------------</em>
-<a name="250" href="#250">250</a>             <em class="jxr_comment">// should also ignore directories with no resources</em>
-<a name="251" href="#251">251</a>             <em class="jxr_comment">//----------------------------------------------------</em>
-<a name="252" href="#252">252</a>             Entry&lt;String, Map&lt;String, Resource&gt;&gt; entry = i.next();
-<a name="253" href="#253">253</a>             <strong class="jxr_keyword">if</strong> ( entry.getValue() == <strong class="jxr_keyword">null</strong> || entry.getValue().isEmpty() )
-<a name="254" href="#254">254</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="255" href="#255">255</a>             <em class="jxr_comment">//----------------------------------------------------</em>
-<a name="256" href="#256">256</a>             String directory = entry.getKey();
-<a name="257" href="#257">257</a>             <strong class="jxr_keyword">if</strong> ( directory.equals( <span class="jxr_string">"META-INF"</span> ) || directory.startsWith( <span class="jxr_string">"META-INF/"</span> ) )
-<a name="258" href="#258">258</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="259" href="#259">259</a>             <strong class="jxr_keyword">if</strong> ( directory.equals( <span class="jxr_string">"OSGI-OPT"</span> ) || directory.startsWith( <span class="jxr_string">"OSGI-OPT/"</span> ) )
-<a name="260" href="#260">260</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="261" href="#261">261</a>             <strong class="jxr_keyword">if</strong> ( directory.equals( <span class="jxr_string">"/"</span> ) )
-<a name="262" href="#262">262</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="263" href="#263">263</a> 
-<a name="264" href="#264">264</a>             <strong class="jxr_keyword">if</strong> ( directory.endsWith( <span class="jxr_string">"/"</span> ) )
-<a name="265" href="#265">265</a>                 directory = directory.substring( 0, directory.length() - 1 );
-<a name="266" href="#266">266</a> 
-<a name="267" href="#267">267</a>             directory = directory.replace( '/', '.' );
-<a name="268" href="#268">268</a>             sb.append( ddel );
-<a name="269" href="#269">269</a>             sb.append( directory );
-<a name="270" href="#270">270</a>             ddel = <span class="jxr_string">","</span>;
-<a name="271" href="#271">271</a>         }
-<a name="272" href="#272">272</a>         <strong class="jxr_keyword">return</strong> sb.toString();
-<a name="273" href="#273">273</a>     }
-<a name="274" href="#274">274</a> }
+<a name="175" href="#175">175</a>             <strong class="jxr_keyword">if</strong> ( file.equals( getOutputDirectory() ) )
+<a name="176" href="#176">176</a>             {
+<a name="177" href="#177">177</a>                 file.mkdirs();
+<a name="178" href="#178">178</a>             }
+<a name="179" href="#179">179</a>             <strong class="jxr_keyword">else</strong>
+<a name="180" href="#180">180</a>             {
+<a name="181" href="#181">181</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> FileNotFoundException( file.getPath() );
+<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>         Builder analyzer = getOSGiBuilder( project, instructions, properties, classpath );
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>         analyzer.setJar( file );
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         <em class="jxr_comment">// calculateExportsFromContents when we have no explicit instructions defining</em>
+<a name="190" href="#190">190</a>         <em class="jxr_comment">// the contents of the bundle *and* we are not analyzing the output directory,</em>
+<a name="191" href="#191">191</a>         <em class="jxr_comment">// otherwise fall-back to addMavenInstructions approach</em>
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>         <strong class="jxr_keyword">boolean</strong> isOutputDirectory = file.equals( getOutputDirectory() );
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong>
+<a name="196" href="#196">196</a>             &amp;&amp; analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong>
+<a name="197" href="#197">197</a>             &amp;&amp; analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) == <strong class="jxr_keyword">null</strong> &amp;&amp; !isOutputDirectory )
+<a name="198" href="#198">198</a>         {
+<a name="199" href="#199">199</a>             String export = calculateExportsFromContents( analyzer.getJar() );
+<a name="200" href="#200">200</a>             analyzer.setProperty( Analyzer.EXPORT_PACKAGE, export );
+<a name="201" href="#201">201</a>         }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>         addMavenInstructions( project, analyzer );
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>         <em class="jxr_comment">// if we spot Embed-Dependency and the bundle is "target/classes", assume we need to rebuild</em>
+<a name="206" href="#206">206</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( DependencyEmbedder.EMBED_DEPENDENCY ) != <strong class="jxr_keyword">null</strong> &amp;&amp; isOutputDirectory )
+<a name="207" href="#207">207</a>         {
+<a name="208" href="#208">208</a>             analyzer.build();
+<a name="209" href="#209">209</a>         }
+<a name="210" href="#210">210</a>         <strong class="jxr_keyword">else</strong>
+<a name="211" href="#211">211</a>         {
+<a name="212" href="#212">212</a>             analyzer.mergeManifest( analyzer.getJar().getManifest() );
+<a name="213" href="#213">213</a>             analyzer.getJar().setManifest( analyzer.calcManifest() );
+<a name="214" href="#214">214</a>         }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>         mergeMavenManifest( project, analyzer );
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>         <strong class="jxr_keyword">return</strong> analyzer;
+<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>     <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="223" href="#223">223</a>     {
+<a name="224" href="#224">224</a>         outputFile.getParentFile().mkdirs();
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>         FileOutputStream os;
+<a name="227" href="#227">227</a>         os = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
+<a name="228" href="#228">228</a>         <strong class="jxr_keyword">try</strong>
+<a name="229" href="#229">229</a>         {
+<a name="230" href="#230">230</a>             Jar.writeManifest( manifest, os );
+<a name="231" href="#231">231</a>         }
+<a name="232" href="#232">232</a>         <strong class="jxr_keyword">finally</strong>
+<a name="233" href="#233">233</a>         {
+<a name="234" href="#234">234</a>             <strong class="jxr_keyword">try</strong>
+<a name="235" href="#235">235</a>             {
+<a name="236" href="#236">236</a>                 os.close();
+<a name="237" href="#237">237</a>             }
+<a name="238" href="#238">238</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="239" href="#239">239</a>             {
+<a name="240" href="#240">240</a>                 <em class="jxr_comment">// nothing we can do here</em>
+<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> 
+<a name="246" href="#246">246</a>     <em class="jxr_comment">/*</em>
+<a name="247" href="#247">247</a> <em class="jxr_comment">     * Patched version of bnd's Analyzer.calculateExportsFromContents</em>
+<a name="248" href="#248">248</a> <em class="jxr_comment">     */</em>
+<a name="249" href="#249">249</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String calculateExportsFromContents( Jar bundle )
+<a name="250" href="#250">250</a>     {
+<a name="251" href="#251">251</a>         String ddel = <span class="jxr_string">""</span>;
+<a name="252" href="#252">252</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="253" href="#253">253</a>         Map&lt;String, Map&lt;String, Resource&gt;&gt; map = bundle.getDirectories();
+<a name="254" href="#254">254</a>         <strong class="jxr_keyword">for</strong> ( Iterator&lt;Entry&lt;String, Map&lt;String, Resource&gt;&gt;&gt; i = map.entrySet().iterator(); i.hasNext(); )
+<a name="255" href="#255">255</a>         {
+<a name="256" href="#256">256</a>             <em class="jxr_comment">//----------------------------------------------------</em>
+<a name="257" href="#257">257</a>             <em class="jxr_comment">// should also ignore directories with no resources</em>
+<a name="258" href="#258">258</a>             <em class="jxr_comment">//----------------------------------------------------</em>
+<a name="259" href="#259">259</a>             Entry&lt;String, Map&lt;String, Resource&gt;&gt; entry = i.next();
+<a name="260" href="#260">260</a>             <strong class="jxr_keyword">if</strong> ( entry.getValue() == <strong class="jxr_keyword">null</strong> || entry.getValue().isEmpty() )
+<a name="261" href="#261">261</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="262" href="#262">262</a>             <em class="jxr_comment">//----------------------------------------------------</em>
+<a name="263" href="#263">263</a>             String directory = entry.getKey();
+<a name="264" href="#264">264</a>             <strong class="jxr_keyword">if</strong> ( directory.equals( <span class="jxr_string">"META-INF"</span> ) || directory.startsWith( <span class="jxr_string">"META-INF/"</span> ) )
+<a name="265" href="#265">265</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="266" href="#266">266</a>             <strong class="jxr_keyword">if</strong> ( directory.equals( <span class="jxr_string">"OSGI-OPT"</span> ) || directory.startsWith( <span class="jxr_string">"OSGI-OPT/"</span> ) )
+<a name="267" href="#267">267</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="268" href="#268">268</a>             <strong class="jxr_keyword">if</strong> ( directory.equals( <span class="jxr_string">"/"</span> ) )
+<a name="269" href="#269">269</a>                 <strong class="jxr_keyword">continue</strong>;
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>             <strong class="jxr_keyword">if</strong> ( directory.endsWith( <span class="jxr_string">"/"</span> ) )
+<a name="272" href="#272">272</a>                 directory = directory.substring( 0, directory.length() - 1 );
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>             directory = directory.replace( '/', '.' );
+<a name="275" href="#275">275</a>             sb.append( ddel );
+<a name="276" href="#276">276</a>             sb.append( directory );
+<a name="277" href="#277">277</a>             ddel = <span class="jxr_string">","</span>;
+<a name="278" href="#278">278</a>         }
+<a name="279" href="#279">279</a>         <strong class="jxr_keyword">return</strong> sb.toString();
+<a name="280" href="#280">280</a>     }
+<a name="281" href="#281">281</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-summary.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html
index 53f7a33..ca96ffb 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
@@ -132,6 +132,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrInstall.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrInstall.html
index 329a88a..39bb07c 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrInstall.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/ObrInstall.html
@@ -148,52 +148,55 @@
 <a name="138" href="#138">138</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="139" href="#139">139</a> 
 <a name="140" href="#140">140</a>             update = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/obrplugin/ObrUpdate.html">ObrUpdate</a>( repositoryXml, obrXmlFile, project, mavenRepository, userConfig, log );
-<a name="141" href="#141">141</a>             update.parseRepositoryXml();
-<a name="142" href="#142">142</a> 
-<a name="143" href="#143">143</a>             updateLocalBundleMetadata( project.getArtifact(), update );
-<a name="144" href="#144">144</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = attachedArtifacts.iterator(); i.hasNext(); )
-<a name="145" href="#145">145</a>             {
-<a name="146" href="#146">146</a>                 updateLocalBundleMetadata( ( Artifact ) i.next(), update );
-<a name="147" href="#147">147</a>             }
-<a name="148" href="#148">148</a> 
-<a name="149" href="#149">149</a>             update.writeRepositoryXml();
-<a name="150" href="#150">150</a>         }
-<a name="151" href="#151">151</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="152" href="#152">152</a>         {
-<a name="153" href="#153">153</a>             log.warn( <span class="jxr_string">"Exception while updating local OBR: "</span> + e.getLocalizedMessage(), e );
-<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> 
-<a name="158" href="#158">158</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateLocalBundleMetadata( Artifact artifact, ObrUpdate update ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="159" href="#159">159</a>     {
-<a name="160" href="#160">160</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( artifact.getType() ) )
-<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>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == artifact.getFile() || artifact.getFile().isDirectory() )
-<a name="165" href="#165">165</a>         {
-<a name="166" href="#166">166</a>             getLog().error( <span class="jxr_string">"No artifact found, try \&quot;mvn install bundle:install\&quot;"</span> );
-<a name="167" href="#167">167</a>             <strong class="jxr_keyword">return</strong>;
-<a name="168" href="#168">168</a>         }
-<a name="169" href="#169">169</a> 
-<a name="170" href="#170">170</a>         URI bundleJar = ObrUtils.getArtifactURI( localRepository, artifact );
-<a name="171" href="#171">171</a> 
-<a name="172" href="#172">172</a>         URI sourceJar = <strong class="jxr_keyword">null</strong>;
-<a name="173" href="#173">173</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != m_sourceArtifact )
-<a name="174" href="#174">174</a>         {
-<a name="175" href="#175">175</a>             sourceJar = ObrUtils.getArtifactURI( localRepository, m_sourceArtifact );
-<a name="176" href="#176">176</a>         }
-<a name="177" href="#177">177</a> 
-<a name="178" href="#178">178</a>         URI docJar = <strong class="jxr_keyword">null</strong>;
-<a name="179" href="#179">179</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != m_docArtifact )
-<a name="180" href="#180">180</a>         {
-<a name="181" href="#181">181</a>             docJar = ObrUtils.getArtifactURI( localRepository, m_docArtifact );
-<a name="182" href="#182">182</a>         }
-<a name="183" href="#183">183</a> 
-<a name="184" href="#184">184</a>         update.updateRepository( bundleJar, sourceJar, docJar );
-<a name="185" href="#185">185</a>     }
-<a name="186" href="#186">186</a> }
+<a name="141" href="#141">141</a>             <strong class="jxr_keyword">synchronized</strong> ( ObrUpdate.<strong class="jxr_keyword">class</strong> ) <em class="jxr_comment">// protect against concurrent in-process updates</em>
+<a name="142" href="#142">142</a>             {
+<a name="143" href="#143">143</a>                 update.parseRepositoryXml();
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>                 updateLocalBundleMetadata( project.getArtifact(), update );
+<a name="146" href="#146">146</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = attachedArtifacts.iterator(); i.hasNext(); )
+<a name="147" href="#147">147</a>                 {
+<a name="148" href="#148">148</a>                     updateLocalBundleMetadata( ( Artifact ) i.next(), update );
+<a name="149" href="#149">149</a>                 }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>                 update.writeRepositoryXml();
+<a name="152" href="#152">152</a>             }
+<a name="153" href="#153">153</a>         }
+<a name="154" href="#154">154</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="155" href="#155">155</a>         {
+<a name="156" href="#156">156</a>             log.warn( <span class="jxr_string">"Exception while updating local OBR: "</span> + e.getLocalizedMessage(), e );
+<a name="157" href="#157">157</a>         }
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateLocalBundleMetadata( Artifact artifact, ObrUpdate update ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="162" href="#162">162</a>     {
+<a name="163" href="#163">163</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( artifact.getType() ) )
+<a name="164" href="#164">164</a>         {
+<a name="165" href="#165">165</a>             <strong class="jxr_keyword">return</strong>;
+<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> ( <strong class="jxr_keyword">null</strong> == artifact.getFile() || artifact.getFile().isDirectory() )
+<a name="168" href="#168">168</a>         {
+<a name="169" href="#169">169</a>             getLog().error( <span class="jxr_string">"No artifact found, try \&quot;mvn install bundle:install\&quot;"</span> );
+<a name="170" href="#170">170</a>             <strong class="jxr_keyword">return</strong>;
+<a name="171" href="#171">171</a>         }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>         URI bundleJar = ObrUtils.getArtifactURI( localRepository, artifact );
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>         URI sourceJar = <strong class="jxr_keyword">null</strong>;
+<a name="176" href="#176">176</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != m_sourceArtifact )
+<a name="177" href="#177">177</a>         {
+<a name="178" href="#178">178</a>             sourceJar = ObrUtils.getArtifactURI( localRepository, m_sourceArtifact );
+<a name="179" href="#179">179</a>         }
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         URI docJar = <strong class="jxr_keyword">null</strong>;
+<a name="182" href="#182">182</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != m_docArtifact )
+<a name="183" href="#183">183</a>         {
+<a name="184" href="#184">184</a>             docJar = ObrUtils.getArtifactURI( localRepository, m_docArtifact );
+<a name="185" href="#185">185</a>         }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>         update.updateRepository( bundleJar, sourceJar, docJar );
+<a name="188" href="#188">188</a>     }
+<a name="189" href="#189">189</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/package-summary.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html
index 7a3519a..cc61bef 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
@@ -127,6 +127,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html
index c191293..35a062c 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
@@ -62,6 +62,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.html
index c82b3ad..fd2c032 100644
--- a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.html
+++ b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.html
@@ -43,7 +43,7 @@
 <a name="33" href="#33">33</a>  
 <a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
 <a name="35" href="#35">35</a>  
-<a name="36" href="#36">36</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.bnd.osgi.Analyzer;
 <a name="37" href="#37">37</a>  
 <a name="38" href="#38">38</a>  
 <a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">/**</em>
@@ -78,267 +78,274 @@
 <a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     * org.apache.maven:maven -&gt; org.apache.maven&lt;/li&gt;</em>
 <a name="69" href="#69">69</a>  <em class="jxr_javadoccomment">     * &lt;li&gt;if artifactId starts with last section of groupId that portion is removed. eg.</em>
 <a name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     * org.apache.maven:maven-core -&gt; org.apache.maven.core&lt;/li&gt;</em>
-<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * &lt;/ul&gt;</em>
-<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="73" href="#73">73</a>      <strong class="jxr_keyword">public</strong> String getBundleSymbolicName( Artifact artifact )
-<a name="74" href="#74">74</a>      {
-<a name="75" href="#75">75</a>          <strong class="jxr_keyword">if</strong> ( ( artifact.getFile() != <strong class="jxr_keyword">null</strong> ) &amp;&amp; artifact.getFile().isFile() )
-<a name="76" href="#76">76</a>          {
-<a name="77" href="#77">77</a>              Analyzer analyzer = <strong class="jxr_keyword">new</strong> Analyzer();
-<a name="78" href="#78">78</a>  
-<a name="79" href="#79">79</a>              JarFile jar = <strong class="jxr_keyword">null</strong>;
-<a name="80" href="#80">80</a>              <strong class="jxr_keyword">try</strong>
-<a name="81" href="#81">81</a>              {
-<a name="82" href="#82">82</a>                  jar = <strong class="jxr_keyword">new</strong> JarFile( artifact.getFile(), false );
-<a name="83" href="#83">83</a>  
-<a name="84" href="#84">84</a>                  <strong class="jxr_keyword">if</strong> ( jar.getManifest() != <strong class="jxr_keyword">null</strong> )
-<a name="85" href="#85">85</a>                  {
-<a name="86" href="#86">86</a>                      String symbolicNameAttribute = jar.getManifest().getMainAttributes()
-<a name="87" href="#87">87</a>                          .getValue( Analyzer.BUNDLE_SYMBOLICNAME );
-<a name="88" href="#88">88</a>                      Map bundleSymbolicNameHeader = analyzer.parseHeader( symbolicNameAttribute );
-<a name="89" href="#89">89</a>  
-<a name="90" href="#90">90</a>                      Iterator it = bundleSymbolicNameHeader.keySet().iterator();
-<a name="91" href="#91">91</a>                      <strong class="jxr_keyword">if</strong> ( it.hasNext() )
-<a name="92" href="#92">92</a>                      {
-<a name="93" href="#93">93</a>                          <strong class="jxr_keyword">return</strong> ( String ) it.next();
-<a name="94" href="#94">94</a>                      }
-<a name="95" href="#95">95</a>                  }
-<a name="96" href="#96">96</a>              }
-<a name="97" href="#97">97</a>              <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="98" href="#98">98</a>              {
-<a name="99" href="#99">99</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/maven/shared/osgi/ManifestReadingException.html">ManifestReadingException</a>( <span class="jxr_string">"Error reading manifest in jar "</span>
-<a name="100" href="#100">100</a>                     + artifact.getFile().getAbsolutePath(), e );
-<a name="101" href="#101">101</a>             }
-<a name="102" href="#102">102</a>             <strong class="jxr_keyword">finally</strong>
-<a name="103" href="#103">103</a>             {
-<a name="104" href="#104">104</a>                 <strong class="jxr_keyword">if</strong> ( jar != <strong class="jxr_keyword">null</strong> )
-<a name="105" href="#105">105</a>                 {
-<a name="106" href="#106">106</a>                     <strong class="jxr_keyword">try</strong>
-<a name="107" href="#107">107</a>                     {
-<a name="108" href="#108">108</a>                         jar.close();
-<a name="109" href="#109">109</a>                     }
-<a name="110" href="#110">110</a>                     <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="111" href="#111">111</a>                     {
-<a name="112" href="#112">112</a>                     }
-<a name="113" href="#113">113</a>                 }
-<a name="114" href="#114">114</a>             }
-<a name="115" href="#115">115</a>         }
-<a name="116" href="#116">116</a> 
-<a name="117" href="#117">117</a>         <strong class="jxr_keyword">int</strong> i = artifact.getGroupId().lastIndexOf( '.' );
-<a name="118" href="#118">118</a>         <strong class="jxr_keyword">if</strong> ( ( i &lt; 0 ) &amp;&amp; ( artifact.getFile() != <strong class="jxr_keyword">null</strong> ) &amp;&amp; artifact.getFile().isFile() )
-<a name="119" href="#119">119</a>         {
-<a name="120" href="#120">120</a>             String groupIdFromPackage = getGroupIdFromPackage( artifact.getFile() );
-<a name="121" href="#121">121</a>             <strong class="jxr_keyword">if</strong> ( groupIdFromPackage != <strong class="jxr_keyword">null</strong> )
-<a name="122" href="#122">122</a>             {
-<a name="123" href="#123">123</a>                 <strong class="jxr_keyword">return</strong> groupIdFromPackage;
-<a name="124" href="#124">124</a>             }
-<a name="125" href="#125">125</a>         }
-<a name="126" href="#126">126</a>         String lastSection = artifact.getGroupId().substring( ++i );
-<a name="127" href="#127">127</a>         <strong class="jxr_keyword">if</strong> ( artifact.getArtifactId().equals( lastSection ) )
-<a name="128" href="#128">128</a>         {
-<a name="129" href="#129">129</a>             <strong class="jxr_keyword">return</strong> artifact.getGroupId();
-<a name="130" href="#130">130</a>         }
-<a name="131" href="#131">131</a>         <strong class="jxr_keyword">if</strong> ( artifact.getArtifactId().startsWith( lastSection ) )
-<a name="132" href="#132">132</a>         {
-<a name="133" href="#133">133</a>             String artifactId = artifact.getArtifactId().substring( lastSection.length() );
-<a name="134" href="#134">134</a>             <strong class="jxr_keyword">if</strong> ( Character.isLetterOrDigit( artifactId.charAt( 0 ) ) )
-<a name="135" href="#135">135</a>             {
-<a name="136" href="#136">136</a>                 <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact.getGroupId(), artifactId );
-<a name="137" href="#137">137</a>             }
-<a name="138" href="#138">138</a>             <strong class="jxr_keyword">else</strong>
-<a name="139" href="#139">139</a>             {
-<a name="140" href="#140">140</a>                 <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact.getGroupId(), artifactId.substring( 1 ) );
-<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">return</strong> getBundleSymbolicName( artifact.getGroupId(), artifact.getArtifactId() );
-<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> String getGroupIdFromPackage( File artifactFile )
-<a name="148" href="#148">148</a>     {
-<a name="149" href="#149">149</a>         <strong class="jxr_keyword">try</strong>
-<a name="150" href="#150">150</a>         {
-<a name="151" href="#151">151</a>             <em class="jxr_comment">/*<em class="jxr_comment"> get package names from jar */</em></em>
-<a name="152" href="#152">152</a>             Set packageNames = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="153" href="#153">153</a>             JarFile jar = <strong class="jxr_keyword">new</strong> JarFile( artifactFile, false );
-<a name="154" href="#154">154</a>             Enumeration entries = jar.entries();
-<a name="155" href="#155">155</a>             <strong class="jxr_keyword">while</strong> ( entries.hasMoreElements() )
-<a name="156" href="#156">156</a>             {
-<a name="157" href="#157">157</a>                 ZipEntry entry = ( ZipEntry ) entries.nextElement();
-<a name="158" href="#158">158</a>                 <strong class="jxr_keyword">if</strong> ( entry.getName().endsWith( <span class="jxr_string">".class"</span> ) )
-<a name="159" href="#159">159</a>                 {
-<a name="160" href="#160">160</a>                     File f = <strong class="jxr_keyword">new</strong> File( entry.getName() );
-<a name="161" href="#161">161</a>                     String packageName = f.getParent();
-<a name="162" href="#162">162</a>                     <strong class="jxr_keyword">if</strong> ( packageName != <strong class="jxr_keyword">null</strong> )
-<a name="163" href="#163">163</a>                     {
-<a name="164" href="#164">164</a>                         packageNames.add( packageName );
-<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>             jar.close();
-<a name="169" href="#169">169</a> 
-<a name="170" href="#170">170</a>             <em class="jxr_comment">/*<em class="jxr_comment"> find the top package */</em></em>
-<a name="171" href="#171">171</a>             String[] groupIdSections = <strong class="jxr_keyword">null</strong>;
-<a name="172" href="#172">172</a>             <strong class="jxr_keyword">for</strong> ( Iterator it = packageNames.iterator(); it.hasNext(); )
-<a name="173" href="#173">173</a>             {
-<a name="174" href="#174">174</a>                 String packageName = ( String ) it.next();
-<a name="175" href="#175">175</a> 
-<a name="176" href="#176">176</a>                 String[] packageNameSections = packageName.split( <span class="jxr_string">"&#92;&#92;"</span> + FILE_SEPARATOR );
-<a name="177" href="#177">177</a>                 <strong class="jxr_keyword">if</strong> ( groupIdSections == <strong class="jxr_keyword">null</strong> )
-<a name="178" href="#178">178</a>                 {
-<a name="179" href="#179">179</a>                     <em class="jxr_comment">/*<em class="jxr_comment"> first candidate */</em></em>
-<a name="180" href="#180">180</a>                     groupIdSections = packageNameSections;
-<a name="181" href="#181">181</a>                 }
-<a name="182" href="#182">182</a>                 <strong class="jxr_keyword">else</strong>
-<a name="183" href="#183">183</a>                 <em class="jxr_comment">// if ( packageNameSections.length &lt; groupIdSections.length )</em>
-<a name="184" href="#184">184</a>                 {
-<a name="185" href="#185">185</a>                     <em class="jxr_comment">/*</em>
-<a name="186" href="#186">186</a> <em class="jxr_comment">                     * find the common portion of current package and previous selected groupId</em>
-<a name="187" href="#187">187</a> <em class="jxr_comment">                     */</em>
-<a name="188" href="#188">188</a>                     <strong class="jxr_keyword">int</strong> i;
-<a name="189" href="#189">189</a>                     <strong class="jxr_keyword">for</strong> ( i = 0; ( i &lt; packageNameSections.length ) &amp;&amp; ( i &lt; groupIdSections.length ); i++ )
-<a name="190" href="#190">190</a>                     {
-<a name="191" href="#191">191</a>                         <strong class="jxr_keyword">if</strong> ( !packageNameSections[i].equals( groupIdSections[i] ) )
-<a name="192" href="#192">192</a>                         {
-<a name="193" href="#193">193</a>                             <strong class="jxr_keyword">break</strong>;
-<a name="194" href="#194">194</a>                         }
-<a name="195" href="#195">195</a>                     }
-<a name="196" href="#196">196</a>                     groupIdSections = <strong class="jxr_keyword">new</strong> String[i];
-<a name="197" href="#197">197</a>                     System.arraycopy( packageNameSections, 0, groupIdSections, 0, i );
-<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">if</strong> ( ( groupIdSections == <strong class="jxr_keyword">null</strong> ) || ( groupIdSections.length == 0 ) )
-<a name="202" href="#202">202</a>             {
-<a name="203" href="#203">203</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="204" href="#204">204</a>             }
-<a name="205" href="#205">205</a> 
-<a name="206" href="#206">206</a>             <em class="jxr_comment">/*<em class="jxr_comment"> only one section as id doesn't seem enough, so ignore it */</em></em>
-<a name="207" href="#207">207</a>             <strong class="jxr_keyword">if</strong> ( groupIdSections.length == 1 )
-<a name="208" href="#208">208</a>             {
-<a name="209" href="#209">209</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="210" href="#210">210</a>             }
-<a name="211" href="#211">211</a> 
-<a name="212" href="#212">212</a>             StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="213" href="#213">213</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; groupIdSections.length; i++ )
-<a name="214" href="#214">214</a>             {
-<a name="215" href="#215">215</a>                 sb.append( groupIdSections[i] );
-<a name="216" href="#216">216</a>                 <strong class="jxr_keyword">if</strong> ( i &lt; groupIdSections.length - 1 )
-<a name="217" href="#217">217</a>                 {
-<a name="218" href="#218">218</a>                     sb.append( '.' );
-<a name="219" href="#219">219</a>                 }
-<a name="220" href="#220">220</a>             }
-<a name="221" href="#221">221</a>             <strong class="jxr_keyword">return</strong> sb.toString();
-<a name="222" href="#222">222</a>         }
-<a name="223" href="#223">223</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="224" href="#224">224</a>         {
-<a name="225" href="#225">225</a>             <em class="jxr_comment">/*<em class="jxr_comment"> we took all the precautions to avoid this */</em></em>
-<a name="226" href="#226">226</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException( e );
-<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> 
-<a name="231" href="#231">231</a>     <strong class="jxr_keyword">public</strong> String getBundleFileName( Artifact artifact )
-<a name="232" href="#232">232</a>     {
-<a name="233" href="#233">233</a>         <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact ) + <span class="jxr_string">"_"</span> + getVersion( artifact.getVersion() ) + <span class="jxr_string">".jar"</span>;
-<a name="234" href="#234">234</a>     }
-<a name="235" href="#235">235</a> 
+<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * &lt;li&gt;if artifactId starts with groupId then the artifactId is removed. eg.</em>
+<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * org.apache:org.apache.maven.core -&gt; org.apache.maven.core&lt;/li&gt;</em>
+<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * &lt;/ul&gt;</em>
+<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="75" href="#75">75</a>      <strong class="jxr_keyword">public</strong> String getBundleSymbolicName( Artifact artifact )
+<a name="76" href="#76">76</a>      {
+<a name="77" href="#77">77</a>          <strong class="jxr_keyword">if</strong> ( ( artifact.getFile() != <strong class="jxr_keyword">null</strong> ) &amp;&amp; artifact.getFile().isFile() )
+<a name="78" href="#78">78</a>          {
+<a name="79" href="#79">79</a>              Analyzer analyzer = <strong class="jxr_keyword">new</strong> Analyzer();
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>              JarFile jar = <strong class="jxr_keyword">null</strong>;
+<a name="82" href="#82">82</a>              <strong class="jxr_keyword">try</strong>
+<a name="83" href="#83">83</a>              {
+<a name="84" href="#84">84</a>                  jar = <strong class="jxr_keyword">new</strong> JarFile( artifact.getFile(), false );
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>                  <strong class="jxr_keyword">if</strong> ( jar.getManifest() != <strong class="jxr_keyword">null</strong> )
+<a name="87" href="#87">87</a>                  {
+<a name="88" href="#88">88</a>                      String symbolicNameAttribute = jar.getManifest().getMainAttributes()
+<a name="89" href="#89">89</a>                          .getValue( Analyzer.BUNDLE_SYMBOLICNAME );
+<a name="90" href="#90">90</a>                      Map bundleSymbolicNameHeader = analyzer.parseHeader( symbolicNameAttribute );
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>                      Iterator it = bundleSymbolicNameHeader.keySet().iterator();
+<a name="93" href="#93">93</a>                      <strong class="jxr_keyword">if</strong> ( it.hasNext() )
+<a name="94" href="#94">94</a>                      {
+<a name="95" href="#95">95</a>                          <strong class="jxr_keyword">return</strong> ( String ) it.next();
+<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>              <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="100" href="#100">100</a>             {
+<a name="101" href="#101">101</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/maven/shared/osgi/ManifestReadingException.html">ManifestReadingException</a>( <span class="jxr_string">"Error reading manifest in jar "</span>
+<a name="102" href="#102">102</a>                     + artifact.getFile().getAbsolutePath(), e );
+<a name="103" href="#103">103</a>             }
+<a name="104" href="#104">104</a>             <strong class="jxr_keyword">finally</strong>
+<a name="105" href="#105">105</a>             {
+<a name="106" href="#106">106</a>                 <strong class="jxr_keyword">if</strong> ( jar != <strong class="jxr_keyword">null</strong> )
+<a name="107" href="#107">107</a>                 {
+<a name="108" href="#108">108</a>                     <strong class="jxr_keyword">try</strong>
+<a name="109" href="#109">109</a>                     {
+<a name="110" href="#110">110</a>                         jar.close();
+<a name="111" href="#111">111</a>                     }
+<a name="112" href="#112">112</a>                     <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="113" href="#113">113</a>                     {
+<a name="114" href="#114">114</a>                     }
+<a name="115" href="#115">115</a>                 }
+<a name="116" href="#116">116</a>             }
+<a name="117" href="#117">117</a>         }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         <strong class="jxr_keyword">int</strong> i = artifact.getGroupId().lastIndexOf( '.' );
+<a name="120" href="#120">120</a>         <strong class="jxr_keyword">if</strong> ( ( i &lt; 0 ) &amp;&amp; ( artifact.getFile() != <strong class="jxr_keyword">null</strong> ) &amp;&amp; artifact.getFile().isFile() )
+<a name="121" href="#121">121</a>         {
+<a name="122" href="#122">122</a>             String groupIdFromPackage = getGroupIdFromPackage( artifact.getFile() );
+<a name="123" href="#123">123</a>             <strong class="jxr_keyword">if</strong> ( groupIdFromPackage != <strong class="jxr_keyword">null</strong> )
+<a name="124" href="#124">124</a>             {
+<a name="125" href="#125">125</a>                 <strong class="jxr_keyword">return</strong> groupIdFromPackage;
+<a name="126" href="#126">126</a>             }
+<a name="127" href="#127">127</a>         }
+<a name="128" href="#128">128</a>         String lastSection = artifact.getGroupId().substring( ++i );
+<a name="129" href="#129">129</a>         <strong class="jxr_keyword">if</strong> ( artifact.getArtifactId().equals( lastSection ) )
+<a name="130" href="#130">130</a>         {
+<a name="131" href="#131">131</a>             <strong class="jxr_keyword">return</strong> artifact.getGroupId();
+<a name="132" href="#132">132</a>         }
+<a name="133" href="#133">133</a>         <strong class="jxr_keyword">if</strong> ( artifact.getArtifactId().equals( artifact.getGroupId() )
+<a name="134" href="#134">134</a>             || artifact.getArtifactId().startsWith( artifact.getGroupId() + <span class="jxr_string">"."</span> ) )
+<a name="135" href="#135">135</a>         {
+<a name="136" href="#136">136</a>             <strong class="jxr_keyword">return</strong> artifact.getArtifactId();
+<a name="137" href="#137">137</a>         }
+<a name="138" href="#138">138</a>         <strong class="jxr_keyword">if</strong> ( artifact.getArtifactId().startsWith( lastSection ) )
+<a name="139" href="#139">139</a>         {
+<a name="140" href="#140">140</a>             String artifactId = artifact.getArtifactId().substring( lastSection.length() );
+<a name="141" href="#141">141</a>             <strong class="jxr_keyword">if</strong> ( Character.isLetterOrDigit( artifactId.charAt( 0 ) ) )
+<a name="142" href="#142">142</a>             {
+<a name="143" href="#143">143</a>                 <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact.getGroupId(), artifactId );
+<a name="144" href="#144">144</a>             }
+<a name="145" href="#145">145</a>             <strong class="jxr_keyword">else</strong>
+<a name="146" href="#146">146</a>             {
+<a name="147" href="#147">147</a>                 <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact.getGroupId(), artifactId.substring( 1 ) );
+<a name="148" href="#148">148</a>             }
+<a name="149" href="#149">149</a>         }
+<a name="150" href="#150">150</a>         <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact.getGroupId(), artifact.getArtifactId() );
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <strong class="jxr_keyword">private</strong> String getGroupIdFromPackage( File artifactFile )
+<a name="155" href="#155">155</a>     {
+<a name="156" href="#156">156</a>         <strong class="jxr_keyword">try</strong>
+<a name="157" href="#157">157</a>         {
+<a name="158" href="#158">158</a>             <em class="jxr_comment">/*<em class="jxr_comment"> get package names from jar */</em></em>
+<a name="159" href="#159">159</a>             Set packageNames = <strong class="jxr_keyword">new</strong> HashSet();
+<a name="160" href="#160">160</a>             JarFile jar = <strong class="jxr_keyword">new</strong> JarFile( artifactFile, false );
+<a name="161" href="#161">161</a>             Enumeration entries = jar.entries();
+<a name="162" href="#162">162</a>             <strong class="jxr_keyword">while</strong> ( entries.hasMoreElements() )
+<a name="163" href="#163">163</a>             {
+<a name="164" href="#164">164</a>                 ZipEntry entry = ( ZipEntry ) entries.nextElement();
+<a name="165" href="#165">165</a>                 <strong class="jxr_keyword">if</strong> ( entry.getName().endsWith( <span class="jxr_string">".class"</span> ) )
+<a name="166" href="#166">166</a>                 {
+<a name="167" href="#167">167</a>                     File f = <strong class="jxr_keyword">new</strong> File( entry.getName() );
+<a name="168" href="#168">168</a>                     String packageName = f.getParent();
+<a name="169" href="#169">169</a>                     <strong class="jxr_keyword">if</strong> ( packageName != <strong class="jxr_keyword">null</strong> )
+<a name="170" href="#170">170</a>                     {
+<a name="171" href="#171">171</a>                         packageNames.add( packageName );
+<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>             jar.close();
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>             <em class="jxr_comment">/*<em class="jxr_comment"> find the top package */</em></em>
+<a name="178" href="#178">178</a>             String[] groupIdSections = <strong class="jxr_keyword">null</strong>;
+<a name="179" href="#179">179</a>             <strong class="jxr_keyword">for</strong> ( Iterator it = packageNames.iterator(); it.hasNext(); )
+<a name="180" href="#180">180</a>             {
+<a name="181" href="#181">181</a>                 String packageName = ( String ) it.next();
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>                 String[] packageNameSections = packageName.split( <span class="jxr_string">"&#92;&#92;"</span> + FILE_SEPARATOR );
+<a name="184" href="#184">184</a>                 <strong class="jxr_keyword">if</strong> ( groupIdSections == <strong class="jxr_keyword">null</strong> )
+<a name="185" href="#185">185</a>                 {
+<a name="186" href="#186">186</a>                     <em class="jxr_comment">/*<em class="jxr_comment"> first candidate */</em></em>
+<a name="187" href="#187">187</a>                     groupIdSections = packageNameSections;
+<a name="188" href="#188">188</a>                 }
+<a name="189" href="#189">189</a>                 <strong class="jxr_keyword">else</strong>
+<a name="190" href="#190">190</a>                 <em class="jxr_comment">// if ( packageNameSections.length &lt; groupIdSections.length )</em>
+<a name="191" href="#191">191</a>                 {
+<a name="192" href="#192">192</a>                     <em class="jxr_comment">/*</em>
+<a name="193" href="#193">193</a> <em class="jxr_comment">                     * find the common portion of current package and previous selected groupId</em>
+<a name="194" href="#194">194</a> <em class="jxr_comment">                     */</em>
+<a name="195" href="#195">195</a>                     <strong class="jxr_keyword">int</strong> i;
+<a name="196" href="#196">196</a>                     <strong class="jxr_keyword">for</strong> ( i = 0; ( i &lt; packageNameSections.length ) &amp;&amp; ( i &lt; groupIdSections.length ); i++ )
+<a name="197" href="#197">197</a>                     {
+<a name="198" href="#198">198</a>                         <strong class="jxr_keyword">if</strong> ( !packageNameSections[i].equals( groupIdSections[i] ) )
+<a name="199" href="#199">199</a>                         {
+<a name="200" href="#200">200</a>                             <strong class="jxr_keyword">break</strong>;
+<a name="201" href="#201">201</a>                         }
+<a name="202" href="#202">202</a>                     }
+<a name="203" href="#203">203</a>                     groupIdSections = <strong class="jxr_keyword">new</strong> String[i];
+<a name="204" href="#204">204</a>                     System.arraycopy( packageNameSections, 0, groupIdSections, 0, i );
+<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>             <strong class="jxr_keyword">if</strong> ( ( groupIdSections == <strong class="jxr_keyword">null</strong> ) || ( groupIdSections.length == 0 ) )
+<a name="209" href="#209">209</a>             {
+<a name="210" href="#210">210</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="211" href="#211">211</a>             }
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>             <em class="jxr_comment">/*<em class="jxr_comment"> only one section as id doesn't seem enough, so ignore it */</em></em>
+<a name="214" href="#214">214</a>             <strong class="jxr_keyword">if</strong> ( groupIdSections.length == 1 )
+<a name="215" href="#215">215</a>             {
+<a name="216" href="#216">216</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a name="217" href="#217">217</a>             }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>             StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="220" href="#220">220</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; groupIdSections.length; i++ )
+<a name="221" href="#221">221</a>             {
+<a name="222" href="#222">222</a>                 sb.append( groupIdSections[i] );
+<a name="223" href="#223">223</a>                 <strong class="jxr_keyword">if</strong> ( i &lt; groupIdSections.length - 1 )
+<a name="224" href="#224">224</a>                 {
+<a name="225" href="#225">225</a>                     sb.append( '.' );
+<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">return</strong> sb.toString();
+<a name="229" href="#229">229</a>         }
+<a name="230" href="#230">230</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="231" href="#231">231</a>         {
+<a name="232" href="#232">232</a>             <em class="jxr_comment">/*<em class="jxr_comment"> we took all the precautions to avoid this */</em></em>
+<a name="233" href="#233">233</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException( e );
+<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>     <strong class="jxr_keyword">public</strong> String getVersion( Artifact artifact )
-<a name="238" href="#238">238</a>     {
-<a name="239" href="#239">239</a>         <strong class="jxr_keyword">return</strong> getVersion( artifact.getVersion() );
-<a name="240" href="#240">240</a>     }
-<a name="241" href="#241">241</a> 
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>     <strong class="jxr_keyword">public</strong> String getBundleFileName( Artifact artifact )
+<a name="239" href="#239">239</a>     {
+<a name="240" href="#240">240</a>         <strong class="jxr_keyword">return</strong> getBundleSymbolicName( artifact ) + <span class="jxr_string">"_"</span> + getVersion( artifact.getVersion() ) + <span class="jxr_string">".jar"</span>;
+<a name="241" href="#241">241</a>     }
 <a name="242" href="#242">242</a> 
-<a name="243" href="#243">243</a>     <strong class="jxr_keyword">public</strong> String getVersion( String version )
-<a name="244" href="#244">244</a>     {
-<a name="245" href="#245">245</a>         <strong class="jxr_keyword">return</strong> cleanupVersion( version );
-<a name="246" href="#246">246</a>     }
-<a name="247" href="#247">247</a> 
-<a name="248" href="#248">248</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="249" href="#249">249</a> <em class="jxr_javadoccomment">     * Clean up version parameters. Other builders use more fuzzy definitions of</em>
-<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">     * the version syntax. This method cleans up such a version to match an OSGi</em>
-<a name="251" href="#251">251</a> <em class="jxr_javadoccomment">     * version.</em>
-<a name="252" href="#252">252</a> <em class="jxr_javadoccomment">     *</em>
-<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">     * @param VERSION_STRING</em>
-<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">     * @return</em>
-<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">     */</em>
-<a name="256" href="#256">256</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern FUZZY_VERSION = Pattern.compile( <span class="jxr_string">"(&#92;&#92;d+)(&#92;&#92;.(&#92;&#92;d+)(&#92;&#92;.(&#92;&#92;d+))?)?([^a-zA-Z0-9](.*))?"</span>,
-<a name="257" href="#257">257</a>         Pattern.DOTALL );
-<a name="258" href="#258">258</a> 
-<a name="259" href="#259">259</a> 
-<a name="260" href="#260">260</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> String cleanupVersion( String version )
-<a name="261" href="#261">261</a>     {
-<a name="262" href="#262">262</a>         StringBuffer result = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="263" href="#263">263</a>         Matcher m = FUZZY_VERSION.matcher( version );
-<a name="264" href="#264">264</a>         <strong class="jxr_keyword">if</strong> ( m.matches() )
-<a name="265" href="#265">265</a>         {
-<a name="266" href="#266">266</a>             String major = m.group( 1 );
-<a name="267" href="#267">267</a>             String minor = m.group( 3 );
-<a name="268" href="#268">268</a>             String micro = m.group( 5 );
-<a name="269" href="#269">269</a>             String qualifier = m.group( 7 );
-<a name="270" href="#270">270</a> 
-<a name="271" href="#271">271</a>             <strong class="jxr_keyword">if</strong> ( major != <strong class="jxr_keyword">null</strong> )
-<a name="272" href="#272">272</a>             {
-<a name="273" href="#273">273</a>                 result.append( major );
-<a name="274" href="#274">274</a>                 <strong class="jxr_keyword">if</strong> ( minor != <strong class="jxr_keyword">null</strong> )
-<a name="275" href="#275">275</a>                 {
-<a name="276" href="#276">276</a>                     result.append( <span class="jxr_string">"."</span> );
-<a name="277" href="#277">277</a>                     result.append( minor );
-<a name="278" href="#278">278</a>                     <strong class="jxr_keyword">if</strong> ( micro != <strong class="jxr_keyword">null</strong> )
-<a name="279" href="#279">279</a>                     {
-<a name="280" href="#280">280</a>                         result.append( <span class="jxr_string">"."</span> );
-<a name="281" href="#281">281</a>                         result.append( micro );
-<a name="282" href="#282">282</a>                         <strong class="jxr_keyword">if</strong> ( qualifier != <strong class="jxr_keyword">null</strong> )
-<a name="283" href="#283">283</a>                         {
-<a name="284" href="#284">284</a>                             result.append( <span class="jxr_string">"."</span> );
-<a name="285" href="#285">285</a>                             cleanupModifier( result, qualifier );
-<a name="286" href="#286">286</a>                         }
-<a name="287" href="#287">287</a>                     }
-<a name="288" href="#288">288</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( qualifier != <strong class="jxr_keyword">null</strong> )
-<a name="289" href="#289">289</a>                     {
-<a name="290" href="#290">290</a>                         result.append( <span class="jxr_string">".0."</span> );
-<a name="291" href="#291">291</a>                         cleanupModifier( result, qualifier );
-<a name="292" href="#292">292</a>                     }
-<a name="293" href="#293">293</a>                     <strong class="jxr_keyword">else</strong>
-<a name="294" href="#294">294</a>                     {
-<a name="295" href="#295">295</a>                         result.append( <span class="jxr_string">".0"</span> );
-<a name="296" href="#296">296</a>                     }
-<a name="297" href="#297">297</a>                 }
-<a name="298" href="#298">298</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( qualifier != <strong class="jxr_keyword">null</strong> )
-<a name="299" href="#299">299</a>                 {
-<a name="300" href="#300">300</a>                     result.append( <span class="jxr_string">".0.0."</span> );
-<a name="301" href="#301">301</a>                     cleanupModifier( result, qualifier );
-<a name="302" href="#302">302</a>                 }
-<a name="303" href="#303">303</a>                 <strong class="jxr_keyword">else</strong>
-<a name="304" href="#304">304</a>                 {
-<a name="305" href="#305">305</a>                     result.append( <span class="jxr_string">".0.0"</span> );
-<a name="306" href="#306">306</a>                 }
-<a name="307" href="#307">307</a>             }
-<a name="308" href="#308">308</a>         }
-<a name="309" href="#309">309</a>         <strong class="jxr_keyword">else</strong>
-<a name="310" href="#310">310</a>         {
-<a name="311" href="#311">311</a>             result.append( <span class="jxr_string">"0.0.0."</span> );
-<a name="312" href="#312">312</a>             cleanupModifier( result, version );
-<a name="313" href="#313">313</a>         }
-<a name="314" href="#314">314</a>         <strong class="jxr_keyword">return</strong> result.toString();
-<a name="315" href="#315">315</a>     }
-<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">static</strong> <strong class="jxr_keyword">void</strong> cleanupModifier( StringBuffer result, String modifier )
-<a name="319" href="#319">319</a>     {
-<a name="320" href="#320">320</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; modifier.length(); i++ )
-<a name="321" href="#321">321</a>         {
-<a name="322" href="#322">322</a>             <strong class="jxr_keyword">char</strong> c = modifier.charAt( i );
-<a name="323" href="#323">323</a>             <strong class="jxr_keyword">if</strong> ( ( c &gt;= '0' &amp;&amp; c &lt;= '9' ) || ( c &gt;= 'a' &amp;&amp; c &lt;= 'z' ) || ( c &gt;= 'A' &amp;&amp; c &lt;= 'Z' ) || c == '_'
-<a name="324" href="#324">324</a>                 || c == '-' )
-<a name="325" href="#325">325</a>                 result.append( c );
-<a name="326" href="#326">326</a>             <strong class="jxr_keyword">else</strong>
-<a name="327" href="#327">327</a>                 result.append( '_' );
-<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> }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <strong class="jxr_keyword">public</strong> String getVersion( Artifact artifact )
+<a name="245" href="#245">245</a>     {
+<a name="246" href="#246">246</a>         <strong class="jxr_keyword">return</strong> getVersion( artifact.getVersion() );
+<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> String getVersion( String version )
+<a name="251" href="#251">251</a>     {
+<a name="252" href="#252">252</a>         <strong class="jxr_keyword">return</strong> cleanupVersion( version );
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <em class="jxr_javadoccomment">/**</em>
+<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">     * Clean up version parameters. Other builders use more fuzzy definitions of</em>
+<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">     * the version syntax. This method cleans up such a version to match an OSGi</em>
+<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">     * version.</em>
+<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">     *</em>
+<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">     * @param VERSION_STRING</em>
+<a name="261" href="#261">261</a> <em class="jxr_javadoccomment">     * @return</em>
+<a name="262" href="#262">262</a> <em class="jxr_javadoccomment">     */</em>
+<a name="263" href="#263">263</a>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern FUZZY_VERSION = Pattern.compile( <span class="jxr_string">"(&#92;&#92;d+)(&#92;&#92;.(&#92;&#92;d+)(&#92;&#92;.(&#92;&#92;d+))?)?([^a-zA-Z0-9](.*))?"</span>,
+<a name="264" href="#264">264</a>         Pattern.DOTALL );
+<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">static</strong> <strong class="jxr_keyword">public</strong> String cleanupVersion( String version )
+<a name="268" href="#268">268</a>     {
+<a name="269" href="#269">269</a>         StringBuffer result = <strong class="jxr_keyword">new</strong> StringBuffer();
+<a name="270" href="#270">270</a>         Matcher m = FUZZY_VERSION.matcher( version );
+<a name="271" href="#271">271</a>         <strong class="jxr_keyword">if</strong> ( m.matches() )
+<a name="272" href="#272">272</a>         {
+<a name="273" href="#273">273</a>             String major = m.group( 1 );
+<a name="274" href="#274">274</a>             String minor = m.group( 3 );
+<a name="275" href="#275">275</a>             String micro = m.group( 5 );
+<a name="276" href="#276">276</a>             String qualifier = m.group( 7 );
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>             <strong class="jxr_keyword">if</strong> ( major != <strong class="jxr_keyword">null</strong> )
+<a name="279" href="#279">279</a>             {
+<a name="280" href="#280">280</a>                 result.append( major );
+<a name="281" href="#281">281</a>                 <strong class="jxr_keyword">if</strong> ( minor != <strong class="jxr_keyword">null</strong> )
+<a name="282" href="#282">282</a>                 {
+<a name="283" href="#283">283</a>                     result.append( <span class="jxr_string">"."</span> );
+<a name="284" href="#284">284</a>                     result.append( minor );
+<a name="285" href="#285">285</a>                     <strong class="jxr_keyword">if</strong> ( micro != <strong class="jxr_keyword">null</strong> )
+<a name="286" href="#286">286</a>                     {
+<a name="287" href="#287">287</a>                         result.append( <span class="jxr_string">"."</span> );
+<a name="288" href="#288">288</a>                         result.append( micro );
+<a name="289" href="#289">289</a>                         <strong class="jxr_keyword">if</strong> ( qualifier != <strong class="jxr_keyword">null</strong> )
+<a name="290" href="#290">290</a>                         {
+<a name="291" href="#291">291</a>                             result.append( <span class="jxr_string">"."</span> );
+<a name="292" href="#292">292</a>                             cleanupModifier( result, qualifier );
+<a name="293" href="#293">293</a>                         }
+<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> ( qualifier != <strong class="jxr_keyword">null</strong> )
+<a name="296" href="#296">296</a>                     {
+<a name="297" href="#297">297</a>                         result.append( <span class="jxr_string">".0."</span> );
+<a name="298" href="#298">298</a>                         cleanupModifier( result, qualifier );
+<a name="299" href="#299">299</a>                     }
+<a name="300" href="#300">300</a>                     <strong class="jxr_keyword">else</strong>
+<a name="301" href="#301">301</a>                     {
+<a name="302" href="#302">302</a>                         result.append( <span class="jxr_string">".0"</span> );
+<a name="303" href="#303">303</a>                     }
+<a name="304" href="#304">304</a>                 }
+<a name="305" href="#305">305</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( qualifier != <strong class="jxr_keyword">null</strong> )
+<a name="306" href="#306">306</a>                 {
+<a name="307" href="#307">307</a>                     result.append( <span class="jxr_string">".0.0."</span> );
+<a name="308" href="#308">308</a>                     cleanupModifier( result, qualifier );
+<a name="309" href="#309">309</a>                 }
+<a name="310" href="#310">310</a>                 <strong class="jxr_keyword">else</strong>
+<a name="311" href="#311">311</a>                 {
+<a name="312" href="#312">312</a>                     result.append( <span class="jxr_string">".0.0"</span> );
+<a name="313" href="#313">313</a>                 }
+<a name="314" href="#314">314</a>             }
+<a name="315" href="#315">315</a>         }
+<a name="316" href="#316">316</a>         <strong class="jxr_keyword">else</strong>
+<a name="317" href="#317">317</a>         {
+<a name="318" href="#318">318</a>             result.append( <span class="jxr_string">"0.0.0."</span> );
+<a name="319" href="#319">319</a>             cleanupModifier( result, version );
+<a name="320" href="#320">320</a>         }
+<a name="321" href="#321">321</a>         <strong class="jxr_keyword">return</strong> result.toString();
+<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>     <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> cleanupModifier( StringBuffer result, String modifier )
+<a name="326" href="#326">326</a>     {
+<a name="327" href="#327">327</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; modifier.length(); i++ )
+<a name="328" href="#328">328</a>         {
+<a name="329" href="#329">329</a>             <strong class="jxr_keyword">char</strong> c = modifier.charAt( i );
+<a name="330" href="#330">330</a>             <strong class="jxr_keyword">if</strong> ( ( c &gt;= '0' &amp;&amp; c &lt;= '9' ) || ( c &gt;= 'a' &amp;&amp; c &lt;= 'z' ) || ( c &gt;= 'A' &amp;&amp; c &lt;= 'Z' ) || c == '_'
+<a name="331" href="#331">331</a>                 || c == '-' )
+<a name="332" href="#332">332</a>                 result.append( c );
+<a name="333" href="#333">333</a>             <strong class="jxr_keyword">else</strong>
+<a name="334" href="#334">334</a>                 result.append( '_' );
+<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> }
 </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/maven/shared/osgi/package-summary.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html
index 91c03a2..a444a61 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
@@ -72,6 +72,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/overview-summary.html b/bundleplugin/doc/site/xref/overview-summary.html
index e2b532b..d69f514 100644
--- a/bundleplugin/doc/site/xref/overview-summary.html
+++ b/bundleplugin/doc/site/xref/overview-summary.html
@@ -74,6 +74,6 @@
       	</div>
 		
 		<hr />
-		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
