diff --git a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd.html b/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd.html
index 256a1bd..b76a1c2 100644
--- a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd.html
+++ b/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd.html
@@ -46,7 +46,7 @@
 distribution. The plug-in automatically computes bundle capabilities and
  requirements, using a combination of Bindex and Maven metadata.</p>
 
-<div class="panelMacro"><table class="tipMacro"><colgroup><col width="24"><col></colgroup><tbody><tr><td valign="top"><img src="apache-felix-maven-bundle-plugin-bnd_files/check.gif" alt="" align="absmiddle" border="0" height="16" width="16"></td><td><b><a href="http://svn.apache.org/repos/asf/felix/releases/maven-bundle-plugin-2.3.5/doc/site/index.html" class="external-link" rel="nofollow">Standard Maven Documentation is now available for maven-bundle-plugin 2.3.5</a></b></td></tr></tbody></table></div>
+<div class="panelMacro"><table class="tipMacro"><colgroup><col width="24"><col></colgroup><tbody><tr><td valign="top"><img src="apache-felix-maven-bundle-plugin-bnd_files/check.gif" alt="" align="absmiddle" border="0" height="16" width="16"></td><td><b><a href="http://svn.apache.org/repos/asf/felix/releases/maven-bundle-plugin-2.3.6/doc/site/index.html" class="external-link" rel="nofollow">Standard Maven Documentation is now available for maven-bundle-plugin 2.3.6</a></b></td></tr></tbody></table></div>
 
 <div class="panelMacro"><table class="tipMacro"><colgroup><col width="24"><col></colgroup><tbody><tr><td valign="top"><img src="apache-felix-maven-bundle-plugin-bnd_files/check.gif" alt="" align="absmiddle" border="0" height="16" width="16"></td><td><b><a href="http://www.aqute.biz/Bnd/Format" class="external-link" rel="nofollow">A complete list of instructions and their format is available from the BND website</a></b></td></tr></tbody></table></div>
 
@@ -1206,7 +1206,7 @@
 
 <p>Subscribe to the Felix users mailing list by sending a message to <a href="mailto:users-subscribe@felix.apache.org" class="external-link" rel="nofollow">users-subscribe@felix.apache.org</a>; after subscribing, email questions or feedback to <a href="mailto:users@felix.apache.org" class="external-link" rel="nofollow">users@felix.apache.org</a>.</p>
         <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-Last modified by mcculls on Fri Nov 18 12:18:15 EST 2011
+Last modified by mcculls on Fri Dec 02 10:50:53 EST 2011
         </div>
         <div class="trademarkFooter">
 Apache Felix, Felix, Apache, the Apache feather logo, and the Apache 
diff --git a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/button_data/2009-usa-125x125.png b/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/button_data/2009-usa-125x125.png
deleted file mode 100644
index 117c695..0000000
--- a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/button_data/2009-usa-125x125.png
+++ /dev/null
Binary files differ
diff --git a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/linkext7.gif b/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/linkext7.gif
deleted file mode 100644
index f2dd2dc..0000000
--- a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/linkext7.gif
+++ /dev/null
Binary files differ
diff --git a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/mail_small.gif b/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/mail_small.gif
deleted file mode 100644
index a3b7d9f..0000000
--- a/bundleplugin/doc/apache-felix-maven-bundle-plugin-bnd_files/mail_small.gif
+++ /dev/null
Binary files differ
diff --git a/bundleplugin/doc/changelog.txt b/bundleplugin/doc/changelog.txt
index 4f4e499..ea02f93 100644
--- a/bundleplugin/doc/changelog.txt
+++ b/bundleplugin/doc/changelog.txt
@@ -1,3 +1,17 @@
+Changes from 2.3.6 to 2.3.7
+---------------------------
+
+** Bug
+    * [FELIX-3347] - Upper-case environment variables end up in final manifest
+    * [FELIX-3310] - [patch] maven-bundle-plugin build fails with maven3 (manageArtifactSystemPath is missing)
+    * [FELIX-3254] - manifest goal generates wrong Export-Package when Embed-Dependency
+
+** Improvement
+    * [FELIX-3300] - Avoid warning about superfluous export-package instructions for empty directories
+
+** Task
+    * [FELIX-3299] - Fix instable tests in BundlePluginTest
+
 Changes from 2.3.5 to 2.3.6
 ---------------------------
 
diff --git a/bundleplugin/doc/site/ant-mojo.html b/bundleplugin/doc/site/ant-mojo.html
index 071a363..00935d7 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -260,7 +260,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 feb2e32..bb1efb4 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -259,7 +259,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 0612795..7bca28f 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -313,7 +313,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 6faa593..2576ad8 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 7f4f8ac..95d62c1 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All Rights Reserved.      
         
diff --git a/bundleplugin/doc/site/css/maven-theme.css b/bundleplugin/doc/site/css/maven-theme.css
index ec29c89..d3407e8 100644
--- a/bundleplugin/doc/site/css/maven-theme.css
+++ b/bundleplugin/doc/site/css/maven-theme.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 body {
   padding: 0px 0px 10px 0px;
 }
@@ -64,7 +83,7 @@
 h5 {
   padding: 4px 4px 4px 6px;
   color: #900;
-  font-size: normal;
+  font-size: medium;
 }
 p {
   line-height: 1.3em;
@@ -79,6 +98,7 @@
   margin: 10px 0 0 5px;
   border: 1px solid #999;
   background-color: #eee;
+  padding-bottom: 3px; /* IE-9 scrollbar-fix */
 }
 #navcolumn h5 {
   font-size: smaller;
diff --git a/bundleplugin/doc/site/dependencies.html b/bundleplugin/doc/site/dependencies.html
index ab6639a..3bf6d3e 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -117,27 +117,27 @@
         }
       }
 </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="_600218426" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_166455204', '_600218426' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_166455204" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Bundle Plugin</th></tr><tr class="b"><td><p><b>Description: </b>Provides a maven plugin that supports creating an OSGi bundle
+<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
   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="_163286937" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_566139234', '_163286937' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_566139234" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>bnd - Bundle Tool</th></tr><tr class="b"><td><p><b>Description: </b>A Swiss Army Knife for OSGi</p><p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd">http://www.aQute.biz/Code/Bnd</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></p></td></tr></table></div></li><li>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6 (compile) <img id="_706099303" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_332659850', '_706099303' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_332659850" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Apache Felix Bundle Repository</th></tr><tr class="b"><td><p><b>Description: </b>Bundle repository service.</p><p><b>URL: </b><a class="externalLink" href="http://felix.apache.org/org.apache.felix.bundlerepository/">http://felix.apache.org/org.apache.felix.bundlerepository/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.osgi:org.osgi.core:jar:4.1.0 (compile) <img id="_193761762" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1962599059', '_193761762' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1962599059" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>org.osgi.core</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.easymock:easymock:jar:2.4 (compile) <img id="_69179354" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_11435894', '_69179354' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_11435894" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-core:jar:2.0.7 (compile) <img id="_1298920029" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_356871923', '_1298920029' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_356871923" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Core</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-core">http://maven.apache.org/maven-core</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_762115435" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_303348887', '_762115435' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_303348887" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1298316015" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_210552231', '_1298316015' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_210552231" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_426477495" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1491427871', '_426477495' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1491427871" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2 (runtime) <img id="_118921405" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_784468329', '_118921405' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_784468329" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon File Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using file system protocol</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-file">http://maven.apache.org/wagon/wagon-providers/wagon-file</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_682925218" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1340927648', '_682925218' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1340927648" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7 (compile) <img id="_1618879266" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_271398532', '_1618879266' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_271398532" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Parameter Documenter API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-parameter-documenter">http://maven.apache.org/maven-plugin-parameter-documenter</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1795036523" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2093006119', '_1795036523' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2093006119" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2 (runtime) <img id="_736875817" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2033231920', '_736875817' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2033231920" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon Lightweight HTTP Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts through http using standard Java library</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight">http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2 (runtime) <img id="_1027431905" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1821062301', '_1027431905' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1821062301" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon HTTP Shared Library</th></tr><tr class="b"><td><p><b>Description: </b>Shared Library for the wagon-http, and wagon-http-lightweight wagon providers.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-http-shared">http://maven.apache.org/wagon/wagon-providers/wagon-http-shared</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>jtidy:jtidy:jar:4aug2000r7-dev (runtime) <img id="_1914407907" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_318562508', '_1914407907' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_318562508" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JTidy</th></tr><tr class="b"><td><p><b>Description: </b>JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM parser for real-world HTML.</p><p><b>URL: </b><a class="externalLink" href="http://jtidy.sourceforge.net">http://jtidy.sourceforge.net</a></p><p><b>Project License: </b><a class="externalLink" href="http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95">Java HTML Tidy License</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_2005071808" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1336620240', '_2005071808' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1336620240" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>xml-apis:xml-apis:jar:1.0.b2 (runtime) <img id="_1803426155" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_342303351', '_1803426155' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_342303351" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>XML Commons External Components XML APIs</th></tr><tr class="b"><td><p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and 
+  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 
     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="_877595087" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_391133684', '_877595087' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_391133684" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7 (compile) <img id="_1170210746" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_491056451', '_1170210746' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_491056451" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Reporting API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-reporting/maven-reporting-api">http://maven.apache.org/maven-reporting/maven-reporting-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7 (compile) <img id="_1856589849" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_665476717', '_1856589849' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_665476717" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Doxia Sink API</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/doxia/doxia-sink-api">http://maven.apache.org/doxia/doxia-sink-api</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_195937185" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1804085636', '_195937185' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1804085636" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_2034886787" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_472724154', '_2034886787' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_472724154" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_339847428" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1014772351', '_339847428' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1014772351" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1666215696" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_913266231', '_1666215696' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_913266231" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_55110863" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1265699076', '_55110863' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1265699076" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_1248149458" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_813326309', '_1248149458' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_813326309" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_274961955" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_43590959', '_274961955' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_43590959" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_1609175212" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_985793156', '_1609175212' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_985793156" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-error-diagnostics:jar:2.0.7 (compile) <img id="_1675170069" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_631159704', '_1675170069' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_631159704" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Error Diagnostics</th></tr><tr class="b"><td><p><b>Description: </b>Provides a manager component which will process a given Throwable instance through a set of diagnostic
+    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
     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="_232764410" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_76523456', '_232764410' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_76523456" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-project:jar:2.0.7 (compile) <img id="_2047577345" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_955843349', '_2047577345' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_955843349" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Project Builder</th></tr><tr class="b"><td><p><b>Description: </b>This library is used to not only read Maven project object model files, but to assemble inheritence
-    and to retrieve remote models as required.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-project">http://maven.apache.org/maven-project</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-settings:jar:2.0.7 (compile) <img id="_1918669500" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1603995934', '_1918669500' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1603995934" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Local Settings Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-settings">http://maven.apache.org/maven-settings</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-profile:jar:2.0.7 (compile) <img id="_1032783530" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_641382849', '_1032783530' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_641382849" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Profile Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-profile">http://maven.apache.org/maven-profile</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-model:jar:2.0.7 (compile) <img id="_1164043960" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_491700752', '_1164043960' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_491700752" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Model</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-model">http://maven.apache.org/maven-model</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_146147976" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_283400150', '_146147976' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_283400150" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-registry:jar:2.0.7 (compile) <img id="_635288059" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_557939786', '_635288059' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_557939786" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Registry Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-registry">http://maven.apache.org/maven-plugin-registry</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_241948333" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_140136714', '_241948333' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_140136714" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_1228795395" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2459098', '_1228795395' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2459098" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_442685991" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1678625381', '_442685991' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1678625381" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>commons-cli:commons-cli:jar:1.0 (compile) <img id="_377506102" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_410095129', '_377506102' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_410095129" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>CLI</th></tr><tr class="b"><td><p><b>Description: </b>Commons CLI provides a simple API for working with the command line arguments and options.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_1306099494" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_887750297', '_1306099494' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_887750297" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2 (runtime) <img id="_1609235912" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1075317463', '_1609235912' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1075317463" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH External Provider</th></tr><tr class="b"><td><p><b>Description: </b>Wagon that gets and puts artifacts using SSH protocol with a preinstalled SSH client</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-external</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_1371264074" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1138437499', '_1371264074' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1138437499" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_430287967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2047866040', '_430287967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2047866040" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_735211016" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1243200954', '_735211016' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1243200954" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_185451934" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1558297905', '_185451934' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1558297905" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-plugin-descriptor:jar:2.0.7 (compile) <img id="_980432526" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_985359577', '_980432526' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_985359577" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Descriptor Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-descriptor">http://maven.apache.org/maven-plugin-descriptor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-plugin-api:jar:2.0.7 (compile) <img id="_167526828" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1805420480', '_167526828' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1805420480" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin API</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-plugin-api">http://maven.apache.org/maven-plugin-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_902195672" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1973262933', '_902195672' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1973262933" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_192826515" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_852006100', '_192826515' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_852006100" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (compile) <img id="_373252117" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1521685709', '_373252117' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1521685709" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven:maven-artifact-manager:jar:2.0.7 (compile) <img id="_196620029" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1910423503', '_196620029' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1910423503" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact Manager</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact-manager">http://maven.apache.org/maven-artifact-manager</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.apache.maven:maven-repository-metadata:jar:2.0.7 (compile) <img id="_246745017" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_69669246', '_246745017' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_69669246" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Repository Metadata Model</th></tr><tr class="b"><td><p><b>Description: </b>Maven Plugin Mapping</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-repository-metadata">http://maven.apache.org/maven-repository-metadata</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven:maven-artifact:jar:2.0.7 (compile) <img id="_975008548" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1801199732', '_975008548' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1801199732" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Artifact</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-artifact">http://maven.apache.org/maven-artifact</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1080704967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1024214476', '_1080704967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1024214476" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (compile) <img id="_860080967" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1803802780', '_860080967' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1803802780" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-monitor:jar:2.0.7 (compile) <img id="_637439052" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1925077448', '_637439052' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1925077448" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Monitor</th></tr><tr class="b"><td><p><b>Description: </b>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/maven-monitor">http://maven.apache.org/maven-monitor</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2 (runtime) <img id="_1009407163" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_63810072', '_1009407163' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_63810072" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Provider</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh">http://maven.apache.org/wagon/wagon-providers/wagon-ssh</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>com.jcraft:jsch:jar:0.1.27 (runtime) <img id="_1827821857" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_419401662', '_1827821857' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_419401662" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>JSch</th></tr><tr class="b"><td><p><b>Description: </b>JSch is a pure Java implementation of SSH2</p><p><b>URL: </b><a class="externalLink" href="http://www.jcraft.com/jsch/">http://www.jcraft.com/jsch/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.jcraft.com/jsch/LICENSE.txt">BSD</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 (runtime) <img id="_1965468351" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_581780390', '_1965468351' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_581780390" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Default Interactivity Handler</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2 (runtime) <img id="_825441105" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1976667868', '_825441105' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1976667868" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon SSH Common Library</th></tr><tr class="b"><td><p><b>Description: </b>Tools to manage artifacts and deployment</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common">http://maven.apache.org/wagon/wagon-providers/wagon-ssh-common</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2 (runtime) <img id="_1474222141" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_24650929', '_1474222141' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_24650929" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Wagon API</th></tr><tr class="b"><td><p><b>Description: </b>Maven Wagon API that defines the contract between different Wagon implementations</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/wagon/wagon-provider-api">http://maven.apache.org/wagon/wagon-provider-api</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>classworlds:classworlds:jar:1.1 (compile) <img id="_584910123" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1825551732', '_584910123' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1825551732" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>classworlds</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://classworlds.codehaus.org/">http://classworlds.codehaus.org/</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li><li>org.apache.maven:maven-archiver:jar:2.4.1 (compile) <img id="_1120790602" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_333142223', '_1120790602' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_333142223" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Archiver</th></tr><tr class="b"><td><p><b>Description: </b>Provides utility methods for creating JARs and other archive files from a Maven project.</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/">http://maven.apache.org/shared/maven-archiver/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-archiver:jar:1.0 (compile) <img id="_1355330592" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_307610661', '_1355330592' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_307610661" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Archiver Component</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-archiver">http://plexus.codehaus.org/plexus-components/plexus-archiver</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 (compile) <img id="_1240783557" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1781179287', '_1240783557' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1781179287" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Default Plexus Container</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-io:jar:1.0 (compile) <img id="_773233607" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1278447821', '_773233607' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1278447821" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus IO Components</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-io">http://plexus.codehaus.org/plexus-components/plexus-io</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.codehaus.plexus:plexus-interpolation:jar:1.13 (compile) <img id="_612938940" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_500566577', '_612938940' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_500566577" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Interpolation API</th></tr><tr class="b"><td><p><b>Description: </b>The Plexus project provides a full software stack for creating and executing software projects.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-components/plexus-interpolation">http://plexus.codehaus.org/plexus-components/plexus-interpolation</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li></ul></li><li>org.apache.maven.shared:maven-dependency-tree:jar:1.2 (compile) <img id="_1252812035" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1190632209', '_1252812035' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1190632209" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Dependency Tree</th></tr><tr class="b"><td><p><b>Description: </b>Maven shared components</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-dependency-tree/">http://maven.apache.org/shared/maven-dependency-tree/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>org.codehaus.plexus:plexus-utils:jar:2.1 (compile) <img id="_1360470190" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1095904844', '_1360470190' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1095904844" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Plexus Common Utilities</th></tr><tr class="b"><td><p><b>Description: </b>A collection of various utility classes to ease working with strings, files, command lines, XML and more.</p><p><b>URL: </b><a class="externalLink" href="http://plexus.codehaus.org/plexus-utils">http://plexus.codehaus.org/plexus-utils</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Public License 2.0</a></p></td></tr></table></div></li><li>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1 (test) <img id="_1139162165" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1738746101', '_1139162165' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1738746101" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Maven Plugin Testing Mechanism</th></tr><tr class="b"><td><p><b>Description: </b>Maven shared components</p><p><b>URL: </b><a class="externalLink" href="http://maven.apache.org/shared/maven-plugin-testing-harness/">http://maven.apache.org/shared/maven-plugin-testing-harness/</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>junit:junit:jar:4.0 (test) <img id="_1572922203" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1590345845', '_1572922203' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1590345845" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>junit</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>org.easymock:easymock:jar:2.4 (test) <img id="_1614490432" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_726703024', '_1614490432' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_726703024" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>EasyMock</th></tr><tr class="b"><td><p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces by generating them on the fly using Java's proxy mechanism</p><p><b>URL: </b><a class="externalLink" href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.easymock.org/License.html">MIT License</a></p></td></tr></table></div></li><li>org.mockito:mockito-all:jar:1.7 (test) <img id="_369272914" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1973763399', '_369272914' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1973763399" style="display:none"><table border="0" class="bodyTable"><tr class="a"><th>Mockito</th></tr><tr class="b"><td><p><b>Description: </b>Mock objects library for java</p><p><b>URL: </b><a class="externalLink" href="http://www.mockito.org">http://www.mockito.org</a></p><p><b>Project License: </b><a class="externalLink" href="http://code.google.com/p/mockito/wiki/License">The MIT License</a></p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a><div class="section"><h2>Licenses<a name="Licenses"></a></h2><p><b>Apache Software License 2.0: </b>bnd - Bundle Tool</p><p><b>Apache Public License 2.0: </b>Plexus Common Utilities</p><p><b>Java HTML Tidy License: </b>JTidy</p><p><b>Unknown: </b>CLI, Default Plexus Container, Doxia Sink API, Plexus Default Interactivity Handler, classworlds, junit, org.osgi.core</p><p><b>BSD: </b>JSch</p><p><b>MIT License: </b>EasyMock</p><p><b>The Apache Software License, Version 2.0: </b>Apache Felix Bundle Repository, Maven Archiver, Maven Artifact, Maven Artifact Manager, Maven Bundle Plugin, Maven Core, Maven Dependency Tree, Maven Error Diagnostics, Maven Local Settings Model, Maven Model, Maven Monitor, Maven Plugin API, Maven Plugin Descriptor Model, Maven Plugin Parameter Documenter API, Maven Plugin Registry Model, Maven Plugin Testing Mechanism, Maven Profile Model, Maven Project Builder, Maven Reporting API, Maven Repository Metadata Model, Maven Wagon API, Maven Wagon File Provider, Maven Wagon HTTP Shared Library, Maven Wagon Lightweight HTTP Provider, Maven Wagon SSH Common Library, Maven Wagon SSH External Provider, Maven Wagon SSH Provider, Plexus Archiver Component, Plexus IO Components, Plexus Interpolation API, XML Commons External Components XML APIs</p><p><b>The MIT License: </b>Mockito</p></div><a name="Dependency_File_Details"></a><div class="section"><h2>Dependency File Details<a name="Dependency_File_Details"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Filename</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>bndlib-1.50.0.jar</td><td>898.02 kB</td><td>665</td><td>261</td><td>55</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>classworlds-1.1.jar</td><td>36.97 kB</td><td>33</td><td>23</td><td>3</td><td>1.3</td><td>debug</td></tr><tr class="b"><td>jsch-0.1.27.jar</td><td>119.15 kB</td><td>97</td><td>94</td><td>3</td><td>1.2</td><td>release</td></tr><tr class="a"><td>commons-cli-1.0.jar</td><td>29.41 kB</td><td>27</td><td>20</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>jtidy-4aug2000r7-dev.jar</td><td>134.60 kB</td><td>129</td><td>119</td><td>3</td><td>1.1</td><td>release</td></tr><tr class="a"><td>junit-4.0.jar</td><td>103.13 kB</td><td>119</td><td>92</td><td>11</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>org.apache.felix.bundlerepository-1.6.6.jar</td><td>164.33 kB</td><td>112</td><td>84</td><td>11</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>maven-archiver-2.4.1.jar</td><td>19.63 kB</td><td>19</td><td>5</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>maven-artifact-2.0.7.jar</td><td>85.80 kB</td><td>106</td><td>77</td><td>15</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-artifact-manager-2.0.7.jar</td><td>55.18 kB</td><td>46</td><td>24</td><td>7</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-core-2.0.7.jar</td><td>149.30 kB</td><td>108</td><td>67</td><td>13</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-error-diagnostics-2.0.7.jar</td><td>13.29 kB</td><td>22</td><td>6</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-model-2.0.7.jar</td><td>84.41 kB</td><td>60</td><td>45</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-monitor-2.0.7.jar</td><td>10.00 kB</td><td>19</td><td>5</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-api-2.0.7.jar</td><td>12.56 kB</td><td>23</td><td>9</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-descriptor-2.0.7.jar</td><td>36.01 kB</td><td>32</td><td>15</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-plugin-parameter-documenter-2.0.7.jar</td><td>20.27 kB</td><td>20</td><td>4</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-plugin-registry-2.0.7.jar</td><td>28.25 kB</td><td>28</td><td>10</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-profile-2.0.7.jar</td><td>34.42 kB</td><td>33</td><td>16</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-project-2.0.7.jar</td><td>113.81 kB</td><td>76</td><td>51</td><td>10</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-repository-metadata-2.0.7.jar</td><td>23.90 kB</td><td>23</td><td>6</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-settings-2.0.7.jar</td><td>47.96 kB</td><td>38</td><td>21</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>doxia-sink-api-1.0-alpha-7.jar</td><td>5.80 kB</td><td>19</td><td>3</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>maven-reporting-api-2.0.7.jar</td><td>9.71 kB</td><td>18</td><td>4</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>maven-dependency-tree-1.2.jar</td><td>33.75 kB</td><td>40</td><td>21</td><td>3</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>maven-plugin-testing-harness-1.1.jar</td><td>31.73 kB</td><td>28</td><td>11</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-file-1.0-beta-2.jar</td><td>9.71 kB</td><td>18</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-http-lightweight-1.0-beta-2.jar</td><td>12.03 kB</td><td>19</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-http-shared-1.0-beta-2.jar</td><td>9.34 kB</td><td>17</td><td>2</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-provider-api-1.0-beta-2.jar</td><td>45.24 kB</td><td>57</td><td>37</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-1.0-beta-2.jar</td><td>23.05 kB</td><td>26</td><td>7</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>wagon-ssh-common-1.0-beta-2.jar</td><td>24.61 kB</td><td>37</td><td>18</td><td>3</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>wagon-ssh-external-1.0-beta-2.jar</td><td>12.27 kB</td><td>19</td><td>1</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-archiver-1.0.jar</td><td>173.01 kB</td><td>132</td><td>107</td><td>12</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>plexus-container-default-1.0-alpha-9-stable-1.jar</td><td>189.63 kB</td><td>215</td><td>175</td><td>28</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>plexus-interactivity-api-1.0-alpha-4.jar</td><td>13.09 kB</td><td>25</td><td>11</td><td>1</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>plexus-interpolation-1.13.jar</td><td>59.63 kB</td><td>60</td><td>44</td><td>6</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>plexus-io-1.0.jar</td><td>49.61 kB</td><td>61</td><td>42</td><td>5</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>plexus-utils-2.1.jar</td><td>219.24 kB</td><td>123</td><td>98</td><td>9</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>easymock-2.4.jar</td><td>79.23 kB</td><td>83</td><td>71</td><td>3</td><td>1.5</td><td>debug</td></tr><tr class="b"><td>mockito-all-1.7.jar</td><td>943.04 kB</td><td>846</td><td>469</td><td>48</td><td>1.5</td><td>debug</td></tr><tr class="a"><td>org.osgi.core-4.1.0.jar</td><td>159.63 kB</td><td>132</td><td>49</td><td>6</td><td>1.2</td><td>debug</td></tr><tr class="b"><td>xml-apis-1.0.b2.jar</td><td>106.76 kB</td><td>217</td><td>184</td><td>17</td><td>1.2</td><td>release</td></tr><tr class="a"><th>Total</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>43</td><td>4.33 MB</td><td>4,027</td><td>2,411</td><td>312</td><td>1.5</td><td>40</td></tr><tr class="a"><td>compile: 30</td><td>compile: 2.76 MB</td><td>compile: 2,372</td><td>compile: 1,340</td><td>compile: 216</td><td>-</td><td>compile: 30</td></tr><tr class="b"><td>test: 4</td><td>test: 1.13 MB</td><td>test: 1,076</td><td>test: 643</td><td>test: 64</td><td>-</td><td>test: 4</td></tr><tr class="a"><td>runtime: 9</td><td>runtime: 451.54 kB</td><td>runtime: 579</td><td>runtime: 428</td><td>runtime: 32</td><td>-</td><td>runtime: 6</td></tr></table></div><a name="Dependency_Repository_Locations"></a><div class="section"><h2>Dependency Repository Locations<a name="Dependency_Repository_Locations"></a></h2><table border="0" class="bodyTable"><tr class="a"><th>Repo ID</th><th>URL</th><th>Release</th><th>Snapshot</th><th>Blacklisted</th></tr><tr class="b"><td>apache.snapshots</td><td><a class="externalLink" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></td><td>-</td><td>Yes</td><td>-</td></tr><tr class="a"><td>snapshots</td><td><a class="externalLink" href="http://snapshots.maven.codehaus.org/maven2">http://snapshots.maven.codehaus.org/maven2</a></td><td>-</td><td>Yes</td><td>Yes</td></tr><tr class="b"><td>central</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2">http://repo1.maven.apache.org/maven2</a></td><td>Yes</td><td>-</td><td>-</td></tr></table><p>Repository locations for each of the Dependencies.</p><table border="0" class="bodyTable"><tr class="a"><th>Artifact</th><th>apache.snapshots</th><th>central</th></tr><tr class="b"><td>biz.aQute:bndlib:jar:1.50.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/biz/aQute/bndlib/1.50.0/bndlib-1.50.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>classworlds:classworlds:jar:1.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>com.jcraft:jsch:jar:0.1.27</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>commons-cli:commons-cli:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>jtidy:jtidy:jar:4aug2000r7-dev</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>junit:junit:jar:4.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/junit/junit/4.0/junit-4.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/felix/org.apache.felix.bundlerepository/1.6.6/org.apache.felix.bundlerepository-1.6.6.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-archiver:jar:2.4.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-artifact:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-artifact-manager:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-core:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-core/2.0.7/maven-core-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-error-diagnostics:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.7/maven-error-diagnostics-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-model:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-monitor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.0.7/maven-monitor-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-api:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-descriptor:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.7/maven-plugin-descriptor-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.7/maven-plugin-parameter-documenter-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-plugin-registry:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-profile:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-project:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven:maven-repository-metadata:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven:maven-settings:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.reporting:maven-reporting-api:jar:2.0.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.7/maven-reporting-api-2.0.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.shared:maven-dependency-tree:jar:1.2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-file:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-http-shared:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.apache.maven.wagon:wagon-ssh-external:jar:1.0-beta-2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-archiver:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-interpolation:jar:1.13</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.codehaus.plexus:plexus-io:jar:1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.codehaus.plexus:plexus-utils:jar:2.1</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.easymock:easymock:jar:2.4</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/easymock/easymock/2.4/easymock-2.4.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>org.mockito:mockito-all:jar:1.7</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/mockito/mockito-all/1.7/mockito-all-1.7.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><td>org.osgi:org.osgi.core:jar:4.1.0</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/org/osgi/org.osgi.core/4.1.0/org.osgi.core-4.1.0.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="b"><td>xml-apis:xml-apis:jar:1.0.b2</td><td>-</td><td><a class="externalLink" href="http://repo1.maven.apache.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"><img alt="Found at http://repo1.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td></tr><tr class="a"><th>Total</th><th>apache.snapshots</th><th>central</th></tr><tr class="b"><td>43 (compile: 30, test: 4, runtime: 9)</td><td>0</td><td>43</td></tr></table></div>
+    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>
       </div>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 9323bae..dddd3cc 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -308,7 +308,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 71eab81..e8cf453 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -209,7 +209,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 fe79ec4..03a5afb 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -144,7 +144,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 baf80d0..5290c94 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -29,7 +29,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 9924944..6180e10 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -235,7 +235,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 375fb21..e89f76c 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -137,7 +137,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 112251c..dd88ad3 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -259,7 +259,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 d6b53c7..e3e83fa 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 289edfa..0425529 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-3238">FELIX-3238</a></td><td>Unable to filter out classes from identical package in a dependency</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3222">FELIX-3222</a></td><td>[PATCH] build fails with &quot;unreported exception&quot;</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3210">FELIX-3210</a></td><td>Maven bundle plugin remote-clean goal without user confirmation</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3209">FELIX-3209</a></td><td>Make sure the properties passed to BND only include string values</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3208">FELIX-3208</a></td><td>Provide default value for sourcepath when using BND -sources=true</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3206">FELIX-3206</a></td><td>Restore the BND analyzer approach which creates a MANIFEST.MF based on the contents of the jar</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3188">FELIX-3188</a></td><td>[PATCH] exception org.apache.maven.project.artifact.InvalidDependencyVersionException has already been caught</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3185">FELIX-3185</a></td><td>Negative Embed-Dependency clauses aren't handled correctly</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3173">FELIX-3173</a></td><td>Local OBR install failes when there is a space in the full path</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3165">FELIX-3165</a></td><td>Add an option to the manifest goal that will copy any BND generated resources to the target folder</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3092">FELIX-3092</a></td><td>Support relative paths in &quot;urlTemplate&quot; parameter of &quot;bundle:index&quot; goal in maven bundle plugin</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3061">FELIX-3061</a></td><td>improvements to Embed-Dependency logic to allow better m2e integration</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3058">FELIX-3058</a></td><td>maven-bundle-plugin 2.3.5 incompatible with maven-source-plugin (regression)</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3037">FELIX-3037</a></td><td>Plugin does not work with Java 5</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3031">FELIX-3031</a></td><td>maven3 deployment fails where maven2 works</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-3011">FELIX-3011</a></td><td>Add a new goal to save the bnd instructions that would be passed onto bnd, to allow people to use other toolchains such as bndtools</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2934">FELIX-2934</a></td><td>Bundle-ClassPath contains &quot;.&quot; despite using _wab instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2884">FELIX-2884</a></td><td>The multiplicity isn't taken into account by the maven bundle plugin and bundlerepository when generating the repository xml</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2872">FELIX-2872</a></td><td>Provide a way to have an easier to read manifest</td><td>Resolved</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2820">FELIX-2820</a></td><td>Provide a default value when using &lt;_wab/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2819">FELIX-2819</a></td><td>packageinfo files in src/main/java are ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2812">FELIX-2812</a></td><td>The &lt;Embed-Dependency&gt; filter can fail if your matching against multiple &quot;*&quot; artifact ids.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2811">FELIX-2811</a></td><td>If &lt;Private-Package&gt;!*&lt;/Private-Package&gt; is defined the all packages should be exported by {local-packages}</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2808">FELIX-2808</a></td><td>maven-bundle-plugin should scan for local packages by looking for *.class files instead of *.java so that all the JVM languages can be supported.</td><td>Closed</td><td>Fixed</td><td>Hiram Chirino</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2765">FELIX-2765</a></td><td>bundle plugin throw IllegalArgumentException while do the install</td><td>Closed</td><td>Fixed</td><td>Unassigned</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2722">FELIX-2722</a></td><td>With an empty  organization like this &lt;organization/&gt;, maven bundle plugin raises a NPE.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2701">FELIX-2701</a></td><td>Add a {local-packages} macro for automatically expanding local packages in the &lt;Export-Package&gt; instruction</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2692">FELIX-2692</a></td><td>Support maven type 'wab' for web bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2657">FELIX-2657</a></td><td>Maven-bundle-plugin uses old version of BndLib</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2656">FELIX-2656</a></td><td>Maven-bundle-plugin identified as not thread-safe in Maven 3.0</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2449">FELIX-2449</a></td><td>Resource filtering does not use Maven properties specified on the mvn command line via -D command line switches</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2435">FELIX-2435</a></td><td>&lt;supportedProjectType&gt; on a WAR file will switch the project to generate jar artifacts</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2427">FELIX-2427</a></td><td>maven site crashes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2346">FELIX-2346</a></td><td>mvn bundle:clean removes all, even the existing resources</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2215">FELIX-2215</a></td><td>Refactor bundlerepository and maven bundle plugin obr data model</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2210">FELIX-2210</a></td><td>Bogus import entries</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2194">FELIX-2194</a></td><td>The manifest and bundle goals seem to generate different manifest informations</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2176">FELIX-2176</a></td><td>Upgrade maven-bundle-plugin to up to date bnd</td><td>Closed</td><td>Fixed</td><td>Richard S. Hall</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2175">FELIX-2175</a></td><td>Improve the Blueprint component to parse / introspect blueprint configuration files and generate OBR service requirements / capabilities accordingly</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2173">FELIX-2173</a></td><td>Fix inconsistent maven-&gt;osgi version conversion between maven-bundle-plugin and DefaultMaven2OsgiConverter</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2155">FELIX-2155</a></td><td>The maven bundle plugin generates wrong capabilities for packages with directives</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2112">FELIX-2112</a></td><td>Carriage returns are removed from instructions, but the lines should be trimmed alltogether</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-2048">FELIX-2048</a></td><td>Service-Component property doesn't allow to use wildcards for filenames</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1985">FELIX-1985</a></td><td>Error when Include-Resource instruction contains duplicate paths.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1951">FELIX-1951</a></td><td>The SchemaObr.xsd in bundleplugin is incomplete</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1936">FELIX-1936</a></td><td>Create Output Directory for Resource-Only WARs</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1836">FELIX-1836</a></td><td>Maven resource filtering support for obr.xml</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1820">FELIX-1820</a></td><td>Fragment-Host version not converted</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1734">FELIX-1734</a></td><td>The _donotcopy is ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1634">FELIX-1634</a></td><td>Maven Bundle Plugin disables transitive dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1571">FELIX-1571</a></td><td>Bundle-ClassPath without &quot;.&quot; while using maven-bundle-plugin in a war project confuses the plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1568">FELIX-1568</a></td><td>Goal to transform a maven version into an OSGi version</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1552">FELIX-1552</a></td><td>Add support for blueprint and spring-dm declarations to import the discovered packages</td><td>Closed</td><td>Fixed</td><td>Guillaume Nodet</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1539">FELIX-1539</a></td><td>generated-classes not included in bundle</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1501">FELIX-1501</a></td><td>Using a macro in Bundle-Version with the manifest goal causes garbage in the Export-Package and Private-Package headers.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1461">FELIX-1461</a></td><td>Corrupted repository.xml when maven is run in parallel</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1439">FELIX-1439</a></td><td>maven-bundle-plugin resource filtering does not substitute project.organization.*</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1290">FELIX-1290</a></td><td>Missing dependencies silently ignored</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1262">FELIX-1262</a></td><td>[regression] shared archive resources cannot be found</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1148">FELIX-1148</a></td><td>NPE during bundleall goal</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1054">FELIX-1054</a></td><td>The deploy and deploy-file plugin should write the computed bundle uri</td><td>Closed</td><td>Fixed</td><td>Clement Escoffier</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1039">FELIX-1039</a></td><td>Inconsistency packaging vs. type</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1023">FELIX-1023</a></td><td>Category Information not exported to obr file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1021">FELIX-1021</a></td><td>Classifier always used even if not explicitly set in the configuration</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-1017">FELIX-1017</a></td><td>Generic types ignored when generating MANIFEST.MF</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-984">FELIX-984</a></td><td>site's &lt;Bundle-Version&gt; documentation is wrong</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-981">FELIX-981</a></td><td>Warning about split packages even with -split-package directive [maven-bundle-plugin-2.0.0]</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-954">FELIX-954</a></td><td>Import-Package should include packages from optional Maven dependencies with resolution=optional</td><td>Closed</td><td>Fixed</td><td>Unassigned</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-941">FELIX-941</a></td><td>Support singleton &amp; fragment-attachment directive generation</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-912">FELIX-912</a></td><td>Improve default Export-Package / Private-Package settings by scanning the project source</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-907">FELIX-907</a></td><td>Regression in latest BND code: negated exports are applied to private packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-899">FELIX-899</a></td><td>Version attribute missing from Import-Package on provided dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-850">FELIX-850</a></td><td>Wrong symbolic name computed when groupId is a single segment string.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-843">FELIX-843</a></td><td>Regression: BND 0.0.295 does not augment Ignore-Package with excluded import packages</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-831">FELIX-831</a></td><td>bndlib unnecessary modifies valid OSGi Bundle-Version numbers (update to bndlib 0.0.293)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-807">FELIX-807</a></td><td>conversion of JAR into bundle fails if there are classes is the default name space</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-806">FELIX-806</a></td><td>changing the internal configuration of the archive plugin doesn't seem to be possible</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-782">FELIX-782</a></td><td>Manifest goal ignores version attribute specified in _exportcontents</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-759">FELIX-759</a></td><td>Version range in import declaration creates a filter using invalid operators (&lt;,&gt;)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-699">FELIX-699</a></td><td>manifest goal does not interprete _include instruction correctly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-684">FELIX-684</a></td><td>Enable excludeDependencies to check groupId, version, etc. rather than only artifactId</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-677">FELIX-677</a></td><td>Parser throws error when DynamicImport-Package contains attributes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-661">FELIX-661</a></td><td>maven bundle plugin does not close the accessed fie /jar streams</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-660">FELIX-660</a></td><td>&quot;Class in different directory than declared&quot; error when bundle classes in a directory other than bundle root</td><td>Closed</td><td>Fixed</td><td>Peter Kriens</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-636">FELIX-636</a></td><td>Bundle-SymbolicName is generated incorrectly</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-620">FELIX-620</a></td><td>manifest goal of maven-bundle-plugin ignores _include instruction</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-580">FELIX-580</a></td><td>Allows maven-bunde-plugin to generate a repository file outide a maven repository with absolute url</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-561">FELIX-561</a></td><td>Use same level of Bnd in script generated by bundle:ant as in the bundleplugin itself</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-560">FELIX-560</a></td><td>bundle:install and bundle:deploy goals check artifact type is &quot;bundle&quot; instead of using the supportedProjectTypes list</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-556">FELIX-556</a></td><td>Filtering mechanims to &lt;Embed-Dependency/&gt;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-554">FELIX-554</a></td><td>allow removing a bundle from a remote OBR</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-553">FELIX-553</a></td><td>allow cleaning a remote OBR</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-549">FELIX-549</a></td><td>Import-Package should not include &quot;snapshot&quot; from snapshot dependencies</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-548">FELIX-548</a></td><td>Import-Package version qualifiers vary depending on dependency scope.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-547">FELIX-547</a></td><td>OBR portion of the plugin balks on singular version range of [1.0.0,1.0.0].</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-546">FELIX-546</a></td><td>Import-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-545">FELIX-545</a></td><td>Export-Package version inconsistencies.</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-543">FELIX-543</a></td><td>add switch to prevent classifier being appended to Bundle-Version</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-541">FELIX-541</a></td><td>allow repository.xml to reference to xsl file</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-531">FELIX-531</a></td><td>Allow the import package scope to be set for the bundleall goal in the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-526">FELIX-526</a></td><td>Allow a mechanism to give preference to local resources over the ones from embedded jars</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-523">FELIX-523</a></td><td>Update bundleplugin to use BND 0.0.249</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-519">FELIX-519</a></td><td>maven-bundle-plugin should issue a WARNING for unsupported packaging types</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-517">FELIX-517</a></td><td>Replacement of {maven-dependencies} in Include-Resource and Bundle-ClassPath can strip Windows path separators</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-505">FELIX-505</a></td><td>maven-bundle-plugin:bundleall modifies dependencies that are already bundles</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-499">FELIX-499</a></td><td>Enhance &quot;excludeDependencies&quot; configuration parameter to also support comma-separated list of artifactIds</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-498">FELIX-498</a></td><td>Enable javadoc deployment on OBR repository</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-493">FELIX-493</a></td><td>maven-bundle-plugin bundle:install goal install too many artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-492">FELIX-492</a></td><td>Add support to classifier: enable bunlde:bundle goal to generate classified artifact</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-491">FELIX-491</a></td><td>Merge the maven-obr-plugin and the bundleplugin into a single plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-477">FELIX-477</a></td><td>BND: Versions with fourth section all numbers are truncated</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-476">FELIX-476</a></td><td>Improve default Export-Package (used when no Export-Package and Private-Package is set)</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-472">FELIX-472</a></td><td>Embed-Dependency, Include-Resource and inline</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-462">FELIX-462</a></td><td>Support removal of manifest headers added by the bundleplugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-461">FELIX-461</a></td><td>Ensure manifest goal creates same manifest as bundle goal when project packaging is &quot;bundle&quot;</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-460">FELIX-460</a></td><td>Remove &quot;.&quot; from the Bundle-ClassPath when embedding dependencies in a bundle with no local classes</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-459">FELIX-459</a></td><td>BND: allow customization of the &quot;uses&quot; clause in the generated Export-Package</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-458">FELIX-458</a></td><td>BND: -split-package:=merge-first behaves like merge-last</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="b"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-344">FELIX-344</a></td><td>Generate standard maven documentation for the maven-bundle-plugin</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr><tr class="a"><td><a class="externalLink" href="https://issues.apache.org/jira/browse/FELIX-247">FELIX-247</a></td><td>Add ant goal to maven-bundle-plugin which creates a build.xml and MANIFEST.MF with bundle headers</td><td>Closed</td><td>Fixed</td><td>Stuart McCulloch</td></tr></table></div>
