diff --git a/bundleplugin/doc/site/xref-test/allclasses-frame.html b/bundleplugin/doc/site/xref-test/allclasses-frame.html
index cd43697..dddc3a8 100644
--- a/bundleplugin/doc/site/xref-test/allclasses-frame.html
+++ b/bundleplugin/doc/site/xref-test/allclasses-frame.html
@@ -27,6 +27,9 @@
 				<a href="org/apache/felix/bundleplugin/BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
 			</li>
 						<li>
+				<a href="org/apache/felix/bundleplugin/ManifestWriterTest.html" target="classFrame">ManifestWriterTest</a>
+			</li>
+						<li>
 				<a href="org/apache/maven/shared/osgi/Maven2OsgiConverterTest.html" target="classFrame">Maven2OsgiConverterTest</a>
 			</li>
 			      </ul>
diff --git a/bundleplugin/doc/site/xref-test/index.html b/bundleplugin/doc/site/xref-test/index.html
index a3c1140..0260334 100644
--- a/bundleplugin/doc/site/xref-test/index.html
+++ b/bundleplugin/doc/site/xref-test/index.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 	</head>
     <frameset cols="20%,80%">
 		<frameset rows="30%,70%">
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
index d8d9a06..b53bad3 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BlueprintComponentTest.html
@@ -38,85 +38,120 @@
 <a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
 <a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.jar.Manifest;
 <a name="30" href="#30">30</a>  
-<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
-<a name="32" href="#32">32</a>  
-<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
-<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
+<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
+<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
+<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Verifier;
+<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> aQute.libg.generics.Create;
+<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
 <a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
