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