+        <div 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>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 cbed9e1..d62b789 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 26663f1..99e2a08 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 338daa5..7331269 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -273,7 +273,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 8548d95..46892a6 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -134,7 +134,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 7d243b1..24b52bb 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 62ff9da..4d95ff6 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 4bd5338..25fad8b 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -196,7 +196,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 22090da..6155ce2 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 92b921f..564315c 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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.93</td></tr></table><br />Note: failures are anticipated and checked for with assertions while errors are unanticipated.<br /></div><div class="section"><h2><a name="Package_List"></a>Package List<a name="Package_List"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><br /><table border="0" class="bodyTable"><tr class="a"><th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundleplugin">org.apache.felix.bundleplugin</a></td><td>15</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>2.93</td></tr></table><br />Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.<div class="section"><h3><a name="org.apache.felix.bundleplugin"></a>org.apache.felix.bundleplugin<a name="org.apache.felix.bundleplugin"></a></h3><table border="0" class="bodyTable"><tr class="a"><th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBlueprintComponentTest">BlueprintComponentTest</a></td><td>1</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.761</td></tr><tr class="a"><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundleAllPluginTest">BundleAllPluginTest</a></td><td>2</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>0.953</td></tr><tr class="b"><td><a href="#org.apache.felix.bundlepluginBundlePluginTest"><img src="images/icon_success_sml.gif" alt="" /></a></td><td><a href="#org.apache.felix.bundlepluginBundlePluginTest">BundlePluginTest</a></td><td>12</td><td>0</td><td>0</td><td>0</td><td>100%</td><td>1.216</td></tr></table></div><br /></div><div class="section"><h2><a name="Test_Cases"></a>Test Cases<a name="Test_Cases"></a></h2><div class="section">[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</div><div class="section"><h3><a name="org.apache.felix.bundlepluginBlueprintComponentTest"></a>BlueprintComponentTest<a name="BlueprintComponentTest"></a></h3><table border="0" class="bodyTable"><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testBlueprint</td><td>0.711</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundleAllPluginTest"></a>BundleAllPluginTest<a name="BundleAllPluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testSnapshotMatch</td><td>0.463</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testNoReBundling</td><td>0.484</td></tr></table></div><div class="section"><h3><a name="org.apache.felix.bundlepluginBundlePluginTest"></a>BundlePluginTest<a name="BundlePluginTest"></a></h3><table border="0" class="bodyTable"><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testConvertVersionToOsgi</td><td>0.057</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testReadExportedModules</td><td>0.178</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testTransformDirectives</td><td>0.052</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testDefaultPropertiesIncludeOrganization</td><td>0.064</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testVersion</td><td>0.046</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPackageInfoDetection</td><td>0.064</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyPositiveClauses</td><td>0.151</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyNegativeClauses</td><td>0.127</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyDuplicateKeys</td><td>0.142</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingPositiveKey</td><td>0.127</td></tr><tr class="b"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testEmbedDependencyMissingNegativeKey</td><td>0.172</td></tr><tr class="a"><td><img src="images/icon_success_sml.gif" alt="" /></td><td>testPropertySanitizing</td><td>0.03</td></tr></table></div><br /></div><br />
+        <div 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>
     </div>
     <div class="clear">
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 956fe33..086c0ac 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -27,7 +27,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</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-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 4be3cb6..2b63194 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 Nov 28, 2011 -->
+<!-- Generated by Apache Maven Doxia at Feb 11, 2012 -->
 <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="20111128" />
+    <meta name="Date-Revision-yyyymmdd" content="20120211" />
     <meta http-equiv="Content-Language" content="en" />
         
   </head>
@@ -28,7 +28,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2011-11-28</span>
+        <span id="publishDate">Last Published: 2012-02-11</span>
                   &nbsp;| <span id="projectVersion">Version: 2.4.0-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -313,7 +313,7 @@
       <hr/>
     </div>
     <div id="footer">
-      <div class="xright">Copyright &#169;                    2006-2011
+      <div class="xright">Copyright &#169;                    2006-2012
                         <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 adfeab3..db677f1 100644
--- a/bundleplugin/doc/site/xref-test/allclasses-frame.html
+++ b/bundleplugin/doc/site/xref-test/allclasses-frame.html
@@ -15,6 +15,9 @@
 				<a href="org/apache/felix/bundleplugin/AbstractBundlePluginTest.html" target="classFrame">AbstractBundlePluginTest</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/ArtifactStubFactory.html" target="classFrame">ArtifactStubFactory</a>
+			</li>
+						<li>
 				<a href="org/apache/felix/bundleplugin/BlueprintComponentTest.html" target="classFrame">BlueprintComponentTest</a>
 			</li>
 						<li>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/ArtifactStubFactory.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/ArtifactStubFactory.html
new file mode 100644
index 0000000..97e9535
--- /dev/null
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/ArtifactStubFactory.html
@@ -0,0 +1,90 @@
+<!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>ArtifactStubFactory 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.felix.bundleplugin;
+<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>  <strong class="jxr_keyword">import</strong> java.io.IOException;
+<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
+<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * Fixed version of class that uses stable set ordering for reliable testing.</em>
+<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="32" href="#32">32</a>  @SuppressWarnings( { <span class="jxr_string">"rawtypes"</span>, <span class="jxr_string">"unchecked"</span> } )
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a> <strong class="jxr_keyword">extends</strong> org.apache.maven.plugin.testing.ArtifactStubFactory
+<a name="34" href="#34">34</a>  {
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a>( File workingDir, <strong class="jxr_keyword">boolean</strong> createFiles )
+<a name="37" href="#37">37</a>      {
+<a name="38" href="#38">38</a>          <strong class="jxr_keyword">super</strong>( workingDir, createFiles );
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      @Override
+<a name="42" href="#42">42</a>      <strong class="jxr_keyword">public</strong> Set getClassifiedArtifacts() <strong class="jxr_keyword">throws</strong> IOException
+<a name="43" href="#43">43</a>      {
+<a name="44" href="#44">44</a>          Set set = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="45" href="#45">45</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"a"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"jar"</span>, <span class="jxr_string">"one"</span> ) );
+<a name="46" href="#46">46</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"b"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"jar"</span>, <span class="jxr_string">"two"</span> ) );
+<a name="47" href="#47">47</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"c"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"jar"</span>, <span class="jxr_string">"three"</span> ) );
+<a name="48" href="#48">48</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"d"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"jar"</span>, <span class="jxr_string">"four"</span> ) );
+<a name="49" href="#49">49</a>          <strong class="jxr_keyword">return</strong> set;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      @Override
+<a name="53" href="#53">53</a>      <strong class="jxr_keyword">public</strong> Set getScopedArtifacts() <strong class="jxr_keyword">throws</strong> IOException
+<a name="54" href="#54">54</a>      {
+<a name="55" href="#55">55</a>          Set set = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="56" href="#56">56</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"compile"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE ) );
+<a name="57" href="#57">57</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"provided"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_PROVIDED ) );
+<a name="58" href="#58">58</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"test"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_TEST ) );
+<a name="59" href="#59">59</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"runtime"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_RUNTIME ) );
+<a name="60" href="#60">60</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"system"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_SYSTEM ) );
+<a name="61" href="#61">61</a>          <strong class="jxr_keyword">return</strong> set;
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      @Override
+<a name="65" href="#65">65</a>      <strong class="jxr_keyword">public</strong> Set getTypedArtifacts() <strong class="jxr_keyword">throws</strong> IOException
+<a name="66" href="#66">66</a>      {
+<a name="67" href="#67">67</a>          Set set = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="68" href="#68">68</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"a"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"war"</span>, <strong class="jxr_keyword">null</strong> ) );
+<a name="69" href="#69">69</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"b"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"jar"</span>, <strong class="jxr_keyword">null</strong> ) );
+<a name="70" href="#70">70</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"c"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"sources"</span>, <strong class="jxr_keyword">null</strong> ) );
+<a name="71" href="#71">71</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"d"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"zip"</span>, <strong class="jxr_keyword">null</strong> ) );
+<a name="72" href="#72">72</a>          set.add( createArtifact( <span class="jxr_string">"g"</span>, <span class="jxr_string">"e"</span>, <span class="jxr_string">"1.0"</span>, Artifact.SCOPE_COMPILE, <span class="jxr_string">"rar"</span>, <strong class="jxr_keyword">null</strong> ) );
+<a name="73" href="#73">73</a>          <strong class="jxr_keyword">return</strong> set;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>  }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
index 4e778ee..777f5cf 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
@@ -42,369 +42,368 @@
 <a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
 <a name="33" href="#33">33</a>  
 <a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Organization;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.ArtifactStubFactory;
-<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
-<a name="40" href="#40">40</a>  
-<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+<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>  <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="43" href="#43">43</a>  
 <a name="44" href="#44">44</a>  
-<a name="45" href="#45">45</a>  
-<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * Test for {@link BundlePlugin}.</em>
-<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="51" href="#51">51</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePluginTest.html">BundlePluginTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractBundlePluginTest.html">AbstractBundlePluginTest</a>
-<a name="52" href="#52">52</a>  {
-<a name="53" href="#53">53</a>  
-<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> BundlePlugin plugin;
+<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * Test for {@link BundlePlugin}.</em>
+<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
+<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> */</em>
+<a name="50" href="#50">50</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePluginTest.html">BundlePluginTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractBundlePluginTest.html">AbstractBundlePluginTest</a>
+<a name="51" href="#51">51</a>  {
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> BundlePlugin plugin;
+<a name="54" href="#54">54</a>  
 <a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>  
-<a name="57" href="#57">57</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception
-<a name="58" href="#58">58</a>      {
-<a name="59" href="#59">59</a>          <strong class="jxr_keyword">super</strong>.setUp();
-<a name="60" href="#60">60</a>          plugin = <strong class="jxr_keyword">new</strong> BundlePlugin();
-<a name="61" href="#61">61</a>          plugin.setMaven2OsgiConverter( <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter() );
-<a name="62" href="#62">62</a>          plugin.setBuildDirectory( <span class="jxr_string">"."</span> );
-<a name="63" href="#63">63</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( getBasedir(), <span class="jxr_string">"target"</span> + File.separatorChar + <span class="jxr_string">"scratch"</span> ) );
-<a name="64" href="#64">64</a>      }
+<a name="56" href="#56">56</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception
+<a name="57" href="#57">57</a>      {
+<a name="58" href="#58">58</a>          <strong class="jxr_keyword">super</strong>.setUp();
+<a name="59" href="#59">59</a>          plugin = <strong class="jxr_keyword">new</strong> BundlePlugin();
+<a name="60" href="#60">60</a>          plugin.setMaven2OsgiConverter( <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter() );
+<a name="61" href="#61">61</a>          plugin.setBuildDirectory( <span class="jxr_string">"."</span> );
+<a name="62" href="#62">62</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( getBasedir(), <span class="jxr_string">"target"</span> + File.separatorChar + <span class="jxr_string">"scratch"</span> ) );
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
 <a name="65" href="#65">65</a>  
-<a name="66" href="#66">66</a>  
-<a name="67" href="#67">67</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConvertVersionToOsgi()
-<a name="68" href="#68">68</a>      {
-<a name="69" href="#69">69</a>          String osgiVersion;
-<a name="70" href="#70">70</a>  
-<a name="71" href="#71">71</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.0-SNAPSHOT"</span> );
-<a name="72" href="#72">72</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
-<a name="73" href="#73">73</a>  
-<a name="74" href="#74">74</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1-SNAPSHOT"</span> );
-<a name="75" href="#75">75</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
-<a name="76" href="#76">76</a>  
-<a name="77" href="#77">77</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2-SNAPSHOT"</span> );
-<a name="78" href="#78">78</a>          assertEquals( <span class="jxr_string">"2.0.0.SNAPSHOT"</span>, osgiVersion );
-<a name="79" href="#79">79</a>  
-<a name="80" href="#80">80</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2"</span> );
-<a name="81" href="#81">81</a>          assertEquals( <span class="jxr_string">"2.0.0"</span>, osgiVersion );
-<a name="82" href="#82">82</a>  
-<a name="83" href="#83">83</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1"</span> );
-<a name="84" href="#84">84</a>          assertEquals( <span class="jxr_string">"2.1.0"</span>, osgiVersion );
-<a name="85" href="#85">85</a>  
-<a name="86" href="#86">86</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3"</span> );
-<a name="87" href="#87">87</a>          assertEquals( <span class="jxr_string">"2.1.3"</span>, osgiVersion );
-<a name="88" href="#88">88</a>  
-<a name="89" href="#89">89</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3.4"</span> );
-<a name="90" href="#90">90</a>          assertEquals( <span class="jxr_string">"2.1.3.4"</span>, osgiVersion );
-<a name="91" href="#91">91</a>  
-<a name="92" href="#92">92</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"4aug2000r7-dev"</span> );
-<a name="93" href="#93">93</a>          assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
-<a name="94" href="#94">94</a>  
-<a name="95" href="#95">95</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.1-alpha-2"</span> );
-<a name="96" href="#96">96</a>          assertEquals( <span class="jxr_string">"1.1.0.alpha-2"</span>, osgiVersion );
-<a name="97" href="#97">97</a>  
-<a name="98" href="#98">98</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-alpha-16-20070122.203121-13"</span> );
-<a name="99" href="#99">99</a>          assertEquals( <span class="jxr_string">"1.0.0.alpha-16-20070122_203121-13"</span>, osgiVersion );
-<a name="100" href="#100">100</a> 
-<a name="101" href="#101">101</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-20070119.021432-1"</span> );
-<a name="102" href="#102">102</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
-<a name="103" href="#103">103</a> 
-<a name="104" href="#104">104</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1-20070119.021432-1"</span> );
-<a name="105" href="#105">105</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
-<a name="106" href="#106">106</a> 
-<a name="107" href="#107">107</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.4.1-20070217.082013-7"</span> );
-<a name="108" href="#108">108</a>         assertEquals( <span class="jxr_string">"1.4.1.20070217_082013-7"</span>, osgiVersion );
-<a name="109" href="#109">109</a>     }
+<a name="66" href="#66">66</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConvertVersionToOsgi()
+<a name="67" href="#67">67</a>      {
+<a name="68" href="#68">68</a>          String osgiVersion;
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.0-SNAPSHOT"</span> );
+<a name="71" href="#71">71</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1-SNAPSHOT"</span> );
+<a name="74" href="#74">74</a>          assertEquals( <span class="jxr_string">"2.1.0.SNAPSHOT"</span>, osgiVersion );
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2-SNAPSHOT"</span> );
+<a name="77" href="#77">77</a>          assertEquals( <span class="jxr_string">"2.0.0.SNAPSHOT"</span>, osgiVersion );
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2"</span> );
+<a name="80" href="#80">80</a>          assertEquals( <span class="jxr_string">"2.0.0"</span>, osgiVersion );
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1"</span> );
+<a name="83" href="#83">83</a>          assertEquals( <span class="jxr_string">"2.1.0"</span>, osgiVersion );
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3"</span> );
+<a name="86" href="#86">86</a>          assertEquals( <span class="jxr_string">"2.1.3"</span>, osgiVersion );
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"2.1.3.4"</span> );
+<a name="89" href="#89">89</a>          assertEquals( <span class="jxr_string">"2.1.3.4"</span>, osgiVersion );
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"4aug2000r7-dev"</span> );
+<a name="92" href="#92">92</a>          assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, osgiVersion );
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.1-alpha-2"</span> );
+<a name="95" href="#95">95</a>          assertEquals( <span class="jxr_string">"1.1.0.alpha-2"</span>, osgiVersion );
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-alpha-16-20070122.203121-13"</span> );
+<a name="98" href="#98">98</a>          assertEquals( <span class="jxr_string">"1.0.0.alpha-16-20070122_203121-13"</span>, osgiVersion );
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.0-20070119.021432-1"</span> );
+<a name="101" href="#101">101</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1-20070119.021432-1"</span> );
+<a name="104" href="#104">104</a>         assertEquals( <span class="jxr_string">"1.0.0.20070119_021432-1"</span>, osgiVersion );
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         osgiVersion = plugin.convertVersionToOsgi( <span class="jxr_string">"1.4.1-20070217.082013-7"</span> );
+<a name="107" href="#107">107</a>         assertEquals( <span class="jxr_string">"1.4.1.20070217_082013-7"</span>, osgiVersion );
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
 <a name="110" href="#110">110</a> 