-<a name="38" href="#38">38</a>  
-<a name="39" href="#39">39</a>  
-<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintComponentTest.html">BlueprintComponentTest</a> <strong class="jxr_keyword">extends</strong> TestCase
-<a name="41" href="#41">41</a>  {
+<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Clause;
+<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.felix.utils.manifest.Parser;
+<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.model.Resource;
+<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.osgi.framework.Constants;
 <a name="42" href="#42">42</a>  
-<a name="43" href="#43">43</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlueprint() <strong class="jxr_keyword">throws</strong> Exception
-<a name="44" href="#44">44</a>      {
-<a name="45" href="#45">45</a>          MavenProjectStub project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
-<a name="46" href="#46">46</a>          {
-<a name="47" href="#47">47</a>              <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List resources = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Builder;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/BlueprintComponentTest.html">BlueprintComponentTest</a> <strong class="jxr_keyword">extends</strong> TestCase
+<a name="47" href="#47">47</a>  {
 <a name="48" href="#48">48</a>  
-<a name="49" href="#49">49</a>  
-<a name="50" href="#50">50</a>              @Override
-<a name="51" href="#51">51</a>              <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addResource( Resource resource )
-<a name="52" href="#52">52</a>              {
-<a name="53" href="#53">53</a>                  resources.add( resource );
-<a name="54" href="#54">54</a>              }
-<a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>  
-<a name="57" href="#57">57</a>              @Override
-<a name="58" href="#58">58</a>              <strong class="jxr_keyword">public</strong> List getResources()
-<a name="59" href="#59">59</a>              {
-<a name="60" href="#60">60</a>                  <strong class="jxr_keyword">return</strong> resources;
-<a name="61" href="#61">61</a>              }
-<a name="62" href="#62">62</a>  
-<a name="63" href="#63">63</a>  
-<a name="64" href="#64">64</a>              @Override
-<a name="65" href="#65">65</a>              <strong class="jxr_keyword">public</strong> File getBasedir()
-<a name="66" href="#66">66</a>              {
-<a name="67" href="#67">67</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir"</span> );
-<a name="68" href="#68">68</a>              }
-<a name="69" href="#69">69</a>          };
-<a name="70" href="#70">70</a>          project.setGroupId( <span class="jxr_string">"group"</span> );
-<a name="71" href="#71">71</a>          project.setArtifactId( <span class="jxr_string">"artifact"</span> );
-<a name="72" href="#72">72</a>          project.setVersion( <span class="jxr_string">"1.1.0.0"</span> );
-<a name="73" href="#73">73</a>          Resource r = <strong class="jxr_keyword">new</strong> Resource();
-<a name="74" href="#74">74</a>          r.setDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
-<a name="75" href="#75">75</a>          r.setIncludes( Arrays.asList( <span class="jxr_string">"**/*.*"</span> ) );
-<a name="76" href="#76">76</a>          project.addResource( r );
-<a name="77" href="#77">77</a>          project.addCompileSourceRoot( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
+<a name="49" href="#49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlueprintServices() <strong class="jxr_keyword">throws</strong> Exception
+<a name="50" href="#50">50</a>      {
+<a name="51" href="#51">51</a>          test( <span class="jxr_string">"service"</span> );
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlueprintGeneric() <strong class="jxr_keyword">throws</strong> Exception
+<a name="55" href="#55">55</a>      {
+<a name="56" href="#56">56</a>          test( <span class="jxr_string">"generic"</span> );
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> test(String mode) <strong class="jxr_keyword">throws</strong> Exception
+<a name="60" href="#60">60</a>      {
+<a name="61" href="#61">61</a>          MavenProjectStub project = <strong class="jxr_keyword">new</strong> MavenProjectStub()
+<a name="62" href="#62">62</a>          {
+<a name="63" href="#63">63</a>              <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List resources = <strong class="jxr_keyword">new</strong> ArrayList();
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>              @Override
+<a name="67" href="#67">67</a>              <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addResource( Resource resource )
+<a name="68" href="#68">68</a>              {
+<a name="69" href="#69">69</a>                  resources.add( resource );
+<a name="70" href="#70">70</a>              }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>              @Override
+<a name="74" href="#74">74</a>              <strong class="jxr_keyword">public</strong> List getResources()
+<a name="75" href="#75">75</a>              {
+<a name="76" href="#76">76</a>                  <strong class="jxr_keyword">return</strong> resources;
+<a name="77" href="#77">77</a>              }
 <a name="78" href="#78">78</a>  
-<a name="79" href="#79">79</a>          ManifestPlugin plugin = <strong class="jxr_keyword">new</strong> ManifestPlugin();
-<a name="80" href="#80">80</a>          plugin.setBuildDirectory( <span class="jxr_string">"target/tmp/basedir/target"</span> );
-<a name="81" href="#81">81</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir/target/classes"</span> ) );
-<a name="82" href="#82">82</a>  
-<a name="83" href="#83">83</a>          Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
-<a name="84" href="#84">84</a>          instructions.put( <span class="jxr_string">"Test"</span>, <span class="jxr_string">"Foo"</span> );
-<a name="85" href="#85">85</a>  
-<a name="86" href="#86">86</a>          instructions.put( <span class="jxr_string">"nsh_interface"</span>, <span class="jxr_string">"foo.bar.Namespace"</span> );
-<a name="87" href="#87">87</a>          instructions.put( <span class="jxr_string">"nsh_namespace"</span>, <span class="jxr_string">"ns"</span> );
-<a name="88" href="#88">88</a>  
-<a name="89" href="#89">89</a>          instructions.put( <span class="jxr_string">"Export-Service"</span>, <span class="jxr_string">"p7.Foo;mk=mv"</span> );
-<a name="90" href="#90">90</a>          instructions.put( <span class="jxr_string">"Import-Service"</span>, <span class="jxr_string">"org.osgi.service.cm.ConfigurationAdmin;availability:=optional"</span> );
-<a name="91" href="#91">91</a>  
-<a name="92" href="#92">92</a>          Properties props = <strong class="jxr_keyword">new</strong> Properties();
-<a name="93" href="#93">93</a>          Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>              @Override
+<a name="81" href="#81">81</a>              <strong class="jxr_keyword">public</strong> File getBasedir()
+<a name="82" href="#82">82</a>              {
+<a name="83" href="#83">83</a>                  <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir"</span> );
+<a name="84" href="#84">84</a>              }
+<a name="85" href="#85">85</a>          };
+<a name="86" href="#86">86</a>          project.setGroupId( <span class="jxr_string">"group"</span> );
+<a name="87" href="#87">87</a>          project.setArtifactId( <span class="jxr_string">"artifact"</span> );
+<a name="88" href="#88">88</a>          project.setVersion( <span class="jxr_string">"1.1.0.0"</span> );
+<a name="89" href="#89">89</a>          Resource r = <strong class="jxr_keyword">new</strong> Resource();
+<a name="90" href="#90">90</a>          r.setDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
+<a name="91" href="#91">91</a>          r.setIncludes( Arrays.asList( <span class="jxr_string">"**/*.*"</span> ) );
+<a name="92" href="#92">92</a>          project.addResource( r );
+<a name="93" href="#93">93</a>          project.addCompileSourceRoot( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"src/test/resources"</span> ).getAbsoluteFile().getCanonicalPath() );
 <a name="94" href="#94">94</a>  
-<a name="95" href="#95">95</a>          Manifest manifest = builder.getJar().getManifest();
-<a name="96" href="#96">96</a>          String expSvc = manifest.getMainAttributes().getValue( Constants.EXPORT_SERVICE );
-<a name="97" href="#97">97</a>          String impSvc = manifest.getMainAttributes().getValue( Constants.IMPORT_SERVICE );
-<a name="98" href="#98">98</a>          assertNotNull( expSvc );
-<a name="99" href="#99">99</a>          assertNotNull( impSvc );
-<a name="100" href="#100">100</a> 
-<a name="101" href="#101">101</a>         String impPkg = manifest.getMainAttributes().getValue( Constants.IMPORT_PACKAGE );
-<a name="102" href="#102">102</a>         List&lt;String&gt; pkgs = Arrays.asList( impPkg.split( <span class="jxr_string">","</span> ) );
-<a name="103" href="#103">103</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 1; i &lt;= 13; i++ )
-<a name="104" href="#104">104</a>         {
-<a name="105" href="#105">105</a>             assertTrue( pkgs.contains( <span class="jxr_string">"p"</span> + i ) );
-<a name="106" href="#106">106</a>         }
-<a name="107" href="#107">107</a>     }
+<a name="95" href="#95">95</a>          ManifestPlugin plugin = <strong class="jxr_keyword">new</strong> ManifestPlugin();
+<a name="96" href="#96">96</a>          plugin.setBuildDirectory( <span class="jxr_string">"target/tmp/basedir/target"</span> );
+<a name="97" href="#97">97</a>          plugin.setOutputDirectory( <strong class="jxr_keyword">new</strong> File( <span class="jxr_string">"target/tmp/basedir/target/classes"</span> ) );
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          Map instructions = <strong class="jxr_keyword">new</strong> HashMap();
+<a name="100" href="#100">100</a>         instructions.put( <span class="jxr_string">"service_mode"</span>, mode );
+<a name="101" href="#101">101</a>         instructions.put( <span class="jxr_string">"Test"</span>, <span class="jxr_string">"Foo"</span> );
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         instructions.put( <span class="jxr_string">"nsh_interface"</span>, <span class="jxr_string">"foo.bar.Namespace"</span> );
+<a name="104" href="#104">104</a>         instructions.put( <span class="jxr_string">"nsh_namespace"</span>, <span class="jxr_string">"ns"</span> );
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         instructions.put( <span class="jxr_string">"Export-Service"</span>, <span class="jxr_string">"p7.Foo;mk=mv"</span> );
+<a name="107" href="#107">107</a>         instructions.put( <span class="jxr_string">"Import-Service"</span>, <span class="jxr_string">"org.osgi.service.cm.ConfigurationAdmin;availability:=optional"</span> );
 <a name="108" href="#108">108</a> 
-<a name="109" href="#109">109</a> }
+<a name="109" href="#109">109</a>         Properties props = <strong class="jxr_keyword">new</strong> Properties();
+<a name="110" href="#110">110</a>         Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         Manifest manifest = builder.getJar().getManifest();
+<a name="113" href="#113">113</a>         String expSvc = manifest.getMainAttributes().getValue( Constants.EXPORT_SERVICE );
+<a name="114" href="#114">114</a>         String impSvc = manifest.getMainAttributes().getValue( Constants.IMPORT_SERVICE );
+<a name="115" href="#115">115</a>         assertNotNull( expSvc );
+<a name="116" href="#116">116</a>         assertNotNull( impSvc );
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         String impPkg = manifest.getMainAttributes().getValue( Constants.IMPORT_PACKAGE );
+<a name="119" href="#119">119</a>         List&lt;String&gt; pkgs = Create.list();
+<a name="120" href="#120">120</a>         <strong class="jxr_keyword">for</strong> (Clause clause : Parser.parseHeader(impPkg))
+<a name="121" href="#121">121</a>         {
+<a name="122" href="#122">122</a>             pkgs.add(clause.getName());
+<a name="123" href="#123">123</a>         }
+<a name="124" href="#124">124</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 1; i &lt;= 14; i++ )
+<a name="125" href="#125">125</a>         {
+<a name="126" href="#126">126</a>             assertTrue( pkgs.contains( <span class="jxr_string">"p"</span> + i ) );
+<a name="127" href="#127">127</a>         }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong class="jxr_keyword">new</strong> Verifier(builder).verify();
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAnalyzer() <strong class="jxr_keyword">throws</strong> Exception
+<a name="133" href="#133">133</a>     {
+<a name="134" href="#134">134</a>         Analyzer analyzer = <strong class="jxr_keyword">new</strong> Analyzer();
+<a name="135" href="#135">135</a>         Manifest manifest = <strong class="jxr_keyword">new</strong> Manifest();
+<a name="136" href="#136">136</a>         manifest.read(getClass().getResourceAsStream(<span class="jxr_string">"/test.mf"</span>));
+<a name="137" href="#137">137</a>         Jar jar = <strong class="jxr_keyword">new</strong> Jar(<span class="jxr_string">"name"</span>);
+<a name="138" href="#138">138</a>         jar.setManifest(manifest);
+<a name="139" href="#139">139</a>         analyzer.setJar(jar);
+<a name="140" href="#140">140</a>         analyzer.analyze();
+<a name="141" href="#141">141</a>         <strong class="jxr_keyword">new</strong> Verifier(analyzer).verify();
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
index ca1eae8..d6d9b59 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/BundlePluginTest.html
@@ -219,7 +219,7 @@
 <a name="209" href="#209">209</a>         MavenProject project = getMavenProjectStub();
 <a name="210" href="#210">210</a>         project.addCompileSourceRoot( getBasedir() + <span class="jxr_string">"/src/test/java"</span> );
 <a name="211" href="#211">211</a> 
-<a name="212" href="#212">212</a>         String resourcePaths = plugin.getMavenResourcePaths( project );
+<a name="212" href="#212">212</a>         String resourcePaths = plugin.getMavenResourcePaths( project, false );
 <a name="213" href="#213">213</a> 
 <a name="214" href="#214">214</a>         assertEquals( <span class="jxr_string">"org/apache/felix/bundleplugin/packageinfo="</span>
 <a name="215" href="#215">215</a>             + <span class="jxr_string">"src/test/java/org/apache/felix/bundleplugin/packageinfo"</span>, resourcePaths );
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
index 8475f76..20bd549 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -30,6 +30,9 @@
           	          	<li>
             	<a href="BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
           	</li>
+          	          	<li>
+            	<a href="ManifestWriterTest.html" target="classFrame">ManifestWriterTest</a>
+          	</li>
           	      	</ul>
 
 	</body>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html
index 936f8c5..f162ce5 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/felix/bundleplugin/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.felix.bundleplugin</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.felix.bundleplugin</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -60,6 +60,11 @@
                 		<a href="BundlePluginTest.html" target="classFrame">BundlePluginTest</a>
               		</td>
             	</tr>
+				            	<tr>
+              		<td>
+                		<a href="ManifestWriterTest.html" target="classFrame">ManifestWriterTest</a>
+              		</td>
+            	</tr>
 				        	</tbody>
       	</table>
 		
@@ -82,6 +87,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
index f8f48af..e3e689a 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.osgi</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
index 6bd63ca..2d6b403 100644
--- a/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
+++ b/bundleplugin/doc/site/xref-test/org/apache/maven/shared/osgi/package-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference Package org.apache.maven.shared.osgi</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference Package org.apache.maven.shared.osgi</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -62,6 +62,6 @@
         	</ul>
       	</div>
 				<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
diff --git a/bundleplugin/doc/site/xref-test/overview-frame.html b/bundleplugin/doc/site/xref-test/overview-frame.html
index aed0619..79b866a 100644
--- a/bundleplugin/doc/site/xref-test/overview-frame.html
+++ b/bundleplugin/doc/site/xref-test/overview-frame.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
diff --git a/bundleplugin/doc/site/xref-test/overview-summary.html b/bundleplugin/doc/site/xref-test/overview-summary.html
index 79c5369..e995325 100644
--- a/bundleplugin/doc/site/xref-test/overview-summary.html
+++ b/bundleplugin/doc/site/xref-test/overview-summary.html
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</title>
+		<title>Maven Bundle Plugin 2.5.0 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -24,7 +24,7 @@
 	        </ul>
       	</div>
 		
-		      	<h2>Maven Bundle Plugin 2.4.0-SNAPSHOT Reference</h2>
+		      	<h2>Maven Bundle Plugin 2.5.0 Reference</h2>
 
 		<table class="summary">
         	<thead>
@@ -64,6 +64,6 @@
       	</div>
 		
 		<hr />
-		Copyright &copy; 2006-2013 The Apache Software Foundation. All Rights Reserved.
+		Copyright &copy; 2006-2014 The Apache Software Foundation. All Rights Reserved.
 	</body>
 </html>
\ No newline at end of file