-<a name="111" href="#111">111</a> 
-<a name="112" href="#112">112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReadExportedModules() <strong class="jxr_keyword">throws</strong> Exception
-<a name="113" href="#113">113</a>     {
-<a name="114" href="#114">114</a>         File osgiBundleFile = getTestBundle();
-<a name="115" href="#115">115</a> 
-<a name="116" href="#116">116</a>         assertTrue( osgiBundleFile.exists() );
-<a name="117" href="#117">117</a> 
-<a name="118" href="#118">118</a>         MavenProject project = getMavenProjectStub();
-<a name="119" href="#119">119</a> 
-<a name="120" href="#120">120</a>         <em class="jxr_comment">//        PackageVersionAnalyzer analyzer = new PackageVersionAnalyzer();</em>
-<a name="121" href="#121">121</a>         Builder analyzer = <strong class="jxr_keyword">new</strong> Builder();
-<a name="122" href="#122">122</a>         Jar jar = <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"name"</span>, osgiBundleFile );
-<a name="123" href="#123">123</a>         analyzer.setJar( jar );
-<a name="124" href="#124">124</a>         analyzer.setClasspath( <strong class="jxr_keyword">new</strong> Jar[]
-<a name="125" href="#125">125</a>             { jar } );
-<a name="126" href="#126">126</a> 
-<a name="127" href="#127">127</a>         analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="128" href="#128">128</a>         analyzer.calcManifest();
-<a name="129" href="#129">129</a> 
-<a name="130" href="#130">130</a>         assertEquals( 3, analyzer.getExports().size() );
-<a name="131" href="#131">131</a> 
-<a name="132" href="#132">132</a>         analyzer.close();
-<a name="133" href="#133">133</a>     }
+<a name="111" href="#111">111</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReadExportedModules() <strong class="jxr_keyword">throws</strong> Exception
+<a name="112" href="#112">112</a>     {
+<a name="113" href="#113">113</a>         File osgiBundleFile = getTestBundle();
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         assertTrue( osgiBundleFile.exists() );
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         MavenProject project = getMavenProjectStub();
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         <em class="jxr_comment">//        PackageVersionAnalyzer analyzer = new PackageVersionAnalyzer();</em>
+<a name="120" href="#120">120</a>         Builder analyzer = <strong class="jxr_keyword">new</strong> Builder();
+<a name="121" href="#121">121</a>         Jar jar = <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"name"</span>, osgiBundleFile );
+<a name="122" href="#122">122</a>         analyzer.setJar( jar );
+<a name="123" href="#123">123</a>         analyzer.setClasspath( <strong class="jxr_keyword">new</strong> Jar[]
+<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="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         assertEquals( 3, analyzer.getExports().size() );
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         analyzer.close();
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
 <a name="134" href="#134">134</a> 
-<a name="135" href="#135">135</a> 
-<a name="136" href="#136">136</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTransformDirectives() <strong class="jxr_keyword">throws</strong> Exception
-<a name="137" href="#137">137</a>     {
-<a name="138" href="#138">138</a>         Map instructions = <strong class="jxr_keyword">new</strong> TreeMap();
-<a name="139" href="#139">139</a> 
-<a name="140" href="#140">140</a>         instructions.put( <span class="jxr_string">"a"</span>, <span class="jxr_string">"1"</span> );
-<a name="141" href="#141">141</a>         instructions.put( <span class="jxr_string">"-a"</span>, <span class="jxr_string">"2"</span> );
-<a name="142" href="#142">142</a>         instructions.put( <span class="jxr_string">"_a"</span>, <span class="jxr_string">"3"</span> );
-<a name="143" href="#143">143</a>         instructions.put( <span class="jxr_string">"A"</span>, <span class="jxr_string">"3"</span> );
-<a name="144" href="#144">144</a>         instructions.put( <span class="jxr_string">"_A"</span>, <span class="jxr_string">"1"</span> );
-<a name="145" href="#145">145</a>         instructions.put( <span class="jxr_string">"_b"</span>, <span class="jxr_string">"4"</span> );
-<a name="146" href="#146">146</a>         instructions.put( <span class="jxr_string">"b"</span>, <span class="jxr_string">"6"</span> );
-<a name="147" href="#147">147</a>         instructions.put( <span class="jxr_string">"_B"</span>, <span class="jxr_string">"6"</span> );
-<a name="148" href="#148">148</a>         instructions.put( <span class="jxr_string">"-B"</span>, <span class="jxr_string">"5"</span> );
-<a name="149" href="#149">149</a>         instructions.put( <span class="jxr_string">"B"</span>, <span class="jxr_string">"4"</span> );
-<a name="150" href="#150">150</a> 
-<a name="151" href="#151">151</a>         instructions.put( <span class="jxr_string">"z"</span>, <strong class="jxr_keyword">null</strong> );
-<a name="152" href="#152">152</a>         instructions.put( <span class="jxr_string">"_z"</span>, <strong class="jxr_keyword">null</strong> );
-<a name="153" href="#153">153</a> 
-<a name="154" href="#154">154</a>         Map transformedInstructions = BundlePlugin.transformDirectives( instructions );
-<a name="155" href="#155">155</a> 
-<a name="156" href="#156">156</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"a"</span> ) );
-<a name="157" href="#157">157</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"-a"</span> ) );
-<a name="158" href="#158">158</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_a"</span> ) );
-<a name="159" href="#159">159</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"A"</span> ) );
-<a name="160" href="#160">160</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"-A"</span> ) );
-<a name="161" href="#161">161</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_A"</span> ) );
-<a name="162" href="#162">162</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_b"</span> ) );
-<a name="163" href="#163">163</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"-b"</span> ) );
-<a name="164" href="#164">164</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"b"</span> ) );
-<a name="165" href="#165">165</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_B"</span> ) );
-<a name="166" href="#166">166</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"-B"</span> ) );
-<a name="167" href="#167">167</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"B"</span> ) );
-<a name="168" href="#168">168</a> 
-<a name="169" href="#169">169</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"z"</span> ) );
-<a name="170" href="#170">170</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"-z"</span> ) );
-<a name="171" href="#171">171</a>     }
+<a name="135" href="#135">135</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTransformDirectives() <strong class="jxr_keyword">throws</strong> Exception
+<a name="136" href="#136">136</a>     {
+<a name="137" href="#137">137</a>         Map instructions = <strong class="jxr_keyword">new</strong> TreeMap();
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>         instructions.put( <span class="jxr_string">"a"</span>, <span class="jxr_string">"1"</span> );
+<a name="140" href="#140">140</a>         instructions.put( <span class="jxr_string">"-a"</span>, <span class="jxr_string">"2"</span> );
+<a name="141" href="#141">141</a>         instructions.put( <span class="jxr_string">"_a"</span>, <span class="jxr_string">"3"</span> );
+<a name="142" href="#142">142</a>         instructions.put( <span class="jxr_string">"A"</span>, <span class="jxr_string">"3"</span> );
+<a name="143" href="#143">143</a>         instructions.put( <span class="jxr_string">"_A"</span>, <span class="jxr_string">"1"</span> );
+<a name="144" href="#144">144</a>         instructions.put( <span class="jxr_string">"_b"</span>, <span class="jxr_string">"4"</span> );
+<a name="145" href="#145">145</a>         instructions.put( <span class="jxr_string">"b"</span>, <span class="jxr_string">"6"</span> );
+<a name="146" href="#146">146</a>         instructions.put( <span class="jxr_string">"_B"</span>, <span class="jxr_string">"6"</span> );
+<a name="147" href="#147">147</a>         instructions.put( <span class="jxr_string">"-B"</span>, <span class="jxr_string">"5"</span> );
+<a name="148" href="#148">148</a>         instructions.put( <span class="jxr_string">"B"</span>, <span class="jxr_string">"4"</span> );
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         instructions.put( <span class="jxr_string">"z"</span>, <strong class="jxr_keyword">null</strong> );
+<a name="151" href="#151">151</a>         instructions.put( <span class="jxr_string">"_z"</span>, <strong class="jxr_keyword">null</strong> );
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>         Map transformedInstructions = BundlePlugin.transformDirectives( instructions );
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"a"</span> ) );
+<a name="156" href="#156">156</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"-a"</span> ) );
+<a name="157" href="#157">157</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_a"</span> ) );
+<a name="158" href="#158">158</a>         assertEquals( <span class="jxr_string">"3"</span>, transformedInstructions.get( <span class="jxr_string">"A"</span> ) );
+<a name="159" href="#159">159</a>         assertEquals( <span class="jxr_string">"1"</span>, transformedInstructions.get( <span class="jxr_string">"-A"</span> ) );
+<a name="160" href="#160">160</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_A"</span> ) );
+<a name="161" href="#161">161</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_b"</span> ) );
+<a name="162" href="#162">162</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"-b"</span> ) );
+<a name="163" href="#163">163</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"b"</span> ) );
+<a name="164" href="#164">164</a>         assertEquals( <strong class="jxr_keyword">null</strong>, transformedInstructions.get( <span class="jxr_string">"_B"</span> ) );
+<a name="165" href="#165">165</a>         assertEquals( <span class="jxr_string">"6"</span>, transformedInstructions.get( <span class="jxr_string">"-B"</span> ) );
+<a name="166" href="#166">166</a>         assertEquals( <span class="jxr_string">"4"</span>, transformedInstructions.get( <span class="jxr_string">"B"</span> ) );
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"z"</span> ) );
+<a name="169" href="#169">169</a>         assertEquals( <span class="jxr_string">""</span>, transformedInstructions.get( <span class="jxr_string">"-z"</span> ) );
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
 <a name="172" href="#172">172</a> 
-<a name="173" href="#173">173</a> 
-<a name="174" href="#174">174</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultPropertiesIncludeOrganization()
-<a name="175" href="#175">175</a>     {
-<a name="176" href="#176">176</a>         <strong class="jxr_keyword">final</strong> Organization organization = <strong class="jxr_keyword">new</strong> Organization();
-<a name="177" href="#177">177</a>         organization.setName( <span class="jxr_string">"Example Organization"</span> );
-<a name="178" href="#178">178</a>         organization.setUrl( <span class="jxr_string">"http://example.org"</span> );
-<a name="179" href="#179">179</a> 
-<a name="180" href="#180">180</a>         <em class="jxr_comment">// MavenProjectStub.setOrganization(Organization) doesn't do anything, so we have to make it work this way</em>
-<a name="181" href="#181">181</a>         MavenProject project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
-<a name="182" href="#182">182</a>         {
-<a name="183" href="#183">183</a>             @Override
-<a name="184" href="#184">184</a>             <strong class="jxr_keyword">public</strong> Organization getOrganization()
-<a name="185" href="#185">185</a>             {
-<a name="186" href="#186">186</a>                 <strong class="jxr_keyword">return</strong> organization;
-<a name="187" href="#187">187</a>             }
-<a name="188" href="#188">188</a>         };
-<a name="189" href="#189">189</a>         project.setGroupId( <span class="jxr_string">"group"</span> );
-<a name="190" href="#190">190</a>         project.setArtifactId( <span class="jxr_string">"project"</span> );
-<a name="191" href="#191">191</a>         project.setVersion( <span class="jxr_string">"1.2.3.4"</span> );
-<a name="192" href="#192">192</a> 
-<a name="193" href="#193">193</a>         Properties properties = plugin.getDefaultProperties( project );
-<a name="194" href="#194">194</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"project.organization.name"</span> ) );
-<a name="195" href="#195">195</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"pom.organization.name"</span> ) );
-<a name="196" href="#196">196</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"project.organization.url"</span> ) );
-<a name="197" href="#197">197</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"pom.organization.url"</span> ) );
-<a name="198" href="#198">198</a>     }
+<a name="173" href="#173">173</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultPropertiesIncludeOrganization()
+<a name="174" href="#174">174</a>     {
+<a name="175" href="#175">175</a>         <strong class="jxr_keyword">final</strong> Organization organization = <strong class="jxr_keyword">new</strong> Organization();
+<a name="176" href="#176">176</a>         organization.setName( <span class="jxr_string">"Example Organization"</span> );
+<a name="177" href="#177">177</a>         organization.setUrl( <span class="jxr_string">"http://example.org"</span> );
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         <em class="jxr_comment">// MavenProjectStub.setOrganization(Organization) doesn't do anything, so we have to make it work this way</em>
+<a name="180" href="#180">180</a>         MavenProject project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
+<a name="181" href="#181">181</a>         {
+<a name="182" href="#182">182</a>             @Override
+<a name="183" href="#183">183</a>             <strong class="jxr_keyword">public</strong> Organization getOrganization()
+<a name="184" href="#184">184</a>             {
+<a name="185" href="#185">185</a>                 <strong class="jxr_keyword">return</strong> organization;
+<a name="186" href="#186">186</a>             }
+<a name="187" href="#187">187</a>         };
+<a name="188" href="#188">188</a>         project.setGroupId( <span class="jxr_string">"group"</span> );
+<a name="189" href="#189">189</a>         project.setArtifactId( <span class="jxr_string">"project"</span> );
+<a name="190" href="#190">190</a>         project.setVersion( <span class="jxr_string">"1.2.3.4"</span> );
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>         Properties properties = plugin.getDefaultProperties( project );
+<a name="193" href="#193">193</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"project.organization.name"</span> ) );
+<a name="194" href="#194">194</a>         assertEquals( organization.getName(), properties.getProperty( <span class="jxr_string">"pom.organization.name"</span> ) );
+<a name="195" href="#195">195</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"project.organization.url"</span> ) );
+<a name="196" href="#196">196</a>         assertEquals( organization.getUrl(), properties.getProperty( <span class="jxr_string">"pom.organization.url"</span> ) );
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> 
 <a name="199" href="#199">199</a> 
-<a name="200" href="#200">200</a> 
-<a name="201" href="#201">201</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testVersion() <strong class="jxr_keyword">throws</strong> Exception
-<a name="202" href="#202">202</a>     {
-<a name="203" href="#203">203</a>         String cleanupVersion = Builder.cleanupVersion( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span> );
-<a name="204" href="#204">204</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, cleanupVersion );
-<a name="205" href="#205">205</a>     }
+<a name="200" href="#200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testVersion() <strong class="jxr_keyword">throws</strong> Exception
+<a name="201" href="#201">201</a>     {
+<a name="202" href="#202">202</a>         String cleanupVersion = Builder.cleanupVersion( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span> );
+<a name="203" href="#203">203</a>         assertEquals( <span class="jxr_string">"0.0.0.4aug2000r7-dev"</span>, cleanupVersion );
+<a name="204" href="#204">204</a>     }
+<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">public</strong> <strong class="jxr_keyword">void</strong> testPackageInfoDetection() <strong class="jxr_keyword">throws</strong> Exception
-<a name="209" href="#209">209</a>     {
-<a name="210" href="#210">210</a>         MavenProject project = getMavenProjectStub();
-<a name="211" href="#211">211</a>         project.addCompileSourceRoot( getBasedir() + <span class="jxr_string">"/src/test/java"</span> );
-<a name="212" href="#212">212</a> 
-<a name="213" href="#213">213</a>         String resourcePaths = plugin.getMavenResourcePaths( project );
-<a name="214" href="#214">214</a> 
-<a name="215" href="#215">215</a>         assertEquals( <span class="jxr_string">"org/apache/felix/bundleplugin/packageinfo="</span>
-<a name="216" href="#216">216</a>             + <span class="jxr_string">"src/test/java/org/apache/felix/bundleplugin/packageinfo"</span>, resourcePaths );
-<a name="217" href="#217">217</a>     }
+<a name="207" href="#207">207</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPackageInfoDetection() <strong class="jxr_keyword">throws</strong> Exception
+<a name="208" href="#208">208</a>     {
+<a name="209" href="#209">209</a>         MavenProject project = getMavenProjectStub();
+<a name="210" href="#210">210</a>         project.addCompileSourceRoot( getBasedir() + <span class="jxr_string">"/src/test/java"</span> );
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>         String resourcePaths = plugin.getMavenResourcePaths( project );
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         assertEquals( <span class="jxr_string">"org/apache/felix/bundleplugin/packageinfo="</span>
+<a name="215" href="#215">215</a>             + <span class="jxr_string">"src/test/java/org/apache/felix/bundleplugin/packageinfo"</span>, resourcePaths );
+<a name="216" href="#216">216</a>     }
+<a name="217" href="#217">217</a> 
 <a name="218" href="#218">218</a> 
-<a name="219" href="#219">219</a> 
-<a name="220" href="#220">220</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyPositiveClauses() <strong class="jxr_keyword">throws</strong> Exception
-<a name="221" href="#221">221</a>     {
-<a name="222" href="#222">222</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
-<a name="223" href="#223">223</a> 
-<a name="224" href="#224">224</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="225" href="#225">225</a> 
-<a name="226" href="#226">226</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
-<a name="227" href="#227">227</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
-<a name="228" href="#228">228</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
-<a name="229" href="#229">229</a> 
-<a name="230" href="#230">230</a>         MavenProject project = getMavenProjectStub();
-<a name="231" href="#231">231</a>         project.setDependencyArtifacts( artifacts );
-<a name="232" href="#232">232</a> 
-<a name="233" href="#233">233</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="234" href="#234">234</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"*;classifier=;type=jar;scope=compile,"</span>
-<a name="235" href="#235">235</a>             + <span class="jxr_string">"*;classifier=;type=jar;scope=runtime"</span> );
-<a name="236" href="#236">236</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="237" href="#237">237</a> 
-<a name="238" href="#238">238</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
-<a name="239" href="#239">239</a>         Manifest manifest = builder.getJar().getManifest();
-<a name="240" href="#240">240</a> 
-<a name="241" href="#241">241</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
-<a name="242" href="#242">242</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"compile-1.0.jar,b-1.0.jar,runtime-1.0.jar"</span>, bcp );
-<a name="243" href="#243">243</a> 
-<a name="244" href="#244">244</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
-<a name="245" href="#245">245</a>         assertEquals( <span class="jxr_string">"compile-1.0.jar;g=\&quot;g\&quot;;a=\&quot;compile\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"b-1.0.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;,"</span>
-<a name="246" href="#246">246</a>             + <span class="jxr_string">"runtime-1.0.jar;g=\&quot;g\&quot;;a=\&quot;runtime\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
-<a name="247" href="#247">247</a>     }
+<a name="219" href="#219">219</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyPositiveClauses() <strong class="jxr_keyword">throws</strong> Exception
+<a name="220" href="#220">220</a>     {
+<a name="221" href="#221">221</a>         <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a> artifactFactory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a>( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="226" href="#226">226</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="227" href="#227">227</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>         MavenProject project = getMavenProjectStub();
+<a name="230" href="#230">230</a>         project.setDependencyArtifacts( artifacts );
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="233" href="#233">233</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"*;classifier=;type=jar;scope=compile,"</span>
+<a name="234" href="#234">234</a>             + <span class="jxr_string">"*;classifier=;type=jar;scope=runtime"</span> );
+<a name="235" href="#235">235</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="238" href="#238">238</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="241" href="#241">241</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"compile-1.0.jar,b-1.0.jar,runtime-1.0.jar"</span>, bcp );
+<a name="242" href="#242">242</a> 
+<a name="243" href="#243">243</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="244" href="#244">244</a>         assertEquals( <span class="jxr_string">"compile-1.0.jar;g=\&quot;g\&quot;;a=\&quot;compile\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"b-1.0.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="245" href="#245">245</a>             + <span class="jxr_string">"runtime-1.0.jar;g=\&quot;g\&quot;;a=\&quot;runtime\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="246" href="#246">246</a>     }
+<a name="247" href="#247">247</a> 
 <a name="248" href="#248">248</a> 
-<a name="249" href="#249">249</a> 
-<a name="250" href="#250">250</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyNegativeClauses() <strong class="jxr_keyword">throws</strong> Exception
-<a name="251" href="#251">251</a>     {
-<a name="252" href="#252">252</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
-<a name="253" href="#253">253</a> 
-<a name="254" href="#254">254</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="255" href="#255">255</a> 
-<a name="256" href="#256">256</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
-<a name="257" href="#257">257</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
-<a name="258" href="#258">258</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
-<a name="259" href="#259">259</a> 
-<a name="260" href="#260">260</a>         MavenProject project = getMavenProjectStub();
-<a name="261" href="#261">261</a>         project.setDependencyArtifacts( artifacts );
-<a name="262" href="#262">262</a> 
-<a name="263" href="#263">263</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="264" href="#264">264</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"!type=jar, !artifactId=c"</span> );
-<a name="265" href="#265">265</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="266" href="#266">266</a> 
-<a name="267" href="#267">267</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
-<a name="268" href="#268">268</a>         Manifest manifest = builder.getJar().getManifest();
-<a name="269" href="#269">269</a> 
-<a name="270" href="#270">270</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
-<a name="271" href="#271">271</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"e-1.0.rar,"</span> + <span class="jxr_string">"a-1.0.war,"</span> + <span class="jxr_string">"d-1.0.zip"</span>, bcp );
-<a name="272" href="#272">272</a> 
-<a name="273" href="#273">273</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
-<a name="274" href="#274">274</a>         assertEquals( <span class="jxr_string">"e-1.0.rar;g=\&quot;g\&quot;;a=\&quot;e\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"a-1.0.war;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;,"</span>
-<a name="275" href="#275">275</a>             + <span class="jxr_string">"d-1.0.zip;g=\&quot;g\&quot;;a=\&quot;d\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
-<a name="276" href="#276">276</a>     }
+<a name="249" href="#249">249</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyNegativeClauses() <strong class="jxr_keyword">throws</strong> Exception
+<a name="250" href="#250">250</a>     {
+<a name="251" href="#251">251</a>         <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a> artifactFactory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a>( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="252" href="#252">252</a> 
+<a name="253" href="#253">253</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="256" href="#256">256</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="257" href="#257">257</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>         MavenProject project = getMavenProjectStub();
+<a name="260" href="#260">260</a>         project.setDependencyArtifacts( artifacts );
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="263" href="#263">263</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"!type=jar, !artifactId=c"</span> );
+<a name="264" href="#264">264</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="267" href="#267">267</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="268" href="#268">268</a> 
+<a name="269" href="#269">269</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="270" href="#270">270</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"a-1.0.war,"</span> + <span class="jxr_string">"d-1.0.zip,"</span> + <span class="jxr_string">"e-1.0.rar"</span>, bcp );
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="273" href="#273">273</a>         assertEquals( <span class="jxr_string">"a-1.0.war;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"d-1.0.zip;g=\&quot;g\&quot;;a=\&quot;d\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="274" href="#274">274</a>             + <span class="jxr_string">"e-1.0.rar;g=\&quot;g\&quot;;a=\&quot;e\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<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> 
-<a name="279" href="#279">279</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyDuplicateKeys() <strong class="jxr_keyword">throws</strong> Exception
-<a name="280" href="#280">280</a>     {
-<a name="281" href="#281">281</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
-<a name="282" href="#282">282</a> 
-<a name="283" href="#283">283</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="284" href="#284">284</a> 
-<a name="285" href="#285">285</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
-<a name="286" href="#286">286</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
-<a name="287" href="#287">287</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
-<a name="288" href="#288">288</a> 
-<a name="289" href="#289">289</a>         MavenProject project = getMavenProjectStub();
-<a name="290" href="#290">290</a>         project.setDependencyArtifacts( artifacts );
-<a name="291" href="#291">291</a> 
-<a name="292" href="#292">292</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="293" href="#293">293</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"c;type=jar,c;type=sources"</span> );
-<a name="294" href="#294">294</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="295" href="#295">295</a> 
-<a name="296" href="#296">296</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
-<a name="297" href="#297">297</a>         Manifest manifest = builder.getJar().getManifest();
-<a name="298" href="#298">298</a> 
-<a name="299" href="#299">299</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
-<a name="300" href="#300">300</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"c-1.0-three.jar,"</span> + <span class="jxr_string">"c-1.0.sources"</span>, bcp );
-<a name="301" href="#301">301</a> 
-<a name="302" href="#302">302</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
-<a name="303" href="#303">303</a>         assertEquals( <span class="jxr_string">"c-1.0-three.jar;g=\&quot;g\&quot;;a=\&quot;c\&quot;;v=\&quot;1.0\&quot;;c=\&quot;three\&quot;,"</span>
-<a name="304" href="#304">304</a>             + <span class="jxr_string">"c-1.0.sources;g=\&quot;g\&quot;;a=\&quot;c\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
-<a name="305" href="#305">305</a>     }
+<a name="278" href="#278">278</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyDuplicateKeys() <strong class="jxr_keyword">throws</strong> Exception
+<a name="279" href="#279">279</a>     {
+<a name="280" href="#280">280</a>         <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a> artifactFactory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a>( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="283" href="#283">283</a> 
+<a name="284" href="#284">284</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="285" href="#285">285</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="286" href="#286">286</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>         MavenProject project = getMavenProjectStub();
+<a name="289" href="#289">289</a>         project.setDependencyArtifacts( artifacts );
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="292" href="#292">292</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"c;type=jar,c;type=sources"</span> );
+<a name="293" href="#293">293</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="296" href="#296">296</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="299" href="#299">299</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"c-1.0-three.jar,"</span> + <span class="jxr_string">"c-1.0.sources"</span>, bcp );
+<a name="300" href="#300">300</a> 
+<a name="301" href="#301">301</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="302" href="#302">302</a>         assertEquals( <span class="jxr_string">"c-1.0-three.jar;g=\&quot;g\&quot;;a=\&quot;c\&quot;;v=\&quot;1.0\&quot;;c=\&quot;three\&quot;,"</span>
+<a name="303" href="#303">303</a>             + <span class="jxr_string">"c-1.0.sources;g=\&quot;g\&quot;;a=\&quot;c\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="304" href="#304">304</a>     }
+<a name="305" href="#305">305</a> 
 <a name="306" href="#306">306</a> 
-<a name="307" href="#307">307</a> 
-<a name="308" href="#308">308</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyMissingPositiveKey() <strong class="jxr_keyword">throws</strong> Exception
-<a name="309" href="#309">309</a>     {
-<a name="310" href="#310">310</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
-<a name="311" href="#311">311</a> 
-<a name="312" href="#312">312</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="313" href="#313">313</a> 
-<a name="314" href="#314">314</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
-<a name="315" href="#315">315</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
-<a name="316" href="#316">316</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
-<a name="317" href="#317">317</a> 
-<a name="318" href="#318">318</a>         MavenProject project = getMavenProjectStub();
-<a name="319" href="#319">319</a>         project.setDependencyArtifacts( artifacts );
-<a name="320" href="#320">320</a> 
-<a name="321" href="#321">321</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="322" href="#322">322</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"artifactId=a|b"</span> );
-<a name="323" href="#323">323</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="324" href="#324">324</a> 
-<a name="325" href="#325">325</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
-<a name="326" href="#326">326</a>         Manifest manifest = builder.getJar().getManifest();
-<a name="327" href="#327">327</a> 
-<a name="328" href="#328">328</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
-<a name="329" href="#329">329</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"a-1.0-one.jar,"</span> + <span class="jxr_string">"b-1.0-two.jar,"</span> + <span class="jxr_string">"a-1.0.war,"</span> + <span class="jxr_string">"b-1.0.jar"</span>, bcp );
-<a name="330" href="#330">330</a> 
-<a name="331" href="#331">331</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
-<a name="332" href="#332">332</a>         assertEquals( <span class="jxr_string">"a-1.0-one.jar;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;;c=\&quot;one\&quot;,"</span>
-<a name="333" href="#333">333</a>             + <span class="jxr_string">"b-1.0-two.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;;c=\&quot;two\&quot;,"</span> + <span class="jxr_string">"a-1.0.war;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;,"</span>
-<a name="334" href="#334">334</a>             + <span class="jxr_string">"b-1.0.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
-<a name="335" href="#335">335</a>     }
+<a name="307" href="#307">307</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyMissingPositiveKey() <strong class="jxr_keyword">throws</strong> Exception
+<a name="308" href="#308">308</a>     {
+<a name="309" href="#309">309</a>         <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a> artifactFactory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a>( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="310" href="#310">310</a> 
+<a name="311" href="#311">311</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="314" href="#314">314</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="315" href="#315">315</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="316" href="#316">316</a> 
+<a name="317" href="#317">317</a>         MavenProject project = getMavenProjectStub();
+<a name="318" href="#318">318</a>         project.setDependencyArtifacts( artifacts );
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>         Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="321" href="#321">321</a>         instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"artifactId=a|b"</span> );
+<a name="322" href="#322">322</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="323" href="#323">323</a> 
+<a name="324" href="#324">324</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="325" href="#325">325</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>         String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="328" href="#328">328</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"a-1.0-one.jar,"</span> + <span class="jxr_string">"b-1.0-two.jar,"</span> + <span class="jxr_string">"a-1.0.war,"</span> + <span class="jxr_string">"b-1.0.jar"</span>, bcp );
+<a name="329" href="#329">329</a> 
+<a name="330" href="#330">330</a>         String eas = manifest.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="331" href="#331">331</a>         assertEquals( <span class="jxr_string">"a-1.0-one.jar;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;;c=\&quot;one\&quot;,"</span>
+<a name="332" href="#332">332</a>             + <span class="jxr_string">"b-1.0-two.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;;c=\&quot;two\&quot;,"</span> + <span class="jxr_string">"a-1.0.war;g=\&quot;g\&quot;;a=\&quot;a\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="333" href="#333">333</a>             + <span class="jxr_string">"b-1.0.jar;g=\&quot;g\&quot;;a=\&quot;b\&quot;;v=\&quot;1.0\&quot;"</span>, eas );
+<a name="334" href="#334">334</a>     }
+<a name="335" href="#335">335</a> 
 <a name="336" href="#336">336</a> 
-<a name="337" href="#337">337</a> 
-<a name="338" href="#338">338</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyMissingNegativeKey() <strong class="jxr_keyword">throws</strong> Exception
-<a name="339" href="#339">339</a>     {
-<a name="340" href="#340">340</a>         ArtifactStubFactory artifactFactory = <strong class="jxr_keyword">new</strong> ArtifactStubFactory( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
-<a name="341" href="#341">341</a> 
-<a name="342" href="#342">342</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="343" href="#343">343</a> 
-<a name="344" href="#344">344</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
-<a name="345" href="#345">345</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
-<a name="346" href="#346">346</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
-<a name="347" href="#347">347</a> 
-<a name="348" href="#348">348</a>         MavenProject project = getMavenProjectStub();
-<a name="349" href="#349">349</a>         project.setDependencyArtifacts( artifacts );
-<a name="350" href="#350">350</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="351" href="#351">351</a> 
-<a name="352" href="#352">352</a>         Map instructions1 = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="353" href="#353">353</a>         instructions1.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"!scope=compile"</span> );
-<a name="354" href="#354">354</a>         Builder builder1 = plugin.buildOSGiBundle( project, instructions1, props, plugin.getClasspath( project ) );
-<a name="355" href="#355">355</a>         Manifest manifest1 = builder1.getJar().getManifest();
-<a name="356" href="#356">356</a> 
-<a name="357" href="#357">357</a>         Map instructions2 = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="358" href="#358">358</a>         instructions2.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"scope=!compile"</span> );
-<a name="359" href="#359">359</a>         Builder builder2 = plugin.buildOSGiBundle( project, instructions2, props, plugin.getClasspath( project ) );
-<a name="360" href="#360">360</a>         Manifest manifest2 = builder2.getJar().getManifest();
-<a name="361" href="#361">361</a> 
-<a name="362" href="#362">362</a>         String bcp1 = manifest1.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
-<a name="363" href="#363">363</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"test-1.0.jar,"</span> + <span class="jxr_string">"provided-1.0.jar,"</span> + <span class="jxr_string">"runtime-1.0.jar,"</span> + <span class="jxr_string">"system-1.0.jar"</span>, bcp1 );
-<a name="364" href="#364">364</a> 
-<a name="365" href="#365">365</a>         String eas1 = manifest1.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
-<a name="366" href="#366">366</a>         assertEquals( <span class="jxr_string">"test-1.0.jar;g=\&quot;g\&quot;;a=\&quot;test\&quot;;v=\&quot;1.0\&quot;,"</span>
-<a name="367" href="#367">367</a>             + <span class="jxr_string">"provided-1.0.jar;g=\&quot;g\&quot;;a=\&quot;provided\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"runtime-1.0.jar;g=\&quot;g\&quot;;a=\&quot;runtime\&quot;;v=\&quot;1.0\&quot;,"</span>
-<a name="368" href="#368">368</a>             + <span class="jxr_string">"system-1.0.jar;g=\&quot;g\&quot;;a=\&quot;system\&quot;;v=\&quot;1.0\&quot;"</span>, eas1 );
-<a name="369" href="#369">369</a> 
-<a name="370" href="#370">370</a>         String bcp2 = manifest2.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
-<a name="371" href="#371">371</a>         assertEquals( bcp1, bcp2 );
-<a name="372" href="#372">372</a> 
-<a name="373" href="#373">373</a>         String eas2 = manifest2.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
-<a name="374" href="#374">374</a>         assertEquals( eas1, eas2 );
-<a name="375" href="#375">375</a>     }
+<a name="337" href="#337">337</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmbedDependencyMissingNegativeKey() <strong class="jxr_keyword">throws</strong> Exception
+<a name="338" href="#338">338</a>     {
+<a name="339" href="#339">339</a>         <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a> artifactFactory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/ArtifactStubFactory.html">ArtifactStubFactory</a>( plugin.getOutputDirectory(), <strong class="jxr_keyword">true</strong> );
+<a name="340" href="#340">340</a> 
+<a name="341" href="#341">341</a>         Set artifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>         artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+<a name="344" href="#344">344</a>         artifacts.addAll( artifactFactory.getScopedArtifacts() );
+<a name="345" href="#345">345</a>         artifacts.addAll( artifactFactory.getTypedArtifacts() );
+<a name="346" href="#346">346</a> 
+<a name="347" href="#347">347</a>         MavenProject project = getMavenProjectStub();
+<a name="348" href="#348">348</a>         project.setDependencyArtifacts( artifacts );
+<a name="349" href="#349">349</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>         Map instructions1 = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="352" href="#352">352</a>         instructions1.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"!scope=compile"</span> );
+<a name="353" href="#353">353</a>         Builder builder1 = plugin.buildOSGiBundle( project, instructions1, props, plugin.getClasspath( project ) );
+<a name="354" href="#354">354</a>         Manifest manifest1 = builder1.getJar().getManifest();
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>         Map instructions2 = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="357" href="#357">357</a>         instructions2.put( DependencyEmbedder.EMBED_DEPENDENCY, <span class="jxr_string">"scope=!compile"</span> );
+<a name="358" href="#358">358</a>         Builder builder2 = plugin.buildOSGiBundle( project, instructions2, props, plugin.getClasspath( project ) );
+<a name="359" href="#359">359</a>         Manifest manifest2 = builder2.getJar().getManifest();
+<a name="360" href="#360">360</a> 
+<a name="361" href="#361">361</a>         String bcp1 = manifest1.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="362" href="#362">362</a>         assertEquals( <span class="jxr_string">".,"</span> + <span class="jxr_string">"provided-1.0.jar,"</span> + <span class="jxr_string">"test-1.0.jar,"</span> + <span class="jxr_string">"runtime-1.0.jar,"</span> + <span class="jxr_string">"system-1.0.jar"</span>, bcp1 );
+<a name="363" href="#363">363</a> 
+<a name="364" href="#364">364</a>         String eas1 = manifest1.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="365" href="#365">365</a>         assertEquals( <span class="jxr_string">"provided-1.0.jar;g=\&quot;g\&quot;;a=\&quot;provided\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="366" href="#366">366</a>             + <span class="jxr_string">"test-1.0.jar;g=\&quot;g\&quot;;a=\&quot;test\&quot;;v=\&quot;1.0\&quot;,"</span> + <span class="jxr_string">"runtime-1.0.jar;g=\&quot;g\&quot;;a=\&quot;runtime\&quot;;v=\&quot;1.0\&quot;,"</span>
+<a name="367" href="#367">367</a>             + <span class="jxr_string">"system-1.0.jar;g=\&quot;g\&quot;;a=\&quot;system\&quot;;v=\&quot;1.0\&quot;"</span>, eas1 );
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>         String bcp2 = manifest2.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+<a name="370" href="#370">370</a>         assertEquals( bcp1, bcp2 );
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>         String eas2 = manifest2.getMainAttributes().getValue( <span class="jxr_string">"Embedded-Artifacts"</span> );
+<a name="373" href="#373">373</a>         assertEquals( eas1, eas2 );
+<a name="374" href="#374">374</a>     }
+<a name="375" href="#375">375</a> 
 <a name="376" href="#376">376</a> 
-<a name="377" href="#377">377</a> 
-<a name="378" href="#378">378</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPropertySanitizing() <strong class="jxr_keyword">throws</strong> Exception
-<a name="379" href="#379">379</a>     {
-<a name="380" href="#380">380</a>         MavenProject project = getMavenProjectStub();
-<a name="381" href="#381">381</a> 
-<a name="382" href="#382">382</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="383" href="#383">383</a> 
-<a name="384" href="#384">384</a>         props.put( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"A"</span> ), <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"B"</span> ) );
-<a name="385" href="#385">385</a>         props.put( <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[4], <strong class="jxr_keyword">new</strong> HashMap( 2 ) );
-<a name="386" href="#386">386</a>         props.put( Arrays.asList( 1, <span class="jxr_string">"two"</span>, 3.0 ), <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">float</strong>[5] );
-<a name="387" href="#387">387</a> 
-<a name="388" href="#388">388</a>         props.put( <span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"B"</span> ) );
-<a name="389" href="#389">389</a>         props.put( <span class="jxr_string">"4"</span>, <strong class="jxr_keyword">new</strong> HashMap( 2 ) );
-<a name="390" href="#390">390</a>         props.put( <span class="jxr_string">"1, two, 3.0"</span>, <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[5] );
-<a name="391" href="#391">391</a> 
-<a name="392" href="#392">392</a>         Builder builder = plugin.getOSGiBuilder( project, <strong class="jxr_keyword">new</strong> HashMap(), props, plugin.getClasspath( project ) );
-<a name="393" href="#393">393</a> 
-<a name="394" href="#394">394</a>         File file = <strong class="jxr_keyword">new</strong> File( getBasedir(), <span class="jxr_string">"target"</span> + File.separatorChar + <span class="jxr_string">"test.props"</span> );
-<a name="395" href="#395">395</a>         builder.getProperties().store( <strong class="jxr_keyword">new</strong> FileOutputStream( file ), <span class="jxr_string">"TEST"</span> );
-<a name="396" href="#396">396</a>     }
-<a name="397" href="#397">397</a> }
+<a name="377" href="#377">377</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPropertySanitizing() <strong class="jxr_keyword">throws</strong> Exception
+<a name="378" href="#378">378</a>     {
+<a name="379" href="#379">379</a>         MavenProject project = getMavenProjectStub();
+<a name="380" href="#380">380</a> 
+<a name="381" href="#381">381</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="382" href="#382">382</a> 
+<a name="383" href="#383">383</a>         props.put( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"A"</span> ), <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"B"</span> ) );
+<a name="384" href="#384">384</a>         props.put( <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[4], <strong class="jxr_keyword">new</strong> HashMap( 2 ) );
+<a name="385" href="#385">385</a>         props.put( Arrays.asList( 1, <span class="jxr_string">"two"</span>, 3.0 ), <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">float</strong>[5] );
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>         props.put( <span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"B"</span> ) );
+<a name="388" href="#388">388</a>         props.put( <span class="jxr_string">"4"</span>, <strong class="jxr_keyword">new</strong> HashMap( 2 ) );
+<a name="389" href="#389">389</a>         props.put( <span class="jxr_string">"1, two, 3.0"</span>, <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[5] );
+<a name="390" href="#390">390</a> 
+<a name="391" href="#391">391</a>         Builder builder = plugin.getOSGiBuilder( project, <strong class="jxr_keyword">new</strong> HashMap(), props, plugin.getClasspath( project ) );
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>         File file = <strong class="jxr_keyword">new</strong> File( getBasedir(), <span class="jxr_string">"target"</span> + File.separatorChar + <span class="jxr_string">"test.props"</span> );
+<a name="394" href="#394">394</a>         builder.getProperties().store( <strong class="jxr_keyword">new</strong> FileOutputStream( file ), <span class="jxr_string">"TEST"</span> );
+<a name="395" href="#395">395</a>     }
+<a name="396" href="#396">396</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
index 63119ee..8475f76 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
@@ -19,6 +19,9 @@
             	<a href="AbstractBundlePluginTest.html" target="classFrame">AbstractBundlePluginTest</a>
           	</li>
           	          	<li>
+            	<a href="ArtifactStubFactory.html" target="classFrame">ArtifactStubFactory</a>
+          	</li>
+          	          	<li>
             	<a href="BlueprintComponentTest.html" target="classFrame">BlueprintComponentTest</a>
           	</li>
           	          	<li>
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 8d80e15..b63d8da 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
@@ -42,6 +42,11 @@
             	</tr>
 				            	<tr>
               		<td>
+                		<a href="ArtifactStubFactory.html" target="classFrame">ArtifactStubFactory</a>
+              		</td>
+            	</tr>
+				            	<tr>
+              		<td>
                 		<a href="BlueprintComponentTest.html" target="classFrame">BlueprintComponentTest</a>
               		</td>
             	</tr>
@@ -77,6 +82,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/overview-summary.html b/bundleplugin/doc/site/xref-test/overview-summary.html
index 7f24bf5..fca74f2 100644
--- a/bundleplugin/doc/site/xref-test/overview-summary.html
+++ b/bundleplugin/doc/site/xref-test/overview-summary.html
@@ -59,6 +59,6 @@
       	</div>
 		
 		<hr />
-		Copyright &copy; 2006-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/allclasses-frame.html b/bundleplugin/doc/site/xref/allclasses-frame.html
index fafb37a..c87d361 100644
--- a/bundleplugin/doc/site/xref/allclasses-frame.html
+++ b/bundleplugin/doc/site/xref/allclasses-frame.html
@@ -96,9 +96,6 @@
 				<a href="org/apache/felix/obrplugin/ObrUtils.html" target="classFrame">ObrUtils</a>
 			</li>
 						<li>
-				<a href="org/apache/felix/bundleplugin/PackageVersionAnalyzer.html" target="classFrame">PackageVersionAnalyzer</a>
-			</li>
-						<li>
 				<a href="org/apache/felix/obrplugin/PomHelper.html" target="classFrame">PomHelper</a>
 			</li>
 						<li>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
index 8d92a4c..cd912e6 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/BundlePlugin.html
@@ -50,1479 +50,1496 @@
 <a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
 <a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
 <a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
-<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Attributes;
-<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
-<a name="45" href="#45">45</a>  
-<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.ManifestSection;
-<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiveConfiguration;
-<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.archiver.MavenArchiver;
-<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
-<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.execution.MavenSession;
-<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.License;
-<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Model;
-<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
-<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
-<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
-<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
-<a name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProjectHelper;
-<a name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
-<a name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.osgi.Maven2OsgiConverter;
-<a name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.UnArchiver;
-<a name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.archiver.manager.ArchiverManager;
-<a name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.DirectoryScanner;
-<a name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.FileUtils;
-<a name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
-<a name="68" href="#68">68</a>  
-<a name="69" href="#69">69</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Constants;
-<a name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.EmbeddedResource;
-<a name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.FileResource;
-<a name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Processor;
-<a name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> aQute.lib.spring.SpringXMLType;
-<a name="77" href="#77">77</a>  
+<a name="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="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>  <em class="jxr_javadoccomment">/**</em>
-<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> * Create an OSGi bundle from Maven project</em>
-<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> *</em>
-<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> * @goal bundle</em>
-<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * @phase package</em>
-<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> * @description build an OSGi bundle jar</em>
-<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="88" href="#88">88</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a> <strong class="jxr_keyword">extends</strong> AbstractMojo
-<a name="89" href="#89">89</a>  {
-<a name="90" href="#90">90</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * Directory where the manifest will be written</em>
-<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"</em>
-<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="95" href="#95">95</a>      <strong class="jxr_keyword">protected</strong> File manifestLocation;
-<a name="96" href="#96">96</a>  
-<a name="97" href="#97">97</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     * File where the BND instructions will be dumped</em>
-<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpInstructions}"</em>
-<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     */</em>
-<a name="102" href="#102">102</a>     <strong class="jxr_keyword">protected</strong> File dumpInstructions;
-<a name="103" href="#103">103</a> 
-<a name="104" href="#104">104</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * File where the BND class-path will be dumped</em>
-<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     *</em>
-<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     * @parameter expression="${dumpClasspath}"</em>
-<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     */</em>
-<a name="109" href="#109">109</a>     <strong class="jxr_keyword">protected</strong> File dumpClasspath;
-<a name="110" href="#110">110</a> 
-<a name="111" href="#111">111</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     * When true, unpack the bundle contents to the outputDirectory</em>
-<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     *</em>
-<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * @parameter expression="${unpackBundle}"</em>
-<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     */</em>
-<a name="116" href="#116">116</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> unpackBundle;
-<a name="117" href="#117">117</a> 
-<a name="118" href="#118">118</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     * Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)</em>
-<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">     *</em>
-<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * @parameter expression="${excludeDependencies}"</em>
-<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     */</em>
-<a name="123" href="#123">123</a>     <strong class="jxr_keyword">protected</strong> String excludeDependencies;
-<a name="124" href="#124">124</a> 
-<a name="125" href="#125">125</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * Classifier type of the bundle to be installed.  For example, "jdk14".</em>
-<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * Defaults to none which means this is the project's main bundle.</em>
-<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     *</em>
-<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     */</em>
-<a name="131" href="#131">131</a>     <strong class="jxr_keyword">protected</strong> String classifier;
-<a name="132" href="#132">132</a> 
-<a name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     */</em>
-<a name="136" href="#136">136</a>     <strong class="jxr_keyword">private</strong> MavenProjectHelper m_projectHelper;
-<a name="137" href="#137">137</a> 
-<a name="138" href="#138">138</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     */</em>
-<a name="141" href="#141">141</a>     <strong class="jxr_keyword">private</strong> ArchiverManager m_archiverManager;
-<a name="142" href="#142">142</a> 
-<a name="143" href="#143">143</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * @component</em>
-<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     */</em>
-<a name="146" href="#146">146</a>     <strong class="jxr_keyword">private</strong> ArtifactHandlerManager m_artifactHandlerManager;
-<a name="147" href="#147">147</a> 
-<a name="148" href="#148">148</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * Project types which this plugin supports.</em>
-<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     *</em>
-<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     */</em>
-<a name="153" href="#153">153</a>     <strong class="jxr_keyword">protected</strong> List supportedProjectTypes = Arrays.asList( <strong class="jxr_keyword">new</strong> String[]
-<a name="154" href="#154">154</a>         { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
-<a name="155" href="#155">155</a> 
-<a name="156" href="#156">156</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">     * The directory for the generated bundles.</em>
-<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     *</em>
-<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.outputDirectory}"</em>
-<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     */</em>
-<a name="162" href="#162">162</a>     <strong class="jxr_keyword">private</strong> File outputDirectory;
-<a name="163" href="#163">163</a> 
-<a name="164" href="#164">164</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     * The directory for the generated JAR.</em>
-<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     *</em>
-<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
-<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     */</em>
-<a name="170" href="#170">170</a>     <strong class="jxr_keyword">private</strong> String buildDirectory;
-<a name="171" href="#171">171</a> 
-<a name="172" href="#172">172</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     * The Maven project.</em>
-<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     *</em>
-<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
-<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     */</em>
-<a name="179" href="#179">179</a>     <strong class="jxr_keyword">private</strong> MavenProject project;
-<a name="180" href="#180">180</a> 
-<a name="181" href="#181">181</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * The BND instructions for the bundle.</em>
-<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     *</em>
-<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     */</em>
-<a name="186" href="#186">186</a>     <strong class="jxr_keyword">private</strong> Map instructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="187" href="#187">187</a> 
-<a name="188" href="#188">188</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * Use locally patched version for now.</em>
-<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     */</em>
-<a name="191" href="#191">191</a>     <strong class="jxr_keyword">private</strong> Maven2OsgiConverter m_maven2OsgiConverter = <strong class="jxr_keyword">new</strong> DefaultMaven2OsgiConverter();
-<a name="192" href="#192">192</a> 
-<a name="193" href="#193">193</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     * The archive configuration to use.</em>
-<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">     *</em>
-<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * @parameter</em>
-<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     */</em>
-<a name="198" href="#198">198</a>     <strong class="jxr_keyword">private</strong> MavenArchiveConfiguration archive; <em class="jxr_comment">// accessed indirectly in JarPluginConfiguration</em>
-<a name="199" href="#199">199</a> 
-<a name="200" href="#200">200</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * @parameter default-value="${session}"</em>
-<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     * @required</em>
-<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * @readonly</em>
-<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     */</em>
-<a name="205" href="#205">205</a>     <strong class="jxr_keyword">private</strong> MavenSession m_mavenSession;
-<a name="206" href="#206">206</a> 
-<a name="207" href="#207">207</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SYMBOLICNAME = <span class="jxr_string">"maven-symbolicname"</span>;
-<a name="208" href="#208">208</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_RESOURCES = <span class="jxr_string">"{maven-resources}"</span>;
-<a name="209" href="#209">209</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOCAL_PACKAGES = <span class="jxr_string">"{local-packages}"</span>;
-<a name="210" href="#210">210</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_SOURCES = <span class="jxr_string">"{maven-sources}"</span>;
-<a name="211" href="#211">211</a> 
-<a name="212" href="#212">212</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] EMPTY_STRING_ARRAY =
-<a name="213" href="#213">213</a>         {};
-<a name="214" href="#214">214</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] DEFAULT_INCLUDES =
-<a name="215" href="#215">215</a>         { <span class="jxr_string">"**/**"</span> };
-<a name="216" href="#216">216</a> 
-<a name="217" href="#217">217</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NL = System.getProperty( <span class="jxr_string">"line.separator"</span> );
-<a name="218" href="#218">218</a> 
+<a name="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="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="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="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>     <strong class="jxr_keyword">protected</strong> Maven2OsgiConverter getMaven2OsgiConverter()
-<a name="221" href="#221">221</a>     {
-<a name="222" href="#222">222</a>         <strong class="jxr_keyword">return</strong> m_maven2OsgiConverter;
-<a name="223" href="#223">223</a>     }
-<a name="224" href="#224">224</a> 
+<a name="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="225" href="#225">225</a> 
-<a name="226" href="#226">226</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
-<a name="227" href="#227">227</a>     {
-<a name="228" href="#228">228</a>         m_maven2OsgiConverter = maven2OsgiConverter;
-<a name="229" href="#229">229</a>     }
-<a name="230" href="#230">230</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> MavenProject getProject()
-<a name="233" href="#233">233</a>     {
-<a name="234" href="#234">234</a>         <strong class="jxr_keyword">return</strong> project;
-<a name="235" href="#235">235</a>     }
-<a name="236" href="#236">236</a> 
+<a name="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="237" href="#237">237</a> 
-<a name="238" href="#238">238</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">     * @see org.apache.maven.plugin.AbstractMojo#execute()</em>
-<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     */</em>
-<a name="241" href="#241">241</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="242" href="#242">242</a>     {
-<a name="243" href="#243">243</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="244" href="#244">244</a>         String projectType = getProject().getArtifact().getType();
-<a name="245" href="#245">245</a> 
-<a name="246" href="#246">246</a>         <em class="jxr_comment">// ignore unsupported project types, useful when bundleplugin is configured in parent pom</em>
-<a name="247" href="#247">247</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( projectType ) )
-<a name="248" href="#248">248</a>         {
-<a name="249" href="#249">249</a>             getLog().warn(
-<a name="250" href="#250">250</a>                 <span class="jxr_string">"Ignoring project type "</span> + projectType + <span class="jxr_string">" - supportedProjectTypes = "</span> + supportedProjectTypes );
-<a name="251" href="#251">251</a>             <strong class="jxr_keyword">return</strong>;
-<a name="252" href="#252">252</a>         }
-<a name="253" href="#253">253</a> 
-<a name="254" href="#254">254</a>         execute( getProject(), instructions, properties );
-<a name="255" href="#255">255</a>     }
-<a name="256" href="#256">256</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties )
-<a name="259" href="#259">259</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="260" href="#260">260</a>     {
-<a name="261" href="#261">261</a>         <strong class="jxr_keyword">try</strong>
-<a name="262" href="#262">262</a>         {
-<a name="263" href="#263">263</a>             execute( currentProject, originalInstructions, properties, getClasspath( currentProject ) );
-<a name="264" href="#264">264</a>         }
-<a name="265" href="#265">265</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="266" href="#266">266</a>         {
-<a name="267" href="#267">267</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error calculating classpath for project "</span> + currentProject, e );
-<a name="268" href="#268">268</a>         }
-<a name="269" href="#269">269</a>     }
-<a name="270" href="#270">270</a> 
+<a name="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="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="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="272" href="#272">272</a>     <em class="jxr_comment">/*<em class="jxr_comment"> transform directives from their XML form to the expected BND syntax (eg. _include becomes -include) */</em></em>
-<a name="273" href="#273">273</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Map transformDirectives( Map originalInstructions )
-<a name="274" href="#274">274</a>     {
-<a name="275" href="#275">275</a>         Map transformedInstructions = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="276" href="#276">276</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = originalInstructions.entrySet().iterator(); i.hasNext(); )
-<a name="277" href="#277">277</a>         {
-<a name="278" href="#278">278</a>             Map.Entry e = ( Map.Entry ) i.next();
-<a name="279" href="#279">279</a> 
-<a name="280" href="#280">280</a>             String key = ( String ) e.getKey();
-<a name="281" href="#281">281</a>             <strong class="jxr_keyword">if</strong> ( key.startsWith( <span class="jxr_string">"_"</span> ) )
-<a name="282" href="#282">282</a>             {
-<a name="283" href="#283">283</a>                 key = <span class="jxr_string">"-"</span> + key.substring( 1 );
-<a name="284" href="#284">284</a>             }
-<a name="285" href="#285">285</a> 
-<a name="286" href="#286">286</a>             String value = ( String ) e.getValue();
-<a name="287" href="#287">287</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == value )
-<a name="288" href="#288">288</a>             {
-<a name="289" href="#289">289</a>                 value = <span class="jxr_string">""</span>;
-<a name="290" href="#290">290</a>             }
-<a name="291" href="#291">291</a>             <strong class="jxr_keyword">else</strong>
-<a name="292" href="#292">292</a>             {
-<a name="293" href="#293">293</a>                 value = value.replaceAll( <span class="jxr_string">"&#92;&#92;p{Blank}*[\r\n]&#92;&#92;p{Blank}*"</span>, <span class="jxr_string">""</span> );
-<a name="294" href="#294">294</a>             }
-<a name="295" href="#295">295</a> 
-<a name="296" href="#296">296</a>             <strong class="jxr_keyword">if</strong> ( Analyzer.WAB.equals( key ) &amp;&amp; value.length() == 0 )
-<a name="297" href="#297">297</a>             {
-<a name="298" href="#298">298</a>                 <em class="jxr_comment">// provide useful default</em>
-<a name="299" href="#299">299</a>                 value = <span class="jxr_string">"src/main/webapp/"</span>;
-<a name="300" href="#300">300</a>             }
-<a name="301" href="#301">301</a> 
-<a name="302" href="#302">302</a>             transformedInstructions.put( key, value );
-<a name="303" href="#303">303</a>         }
-<a name="304" href="#304">304</a>         <strong class="jxr_keyword">return</strong> transformedInstructions;
-<a name="305" href="#305">305</a>     }
-<a name="306" href="#306">306</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> reportErrors( String prefix, Analyzer analyzer )
-<a name="309" href="#309">309</a>     {
-<a name="310" href="#310">310</a>         List errors = analyzer.getErrors();
-<a name="311" href="#311">311</a>         List warnings = analyzer.getWarnings();
-<a name="312" href="#312">312</a> 
-<a name="313" href="#313">313</a>         <strong class="jxr_keyword">for</strong> ( Iterator w = warnings.iterator(); w.hasNext(); )
-<a name="314" href="#314">314</a>         {
-<a name="315" href="#315">315</a>             String msg = ( String ) w.next();
-<a name="316" href="#316">316</a>             getLog().warn( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="317" href="#317">317</a>         }
-<a name="318" href="#318">318</a> 
-<a name="319" href="#319">319</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = false;
-<a name="320" href="#320">320</a>         String fileNotFound = <span class="jxr_string">"Input file does not exist: "</span>;
-<a name="321" href="#321">321</a>         <strong class="jxr_keyword">for</strong> ( Iterator e = errors.iterator(); e.hasNext(); )
-<a name="322" href="#322">322</a>         {
-<a name="323" href="#323">323</a>             String msg = ( String ) e.next();
-<a name="324" href="#324">324</a>             <strong class="jxr_keyword">if</strong> ( msg.startsWith( fileNotFound ) &amp;&amp; msg.endsWith( <span class="jxr_string">"~"</span> ) )
-<a name="325" href="#325">325</a>             {
-<a name="326" href="#326">326</a>                 <em class="jxr_comment">// treat as warning; this error happens when you have duplicate entries in Include-Resource</em>
-<a name="327" href="#327">327</a>                 String duplicate = Processor.removeDuplicateMarker( msg.substring( fileNotFound.length() ) );
-<a name="328" href="#328">328</a>                 getLog().warn( prefix + <span class="jxr_string">" : Duplicate path '"</span> + duplicate + <span class="jxr_string">"' in Include-Resource"</span> );
-<a name="329" href="#329">329</a>             }
-<a name="330" href="#330">330</a>             <strong class="jxr_keyword">else</strong>
-<a name="331" href="#331">331</a>             {
-<a name="332" href="#332">332</a>                 getLog().error( prefix + <span class="jxr_string">" : "</span> + msg );
-<a name="333" href="#333">333</a>                 hasErrors = <strong class="jxr_keyword">true</strong>;
-<a name="334" href="#334">334</a>             }
-<a name="335" href="#335">335</a>         }
-<a name="336" href="#336">336</a>         <strong class="jxr_keyword">return</strong> hasErrors;
-<a name="337" href="#337">337</a>     }
-<a name="338" href="#338">338</a> 
+<a name="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="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="341" href="#341">341</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="342" href="#342">342</a>     {
-<a name="343" href="#343">343</a>         <strong class="jxr_keyword">try</strong>
-<a name="344" href="#344">344</a>         {
-<a name="345" href="#345">345</a>             File jarFile = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), getBundleName( currentProject ) );
-<a name="346" href="#346">346</a>             Builder builder = buildOSGiBundle( currentProject, originalInstructions, properties, classpath );
-<a name="347" href="#347">347</a>             <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Bundle "</span> + currentProject.getArtifact(), builder );
-<a name="348" href="#348">348</a>             <strong class="jxr_keyword">if</strong> ( hasErrors )
-<a name="349" href="#349">349</a>             {
-<a name="350" href="#350">350</a>                 String failok = builder.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="351" href="#351">351</a>                 <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="352" href="#352">352</a>                 {
-<a name="353" href="#353">353</a>                     jarFile.delete();
-<a name="354" href="#354">354</a> 
-<a name="355" href="#355">355</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in bundle configuration"</span> );
-<a name="356" href="#356">356</a>                 }
-<a name="357" href="#357">357</a>             }
-<a name="358" href="#358">358</a> 
-<a name="359" href="#359">359</a>             <em class="jxr_comment">// attach bundle to maven project</em>
-<a name="360" href="#360">360</a>             jarFile.getParentFile().mkdirs();
-<a name="361" href="#361">361</a>             builder.getJar().write( jarFile );
-<a name="362" href="#362">362</a> 
-<a name="363" href="#363">363</a>             Artifact mainArtifact = currentProject.getArtifact();
-<a name="364" href="#364">364</a> 
-<a name="365" href="#365">365</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"bundle"</span>.equals( mainArtifact.getType() ) )
-<a name="366" href="#366">366</a>             {
-<a name="367" href="#367">367</a>                 <em class="jxr_comment">// workaround for MNG-1682: force maven to install artifact using the "jar" handler</em>
-<a name="368" href="#368">368</a>                 mainArtifact.setArtifactHandler( m_artifactHandlerManager.getArtifactHandler( <span class="jxr_string">"jar"</span> ) );
-<a name="369" href="#369">369</a>             }
-<a name="370" href="#370">370</a> 
-<a name="371" href="#371">371</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == classifier || classifier.trim().length() == 0 )
-<a name="372" href="#372">372</a>             {
-<a name="373" href="#373">373</a>                 mainArtifact.setFile( jarFile );
-<a name="374" href="#374">374</a>             }
-<a name="375" href="#375">375</a>             <strong class="jxr_keyword">else</strong>
-<a name="376" href="#376">376</a>             {
-<a name="377" href="#377">377</a>                 m_projectHelper.attachArtifact( currentProject, jarFile, classifier );
-<a name="378" href="#378">378</a>             }
-<a name="379" href="#379">379</a> 
-<a name="380" href="#380">380</a>             <strong class="jxr_keyword">if</strong> ( unpackBundle )
-<a name="381" href="#381">381</a>             {
-<a name="382" href="#382">382</a>                 unpackBundle( jarFile );
-<a name="383" href="#383">383</a>             }
-<a name="384" href="#384">384</a> 
-<a name="385" href="#385">385</a>             <strong class="jxr_keyword">if</strong> ( manifestLocation != <strong class="jxr_keyword">null</strong> )
-<a name="386" href="#386">386</a>             {
-<a name="387" href="#387">387</a>                 File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
-<a name="388" href="#388">388</a> 
-<a name="389" href="#389">389</a>                 <strong class="jxr_keyword">try</strong>
-<a name="390" href="#390">390</a>                 {
-<a name="391" href="#391">391</a>                     Manifest manifest = builder.getJar().getManifest();
-<a name="392" href="#392">392</a>                     ManifestPlugin.writeManifest( manifest, outputFile );
-<a name="393" href="#393">393</a>                 }
-<a name="394" href="#394">394</a>                 <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="395" href="#395">395</a>                 {
-<a name="396" href="#396">396</a>                     getLog().error( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="397" href="#397">397</a>                 }
-<a name="398" href="#398">398</a>             }
-<a name="399" href="#399">399</a> 
-<a name="400" href="#400">400</a>             <em class="jxr_comment">// cleanup...</em>
-<a name="401" href="#401">401</a>             builder.close();
-<a name="402" href="#402">402</a>         }
-<a name="403" href="#403">403</a>         <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="404" href="#404">404</a>         {
-<a name="405" href="#405">405</a>             getLog().error( e.getLocalizedMessage() );
-<a name="406" href="#406">406</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in bundle configuration"</span>, e );
-<a name="407" href="#407">407</a>         }
-<a name="408" href="#408">408</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="409" href="#409">409</a>         {
-<a name="410" href="#410">410</a>             getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="411" href="#411">411</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Internal error in maven-bundle-plugin"</span>, e );
-<a name="412" href="#412">412</a>         }
-<a name="413" href="#413">413</a>     }
-<a name="414" href="#414">414</a> 
+<a name="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="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="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>     <strong class="jxr_keyword">protected</strong> Builder getOSGiBuilder( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="417" href="#417">417</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="418" href="#418">418</a>     {
-<a name="419" href="#419">419</a>         properties.putAll( getDefaultProperties( currentProject ) );
-<a name="420" href="#420">420</a>         properties.putAll( transformDirectives( originalInstructions ) );
-<a name="421" href="#421">421</a> 
-<a name="422" href="#422">422</a>         Builder builder = <strong class="jxr_keyword">new</strong> Builder();
-<a name="423" href="#423">423</a>         builder.setBase( getBase( currentProject ) );
-<a name="424" href="#424">424</a>         builder.setProperties( sanitize( properties ) );
-<a name="425" href="#425">425</a>         <strong class="jxr_keyword">if</strong> ( classpath != <strong class="jxr_keyword">null</strong> )
-<a name="426" href="#426">426</a>         {
-<a name="427" href="#427">427</a>             builder.setClasspath( classpath );
-<a name="428" href="#428">428</a>         }
-<a name="429" href="#429">429</a> 
-<a name="430" href="#430">430</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="431" href="#431">431</a>     }
-<a name="432" href="#432">432</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Properties sanitize( Properties properties )
-<a name="435" href="#435">435</a>     {
-<a name="436" href="#436">436</a>         <em class="jxr_comment">// convert any non-String keys/values to Strings</em>
-<a name="437" href="#437">437</a>         Properties sanitizedEntries = <strong class="jxr_keyword">new</strong> Properties();
-<a name="438" href="#438">438</a>         <strong class="jxr_keyword">for</strong> ( Iterator itr = properties.entrySet().iterator(); itr.hasNext(); )
-<a name="439" href="#439">439</a>         {
-<a name="440" href="#440">440</a>             Map.Entry entry = ( Map.Entry ) itr.next();
-<a name="441" href="#441">441</a>             <strong class="jxr_keyword">if</strong> ( entry.getKey() instanceof String == false )
-<a name="442" href="#442">442</a>             {
-<a name="443" href="#443">443</a>                 String key = sanitize( entry.getKey() );
-<a name="444" href="#444">444</a>                 <strong class="jxr_keyword">if</strong> ( !properties.containsKey( key ) )
-<a name="445" href="#445">445</a>                 {
-<a name="446" href="#446">446</a>                     sanitizedEntries.setProperty( key, sanitize( entry.getValue() ) );
-<a name="447" href="#447">447</a>                 }
-<a name="448" href="#448">448</a>                 itr.remove();
-<a name="449" href="#449">449</a>             }
-<a name="450" href="#450">450</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( entry.getValue() instanceof String == false )
-<a name="451" href="#451">451</a>             {
-<a name="452" href="#452">452</a>                 entry.setValue( sanitize( entry.getValue() ) );
-<a name="453" href="#453">453</a>             }
-<a name="454" href="#454">454</a>         }
-<a name="455" href="#455">455</a>         properties.putAll( sanitizedEntries );
-<a name="456" href="#456">456</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="457" href="#457">457</a>     }
-<a name="458" href="#458">458</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String sanitize( Object value )
-<a name="461" href="#461">461</a>     {
-<a name="462" href="#462">462</a>         <strong class="jxr_keyword">if</strong> ( value instanceof String )
-<a name="463" href="#463">463</a>         {
-<a name="464" href="#464">464</a>             <strong class="jxr_keyword">return</strong> ( String ) value;
-<a name="465" href="#465">465</a>         }
-<a name="466" href="#466">466</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value instanceof Iterable )
-<a name="467" href="#467">467</a>         {
-<a name="468" href="#468">468</a>             String delim = <span class="jxr_string">""</span>;
-<a name="469" href="#469">469</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="470" href="#470">470</a>             <strong class="jxr_keyword">for</strong> ( Object i : ( Iterable&lt;?&gt; ) value )
-<a name="471" href="#471">471</a>             {
-<a name="472" href="#472">472</a>                 buf.append( delim ).append( i );
-<a name="473" href="#473">473</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="474" href="#474">474</a>             }
-<a name="475" href="#475">475</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="476" href="#476">476</a>         }
-<a name="477" href="#477">477</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( value.getClass().isArray() )
-<a name="478" href="#478">478</a>         {
-<a name="479" href="#479">479</a>             String delim = <span class="jxr_string">""</span>;
-<a name="480" href="#480">480</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="481" href="#481">481</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0, len = Array.getLength( value ); i &lt; len; i++ )
-<a name="482" href="#482">482</a>             {
-<a name="483" href="#483">483</a>                 buf.append( delim ).append( Array.get( value, i ) );
-<a name="484" href="#484">484</a>                 delim = <span class="jxr_string">", "</span>;
-<a name="485" href="#485">485</a>             }
-<a name="486" href="#486">486</a>             <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="487" href="#487">487</a>         }
-<a name="488" href="#488">488</a>         <strong class="jxr_keyword">else</strong>
-<a name="489" href="#489">489</a>         {
-<a name="490" href="#490">490</a>             <strong class="jxr_keyword">return</strong> String.valueOf( value );
-<a name="491" href="#491">491</a>         }
-<a name="492" href="#492">492</a>     }
-<a name="493" href="#493">493</a> 
+<a name="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="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addMavenInstructions( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="496" href="#496">496</a>     {
-<a name="497" href="#497">497</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> )
-<a name="498" href="#498">498</a>         {
-<a name="499" href="#499">499</a>             <em class="jxr_comment">// update BND instructions to add included Maven resources</em>
-<a name="500" href="#500">500</a>             includeMavenResources( currentProject, builder, getLog() );
-<a name="501" href="#501">501</a> 
-<a name="502" href="#502">502</a>             <em class="jxr_comment">// calculate default export/private settings based on sources</em>
-<a name="503" href="#503">503</a>             addLocalPackages( outputDirectory, builder );
-<a name="504" href="#504">504</a> 
-<a name="505" href="#505">505</a>             <em class="jxr_comment">// tell BND where the current project source resides</em>
-<a name="506" href="#506">506</a>             addMavenSourcePath( currentProject, builder, getLog() );
-<a name="507" href="#507">507</a>         }
-<a name="508" href="#508">508</a> 
-<a name="509" href="#509">509</a>         <em class="jxr_comment">// update BND instructions to embed selected Maven dependencies</em>
-<a name="510" href="#510">510</a>         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
-<a name="511" href="#511">511</a>         <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( getLog(), embeddableArtifacts ).processHeaders( builder );
-<a name="512" href="#512">512</a> 
-<a name="513" href="#513">513</a>         <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="514" href="#514">514</a>         {
-<a name="515" href="#515">515</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="516" href="#516">516</a>             getLog().debug( <span class="jxr_string">"BND Instructions:"</span> + NL + dumpInstructions( builder.getProperties(), buf ) );
-<a name="517" href="#517">517</a>             <strong class="jxr_keyword">if</strong> ( dumpInstructions != <strong class="jxr_keyword">null</strong> )
-<a name="518" href="#518">518</a>             {
-<a name="519" href="#519">519</a>                 getLog().info( <span class="jxr_string">"Writing BND instructions to "</span> + dumpInstructions );
-<a name="520" href="#520">520</a>                 dumpInstructions.getParentFile().mkdirs();
-<a name="521" href="#521">521</a>                 FileUtils.fileWrite( dumpInstructions, <span class="jxr_string">"# BND instructions"</span> + NL + buf );
-<a name="522" href="#522">522</a>             }
-<a name="523" href="#523">523</a>         }
-<a name="524" href="#524">524</a> 
-<a name="525" href="#525">525</a>         <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> || getLog().isDebugEnabled() )
-<a name="526" href="#526">526</a>         {
-<a name="527" href="#527">527</a>             StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="528" href="#528">528</a>             getLog().debug( <span class="jxr_string">"BND Classpath:"</span> + NL + dumpClasspath( builder.getClasspath(), buf ) );
-<a name="529" href="#529">529</a>             <strong class="jxr_keyword">if</strong> ( dumpClasspath != <strong class="jxr_keyword">null</strong> )
-<a name="530" href="#530">530</a>             {
-<a name="531" href="#531">531</a>                 getLog().info( <span class="jxr_string">"Writing BND classpath to "</span> + dumpClasspath );
-<a name="532" href="#532">532</a>                 dumpClasspath.getParentFile().mkdirs();
-<a name="533" href="#533">533</a>                 FileUtils.fileWrite( dumpClasspath, <span class="jxr_string">"# BND classpath"</span> + NL + buf );
-<a name="534" href="#534">534</a>             }
-<a name="535" href="#535">535</a>         }
-<a name="536" href="#536">536</a>     }
-<a name="537" href="#537">537</a> 
+<a name="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="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>     <strong class="jxr_keyword">protected</strong> Builder buildOSGiBundle( MavenProject currentProject, Map originalInstructions, Properties properties,
-<a name="540" href="#540">540</a>         Jar[] classpath ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="541" href="#541">541</a>     {
-<a name="542" href="#542">542</a>         Builder builder = getOSGiBuilder( currentProject, originalInstructions, properties, classpath );
-<a name="543" href="#543">543</a> 
-<a name="544" href="#544">544</a>         addMavenInstructions( currentProject, builder );
-<a name="545" href="#545">545</a> 
-<a name="546" href="#546">546</a>         builder.build();
-<a name="547" href="#547">547</a> 
-<a name="548" href="#548">548</a>         mergeMavenManifest( currentProject, builder );
-<a name="549" href="#549">549</a> 
-<a name="550" href="#550">550</a>         <strong class="jxr_keyword">return</strong> builder;
-<a name="551" href="#551">551</a>     }
-<a name="552" href="#552">552</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpInstructions( Properties properties, StringBuilder buf )
-<a name="555" href="#555">555</a>     {
-<a name="556" href="#556">556</a>         <strong class="jxr_keyword">try</strong>
-<a name="557" href="#557">557</a>         {
-<a name="558" href="#558">558</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="559" href="#559">559</a>             Properties stringProperties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="560" href="#560">560</a>             <strong class="jxr_keyword">for</strong> ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
-<a name="561" href="#561">561</a>             {
-<a name="562" href="#562">562</a>                 <em class="jxr_comment">// we can only store String properties</em>
-<a name="563" href="#563">563</a>                 String key = ( String ) e.nextElement();
-<a name="564" href="#564">564</a>                 String value = properties.getProperty( key );
-<a name="565" href="#565">565</a>                 <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
-<a name="566" href="#566">566</a>                 {
-<a name="567" href="#567">567</a>                     stringProperties.setProperty( key, value );
-<a name="568" href="#568">568</a>                 }
-<a name="569" href="#569">569</a>             }
-<a name="570" href="#570">570</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="571" href="#571">571</a>             stringProperties.store( out, <strong class="jxr_keyword">null</strong> ); <em class="jxr_comment">// properties encoding is 8859_1</em>
-<a name="572" href="#572">572</a>             buf.append( out.toString( <span class="jxr_string">"8859_1"</span> ) );
-<a name="573" href="#573">573</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="574" href="#574">574</a>         }
-<a name="575" href="#575">575</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="576" href="#576">576</a>         {
-<a name="577" href="#577">577</a>             <em class="jxr_comment">// ignore...</em>
-<a name="578" href="#578">578</a>         }
-<a name="579" href="#579">579</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="580" href="#580">580</a>     }
-<a name="581" href="#581">581</a> 
+<a name="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="582" href="#582">582</a> 
-<a name="583" href="#583">583</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpClasspath( List classpath, StringBuilder buf )
-<a name="584" href="#584">584</a>     {
-<a name="585" href="#585">585</a>         <strong class="jxr_keyword">try</strong>
-<a name="586" href="#586">586</a>         {
-<a name="587" href="#587">587</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="588" href="#588">588</a>             buf.append( <span class="jxr_string">"-classpath:&#92;&#92;"</span> + NL );
-<a name="589" href="#589">589</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = classpath.iterator(); i.hasNext(); )
-<a name="590" href="#590">590</a>             {
-<a name="591" href="#591">591</a>                 File path = ( ( Jar ) i.next() ).getSource();
-<a name="592" href="#592">592</a>                 <strong class="jxr_keyword">if</strong> ( path != <strong class="jxr_keyword">null</strong> )
-<a name="593" href="#593">593</a>                 {
-<a name="594" href="#594">594</a>                     buf.append( ' ' + path.toString() + ( i.hasNext() ? <span class="jxr_string">",&#92;&#92;"</span> : <span class="jxr_string">""</span> ) + NL );
-<a name="595" href="#595">595</a>                 }
-<a name="596" href="#596">596</a>             }
-<a name="597" href="#597">597</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="598" href="#598">598</a>         }
-<a name="599" href="#599">599</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="600" href="#600">600</a>         {
-<a name="601" href="#601">601</a>             <em class="jxr_comment">// ignore...</em>
-<a name="602" href="#602">602</a>         }
-<a name="603" href="#603">603</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="604" href="#604">604</a>     }
-<a name="605" href="#605">605</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> StringBuilder dumpManifest( Manifest manifest, StringBuilder buf )
-<a name="608" href="#608">608</a>     {
-<a name="609" href="#609">609</a>         <strong class="jxr_keyword">try</strong>
-<a name="610" href="#610">610</a>         {
-<a name="611" href="#611">611</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="612" href="#612">612</a>             ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="613" href="#613">613</a>             Jar.writeManifest( manifest, out ); <em class="jxr_comment">// manifest encoding is UTF8</em>
-<a name="614" href="#614">614</a>             buf.append( out.toString( <span class="jxr_string">"UTF8"</span> ) );
-<a name="615" href="#615">615</a>             buf.append( <span class="jxr_string">"#-----------------------------------------------------------------------"</span> + NL );
-<a name="616" href="#616">616</a>         }
-<a name="617" href="#617">617</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="618" href="#618">618</a>         {
-<a name="619" href="#619">619</a>             <em class="jxr_comment">// ignore...</em>
-<a name="620" href="#620">620</a>         }
-<a name="621" href="#621">621</a>         <strong class="jxr_keyword">return</strong> buf;
-<a name="622" href="#622">622</a>     }
-<a name="623" href="#623">623</a> 
+<a name="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="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> includeMavenResources( MavenProject currentProject, Analyzer analyzer, Log log )
-<a name="626" href="#626">626</a>     {
-<a name="627" href="#627">627</a>         <em class="jxr_comment">// pass maven resource paths onto BND analyzer</em>
-<a name="628" href="#628">628</a>         <strong class="jxr_keyword">final</strong> String mavenResourcePaths = getMavenResourcePaths( currentProject );
-<a name="629" href="#629">629</a>         <strong class="jxr_keyword">final</strong> String includeResource = ( String ) analyzer.getProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="630" href="#630">630</a>         <strong class="jxr_keyword">if</strong> ( includeResource != <strong class="jxr_keyword">null</strong> )
-<a name="631" href="#631">631</a>         {
-<a name="632" href="#632">632</a>             <strong class="jxr_keyword">if</strong> ( includeResource.indexOf( MAVEN_RESOURCES ) &gt;= 0 )
-<a name="633" href="#633">633</a>             {
-<a name="634" href="#634">634</a>                 <em class="jxr_comment">// if there is no maven resource path, we do a special treatment and replace</em>
-<a name="635" href="#635">635</a>                 <em class="jxr_comment">// every occurance of MAVEN_RESOURCES and a following comma with an empty string</em>
-<a name="636" href="#636">636</a>                 <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() == 0 )
-<a name="637" href="#637">637</a>                 {
-<a name="638" href="#638">638</a>                     String cleanedResource = removeTagFromInstruction( includeResource, MAVEN_RESOURCES );
-<a name="639" href="#639">639</a>                     <strong class="jxr_keyword">if</strong> ( cleanedResource.length() &gt; 0 )
-<a name="640" href="#640">640</a>                     {
-<a name="641" href="#641">641</a>                         analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, cleanedResource );
-<a name="642" href="#642">642</a>                     }
-<a name="643" href="#643">643</a>                     <strong class="jxr_keyword">else</strong>
-<a name="644" href="#644">644</a>                     {
-<a name="645" href="#645">645</a>                         analyzer.unsetProperty( Analyzer.INCLUDE_RESOURCE );
-<a name="646" href="#646">646</a>                     }
-<a name="647" href="#647">647</a>                 }
-<a name="648" href="#648">648</a>                 <strong class="jxr_keyword">else</strong>
-<a name="649" href="#649">649</a>                 {
-<a name="650" href="#650">650</a>                     String combinedResource = StringUtils
-<a name="651" href="#651">651</a>                         .replace( includeResource, MAVEN_RESOURCES, mavenResourcePaths );
-<a name="652" href="#652">652</a>                     analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, combinedResource );
-<a name="653" href="#653">653</a>                 }
-<a name="654" href="#654">654</a>             }
-<a name="655" href="#655">655</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="656" href="#656">656</a>             {
-<a name="657" href="#657">657</a>                 log.warn( Analyzer.INCLUDE_RESOURCE + <span class="jxr_string">": overriding "</span> + mavenResourcePaths + <span class="jxr_string">" with "</span> + includeResource
-<a name="658" href="#658">658</a>                     + <span class="jxr_string">" (add "</span> + MAVEN_RESOURCES + <span class="jxr_string">" if you want to include the maven resources)"</span> );
-<a name="659" href="#659">659</a>             }
-<a name="660" href="#660">660</a>         }
-<a name="661" href="#661">661</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenResourcePaths.length() &gt; 0 )
-<a name="662" href="#662">662</a>         {
-<a name="663" href="#663">663</a>             analyzer.setProperty( Analyzer.INCLUDE_RESOURCE, mavenResourcePaths );
-<a name="664" href="#664">664</a>         }
-<a name="665" href="#665">665</a>     }
-<a name="666" href="#666">666</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> mergeMavenManifest( MavenProject currentProject, Builder builder ) <strong class="jxr_keyword">throws</strong> Exception
-<a name="669" href="#669">669</a>     {
-<a name="670" href="#670">670</a>         Jar jar = builder.getJar();
-<a name="671" href="#671">671</a> 
-<a name="672" href="#672">672</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="673" href="#673">673</a>         {
-<a name="674" href="#674">674</a>             getLog().debug( <span class="jxr_string">"BND Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="675" href="#675">675</a>         }
-<a name="676" href="#676">676</a> 
-<a name="677" href="#677">677</a>         <strong class="jxr_keyword">boolean</strong> addMavenDescriptor = currentProject.getBasedir() != <strong class="jxr_keyword">null</strong>;
-<a name="678" href="#678">678</a> 
-<a name="679" href="#679">679</a>         <strong class="jxr_keyword">try</strong>
-<a name="680" href="#680">680</a>         {
-<a name="681" href="#681">681</a>             <em class="jxr_comment">/*</em>
-<a name="682" href="#682">682</a> <em class="jxr_comment">             * Grab customized manifest entries from the maven-jar-plugin configuration</em>
-<a name="683" href="#683">683</a> <em class="jxr_comment">             */</em>
-<a name="684" href="#684">684</a>             MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject );
-<a name="685" href="#685">685</a>             String mavenManifestText = <strong class="jxr_keyword">new</strong> MavenArchiver().getManifest( currentProject, archiveConfig ).toString();
-<a name="686" href="#686">686</a>             addMavenDescriptor = addMavenDescriptor &amp;&amp; archiveConfig.isAddMavenDescriptor();
-<a name="687" href="#687">687</a> 
-<a name="688" href="#688">688</a>             Manifest mavenManifest = <strong class="jxr_keyword">new</strong> Manifest();
-<a name="689" href="#689">689</a> 
-<a name="690" href="#690">690</a>             <em class="jxr_comment">// First grab the external manifest file (if specified and different to target location)</em>
-<a name="691" href="#691">691</a>             File externalManifestFile = archiveConfig.getManifestFile();
-<a name="692" href="#692">692</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != externalManifestFile &amp;&amp; externalManifestFile.exists()
-<a name="693" href="#693">693</a>                 &amp;&amp; !externalManifestFile.equals( <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> ) ) )
-<a name="694" href="#694">694</a>             {
-<a name="695" href="#695">695</a>                 InputStream mis = <strong class="jxr_keyword">new</strong> FileInputStream( externalManifestFile );
-<a name="696" href="#696">696</a>                 mavenManifest.read( mis );
-<a name="697" href="#697">697</a>                 mis.close();
-<a name="698" href="#698">698</a>             }
-<a name="699" href="#699">699</a> 
-<a name="700" href="#700">700</a>             <em class="jxr_comment">// Then apply customized entries from the jar plugin; note: manifest encoding is UTF8</em>
-<a name="701" href="#701">701</a>             mavenManifest.read( <strong class="jxr_keyword">new</strong> ByteArrayInputStream( mavenManifestText.getBytes( <span class="jxr_string">"UTF8"</span> ) ) );
-<a name="702" href="#702">702</a> 
-<a name="703" href="#703">703</a>             <strong class="jxr_keyword">if</strong> ( !archiveConfig.isManifestSectionsEmpty() )
-<a name="704" href="#704">704</a>             {
-<a name="705" href="#705">705</a>                 <em class="jxr_comment">/*</em>
-<a name="706" href="#706">706</a> <em class="jxr_comment">                 * Add customized manifest sections (for some reason MavenArchiver doesn't do this for us)</em>
-<a name="707" href="#707">707</a> <em class="jxr_comment">                 */</em>
-<a name="708" href="#708">708</a>                 List sections = archiveConfig.getManifestSections();
-<a name="709" href="#709">709</a>                 <strong class="jxr_keyword">for</strong> ( Iterator i = sections.iterator(); i.hasNext(); )
-<a name="710" href="#710">710</a>                 {
-<a name="711" href="#711">711</a>                     ManifestSection section = ( ManifestSection ) i.next();
-<a name="712" href="#712">712</a>                     Attributes attributes = <strong class="jxr_keyword">new</strong> Attributes();
-<a name="713" href="#713">713</a> 
-<a name="714" href="#714">714</a>                     <strong class="jxr_keyword">if</strong> ( !section.isManifestEntriesEmpty() )
-<a name="715" href="#715">715</a>                     {
-<a name="716" href="#716">716</a>                         Map entries = section.getManifestEntries();
-<a name="717" href="#717">717</a>                         <strong class="jxr_keyword">for</strong> ( Iterator j = entries.entrySet().iterator(); j.hasNext(); )
-<a name="718" href="#718">718</a>                         {
-<a name="719" href="#719">719</a>                             Map.Entry entry = ( Map.Entry ) j.next();
-<a name="720" href="#720">720</a>                             attributes.putValue( ( String ) entry.getKey(), ( String ) entry.getValue() );
-<a name="721" href="#721">721</a>                         }
-<a name="722" href="#722">722</a>                     }
-<a name="723" href="#723">723</a> 
-<a name="724" href="#724">724</a>                     mavenManifest.getEntries().put( section.getName(), attributes );
-<a name="725" href="#725">725</a>                 }
-<a name="726" href="#726">726</a>             }
-<a name="727" href="#727">727</a> 
-<a name="728" href="#728">728</a>             Attributes mainMavenAttributes = mavenManifest.getMainAttributes();
-<a name="729" href="#729">729</a>             mainMavenAttributes.putValue( <span class="jxr_string">"Created-By"</span>, <span class="jxr_string">"Apache Maven Bundle Plugin"</span> );
-<a name="730" href="#730">730</a> 
-<a name="731" href="#731">731</a>             String[] removeHeaders = builder.getProperty( Constants.REMOVEHEADERS, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> );
-<a name="732" href="#732">732</a> 
-<a name="733" href="#733">733</a>             <em class="jxr_comment">// apply -removeheaders to the custom manifest</em>
-<a name="734" href="#734">734</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; removeHeaders.length; i++ )
-<a name="735" href="#735">735</a>             {
-<a name="736" href="#736">736</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = mainMavenAttributes.keySet().iterator(); j.hasNext(); )
-<a name="737" href="#737">737</a>                 {
-<a name="738" href="#738">738</a>                     <strong class="jxr_keyword">if</strong> ( j.next().toString().matches( removeHeaders[i].trim() ) )
-<a name="739" href="#739">739</a>                     {
-<a name="740" href="#740">740</a>                         j.remove();
-<a name="741" href="#741">741</a>                     }
-<a name="742" href="#742">742</a>                 }
-<a name="743" href="#743">743</a>             }
-<a name="744" href="#744">744</a> 
-<a name="745" href="#745">745</a>             <em class="jxr_comment">/*</em>
-<a name="746" href="#746">746</a> <em class="jxr_comment">             * Overlay generated bundle manifest with customized entries</em>
-<a name="747" href="#747">747</a> <em class="jxr_comment">             */</em>
-<a name="748" href="#748">748</a>             Manifest bundleManifest = jar.getManifest();
-<a name="749" href="#749">749</a>             bundleManifest.getMainAttributes().putAll( mainMavenAttributes );
-<a name="750" href="#750">750</a>             bundleManifest.getEntries().putAll( mavenManifest.getEntries() );
-<a name="751" href="#751">751</a> 
-<a name="752" href="#752">752</a>             <em class="jxr_comment">// adjust the import package attributes so that optional dependencies use</em>
-<a name="753" href="#753">753</a>             <em class="jxr_comment">// optional resolution.</em>
-<a name="754" href="#754">754</a>             String importPackages = bundleManifest.getMainAttributes().getValue( <span class="jxr_string">"Import-Package"</span> );
-<a name="755" href="#755">755</a>             <strong class="jxr_keyword">if</strong> ( importPackages != <strong class="jxr_keyword">null</strong> )
-<a name="756" href="#756">756</a>             {
-<a name="757" href="#757">757</a>                 Set optionalPackages = getOptionalPackages( currentProject );
-<a name="758" href="#758">758</a> 
-<a name="759" href="#759">759</a>                 Map&lt;String, Map&lt;String, String&gt;&gt; values = <strong class="jxr_keyword">new</strong> Analyzer().parseHeader( importPackages );
-<a name="760" href="#760">760</a>                 <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, Map&lt;String, String&gt;&gt; entry : values.entrySet() )
-<a name="761" href="#761">761</a>                 {
-<a name="762" href="#762">762</a>                     String pkg = entry.getKey();
-<a name="763" href="#763">763</a>                     Map&lt;String, String&gt; options = entry.getValue();
-<a name="764" href="#764">764</a>                     <strong class="jxr_keyword">if</strong> ( !options.containsKey( <span class="jxr_string">"resolution:"</span> ) &amp;&amp; optionalPackages.contains( pkg ) )
-<a name="765" href="#765">765</a>                     {
-<a name="766" href="#766">766</a>                         options.put( <span class="jxr_string">"resolution:"</span>, <span class="jxr_string">"optional"</span> );
-<a name="767" href="#767">767</a>                     }
-<a name="768" href="#768">768</a>                 }
-<a name="769" href="#769">769</a>                 String result = Processor.printClauses( values );
-<a name="770" href="#770">770</a>                 bundleManifest.getMainAttributes().putValue( <span class="jxr_string">"Import-Package"</span>, result );
-<a name="771" href="#771">771</a>             }
-<a name="772" href="#772">772</a> 
-<a name="773" href="#773">773</a>             jar.setManifest( bundleManifest );
-<a name="774" href="#774">774</a>         }
-<a name="775" href="#775">775</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="776" href="#776">776</a>         {
-<a name="777" href="#777">777</a>             getLog().warn( <span class="jxr_string">"Unable to merge Maven manifest: "</span> + e.getLocalizedMessage() );
-<a name="778" href="#778">778</a>         }
-<a name="779" href="#779">779</a> 
-<a name="780" href="#780">780</a>         <strong class="jxr_keyword">if</strong> ( addMavenDescriptor )
-<a name="781" href="#781">781</a>         {
-<a name="782" href="#782">782</a>             doMavenMetadata( currentProject, jar );
-<a name="783" href="#783">783</a>         }
-<a name="784" href="#784">784</a> 
-<a name="785" href="#785">785</a>         <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a name="786" href="#786">786</a>         {
-<a name="787" href="#787">787</a>             getLog().debug( <span class="jxr_string">"Final Manifest:"</span> + NL + dumpManifest( jar.getManifest(), <strong class="jxr_keyword">new</strong> StringBuilder() ) );
-<a name="788" href="#788">788</a>         }
-<a name="789" href="#789">789</a> 
-<a name="790" href="#790">790</a>         builder.setJar( jar );
-<a name="791" href="#791">791</a>     }
-<a name="792" href="#792">792</a> 
+<a name="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="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="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="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>     <strong class="jxr_keyword">protected</strong> Set getOptionalPackages( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="795" href="#795">795</a>     {
-<a name="796" href="#796">796</a>         ArrayList inscope = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="797" href="#797">797</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="798" href="#798">798</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="799" href="#799">799</a>         {
-<a name="800" href="#800">800</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="801" href="#801">801</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="802" href="#802">802</a>             {
-<a name="803" href="#803">803</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="804" href="#804">804</a>                 {
-<a name="805" href="#805">805</a>                     inscope.add( artifact );
-<a name="806" href="#806">806</a>                 }
-<a name="807" href="#807">807</a>             }
-<a name="808" href="#808">808</a>         }
-<a name="809" href="#809">809</a> 
-<a name="810" href="#810">810</a>         HashSet optionalArtifactIds = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="811" href="#811">811</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="812" href="#812">812</a>         {
-<a name="813" href="#813">813</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="814" href="#814">814</a>             <strong class="jxr_keyword">if</strong> ( artifact.isOptional() )
-<a name="815" href="#815">815</a>             {
-<a name="816" href="#816">816</a>                 String id = artifact.toString();
-<a name="817" href="#817">817</a>                 <strong class="jxr_keyword">if</strong> ( artifact.getScope() != <strong class="jxr_keyword">null</strong> )
-<a name="818" href="#818">818</a>                 {
-<a name="819" href="#819">819</a>                     <em class="jxr_comment">// strip the scope...</em>
-<a name="820" href="#820">820</a>                     id = id.replaceFirst( <span class="jxr_string">":[^:]*$"</span>, <span class="jxr_string">""</span> );
-<a name="821" href="#821">821</a>                 }
-<a name="822" href="#822">822</a>                 optionalArtifactIds.add( id );
-<a name="823" href="#823">823</a>             }
-<a name="824" href="#824">824</a> 
-<a name="825" href="#825">825</a>         }
-<a name="826" href="#826">826</a> 
-<a name="827" href="#827">827</a>         HashSet required = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="828" href="#828">828</a>         HashSet optional = <strong class="jxr_keyword">new</strong> HashSet();
-<a name="829" href="#829">829</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = inscope.iterator(); it.hasNext(); )
-<a name="830" href="#830">830</a>         {
-<a name="831" href="#831">831</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="832" href="#832">832</a>             File file = getFile( artifact );
-<a name="833" href="#833">833</a>             <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="834" href="#834">834</a>             {
-<a name="835" href="#835">835</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="836" href="#836">836</a>             }
-<a name="837" href="#837">837</a> 
-<a name="838" href="#838">838</a>             Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="839" href="#839">839</a>             <strong class="jxr_keyword">if</strong> ( isTransitivelyOptional( optionalArtifactIds, artifact ) )
-<a name="840" href="#840">840</a>             {
-<a name="841" href="#841">841</a>                 optional.addAll( jar.getPackages() );
-<a name="842" href="#842">842</a>             }
-<a name="843" href="#843">843</a>             <strong class="jxr_keyword">else</strong>
-<a name="844" href="#844">844</a>             {
-<a name="845" href="#845">845</a>                 required.addAll( jar.getPackages() );
-<a name="846" href="#846">846</a>             }
-<a name="847" href="#847">847</a>             jar.close();
-<a name="848" href="#848">848</a>         }
-<a name="849" href="#849">849</a> 
-<a name="850" href="#850">850</a>         optional.removeAll( required );
-<a name="851" href="#851">851</a>         <strong class="jxr_keyword">return</strong> optional;
-<a name="852" href="#852">852</a>     }
-<a name="853" href="#853">853</a> 
+<a name="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="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="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>     <em class="jxr_javadoccomment">/**</em>
-<a name="856" href="#856">856</a> <em class="jxr_javadoccomment">     * Check to see if any dependency along the dependency trail of</em>
-<a name="857" href="#857">857</a> <em class="jxr_javadoccomment">     * the artifact is optional.</em>
-<a name="858" href="#858">858</a> <em class="jxr_javadoccomment">     *</em>
-<a name="859" href="#859">859</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="860" href="#860">860</a> <em class="jxr_javadoccomment">     */</em>
-<a name="861" href="#861">861</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTransitivelyOptional( HashSet optionalArtifactIds, Artifact artifact )
-<a name="862" href="#862">862</a>     {
-<a name="863" href="#863">863</a>         List trail = artifact.getDependencyTrail();
-<a name="864" href="#864">864</a>         <strong class="jxr_keyword">for</strong> ( Iterator iterator = trail.iterator(); iterator.hasNext(); )
-<a name="865" href="#865">865</a>         {
-<a name="866" href="#866">866</a>             String next = ( String ) iterator.next();
-<a name="867" href="#867">867</a>             <strong class="jxr_keyword">if</strong> ( optionalArtifactIds.contains( next ) )
-<a name="868" href="#868">868</a>             {
-<a name="869" href="#869">869</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a name="870" href="#870">870</a>             }
-<a name="871" href="#871">871</a>         }
-<a name="872" href="#872">872</a>         <strong class="jxr_keyword">return</strong> false;
-<a name="873" href="#873">873</a>     }
-<a name="874" href="#874">874</a> 
+<a name="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="876" href="#876">876</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> unpackBundle( File jarFile )
-<a name="877" href="#877">877</a>     {
-<a name="878" href="#878">878</a>         File outputDir = getOutputDirectory();
-<a name="879" href="#879">879</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == outputDir )
-<a name="880" href="#880">880</a>         {
-<a name="881" href="#881">881</a>             outputDir = <strong class="jxr_keyword">new</strong> File( getBuildDirectory(), <span class="jxr_string">"classes"</span> );
-<a name="882" href="#882">882</a>         }
-<a name="883" href="#883">883</a> 
-<a name="884" href="#884">884</a>         <strong class="jxr_keyword">try</strong>
-<a name="885" href="#885">885</a>         {
-<a name="886" href="#886">886</a>             <em class="jxr_comment">/*</em>
-<a name="887" href="#887">887</a> <em class="jxr_comment">             * this directory must exist before unpacking, otherwise the plexus</em>
-<a name="888" href="#888">888</a> <em class="jxr_comment">             * unarchiver decides to use the current working directory instead!</em>
-<a name="889" href="#889">889</a> <em class="jxr_comment">             */</em>
-<a name="890" href="#890">890</a>             <strong class="jxr_keyword">if</strong> ( !outputDir.exists() )
-<a name="891" href="#891">891</a>             {
-<a name="892" href="#892">892</a>                 outputDir.mkdirs();
-<a name="893" href="#893">893</a>             }
-<a name="894" href="#894">894</a> 
-<a name="895" href="#895">895</a>             UnArchiver unArchiver = m_archiverManager.getUnArchiver( <span class="jxr_string">"jar"</span> );
-<a name="896" href="#896">896</a>             unArchiver.setDestDirectory( outputDir );
-<a name="897" href="#897">897</a>             unArchiver.setSourceFile( jarFile );
-<a name="898" href="#898">898</a>             unArchiver.extract();
-<a name="899" href="#899">899</a>         }
-<a name="900" href="#900">900</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="901" href="#901">901</a>         {
-<a name="902" href="#902">902</a>             getLog().error( <span class="jxr_string">"Problem unpacking "</span> + jarFile + <span class="jxr_string">" to "</span> + outputDir, e );
-<a name="903" href="#903">903</a>         }
-<a name="904" href="#904">904</a>     }
-<a name="905" href="#905">905</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String removeTagFromInstruction( String instruction, String tag )
-<a name="908" href="#908">908</a>     {
-<a name="909" href="#909">909</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="910" href="#910">910</a> 
-<a name="911" href="#911">911</a>         String[] clauses = instruction.split( <span class="jxr_string">","</span> );
-<a name="912" href="#912">912</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; clauses.length; i++ )
-<a name="913" href="#913">913</a>         {
-<a name="914" href="#914">914</a>             String clause = clauses[i].trim();
-<a name="915" href="#915">915</a>             <strong class="jxr_keyword">if</strong> ( !tag.equals( clause ) )
-<a name="916" href="#916">916</a>             {
-<a name="917" href="#917">917</a>                 <strong class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
-<a name="918" href="#918">918</a>                 {
-<a name="919" href="#919">919</a>                     buf.append( ',' );
-<a name="920" href="#920">920</a>                 }
-<a name="921" href="#921">921</a>                 buf.append( clause );
-<a name="922" href="#922">922</a>             }
-<a name="923" href="#923">923</a>         }
-<a name="924" href="#924">924</a> 
-<a name="925" href="#925">925</a>         <strong class="jxr_keyword">return</strong> buf.toString();
-<a name="926" href="#926">926</a>     }
-<a name="927" href="#927">927</a> 
+<a name="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>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map getProperties( Model projectModel, String prefix )
-<a name="930" href="#930">930</a>     {
-<a name="931" href="#931">931</a>         Map properties = <strong class="jxr_keyword">new</strong> LinkedHashMap();
-<a name="932" href="#932">932</a>         Method methods[] = Model.<strong class="jxr_keyword">class</strong>.getDeclaredMethods();
-<a name="933" href="#933">933</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; methods.length; i++ )
-<a name="934" href="#934">934</a>         {
-<a name="935" href="#935">935</a>             String name = methods[i].getName();
-<a name="936" href="#936">936</a>             <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"get"</span> ) )
-<a name="937" href="#937">937</a>             {
-<a name="938" href="#938">938</a>                 <strong class="jxr_keyword">try</strong>
-<a name="939" href="#939">939</a>                 {
-<a name="940" href="#940">940</a>                     Object v = methods[i].invoke( projectModel, <strong class="jxr_keyword">null</strong> );
-<a name="941" href="#941">941</a>                     <strong class="jxr_keyword">if</strong> ( v != <strong class="jxr_keyword">null</strong> )
-<a name="942" href="#942">942</a>                     {
-<a name="943" href="#943">943</a>                         name = prefix + Character.toLowerCase( name.charAt( 3 ) ) + name.substring( 4 );
-<a name="944" href="#944">944</a>                         <strong class="jxr_keyword">if</strong> ( v.getClass().isArray() )
-<a name="945" href="#945">945</a>                             properties.put( name, Arrays.asList( ( Object[] ) v ).toString() );
-<a name="946" href="#946">946</a>                         <strong class="jxr_keyword">else</strong>
-<a name="947" href="#947">947</a>                             properties.put( name, v );
-<a name="948" href="#948">948</a> 
-<a name="949" href="#949">949</a>                     }
-<a name="950" href="#950">950</a>                 }
-<a name="951" href="#951">951</a>                 <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="952" href="#952">952</a>                 {
-<a name="953" href="#953">953</a>                     <em class="jxr_comment">// too bad</em>
-<a name="954" href="#954">954</a>                 }
-<a name="955" href="#955">955</a>             }
-<a name="956" href="#956">956</a>         }
-<a name="957" href="#957">957</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="958" href="#958">958</a>     }
-<a name="959" href="#959">959</a> 
+<a name="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="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>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringBuffer printLicenses( List licenses )
-<a name="962" href="#962">962</a>     {
-<a name="963" href="#963">963</a>         <strong class="jxr_keyword">if</strong> ( licenses == <strong class="jxr_keyword">null</strong> || licenses.size() == 0 )
-<a name="964" href="#964">964</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="965" href="#965">965</a>         StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="966" href="#966">966</a>         String del = <span class="jxr_string">""</span>;
-<a name="967" href="#967">967</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = licenses.iterator(); i.hasNext(); )
-<a name="968" href="#968">968</a>         {
-<a name="969" href="#969">969</a>             License l = ( License ) i.next();
-<a name="970" href="#970">970</a>             String url = l.getUrl();
-<a name="971" href="#971">971</a>             <strong class="jxr_keyword">if</strong> ( url == <strong class="jxr_keyword">null</strong> )
-<a name="972" href="#972">972</a>                 <strong class="jxr_keyword">continue</strong>;
-<a name="973" href="#973">973</a>             sb.append( del );
-<a name="974" href="#974">974</a>             sb.append( url );
-<a name="975" href="#975">975</a>             del = <span class="jxr_string">", "</span>;
-<a name="976" href="#976">976</a>         }
-<a name="977" href="#977">977</a>         <strong class="jxr_keyword">if</strong> ( sb.length() == 0 )
-<a name="978" href="#978">978</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a name="979" href="#979">979</a>         <strong class="jxr_keyword">return</strong> sb;
-<a name="980" href="#980">980</a>     }
-<a name="981" href="#981">981</a> 
+<a name="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>     <em class="jxr_javadoccomment">/**</em>
-<a name="984" href="#984">984</a> <em class="jxr_javadoccomment">     * @param jar</em>
-<a name="985" href="#985">985</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
-<a name="986" href="#986">986</a> <em class="jxr_javadoccomment">     */</em>
-<a name="987" href="#987">987</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doMavenMetadata( MavenProject currentProject, Jar jar ) <strong class="jxr_keyword">throws</strong> IOException
-<a name="988" href="#988">988</a>     {
-<a name="989" href="#989">989</a>         String path = <span class="jxr_string">"META-INF/maven/"</span> + currentProject.getGroupId() + <span class="jxr_string">"/"</span> + currentProject.getArtifactId();
-<a name="990" href="#990">990</a>         File pomFile = <strong class="jxr_keyword">new</strong> File( currentProject.getBasedir(), <span class="jxr_string">"pom.xml"</span> );
-<a name="991" href="#991">991</a>         jar.putResource( path + <span class="jxr_string">"/pom.xml"</span>, <strong class="jxr_keyword">new</strong> FileResource( pomFile ) );
-<a name="992" href="#992">992</a> 
-<a name="993" href="#993">993</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
-<a name="994" href="#994">994</a>         p.put( <span class="jxr_string">"version"</span>, currentProject.getVersion() );
-<a name="995" href="#995">995</a>         p.put( <span class="jxr_string">"groupId"</span>, currentProject.getGroupId() );
-<a name="996" href="#996">996</a>         p.put( <span class="jxr_string">"artifactId"</span>, currentProject.getArtifactId() );
-<a name="997" href="#997">997</a>         ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a name="998" href="#998">998</a>         p.store( out, <span class="jxr_string">"Generated by org.apache.felix.bundleplugin"</span> );
-<a name="999" href="#999">999</a>         jar.putResource( path + <span class="jxr_string">"/pom.properties"</span>, <strong class="jxr_keyword">new</strong> EmbeddedResource( out.toByteArray(), System.currentTimeMillis() ) );
-<a name="1000" href="#1000">1000</a>     }
-<a name="1001" href="#1001">1001</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> Jar[] getClasspath( MavenProject currentProject ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException
-<a name="1004" href="#1004">1004</a>     {
-<a name="1005" href="#1005">1005</a>         List list = <strong class="jxr_keyword">new</strong> ArrayList();
-<a name="1006" href="#1006">1006</a> 
-<a name="1007" href="#1007">1007</a>         <strong class="jxr_keyword">if</strong> ( getOutputDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; getOutputDirectory().exists() )
-<a name="1008" href="#1008">1008</a>         {
-<a name="1009" href="#1009">1009</a>             list.add( <strong class="jxr_keyword">new</strong> Jar( <span class="jxr_string">"."</span>, getOutputDirectory() ) );
-<a name="1010" href="#1010">1010</a>         }
-<a name="1011" href="#1011">1011</a> 
-<a name="1012" href="#1012">1012</a>         <strong class="jxr_keyword">final</strong> Collection artifacts = getSelectedDependencies( currentProject.getArtifacts() );
-<a name="1013" href="#1013">1013</a>         <strong class="jxr_keyword">for</strong> ( Iterator it = artifacts.iterator(); it.hasNext(); )
-<a name="1014" href="#1014">1014</a>         {
-<a name="1015" href="#1015">1015</a>             Artifact artifact = ( Artifact ) it.next();
-<a name="1016" href="#1016">1016</a>             <strong class="jxr_keyword">if</strong> ( artifact.getArtifactHandler().isAddedToClasspath() )
-<a name="1017" href="#1017">1017</a>             {
-<a name="1018" href="#1018">1018</a>                 <strong class="jxr_keyword">if</strong> ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
-<a name="1019" href="#1019">1019</a>                 {
-<a name="1020" href="#1020">1020</a>                     File file = getFile( artifact );
-<a name="1021" href="#1021">1021</a>                     <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="1022" href="#1022">1022</a>                     {
-<a name="1023" href="#1023">1023</a>                         getLog().warn(
-<a name="1024" href="#1024">1024</a>                             <span class="jxr_string">"File is not available for artifact "</span> + artifact + <span class="jxr_string">" in project "</span>
-<a name="1025" href="#1025">1025</a>                                 + currentProject.getArtifact() );
-<a name="1026" href="#1026">1026</a>                         <strong class="jxr_keyword">continue</strong>;
-<a name="1027" href="#1027">1027</a>                     }
-<a name="1028" href="#1028">1028</a>                     Jar jar = <strong class="jxr_keyword">new</strong> Jar( artifact.getArtifactId(), file );
-<a name="1029" href="#1029">1029</a>                     list.add( jar );
-<a name="1030" href="#1030">1030</a>                 }
-<a name="1031" href="#1031">1031</a>             }
-<a name="1032" href="#1032">1032</a>         }
-<a name="1033" href="#1033">1033</a>         Jar[] cp = <strong class="jxr_keyword">new</strong> Jar[list.size()];
-<a name="1034" href="#1034">1034</a>         list.toArray( cp );
-<a name="1035" href="#1035">1035</a>         <strong class="jxr_keyword">return</strong> cp;
-<a name="1036" href="#1036">1036</a>     }
-<a name="1037" href="#1037">1037</a> 
+<a name="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>     <strong class="jxr_keyword">private</strong> Collection getSelectedDependencies( Collection artifacts ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1040" href="#1040">1040</a>     {
-<a name="1041" href="#1041">1041</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == excludeDependencies || excludeDependencies.length() == 0 )
-<a name="1042" href="#1042">1042</a>         {
-<a name="1043" href="#1043">1043</a>             <strong class="jxr_keyword">return</strong> artifacts;
-<a name="1044" href="#1044">1044</a>         }
-<a name="1045" href="#1045">1045</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( excludeDependencies ) )
-<a name="1046" href="#1046">1046</a>         {
-<a name="1047" href="#1047">1047</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
-<a name="1048" href="#1048">1048</a>         }
-<a name="1049" href="#1049">1049</a> 
-<a name="1050" href="#1050">1050</a>         Collection selectedDependencies = <strong class="jxr_keyword">new</strong> LinkedHashSet( artifacts );
-<a name="1051" href="#1051">1051</a>         <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a> excluder = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyExcluder.html">DependencyExcluder</a>( artifacts );
-<a name="1052" href="#1052">1052</a>         excluder.processHeaders( excludeDependencies );
-<a name="1053" href="#1053">1053</a>         selectedDependencies.removeAll( excluder.getExcludedArtifacts() );
-<a name="1054" href="#1054">1054</a> 
-<a name="1055" href="#1055">1055</a>         <strong class="jxr_keyword">return</strong> selectedDependencies;
-<a name="1056" href="#1056">1056</a>     }
-<a name="1057" href="#1057">1057</a> 
+<a name="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="1047" href="#1047">1047</a>         {
+<a name="1048" href="#1048">1048</a>             <strong class="jxr_keyword">return</strong> Collections.EMPTY_LIST;
+<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>     <em class="jxr_javadoccomment">/**</em>
-<a name="1060" href="#1060">1060</a> <em class="jxr_javadoccomment">     * Get the file for an Artifact</em>
-<a name="1061" href="#1061">1061</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1062" href="#1062">1062</a> <em class="jxr_javadoccomment">     * @param artifact</em>
-<a name="1063" href="#1063">1063</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1064" href="#1064">1064</a>     <strong class="jxr_keyword">protected</strong> File getFile( Artifact artifact )
-<a name="1065" href="#1065">1065</a>     {
-<a name="1066" href="#1066">1066</a>         <strong class="jxr_keyword">return</strong> artifact.getFile();
-<a name="1067" href="#1067">1067</a>     }
-<a name="1068" href="#1068">1068</a> 
+<a name="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>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> header( Properties properties, String key, Object value )
-<a name="1071" href="#1071">1071</a>     {
-<a name="1072" href="#1072">1072</a>         <strong class="jxr_keyword">if</strong> ( value == <strong class="jxr_keyword">null</strong> )
-<a name="1073" href="#1073">1073</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1074" href="#1074">1074</a> 
-<a name="1075" href="#1075">1075</a>         <strong class="jxr_keyword">if</strong> ( value instanceof Collection &amp;&amp; ( ( Collection ) value ).isEmpty() )
-<a name="1076" href="#1076">1076</a>             <strong class="jxr_keyword">return</strong>;
-<a name="1077" href="#1077">1077</a> 
-<a name="1078" href="#1078">1078</a>         properties.put( key, value.toString().replaceAll( <span class="jxr_string">"[\r\n]"</span>, <span class="jxr_string">""</span> ) );
-<a name="1079" href="#1079">1079</a>     }
-<a name="1080" href="#1080">1080</a> 
+<a name="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>     <em class="jxr_javadoccomment">/**</em>
-<a name="1083" href="#1083">1083</a> <em class="jxr_javadoccomment">     * Convert a Maven version into an OSGi compliant version</em>
-<a name="1084" href="#1084">1084</a> <em class="jxr_javadoccomment">     *</em>
-<a name="1085" href="#1085">1085</a> <em class="jxr_javadoccomment">     * @param version Maven version</em>
-<a name="1086" href="#1086">1086</a> <em class="jxr_javadoccomment">     * @return the OSGi version</em>
-<a name="1087" href="#1087">1087</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1088" href="#1088">1088</a>     <strong class="jxr_keyword">protected</strong> String convertVersionToOsgi( String version )
-<a name="1089" href="#1089">1089</a>     {
-<a name="1090" href="#1090">1090</a>         <strong class="jxr_keyword">return</strong> getMaven2OsgiConverter().getVersion( version );
-<a name="1091" href="#1091">1091</a>     }
-<a name="1092" href="#1092">1092</a> 
+<a name="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="1093" href="#1093">1093</a> 
-<a name="1094" href="#1094">1094</a>     <em class="jxr_javadoccomment">/**</em>
-<a name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment">     * TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )</em>
-<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     */</em>
-<a name="1097" href="#1097">1097</a>     <strong class="jxr_keyword">protected</strong> String getBundleName( MavenProject currentProject )
-<a name="1098" href="#1098">1098</a>     {
-<a name="1099" href="#1099">1099</a>         String extension;
-<a name="1100" href="#1100">1100</a>         <strong class="jxr_keyword">try</strong>
-<a name="1101" href="#1101">1101</a>         {
-<a name="1102" href="#1102">1102</a>             extension = currentProject.getArtifact().getArtifactHandler().getExtension();
-<a name="1103" href="#1103">1103</a>         }
-<a name="1104" href="#1104">1104</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
-<a name="1105" href="#1105">1105</a>         {
-<a name="1106" href="#1106">1106</a>             extension = currentProject.getArtifact().getType();
-<a name="1107" href="#1107">1107</a>         }
-<a name="1108" href="#1108">1108</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( extension ) || <span class="jxr_string">"bundle"</span>.equals( extension ) || <span class="jxr_string">"pom"</span>.equals( extension ) )
-<a name="1109" href="#1109">1109</a>         {
-<a name="1110" href="#1110">1110</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
-<a name="1111" href="#1111">1111</a>         }
-<a name="1112" href="#1112">1112</a>         String finalName = currentProject.getBuild().getFinalName();
-<a name="1113" href="#1113">1113</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
-<a name="1114" href="#1114">1114</a>         {
-<a name="1115" href="#1115">1115</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
-<a name="1116" href="#1116">1116</a>         }
-<a name="1117" href="#1117">1117</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
-<a name="1118" href="#1118">1118</a>     }
-<a name="1119" href="#1119">1119</a> 
+<a name="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="1120" href="#1120">1120</a> 
-<a name="1121" href="#1121">1121</a>     <strong class="jxr_keyword">protected</strong> String getBuildDirectory()
-<a name="1122" href="#1122">1122</a>     {
-<a name="1123" href="#1123">1123</a>         <strong class="jxr_keyword">return</strong> buildDirectory;
-<a name="1124" href="#1124">1124</a>     }
-<a name="1125" href="#1125">1125</a> 
+<a name="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setBuildDirectory( String _buildirectory )
-<a name="1128" href="#1128">1128</a>     {
-<a name="1129" href="#1129">1129</a>         buildDirectory = _buildirectory;
-<a name="1130" href="#1130">1130</a>     }
-<a name="1131" href="#1131">1131</a> 
+<a name="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="1132" href="#1132">1132</a> 
-<a name="1133" href="#1133">1133</a>     <strong class="jxr_keyword">protected</strong> Properties getDefaultProperties( MavenProject currentProject )
-<a name="1134" href="#1134">1134</a>     {
-<a name="1135" href="#1135">1135</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a name="1136" href="#1136">1136</a> 
-<a name="1137" href="#1137">1137</a>         String bsn;
-<a name="1138" href="#1138">1138</a>         <strong class="jxr_keyword">try</strong>
-<a name="1139" href="#1139">1139</a>         {
-<a name="1140" href="#1140">1140</a>             bsn = getMaven2OsgiConverter().getBundleSymbolicName( currentProject.getArtifact() );
-<a name="1141" href="#1141">1141</a>         }
-<a name="1142" href="#1142">1142</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="1143" href="#1143">1143</a>         {
-<a name="1144" href="#1144">1144</a>             bsn = currentProject.getGroupId() + <span class="jxr_string">"."</span> + currentProject.getArtifactId();
-<a name="1145" href="#1145">1145</a>         }
-<a name="1146" href="#1146">1146</a> 
-<a name="1147" href="#1147">1147</a>         <em class="jxr_comment">// Setup defaults</em>
-<a name="1148" href="#1148">1148</a>         properties.put( MAVEN_SYMBOLICNAME, bsn );
-<a name="1149" href="#1149">1149</a>         properties.put( Analyzer.BUNDLE_SYMBOLICNAME, bsn );
-<a name="1150" href="#1150">1150</a>         properties.put( Analyzer.IMPORT_PACKAGE, <span class="jxr_string">"*"</span> );
-<a name="1151" href="#1151">1151</a>         properties.put( Analyzer.BUNDLE_VERSION, getMaven2OsgiConverter().getVersion( currentProject.getVersion() ) );
-<a name="1152" href="#1152">1152</a> 
-<a name="1153" href="#1153">1153</a>         <em class="jxr_comment">// remove the extraneous Include-Resource and Private-Package entries from generated manifest</em>
-<a name="1154" href="#1154">1154</a>         properties.put( Constants.REMOVEHEADERS, Analyzer.INCLUDE_RESOURCE + ',' + Analyzer.PRIVATE_PACKAGE );
-<a name="1155" href="#1155">1155</a> 
-<a name="1156" href="#1156">1156</a>         header( properties, Analyzer.BUNDLE_DESCRIPTION, currentProject.getDescription() );
-<a name="1157" href="#1157">1157</a>         StringBuffer licenseText = printLicenses( currentProject.getLicenses() );
-<a name="1158" href="#1158">1158</a>         <strong class="jxr_keyword">if</strong> ( licenseText != <strong class="jxr_keyword">null</strong> )
-<a name="1159" href="#1159">1159</a>         {
-<a name="1160" href="#1160">1160</a>             header( properties, Analyzer.BUNDLE_LICENSE, licenseText );
-<a name="1161" href="#1161">1161</a>         }
-<a name="1162" href="#1162">1162</a>         header( properties, Analyzer.BUNDLE_NAME, currentProject.getName() );
-<a name="1163" href="#1163">1163</a> 
-<a name="1164" href="#1164">1164</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization() != <strong class="jxr_keyword">null</strong> )
-<a name="1165" href="#1165">1165</a>         {
-<a name="1166" href="#1166">1166</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getName() != <strong class="jxr_keyword">null</strong> )
-<a name="1167" href="#1167">1167</a>             {
-<a name="1168" href="#1168">1168</a>                 String organizationName = currentProject.getOrganization().getName();
-<a name="1169" href="#1169">1169</a>                 header( properties, Analyzer.BUNDLE_VENDOR, organizationName );
-<a name="1170" href="#1170">1170</a>                 properties.put( <span class="jxr_string">"project.organization.name"</span>, organizationName );
-<a name="1171" href="#1171">1171</a>                 properties.put( <span class="jxr_string">"pom.organization.name"</span>, organizationName );
-<a name="1172" href="#1172">1172</a>             }
-<a name="1173" href="#1173">1173</a>             <strong class="jxr_keyword">if</strong> ( currentProject.getOrganization().getUrl() != <strong class="jxr_keyword">null</strong> )
-<a name="1174" href="#1174">1174</a>             {
-<a name="1175" href="#1175">1175</a>                 String organizationUrl = currentProject.getOrganization().getUrl();
-<a name="1176" href="#1176">1176</a>                 header( properties, Analyzer.BUNDLE_DOCURL, organizationUrl );
-<a name="1177" href="#1177">1177</a>                 properties.put( <span class="jxr_string">"project.organization.url"</span>, organizationUrl );
-<a name="1178" href="#1178">1178</a>                 properties.put( <span class="jxr_string">"pom.organization.url"</span>, organizationUrl );
-<a name="1179" href="#1179">1179</a>             }
-<a name="1180" href="#1180">1180</a>         }
-<a name="1181" href="#1181">1181</a> 
-<a name="1182" href="#1182">1182</a>         properties.putAll( currentProject.getProperties() );
-<a name="1183" href="#1183">1183</a>         properties.putAll( currentProject.getModel().getProperties() );
-<a name="1184" href="#1184">1184</a>         <strong class="jxr_keyword">if</strong> ( m_mavenSession != <strong class="jxr_keyword">null</strong> )
-<a name="1185" href="#1185">1185</a>         {
-<a name="1186" href="#1186">1186</a>             properties.putAll( m_mavenSession.getExecutionProperties() );
-<a name="1187" href="#1187">1187</a>         }
-<a name="1188" href="#1188">1188</a> 
-<a name="1189" href="#1189">1189</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project.build."</span> ) );
-<a name="1190" href="#1190">1190</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"pom."</span> ) );
-<a name="1191" href="#1191">1191</a>         properties.putAll( getProperties( currentProject.getModel(), <span class="jxr_string">"project."</span> ) );
-<a name="1192" href="#1192">1192</a> 
-<a name="1193" href="#1193">1193</a>         properties.put( <span class="jxr_string">"project.baseDir"</span>, getBase( currentProject ) );
-<a name="1194" href="#1194">1194</a>         properties.put( <span class="jxr_string">"project.build.directory"</span>, getBuildDirectory() );
-<a name="1195" href="#1195">1195</a>         properties.put( <span class="jxr_string">"project.build.outputdirectory"</span>, getOutputDirectory() );
-<a name="1196" href="#1196">1196</a> 
-<a name="1197" href="#1197">1197</a>         properties.put( <span class="jxr_string">"classifier"</span>, classifier == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : classifier );
-<a name="1198" href="#1198">1198</a> 
-<a name="1199" href="#1199">1199</a>         <em class="jxr_comment">// Add default plugins</em>
-<a name="1200" href="#1200">1200</a>         header( properties, Analyzer.PLUGIN, BlueprintPlugin.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">","</span> + SpringXMLType.<strong class="jxr_keyword">class</strong>.getName() );
-<a name="1201" href="#1201">1201</a> 
-<a name="1202" href="#1202">1202</a>         <strong class="jxr_keyword">return</strong> properties;
-<a name="1203" href="#1203">1203</a>     }
-<a name="1204" href="#1204">1204</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="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="1142" href="#1142">1142</a>         }
+<a name="1143" href="#1143">1143</a>         <strong class="jxr_keyword">catch</strong> ( Exception 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="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="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>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> File getBase( MavenProject currentProject )
-<a name="1207" href="#1207">1207</a>     {
-<a name="1208" href="#1208">1208</a>         <strong class="jxr_keyword">return</strong> currentProject.getBasedir() != <strong class="jxr_keyword">null</strong> ? currentProject.getBasedir() : <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">""</span> );
-<a name="1209" href="#1209">1209</a>     }
-<a name="1210" href="#1210">1210</a> 
-<a name="1211" href="#1211">1211</a> 
-<a name="1212" href="#1212">1212</a>     <strong class="jxr_keyword">protected</strong> File getOutputDirectory()
-<a name="1213" href="#1213">1213</a>     {
-<a name="1214" href="#1214">1214</a>         <strong class="jxr_keyword">return</strong> outputDirectory;
-<a name="1215" href="#1215">1215</a>     }
-<a name="1216" href="#1216">1216</a> 
-<a name="1217" href="#1217">1217</a> 
-<a name="1218" href="#1218">1218</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setOutputDirectory( File _outputDirectory )
-<a name="1219" href="#1219">1219</a>     {
-<a name="1220" href="#1220">1220</a>         outputDirectory = _outputDirectory;
-<a name="1221" href="#1221">1221</a>     }
+<a name="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="1222" href="#1222">1222</a> 
-<a name="1223" href="#1223">1223</a> 
-<a name="1224" href="#1224">1224</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addLocalPackages( File outputDirectory, Analyzer analyzer )
-<a name="1225" href="#1225">1225</a>     {
-<a name="1226" href="#1226">1226</a>         Collection packages = <strong class="jxr_keyword">new</strong> LinkedHashSet();
+<a name="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>         <strong class="jxr_keyword">if</strong> ( outputDirectory != <strong class="jxr_keyword">null</strong> &amp;&amp; outputDirectory.isDirectory() )
-<a name="1229" href="#1229">1229</a>         {
-<a name="1230" href="#1230">1230</a>             <em class="jxr_comment">// scan classes directory for potential packages</em>
-<a name="1231" href="#1231">1231</a>             DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
-<a name="1232" href="#1232">1232</a>             scanner.setBasedir( outputDirectory );
-<a name="1233" href="#1233">1233</a>             scanner.setIncludes( <strong class="jxr_keyword">new</strong> String[]
-<a name="1234" href="#1234">1234</a>                 { <span class="jxr_string">"**/*.class"</span> } );
-<a name="1235" href="#1235">1235</a> 
-<a name="1236" href="#1236">1236</a>             scanner.addDefaultExcludes();
-<a name="1237" href="#1237">1237</a>             scanner.scan();
-<a name="1238" href="#1238">1238</a> 
-<a name="1239" href="#1239">1239</a>             String[] paths = scanner.getIncludedFiles();
-<a name="1240" href="#1240">1240</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; paths.length; i++ )
-<a name="1241" href="#1241">1241</a>             {
-<a name="1242" href="#1242">1242</a>                 packages.add( getPackageName( paths[i] ) );
-<a name="1243" href="#1243">1243</a>             }
-<a name="1244" href="#1244">1244</a>         }
-<a name="1245" href="#1245">1245</a> 
-<a name="1246" href="#1246">1246</a>         StringBuffer exportedPkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1247" href="#1247">1247</a>         StringBuffer privatePkgs = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1248" href="#1248">1248</a> 
-<a name="1249" href="#1249">1249</a>         <strong class="jxr_keyword">boolean</strong> noprivatePackages = <span class="jxr_string">"!*"</span>.equals( analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) );
-<a name="1250" href="#1250">1250</a> 
-<a name="1251" href="#1251">1251</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = packages.iterator(); i.hasNext(); )
-<a name="1252" href="#1252">1252</a>         {
-<a name="1253" href="#1253">1253</a>             String pkg = ( String ) i.next();
-<a name="1254" href="#1254">1254</a> 
-<a name="1255" href="#1255">1255</a>             <em class="jxr_comment">// mark all source packages as private by default (can be overridden by export list)</em>
-<a name="1256" href="#1256">1256</a>             <strong class="jxr_keyword">if</strong> ( privatePkgs.length() &gt; 0 )
-<a name="1257" href="#1257">1257</a>             {
-<a name="1258" href="#1258">1258</a>                 privatePkgs.append( ';' );
-<a name="1259" href="#1259">1259</a>             }
-<a name="1260" href="#1260">1260</a>             privatePkgs.append( pkg );
-<a name="1261" href="#1261">1261</a> 
-<a name="1262" href="#1262">1262</a>             <em class="jxr_comment">// we can't export the default package (".") and we shouldn't export internal packages </em>
-<a name="1263" href="#1263">1263</a>             <strong class="jxr_keyword">if</strong> ( noprivatePackages || !( <span class="jxr_string">"."</span>.equals( pkg ) || pkg.contains( <span class="jxr_string">".internal"</span> ) || pkg.contains( <span class="jxr_string">".impl"</span> ) ) )
-<a name="1264" href="#1264">1264</a>             {
-<a name="1265" href="#1265">1265</a>                 <strong class="jxr_keyword">if</strong> ( exportedPkgs.length() &gt; 0 )
-<a name="1266" href="#1266">1266</a>                 {
-<a name="1267" href="#1267">1267</a>                     exportedPkgs.append( ';' );
-<a name="1268" href="#1268">1268</a>                 }
-<a name="1269" href="#1269">1269</a>                 exportedPkgs.append( pkg );
-<a name="1270" href="#1270">1270</a>             }
-<a name="1271" href="#1271">1271</a>         }
-<a name="1272" href="#1272">1272</a> 
-<a name="1273" href="#1273">1273</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
-<a name="1274" href="#1274">1274</a>         {
-<a name="1275" href="#1275">1275</a>             <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong> )
-<a name="1276" href="#1276">1276</a>             {
-<a name="1277" href="#1277">1277</a>                 <em class="jxr_comment">// no -exportcontents overriding the exports, so use our computed list</em>
-<a name="1278" href="#1278">1278</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, exportedPkgs + <span class="jxr_string">";-split-package:=merge-first"</span> );
-<a name="1279" href="#1279">1279</a>             }
-<a name="1280" href="#1280">1280</a>             <strong class="jxr_keyword">else</strong>
+<a name="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="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="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="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>                 <em class="jxr_comment">// leave Export-Package empty (but non-null) as we have -exportcontents</em>
-<a name="1283" href="#1283">1283</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, <span class="jxr_string">""</span> );
-<a name="1284" href="#1284">1284</a>             }
-<a name="1285" href="#1285">1285</a>         }
-<a name="1286" href="#1286">1286</a>         <strong class="jxr_keyword">else</strong>
-<a name="1287" href="#1287">1287</a>         {
-<a name="1288" href="#1288">1288</a>             String exported = analyzer.getProperty( Analyzer.EXPORT_PACKAGE );
-<a name="1289" href="#1289">1289</a>             <strong class="jxr_keyword">if</strong> ( exported.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1290" href="#1290">1290</a>             {
-<a name="1291" href="#1291">1291</a>                 String newExported = StringUtils.replace( exported, LOCAL_PACKAGES, exportedPkgs.toString() );
-<a name="1292" href="#1292">1292</a>                 analyzer.setProperty( Analyzer.EXPORT_PACKAGE, newExported );
-<a name="1293" href="#1293">1293</a> 
-<a name="1294" href="#1294">1294</a>             }
-<a name="1295" href="#1295">1295</a>         }
-<a name="1296" href="#1296">1296</a> 
-<a name="1297" href="#1297">1297</a>         String internal = analyzer.getProperty( Analyzer.PRIVATE_PACKAGE );
-<a name="1298" href="#1298">1298</a>         <strong class="jxr_keyword">if</strong> ( internal == <strong class="jxr_keyword">null</strong> )
-<a name="1299" href="#1299">1299</a>         {
-<a name="1300" href="#1300">1300</a>             <strong class="jxr_keyword">if</strong> ( privatePkgs.length() &gt; 0 )
-<a name="1301" href="#1301">1301</a>             {
-<a name="1302" href="#1302">1302</a>                 analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, privatePkgs + <span class="jxr_string">";-split-package:=merge-first"</span> );
-<a name="1303" href="#1303">1303</a>             }
-<a name="1304" href="#1304">1304</a>             <strong class="jxr_keyword">else</strong>
-<a name="1305" href="#1305">1305</a>             {
-<a name="1306" href="#1306">1306</a>                 <em class="jxr_comment">// if there are really no private packages then use "!*" as this will keep the Bnd Tool happy</em>
-<a name="1307" href="#1307">1307</a>                 analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, <span class="jxr_string">"!*"</span> );
-<a name="1308" href="#1308">1308</a>             }
-<a name="1309" href="#1309">1309</a>         }
-<a name="1310" href="#1310">1310</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( internal.indexOf( LOCAL_PACKAGES ) &gt;= 0 )
-<a name="1311" href="#1311">1311</a>         {
-<a name="1312" href="#1312">1312</a>             String newInternal = StringUtils.replace( internal, LOCAL_PACKAGES, privatePkgs.toString() );
-<a name="1313" href="#1313">1313</a>             analyzer.setProperty( Analyzer.PRIVATE_PACKAGE, newInternal );
-<a name="1314" href="#1314">1314</a>         }
-<a name="1315" href="#1315">1315</a>     }
-<a name="1316" href="#1316">1316</a> 
-<a name="1317" href="#1317">1317</a> 
-<a name="1318" href="#1318">1318</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getPackageName( String filename )
-<a name="1319" href="#1319">1319</a>     {
-<a name="1320" href="#1320">1320</a>         <strong class="jxr_keyword">int</strong> n = filename.lastIndexOf( File.separatorChar );
-<a name="1321" href="#1321">1321</a>         <strong class="jxr_keyword">return</strong> n &lt; 0 ? <span class="jxr_string">"."</span> : filename.substring( 0, n ).replace( File.separatorChar, '.' );
-<a name="1322" href="#1322">1322</a>     }
-<a name="1323" href="#1323">1323</a> 
-<a name="1324" href="#1324">1324</a> 
-<a name="1325" href="#1325">1325</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List getMavenResources( MavenProject currentProject )
-<a name="1326" href="#1326">1326</a>     {
-<a name="1327" href="#1327">1327</a>         List resources = <strong class="jxr_keyword">new</strong> ArrayList( currentProject.getResources() );
-<a name="1328" href="#1328">1328</a> 
-<a name="1329" href="#1329">1329</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1330" href="#1330">1330</a>         {
-<a name="1331" href="#1331">1331</a>             <em class="jxr_comment">// also scan for any "packageinfo" files lurking in the source folders</em>
-<a name="1332" href="#1332">1332</a>             List packageInfoIncludes = Collections.singletonList( <span class="jxr_string">"**/packageinfo"</span> );
-<a name="1333" href="#1333">1333</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1334" href="#1334">1334</a>             {
-<a name="1335" href="#1335">1335</a>                 String sourceRoot = ( String ) i.next();
-<a name="1336" href="#1336">1336</a>                 Resource packageInfoResource = <strong class="jxr_keyword">new</strong> Resource();
-<a name="1337" href="#1337">1337</a>                 packageInfoResource.setDirectory( sourceRoot );
-<a name="1338" href="#1338">1338</a>                 packageInfoResource.setIncludes( packageInfoIncludes );
-<a name="1339" href="#1339">1339</a>                 resources.add( packageInfoResource );
-<a name="1340" href="#1340">1340</a>             }
-<a name="1341" href="#1341">1341</a>         }
-<a name="1342" href="#1342">1342</a> 
-<a name="1343" href="#1343">1343</a>         <strong class="jxr_keyword">return</strong> resources;
-<a name="1344" href="#1344">1344</a>     }
+<a name="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="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="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> 
-<a name="1347" href="#1347">1347</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> String getMavenResourcePaths( MavenProject currentProject )
-<a name="1348" href="#1348">1348</a>     {
-<a name="1349" href="#1349">1349</a>         <strong class="jxr_keyword">final</strong> String basePath = currentProject.getBasedir().getAbsolutePath();
-<a name="1350" href="#1350">1350</a> 
-<a name="1351" href="#1351">1351</a>         Set pathSet = <strong class="jxr_keyword">new</strong> LinkedHashSet();
-<a name="1352" href="#1352">1352</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = getMavenResources( currentProject ).iterator(); i.hasNext(); )
-<a name="1353" href="#1353">1353</a>         {
-<a name="1354" href="#1354">1354</a>             Resource resource = ( Resource ) i.next();
-<a name="1355" href="#1355">1355</a> 
-<a name="1356" href="#1356">1356</a>             <strong class="jxr_keyword">final</strong> String sourcePath = resource.getDirectory();
-<a name="1357" href="#1357">1357</a>             <strong class="jxr_keyword">final</strong> String targetPath = resource.getTargetPath();
-<a name="1358" href="#1358">1358</a> 
-<a name="1359" href="#1359">1359</a>             <em class="jxr_comment">// ignore empty or non-local resources</em>
-<a name="1360" href="#1360">1360</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( sourcePath ).exists() &amp;&amp; ( ( targetPath == <strong class="jxr_keyword">null</strong> ) || ( targetPath.indexOf( <span class="jxr_string">".."</span> ) &lt; 0 ) ) )
-<a name="1361" href="#1361">1361</a>             {
-<a name="1362" href="#1362">1362</a>                 DirectoryScanner scanner = <strong class="jxr_keyword">new</strong> DirectoryScanner();
+<a name="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>                 scanner.setBasedir( sourcePath );
-<a name="1365" href="#1365">1365</a>                 <strong class="jxr_keyword">if</strong> ( resource.getIncludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getIncludes().isEmpty() )
-<a name="1366" href="#1366">1366</a>                 {
-<a name="1367" href="#1367">1367</a>                     scanner.setIncludes( ( String[] ) resource.getIncludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1368" href="#1368">1368</a>                 }
-<a name="1369" href="#1369">1369</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1370" href="#1370">1370</a>                 {
-<a name="1371" href="#1371">1371</a>                     scanner.setIncludes( DEFAULT_INCLUDES );
-<a name="1372" href="#1372">1372</a>                 }
-<a name="1373" href="#1373">1373</a> 
-<a name="1374" href="#1374">1374</a>                 <strong class="jxr_keyword">if</strong> ( resource.getExcludes() != <strong class="jxr_keyword">null</strong> &amp;&amp; !resource.getExcludes().isEmpty() )
-<a name="1375" href="#1375">1375</a>                 {
-<a name="1376" href="#1376">1376</a>                     scanner.setExcludes( ( String[] ) resource.getExcludes().toArray( EMPTY_STRING_ARRAY ) );
-<a name="1377" href="#1377">1377</a>                 }
-<a name="1378" href="#1378">1378</a> 
-<a name="1379" href="#1379">1379</a>                 scanner.addDefaultExcludes();
-<a name="1380" href="#1380">1380</a>                 scanner.scan();
-<a name="1381" href="#1381">1381</a> 
-<a name="1382" href="#1382">1382</a>                 List includedFiles = Arrays.asList( scanner.getIncludedFiles() );
-<a name="1383" href="#1383">1383</a> 
-<a name="1384" href="#1384">1384</a>                 <strong class="jxr_keyword">for</strong> ( Iterator j = includedFiles.iterator(); j.hasNext(); )
-<a name="1385" href="#1385">1385</a>                 {
-<a name="1386" href="#1386">1386</a>                     String name = ( String ) j.next();
-<a name="1387" href="#1387">1387</a>                     String path = sourcePath + '/' + name;
-<a name="1388" href="#1388">1388</a> 
-<a name="1389" href="#1389">1389</a>                     <em class="jxr_comment">// make relative to project</em>
-<a name="1390" href="#1390">1390</a>                     <strong class="jxr_keyword">if</strong> ( path.startsWith( basePath ) )
-<a name="1391" href="#1391">1391</a>                     {
-<a name="1392" href="#1392">1392</a>                         <strong class="jxr_keyword">if</strong> ( path.length() == basePath.length() )
-<a name="1393" href="#1393">1393</a>                         {
-<a name="1394" href="#1394">1394</a>                             path = <span class="jxr_string">"."</span>;
-<a name="1395" href="#1395">1395</a>                         }
-<a name="1396" href="#1396">1396</a>                         <strong class="jxr_keyword">else</strong>
-<a name="1397" href="#1397">1397</a>                         {
-<a name="1398" href="#1398">1398</a>                             path = path.substring( basePath.length() + 1 );
-<a name="1399" href="#1399">1399</a>                         }
-<a name="1400" href="#1400">1400</a>                     }
-<a name="1401" href="#1401">1401</a> 
-<a name="1402" href="#1402">1402</a>                     <em class="jxr_comment">// replace windows backslash with a slash</em>
-<a name="1403" href="#1403">1403</a>                     <em class="jxr_comment">// this is a workaround for a problem with bnd 0.0.189</em>
-<a name="1404" href="#1404">1404</a>                     <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
-<a name="1405" href="#1405">1405</a>                     {
-<a name="1406" href="#1406">1406</a>                         name = name.replace( File.separatorChar, '/' );
-<a name="1407" href="#1407">1407</a>                         path = path.replace( File.separatorChar, '/' );
-<a name="1408" href="#1408">1408</a>                     }
-<a name="1409" href="#1409">1409</a> 
-<a name="1410" href="#1410">1410</a>                     <em class="jxr_comment">// copy to correct place</em>
-<a name="1411" href="#1411">1411</a>                     path = name + '=' + path;
-<a name="1412" href="#1412">1412</a>                     <strong class="jxr_keyword">if</strong> ( targetPath != <strong class="jxr_keyword">null</strong> )
-<a name="1413" href="#1413">1413</a>                     {
-<a name="1414" href="#1414">1414</a>                         path = targetPath + '/' + path;
-<a name="1415" href="#1415">1415</a>                     }
-<a name="1416" href="#1416">1416</a> 
-<a name="1417" href="#1417">1417</a>                     <em class="jxr_comment">// use Bnd filtering?</em>
-<a name="1418" href="#1418">1418</a>                     <strong class="jxr_keyword">if</strong> ( resource.isFiltering() )
-<a name="1419" href="#1419">1419</a>                     {
-<a name="1420" href="#1420">1420</a>                         path = '{' + path + '}';
-<a name="1421" href="#1421">1421</a>                     }
-<a name="1422" href="#1422">1422</a> 
-<a name="1423" href="#1423">1423</a>                     pathSet.add( path );
-<a name="1424" href="#1424">1424</a>                 }
-<a name="1425" href="#1425">1425</a>             }
-<a name="1426" href="#1426">1426</a>         }
-<a name="1427" href="#1427">1427</a> 
-<a name="1428" href="#1428">1428</a>         StringBuffer resourcePaths = <strong class="jxr_keyword">new</strong> StringBuffer();
-<a name="1429" href="#1429">1429</a>         <strong class="jxr_keyword">for</strong> ( Iterator i = pathSet.iterator(); i.hasNext(); )
-<a name="1430" href="#1430">1430</a>         {
-<a name="1431" href="#1431">1431</a>             resourcePaths.append( i.next() );
-<a name="1432" href="#1432">1432</a>             <strong class="jxr_keyword">if</strong> ( i.hasNext() )
-<a name="1433" href="#1433">1433</a>             {
-<a name="1434" href="#1434">1434</a>                 resourcePaths.append( ',' );
-<a name="1435" href="#1435">1435</a>             }
-<a name="1436" href="#1436">1436</a>         }
-<a name="1437" href="#1437">1437</a> 
-<a name="1438" href="#1438">1438</a>         <strong class="jxr_keyword">return</strong> resourcePaths.toString();
-<a name="1439" href="#1439">1439</a>     }
-<a name="1440" href="#1440">1440</a> 
-<a name="1441" href="#1441">1441</a> 
-<a name="1442" href="#1442">1442</a>     <strong class="jxr_keyword">protected</strong> Collection getEmbeddableArtifacts( MavenProject currentProject, Analyzer analyzer )
-<a name="1443" href="#1443">1443</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="1444" href="#1444">1444</a>     {
-<a name="1445" href="#1445">1445</a>         <strong class="jxr_keyword">final</strong> Collection artifacts;
-<a name="1446" href="#1446">1446</a> 
-<a name="1447" href="#1447">1447</a>         String embedTransitive = analyzer.getProperty( DependencyEmbedder.EMBED_TRANSITIVE );
-<a name="1448" href="#1448">1448</a>         <strong class="jxr_keyword">if</strong> ( Boolean.valueOf( embedTransitive ).booleanValue() )
-<a name="1449" href="#1449">1449</a>         {
-<a name="1450" href="#1450">1450</a>             <em class="jxr_comment">// includes transitive dependencies</em>
-<a name="1451" href="#1451">1451</a>             artifacts = currentProject.getArtifacts();
-<a name="1452" href="#1452">1452</a>         }
-<a name="1453" href="#1453">1453</a>         <strong class="jxr_keyword">else</strong>
-<a name="1454" href="#1454">1454</a>         {
-<a name="1455" href="#1455">1455</a>             <em class="jxr_comment">// only includes direct dependencies</em>
-<a name="1456" href="#1456">1456</a>             artifacts = currentProject.getDependencyArtifacts();
-<a name="1457" href="#1457">1457</a>         }
+<a name="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="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="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="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">return</strong> getSelectedDependencies( artifacts );
-<a name="1460" href="#1460">1460</a>     }
-<a name="1461" href="#1461">1461</a> 
-<a name="1462" href="#1462">1462</a> 
-<a name="1463" href="#1463">1463</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addMavenSourcePath( MavenProject currentProject, Analyzer analyzer, Log log )
-<a name="1464" href="#1464">1464</a>     {
-<a name="1465" href="#1465">1465</a>         <em class="jxr_comment">// pass maven source paths onto BND analyzer</em>
-<a name="1466" href="#1466">1466</a>         StringBuilder mavenSourcePaths = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a name="1467" href="#1467">1467</a>         <strong class="jxr_keyword">if</strong> ( currentProject.getCompileSourceRoots() != <strong class="jxr_keyword">null</strong> )
-<a name="1468" href="#1468">1468</a>         {
-<a name="1469" href="#1469">1469</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = currentProject.getCompileSourceRoots().iterator(); i.hasNext(); )
-<a name="1470" href="#1470">1470</a>             {
-<a name="1471" href="#1471">1471</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1472" href="#1472">1472</a>                 {
-<a name="1473" href="#1473">1473</a>                     mavenSourcePaths.append( ',' );
-<a name="1474" href="#1474">1474</a>                 }
-<a name="1475" href="#1475">1475</a>                 mavenSourcePaths.append( ( String ) i.next() );
-<a name="1476" href="#1476">1476</a>             }
-<a name="1477" href="#1477">1477</a>         }
-<a name="1478" href="#1478">1478</a>         <strong class="jxr_keyword">final</strong> String sourcePath = ( String ) analyzer.getProperty( Analyzer.SOURCEPATH );
-<a name="1479" href="#1479">1479</a>         <strong class="jxr_keyword">if</strong> ( sourcePath != <strong class="jxr_keyword">null</strong> )
-<a name="1480" href="#1480">1480</a>         {
-<a name="1481" href="#1481">1481</a>             <strong class="jxr_keyword">if</strong> ( sourcePath.indexOf( MAVEN_SOURCES ) &gt;= 0 )
-<a name="1482" href="#1482">1482</a>             {
-<a name="1483" href="#1483">1483</a>                 <em class="jxr_comment">// if there is no maven source path, we do a special treatment and replace</em>
-<a name="1484" href="#1484">1484</a>                 <em class="jxr_comment">// every occurance of MAVEN_SOURCES and a following comma with an empty string</em>
-<a name="1485" href="#1485">1485</a>                 <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() == 0 )
-<a name="1486" href="#1486">1486</a>                 {
-<a name="1487" href="#1487">1487</a>                     String cleanedSource = removeTagFromInstruction( sourcePath, MAVEN_SOURCES );
-<a name="1488" href="#1488">1488</a>                     <strong class="jxr_keyword">if</strong> ( cleanedSource.length() &gt; 0 )
-<a name="1489" href="#1489">1489</a>                     {
-<a name="1490" href="#1490">1490</a>                         analyzer.setProperty( Analyzer.SOURCEPATH, cleanedSource );
-<a name="1491" href="#1491">1491</a>                     }
-<a name="1492" href="#1492">1492</a>                     <strong class="jxr_keyword">else</strong>
-<a name="1493" href="#1493">1493</a>                     {
-<a name="1494" href="#1494">1494</a>                         analyzer.unsetProperty( Analyzer.SOURCEPATH );
-<a name="1495" href="#1495">1495</a>                     }
-<a name="1496" href="#1496">1496</a>                 }
-<a name="1497" href="#1497">1497</a>                 <strong class="jxr_keyword">else</strong>
-<a name="1498" href="#1498">1498</a>                 {
-<a name="1499" href="#1499">1499</a>                     String combinedSource = StringUtils
-<a name="1500" href="#1500">1500</a>                         .replace( sourcePath, MAVEN_SOURCES, mavenSourcePaths.toString() );
-<a name="1501" href="#1501">1501</a>                     analyzer.setProperty( Analyzer.SOURCEPATH, combinedSource );
-<a name="1502" href="#1502">1502</a>                 }
-<a name="1503" href="#1503">1503</a>             }
-<a name="1504" href="#1504">1504</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1505" href="#1505">1505</a>             {
-<a name="1506" href="#1506">1506</a>                 log.warn( Analyzer.SOURCEPATH + <span class="jxr_string">": overriding "</span> + mavenSourcePaths + <span class="jxr_string">" with "</span> + sourcePath + <span class="jxr_string">" (add "</span>
-<a name="1507" href="#1507">1507</a>                     + MAVEN_SOURCES + <span class="jxr_string">" if you want to include the maven sources)"</span> );
-<a name="1508" href="#1508">1508</a>             }
-<a name="1509" href="#1509">1509</a>         }
-<a name="1510" href="#1510">1510</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenSourcePaths.length() &gt; 0 )
-<a name="1511" href="#1511">1511</a>         {
-<a name="1512" href="#1512">1512</a>             analyzer.setProperty( Analyzer.SOURCEPATH, mavenSourcePaths.toString() );
-<a name="1513" href="#1513">1513</a>         }
-<a name="1514" href="#1514">1514</a>     }
-<a name="1515" href="#1515">1515</a> }
+<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="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> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
index 889091e..42eb4d2 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/ManifestPlugin.html
@@ -34,202 +34,254 @@
 <a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.FileOutputStream;
 <a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
 <a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStream;
-<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
-<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
-<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Map.Entry;
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
-<a name="32" href="#32">32</a>  
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
-<a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Analyzer;
-<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Jar;
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Resource;
-<a name="41" href="#41">41</a>  
+<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
+<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
+<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
+<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Map.Entry;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
+<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="42" href="#42">42</a>  
-<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * Generate an OSGi manifest for this project</em>
-<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * @goal manifest</em>
-<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * @phase process-classes</em>
-<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
-<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
-<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="51" href="#51">51</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/ManifestPlugin.html">ManifestPlugin</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a>
-<a name="52" href="#52">52</a>  {
-<a name="53" href="#53">53</a>      <em class="jxr_javadoccomment">/**</em>
-<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     * When true, generate the manifest by rebuilding the full bundle in memory </em>
-<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     *</em>
-<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">     * @parameter expression="${rebuildBundle}"</em>
-<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     */</em>
-<a name="58" href="#58">58</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> rebuildBundle;
-<a name="59" href="#59">59</a>  
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">/**</em>
+<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * Generate an OSGi manifest for this project</em>
+<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * </em>
+<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * @goal manifest</em>
+<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * @phase process-classes</em>
+<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * @requiresDependencyResolution test</em>
+<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * @threadSafe</em>
+<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> */</em>
+<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/ManifestPlugin.html">ManifestPlugin</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/BundlePlugin.html">BundlePlugin</a>
+<a name="53" href="#53">53</a>  {
+<a name="54" href="#54">54</a>      <em class="jxr_javadoccomment">/**</em>
+<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     * When true, generate the manifest by rebuilding the full bundle in memory </em>
+<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">     *</em>
+<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     * @parameter expression="${rebuildBundle}"</em>
+<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     */</em>
+<a name="59" href="#59">59</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> rebuildBundle;
 <a name="60" href="#60">60</a>  
-<a name="61" href="#61">61</a>      @Override
-<a name="62" href="#62">62</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
-<a name="63" href="#63">63</a>          <strong class="jxr_keyword">throws</strong> MojoExecutionException
-<a name="64" href="#64">64</a>      {
-<a name="65" href="#65">65</a>          Manifest manifest;
-<a name="66" href="#66">66</a>          <strong class="jxr_keyword">try</strong>
-<a name="67" href="#67">67</a>          {
-<a name="68" href="#68">68</a>              manifest = getManifest( project, instructions, properties, classpath );
-<a name="69" href="#69">69</a>          }
-<a name="70" href="#70">70</a>          <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
-<a name="71" href="#71">71</a>          {
-<a name="72" href="#72">72</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot find "</span> + e.getMessage()
-<a name="73" href="#73">73</a>                  + <span class="jxr_string">" (manifest goal must be run after compile phase)"</span>, e );
-<a name="74" href="#74">74</a>          }
-<a name="75" href="#75">75</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="76" href="#76">76</a>          {
-<a name="77" href="#77">77</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to generate Manifest"</span>, e );
-<a name="78" href="#78">78</a>          }
-<a name="79" href="#79">79</a>          <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
-<a name="80" href="#80">80</a>          {
-<a name="81" href="#81">81</a>              getLog().error( e.getLocalizedMessage() );
-<a name="82" href="#82">82</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in manifest configuration"</span>, e );
-<a name="83" href="#83">83</a>          }
-<a name="84" href="#84">84</a>          <strong class="jxr_keyword">catch</strong> ( Exception e )
-<a name="85" href="#85">85</a>          {
-<a name="86" href="#86">86</a>              getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
-<a name="87" href="#87">87</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Internal error in maven-bundle-plugin"</span>, e );
-<a name="88" href="#88">88</a>          }
-<a name="89" href="#89">89</a>  
-<a name="90" href="#90">90</a>          File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
-<a name="91" href="#91">91</a>  
-<a name="92" href="#92">92</a>          <strong class="jxr_keyword">try</strong>
-<a name="93" href="#93">93</a>          {
-<a name="94" href="#94">94</a>              writeManifest( manifest, outputFile );
-<a name="95" href="#95">95</a>          }
-<a name="96" href="#96">96</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="97" href="#97">97</a>          {
-<a name="98" href="#98">98</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
-<a name="99" href="#99">99</a>          }
-<a name="100" href="#100">100</a>     }
-<a name="101" href="#101">101</a> 
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      @Override
+<a name="63" href="#63">63</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
+<a name="64" href="#64">64</a>          <strong class="jxr_keyword">throws</strong> MojoExecutionException
+<a name="65" href="#65">65</a>      {
+<a name="66" href="#66">66</a>          Manifest manifest;
+<a name="67" href="#67">67</a>          <strong class="jxr_keyword">try</strong>
+<a name="68" href="#68">68</a>          {
+<a name="69" href="#69">69</a>              manifest = getManifest( project, instructions, properties, classpath );
+<a name="70" href="#70">70</a>          }
+<a name="71" href="#71">71</a>          <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
+<a name="72" href="#72">72</a>          {
+<a name="73" href="#73">73</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Cannot find "</span> + e.getMessage()
+<a name="74" href="#74">74</a>                  + <span class="jxr_string">" (manifest goal must be run after compile phase)"</span>, e );
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>          <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a name="77" href="#77">77</a>          {
+<a name="78" href="#78">78</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error trying to generate Manifest"</span>, e );
+<a name="79" href="#79">79</a>          }
+<a name="80" href="#80">80</a>          <strong class="jxr_keyword">catch</strong> ( MojoFailureException e )
+<a name="81" href="#81">81</a>          {
+<a name="82" href="#82">82</a>              getLog().error( e.getLocalizedMessage() );
+<a name="83" href="#83">83</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error(s) found in manifest configuration"</span>, e );
+<a name="84" href="#84">84</a>          }
+<a name="85" href="#85">85</a>          <strong class="jxr_keyword">catch</strong> ( Exception e )
+<a name="86" href="#86">86</a>          {
+<a name="87" href="#87">87</a>              getLog().error( <span class="jxr_string">"An internal error occurred"</span>, e );
+<a name="88" href="#88">88</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="89" href="#89">89</a>          }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          File outputFile = <strong class="jxr_keyword">new</strong> File( manifestLocation, <span class="jxr_string">"MANIFEST.MF"</span> );
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          <strong class="jxr_keyword">try</strong>
+<a name="94" href="#94">94</a>          {
+<a name="95" href="#95">95</a>              writeManifest( manifest, outputFile );
+<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> MojoExecutionException( <span class="jxr_string">"Error trying to write Manifest to file "</span> + outputFile, e );
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a>     }
 <a name="102" href="#102">102</a> 
-<a name="103" href="#103">103</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException,
-<a name="104" href="#104">104</a>         MojoExecutionException, Exception
-<a name="105" href="#105">105</a>     {
-<a name="106" href="#106">106</a>         <strong class="jxr_keyword">return</strong> getManifest( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
-<a name="107" href="#107">107</a>     }
-<a name="108" href="#108">108</a> 
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException,
+<a name="105" href="#105">105</a>         MojoExecutionException, Exception
+<a name="106" href="#106">106</a>     {
+<a name="107" href="#107">107</a>         <strong class="jxr_keyword">return</strong> getManifest( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
+<a name="108" href="#108">108</a>     }
 <a name="109" href="#109">109</a> 
-<a name="110" href="#110">110</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
-<a name="111" href="#111">111</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException, MojoExecutionException, Exception
-<a name="112" href="#112">112</a>     {
-<a name="113" href="#113">113</a>         Analyzer analyzer = getAnalyzer( project, instructions, properties, classpath );
-<a name="114" href="#114">114</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Manifest "</span> + project.getArtifact(), analyzer );
-<a name="115" href="#115">115</a>         <strong class="jxr_keyword">if</strong> ( hasErrors )
-<a name="116" href="#116">116</a>         {
-<a name="117" href="#117">117</a>             String failok = analyzer.getProperty( <span class="jxr_string">"-failok"</span> );
-<a name="118" href="#118">118</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
-<a name="119" href="#119">119</a>             {
-<a name="120" href="#120">120</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in manifest configuration"</span> );
-<a name="121" href="#121">121</a>             }
-<a name="122" href="#122">122</a>         }
-<a name="123" href="#123">123</a> 
-<a name="124" href="#124">124</a>         Jar jar = analyzer.getJar();
-<a name="125" href="#125">125</a> 
-<a name="126" href="#126">126</a>         <strong class="jxr_keyword">if</strong> ( unpackBundle )
-<a name="127" href="#127">127</a>         {
-<a name="128" href="#128">128</a>             File outputFile = getOutputDirectory();
-<a name="129" href="#129">129</a>             <strong class="jxr_keyword">for</strong> ( Entry&lt;String, Resource&gt; entry : jar.getResources().entrySet() )
-<a name="130" href="#130">130</a>             {
-<a name="131" href="#131">131</a>                 File entryFile = <strong class="jxr_keyword">new</strong> File( outputFile, entry.getKey() );
-<a name="132" href="#132">132</a>                 <strong class="jxr_keyword">if</strong> ( !entryFile.exists() || entry.getValue().lastModified() == 0 )
-<a name="133" href="#133">133</a>                 {
-<a name="134" href="#134">134</a>                     entryFile.getParentFile().mkdirs();
-<a name="135" href="#135">135</a>                     OutputStream os = <strong class="jxr_keyword">new</strong> FileOutputStream( entryFile );
-<a name="136" href="#136">136</a>                     entry.getValue().write( os );
-<a name="137" href="#137">137</a>                     os.close();
-<a name="138" href="#138">138</a>                 }
-<a name="139" href="#139">139</a>             }
-<a name="140" href="#140">140</a>         }
-<a name="141" href="#141">141</a> 
-<a name="142" href="#142">142</a>         Manifest manifest = jar.getManifest();
-<a name="143" href="#143">143</a> 
-<a name="144" href="#144">144</a>         <em class="jxr_comment">// cleanup...</em>
-<a name="145" href="#145">145</a>         analyzer.close();
-<a name="146" href="#146">146</a> 
-<a name="147" href="#147">147</a>         <strong class="jxr_keyword">return</strong> manifest;
-<a name="148" href="#148">148</a>     }
-<a name="149" href="#149">149</a> 
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <strong class="jxr_keyword">public</strong> Manifest getManifest( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
+<a name="112" href="#112">112</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoFailureException, MojoExecutionException, Exception
+<a name="113" href="#113">113</a>     {
+<a name="114" href="#114">114</a>         Analyzer analyzer = getAnalyzer( project, instructions, properties, classpath );
+<a name="115" href="#115">115</a>         <strong class="jxr_keyword">boolean</strong> hasErrors = reportErrors( <span class="jxr_string">"Manifest "</span> + project.getArtifact(), analyzer );
+<a name="116" href="#116">116</a>         <strong class="jxr_keyword">if</strong> ( hasErrors )
+<a name="117" href="#117">117</a>         {
+<a name="118" href="#118">118</a>             String failok = analyzer.getProperty( <span class="jxr_string">"-failok"</span> );
+<a name="119" href="#119">119</a>             <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == failok || <span class="jxr_string">"false"</span>.equalsIgnoreCase( failok ) )
+<a name="120" href="#120">120</a>             {
+<a name="121" href="#121">121</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Error(s) found in manifest configuration"</span> );
+<a name="122" href="#122">122</a>             }
+<a name="123" href="#123">123</a>         }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         Jar jar = analyzer.getJar();
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong class="jxr_keyword">if</strong> ( unpackBundle )
+<a name="128" href="#128">128</a>         {
+<a name="129" href="#129">129</a>             File outputFile = getOutputDirectory();
+<a name="130" href="#130">130</a>             <strong class="jxr_keyword">for</strong> ( Entry&lt;String, Resource&gt; entry : jar.getResources().entrySet() )
+<a name="131" href="#131">131</a>             {
+<a name="132" href="#132">132</a>                 File entryFile = <strong class="jxr_keyword">new</strong> File( outputFile, entry.getKey() );
+<a name="133" href="#133">133</a>                 <strong class="jxr_keyword">if</strong> ( !entryFile.exists() || entry.getValue().lastModified() == 0 )
+<a name="134" href="#134">134</a>                 {
+<a name="135" href="#135">135</a>                     entryFile.getParentFile().mkdirs();
+<a name="136" href="#136">136</a>                     OutputStream os = <strong class="jxr_keyword">new</strong> FileOutputStream( entryFile );
+<a name="137" href="#137">137</a>                     entry.getValue().write( os );
+<a name="138" href="#138">138</a>                     os.close();
+<a name="139" href="#139">139</a>                 }
+<a name="140" href="#140">140</a>             }
+<a name="141" href="#141">141</a>         }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         Manifest manifest = jar.getManifest();
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>         <em class="jxr_comment">// cleanup...</em>
+<a name="146" href="#146">146</a>         analyzer.close();
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         <strong class="jxr_keyword">return</strong> manifest;
+<a name="149" href="#149">149</a>     }
 <a name="150" href="#150">150</a> 
-<a name="151" href="#151">151</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException,
-<a name="152" href="#152">152</a>         Exception
-<a name="153" href="#153">153</a>     {
-<a name="154" href="#154">154</a>         <strong class="jxr_keyword">return</strong> getAnalyzer( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
-<a name="155" href="#155">155</a>     }
-<a name="156" href="#156">156</a> 
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Jar[] classpath ) <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException,
+<a name="153" href="#153">153</a>         Exception
+<a name="154" href="#154">154</a>     {
+<a name="155" href="#155">155</a>         <strong class="jxr_keyword">return</strong> getAnalyzer( project, <strong class="jxr_keyword">new</strong> LinkedHashMap(), <strong class="jxr_keyword">new</strong> Properties(), classpath );
+<a name="156" href="#156">156</a>     }
 <a name="157" href="#157">157</a> 
-<a name="158" href="#158">158</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
-<a name="159" href="#159">159</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException, Exception
-<a name="160" href="#160">160</a>     {
-<a name="161" href="#161">161</a>         <strong class="jxr_keyword">if</strong> ( rebuildBundle &amp;&amp; supportedProjectTypes.contains( project.getArtifact().getType() ) )
-<a name="162" href="#162">162</a>         {
-<a name="163" href="#163">163</a>             <strong class="jxr_keyword">return</strong> buildOSGiBundle( project, instructions, properties, classpath );
-<a name="164" href="#164">164</a>         }
-<a name="165" href="#165">165</a> 
-<a name="166" href="#166">166</a>         File file = project.getArtifact().getFile();
-<a name="167" href="#167">167</a>         <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
-<a name="168" href="#168">168</a>         {
-<a name="169" href="#169">169</a>             file = getOutputDirectory();
-<a name="170" href="#170">170</a>         }
-<a name="171" href="#171">171</a> 
-<a name="172" href="#172">172</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
-<a name="173" href="#173">173</a>         {
-<a name="174" href="#174">174</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> FileNotFoundException( file.getPath() );
-<a name="175" href="#175">175</a>         }
-<a name="176" href="#176">176</a> 
-<a name="177" href="#177">177</a>         Builder analyzer = getOSGiBuilder( project, instructions, properties, classpath );
-<a name="178" href="#178">178</a> 
-<a name="179" href="#179">179</a>         analyzer.setJar( file );
-<a name="180" href="#180">180</a> 
-<a name="181" href="#181">181</a>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.EXPORT_PACKAGE ) == <strong class="jxr_keyword">null</strong>
-<a name="182" href="#182">182</a>             &amp;&amp; analyzer.getProperty( Analyzer.EXPORT_CONTENTS ) == <strong class="jxr_keyword">null</strong>
-<a name="183" href="#183">183</a>             &amp;&amp; analyzer.getProperty( Analyzer.PRIVATE_PACKAGE ) == <strong class="jxr_keyword">null</strong> )
-<a name="184" href="#184">184</a>         {
-<a name="185" href="#185">185</a>             String export = analyzer.calculateExportsFromContents( analyzer.getJar() );
-<a name="186" href="#186">186</a>             analyzer.setProperty( Analyzer.EXPORT_PACKAGE, export );
-<a name="187" href="#187">187</a>         }
-<a name="188" href="#188">188</a> 
-<a name="189" href="#189">189</a>         addMavenInstructions( project, analyzer );
-<a name="190" href="#190">190</a> 
-<a name="191" href="#191">191</a>         analyzer.mergeManifest( analyzer.getJar().getManifest() );
-<a name="192" href="#192">192</a>         analyzer.calcManifest();
-<a name="193" href="#193">193</a> 
-<a name="194" href="#194">194</a>         mergeMavenManifest( project, analyzer );
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <strong class="jxr_keyword">protected</strong> Analyzer getAnalyzer( MavenProject project, Map instructions, Properties properties, Jar[] classpath )
+<a name="160" href="#160">160</a>         <strong class="jxr_keyword">throws</strong> IOException, MojoExecutionException, Exception
+<a name="161" href="#161">161</a>     {
+<a name="162" href="#162">162</a>         <strong class="jxr_keyword">if</strong> ( rebuildBundle &amp;&amp; supportedProjectTypes.contains( project.getArtifact().getType() ) )
+<a name="163" href="#163">163</a>         {
+<a name="164" href="#164">164</a>             <strong class="jxr_keyword">return</strong> buildOSGiBundle( project, instructions, properties, classpath );
+<a name="165" href="#165">165</a>         }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         File file = project.getArtifact().getFile();
+<a name="168" href="#168">168</a>         <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
+<a name="169" href="#169">169</a>         {
+<a name="170" href="#170">170</a>             file = getOutputDirectory();
+<a name="171" href="#171">171</a>         }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
+<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>         <strong class="jxr_keyword">return</strong> analyzer;
-<a name="197" href="#197">197</a>     }
-<a name="198" href="#198">198</a> 
-<a name="199" href="#199">199</a> 
-<a name="200" href="#200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeManifest( Manifest manifest, File outputFile ) <strong class="jxr_keyword">throws</strong> IOException
-<a name="201" href="#201">201</a>     {
-<a name="202" href="#202">202</a>         outputFile.getParentFile().mkdirs();
-<a name="203" href="#203">203</a> 
-<a name="204" href="#204">204</a>         FileOutputStream os;
-<a name="205" href="#205">205</a>         os = <strong class="jxr_keyword">new</strong> FileOutputStream( outputFile );
-<a name="206" href="#206">206</a>         <strong class="jxr_keyword">try</strong>
-<a name="207" href="#207">207</a>         {
-<a name="208" href="#208">208</a>             Jar.writeManifest( manifest, os );
-<a name="209" href="#209">209</a>         }
-<a name="210" href="#210">210</a>         <strong class="jxr_keyword">finally</strong>
-<a name="211" href="#211">211</a>         {
-<a name="212" href="#212">212</a>             <strong class="jxr_keyword">try</strong>
-<a name="213" href="#213">213</a>             {
-<a name="214" href="#214">214</a>                 os.close();
-<a name="215" href="#215">215</a>             }
-<a name="216" href="#216">216</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a name="217" href="#217">217</a>             {
-<a name="218" href="#218">218</a>                 <em class="jxr_comment">// nothing we can do here</em>
-<a name="219" href="#219">219</a>             }
-<a name="220" href="#220">220</a>         }
-<a name="221" href="#221">221</a>     }
-<a name="222" href="#222">222</a> }
+<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> }
 </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/PackageVersionAnalyzer.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/PackageVersionAnalyzer.html
deleted file mode 100644
index ca4d2b3..0000000
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/PackageVersionAnalyzer.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!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>PackageVersionAnalyzer xref</title>
-<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
-</head>
-<body>
-<pre>
-
-<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
-<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
-<a name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
-<a name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
-<a name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
-<a name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
-<a name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
-<a name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
-<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
-<a name="10" href="#10">10</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="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
-<a name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
-<a name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
-<a name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
-<a name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
-<a name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
-<a name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
-<a name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
-<a name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.felix.bundleplugin;
-<a name="20" href="#20">20</a>  
-<a name="21" href="#21">21</a>  
-<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> aQute.lib.osgi.Builder;
-<a name="23" href="#23">23</a>  
-<a name="24" href="#24">24</a>  
-<a name="25" href="#25">25</a>  <em class="jxr_javadoccomment">/**</em>
-<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * Extension of {@link aQute.lib.osgi.Builder} to handle package versions</em>
-<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> * </em>
-<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
-<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> */</em>
-<a name="30" href="#30">30</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/PackageVersionAnalyzer.html">PackageVersionAnalyzer</a> <strong class="jxr_keyword">extends</strong> Builder
-<a name="31" href="#31">31</a>  {
-<a name="32" href="#32">32</a>      <em class="jxr_comment">/*</em>
-<a name="33" href="#33">33</a>  <em class="jxr_comment">     * Remove META-INF subfolders from exports and set package versions to bundle version.</em>
-<a name="34" href="#34">34</a>  <em class="jxr_comment">     */</em>
-<a name="35" href="#35">35</a>      <em class="jxr_comment">/*</em>
-<a name="36" href="#36">36</a>  <em class="jxr_comment">        public Map analyzeBundleClasspath( Jar dot, Map bundleClasspath, Map contained, Map referred, Map uses )</em>
-<a name="37" href="#37">37</a>  <em class="jxr_comment">            throws IOException</em>
-<a name="38" href="#38">38</a>  <em class="jxr_comment">        {</em>
-<a name="39" href="#39">39</a>  <em class="jxr_comment">            Map classSpace = super.analyzeBundleClasspath( dot, bundleClasspath, contained, referred, uses );</em>
-<a name="40" href="#40">40</a>  <em class="jxr_comment">            String bundleVersion = getProperty( BUNDLE_VERSION );</em>
-<a name="41" href="#41">41</a>  <em class="jxr_comment">            for ( Iterator it = contained.entrySet().iterator(); it.hasNext(); )</em>
-<a name="42" href="#42">42</a>  <em class="jxr_comment">            {</em>
-<a name="43" href="#43">43</a>  <em class="jxr_comment">                Map.Entry entry = ( Map.Entry ) it.next();</em>
-<a name="44" href="#44">44</a>  
-<a name="45" href="#45">45</a>  <em class="jxr_comment">                // remove packages under META-INF</em>
-<a name="46" href="#46">46</a>  <em class="jxr_comment">                String packageName = ( String ) entry.getKey();</em>
-<a name="47" href="#47">47</a>  <em class="jxr_comment">                if ( packageName.startsWith( "META-INF." ) )</em>
-<a name="48" href="#48">48</a>  <em class="jxr_comment">                {</em>
-<a name="49" href="#49">49</a>  <em class="jxr_comment">                    it.remove();</em>
-<a name="50" href="#50">50</a>  <em class="jxr_comment">                }</em>
-<a name="51" href="#51">51</a>  
-<a name="52" href="#52">52</a>  <em class="jxr_comment">                // set package versions to bundle version values</em>
-<a name="53" href="#53">53</a>  <em class="jxr_comment">                if ( bundleVersion != null )</em>
-<a name="54" href="#54">54</a>  <em class="jxr_comment">                {</em>
-<a name="55" href="#55">55</a>  <em class="jxr_comment">                    Map values = ( Map ) entry.getValue();</em>
-<a name="56" href="#56">56</a>  <em class="jxr_comment">                    if ( values.get( "version" ) == null )</em>
-<a name="57" href="#57">57</a>  <em class="jxr_comment">                    {</em>
-<a name="58" href="#58">58</a>  <em class="jxr_comment">                        values.put( "version", bundleVersion );</em>
-<a name="59" href="#59">59</a>  <em class="jxr_comment">                    }</em>
-<a name="60" href="#60">60</a>  <em class="jxr_comment">                }</em>
-<a name="61" href="#61">61</a>  <em class="jxr_comment">            }</em>
-<a name="62" href="#62">62</a>  <em class="jxr_comment">            return classSpace;</em>
-<a name="63" href="#63">63</a>  <em class="jxr_comment">        }</em>
-<a name="64" href="#64">64</a>  <em class="jxr_comment">    */</em>
-<a name="65" href="#65">65</a>  }
-</pre>
-<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
-</html>
-
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
index 8da2172..61bac60 100644
--- a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
+++ b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-frame.html
@@ -55,9 +55,6 @@
             	<a href="ManifestPlugin.html" target="classFrame">ManifestPlugin</a>
           	</li>
           	          	<li>
-            	<a href="PackageVersionAnalyzer.html" target="classFrame">PackageVersionAnalyzer</a>
-          	</li>
-          	          	<li>
             	<a href="VersionCleanerPlugin.html" target="classFrame">VersionCleanerPlugin</a>
           	</li>
           	          	<li>
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html b/bundleplugin/doc/site/xref/org/apache/felix/bundleplugin/package-summary.html
index accbbaf..53f7a33 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
@@ -102,11 +102,6 @@
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="PackageVersionAnalyzer.html" target="classFrame">PackageVersionAnalyzer</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="VersionCleanerPlugin.html" target="classFrame">VersionCleanerPlugin</a>
               		</td>
             	</tr>
@@ -137,6 +132,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html b/bundleplugin/doc/site/xref/org/apache/felix/obrplugin/package-summary.html
index ee11860..7a3519a 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-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 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/DependencyTreeResolutionListener.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.html
index 644471f..b4d19d7 100644
--- a/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.html
+++ b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.html
@@ -585,7 +585,13 @@
 <a name="575" href="#575">575</a>     {
 <a name="576" href="#576">576</a>         <strong class="jxr_keyword">return</strong> artifact.getDependencyConflictId() + <span class="jxr_string">":"</span> + artifact.getVersionRange();
 <a name="577" href="#577">577</a>     }
-<a name="578" href="#578">578</a> }
+<a name="578" href="#578">578</a> 
+<a name="579" href="#579">579</a> 
+<a name="580" href="#580">580</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> manageArtifactSystemPath( Artifact artifact, Artifact replacement )
+<a name="581" href="#581">581</a>     {
+<a name="582" href="#582">582</a>         <em class="jxr_comment">// NO-OP</em>
+<a name="583" href="#583">583</a>     }
+<a name="584" href="#584">584</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/dependency/tree/package-summary.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/dependency/tree/package-summary.html
index ed8a9da..c191293 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-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html b/bundleplugin/doc/site/xref/org/apache/maven/shared/osgi/package-summary.html
index 776c4bc..91c03a2 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-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 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 e23604d..e2b532b 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-2011 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2012 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
