<!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>DependencyEmbedder 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> java.io.File;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.logging.Log;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Analyzer;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">/**</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * Add BND directives to embed selected dependencies inside a bundle</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * </em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:dev@felix.apache.org" target="alexandria_uri">mailto:dev@felix.apache.org</a>"&gt;Felix Project Team&lt;/a&gt;</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/felix/bundleplugin/AbstractDependencyFilter.html">AbstractDependencyFilter</a>
<a name="41" href="#41">41</a>  {
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_DEPENDENCY = <span class="jxr_string">"Embed-Dependency"</span>;
<a name="43" href="#43">43</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_DIRECTORY = <span class="jxr_string">"Embed-Directory"</span>;
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_STRIP_GROUP = <span class="jxr_string">"Embed-StripGroup"</span>;
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_STRIP_VERSION = <span class="jxr_string">"Embed-StripVersion"</span>;
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBED_TRANSITIVE = <span class="jxr_string">"Embed-Transitive"</span>;
<a name="47" href="#47">47</a>  
<a name="48" href="#48">48</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMBEDDED_ARTIFACTS = <span class="jxr_string">"Embedded-Artifacts"</span>;
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAVEN_DEPENDENCIES = <span class="jxr_string">"{maven-dependencies}"</span>;
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">private</strong> String m_embedDirectory;
<a name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> String m_embedStripGroup;
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> String m_embedStripVersion;
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <em class="jxr_javadoccomment">/**</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     * Maven logger.</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     */</em>
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Log m_log;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <em class="jxr_javadoccomment">/**</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     * Inlined paths.</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     */</em>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection m_inlinedPaths;
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <em class="jxr_javadoccomment">/**</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     * Embedded artifacts.</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     */</em>
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection m_embeddedArtifacts;
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/felix/bundleplugin/DependencyEmbedder.html">DependencyEmbedder</a>( Log log, Collection dependencyArtifacts )
<a name="73" href="#73">73</a>      {
<a name="74" href="#74">74</a>          <strong class="jxr_keyword">super</strong>( dependencyArtifacts );
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>          m_log = log;
<a name="77" href="#77">77</a>  
<a name="78" href="#78">78</a>          m_inlinedPaths = <strong class="jxr_keyword">new</strong> LinkedHashSet();
<a name="79" href="#79">79</a>          m_embeddedArtifacts = <strong class="jxr_keyword">new</strong> LinkedHashSet();
<a name="80" href="#80">80</a>      }
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> processHeaders( Analyzer analyzer ) <strong class="jxr_keyword">throws</strong> MojoExecutionException
<a name="84" href="#84">84</a>      {
<a name="85" href="#85">85</a>          StringBuffer includeResource = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="86" href="#86">86</a>          StringBuffer bundleClassPath = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="87" href="#87">87</a>          StringBuffer embeddedArtifacts = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>          m_inlinedPaths.clear();
<a name="90" href="#90">90</a>          m_embeddedArtifacts.clear();
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>          String embedDependencyHeader = analyzer.getProperty( EMBED_DEPENDENCY );
<a name="93" href="#93">93</a>          <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( embedDependencyHeader ) )
<a name="94" href="#94">94</a>          {
<a name="95" href="#95">95</a>              m_embedDirectory = analyzer.getProperty( EMBED_DIRECTORY );
<a name="96" href="#96">96</a>              m_embedStripGroup = analyzer.getProperty( EMBED_STRIP_GROUP, <span class="jxr_string">"true"</span> );
<a name="97" href="#97">97</a>              m_embedStripVersion = analyzer.getProperty( EMBED_STRIP_VERSION );
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>              processInstructions( embedDependencyHeader );
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = m_inlinedPaths.iterator(); i.hasNext(); )
<a name="102" href="#102">102</a>             {
<a name="103" href="#103">103</a>                 inlineDependency( ( String ) i.next(), includeResource );
<a name="104" href="#104">104</a>             }
<a name="105" href="#105">105</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = m_embeddedArtifacts.iterator(); i.hasNext(); )
<a name="106" href="#106">106</a>             {
<a name="107" href="#107">107</a>                 embedDependency( ( Artifact ) i.next(), includeResource, bundleClassPath, embeddedArtifacts );
<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>         <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.WAB ) == <strong class="jxr_keyword">null</strong> &amp;&amp; bundleClassPath.length() &gt; 0 )
<a name="112" href="#112">112</a>         {
<a name="113" href="#113">113</a>             <em class="jxr_comment">// set explicit default before merging dependency classpath</em>
<a name="114" href="#114">114</a>             <strong class="jxr_keyword">if</strong> ( analyzer.getProperty( Analyzer.BUNDLE_CLASSPATH ) == <strong class="jxr_keyword">null</strong> )
<a name="115" href="#115">115</a>             {
<a name="116" href="#116">116</a>                 analyzer.setProperty( Analyzer.BUNDLE_CLASSPATH, <span class="jxr_string">"."</span> );
<a name="117" href="#117">117</a>             }
<a name="118" href="#118">118</a>         }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>         appendDependencies( analyzer, Analyzer.INCLUDE_RESOURCE, includeResource.toString() );
<a name="121" href="#121">121</a>         appendDependencies( analyzer, Analyzer.BUNDLE_CLASSPATH, bundleClassPath.toString() );
<a name="122" href="#122">122</a>         appendDependencies( analyzer, EMBEDDED_ARTIFACTS, embeddedArtifacts.toString() );
<a name="123" href="#123">123</a>     }
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a> 
<a name="126" href="#126">126</a>     @Override
<a name="127" href="#127">127</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processDependencies( Collection dependencies, String inline )
<a name="128" href="#128">128</a>     {
<a name="129" href="#129">129</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> == inline || <span class="jxr_string">"false"</span>.equalsIgnoreCase( inline ) )
<a name="130" href="#130">130</a>         {
<a name="131" href="#131">131</a>             m_embeddedArtifacts.addAll( dependencies );
<a name="132" href="#132">132</a>         }
<a name="133" href="#133">133</a>         <strong class="jxr_keyword">else</strong>
<a name="134" href="#134">134</a>         {
<a name="135" href="#135">135</a>             <strong class="jxr_keyword">for</strong> ( Iterator i = dependencies.iterator(); i.hasNext(); )
<a name="136" href="#136">136</a>             {
<a name="137" href="#137">137</a>                 addInlinedPaths( ( Artifact ) i.next(), inline, m_inlinedPaths );
<a name="138" href="#138">138</a>             }
<a name="139" href="#139">139</a>         }
<a name="140" href="#140">140</a>     }
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addInlinedPaths( Artifact dependency, String inline, Collection inlinedPaths )
<a name="144" href="#144">144</a>     {
<a name="145" href="#145">145</a>         File path = dependency.getFile();
<a name="146" href="#146">146</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != path &amp;&amp; path.exists() )
<a name="147" href="#147">147</a>         {
<a name="148" href="#148">148</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"true"</span>.equalsIgnoreCase( inline ) || inline.length() == 0 )
<a name="149" href="#149">149</a>             {
<a name="150" href="#150">150</a>                 inlinedPaths.add( path.getPath() );
<a name="151" href="#151">151</a>             }
<a name="152" href="#152">152</a>             <strong class="jxr_keyword">else</strong>
<a name="153" href="#153">153</a>             {
<a name="154" href="#154">154</a>                 String[] filters = inline.split( <span class="jxr_string">"&#92;&#92;|"</span> );
<a name="155" href="#155">155</a>                 <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; filters.length; i++ )
<a name="156" href="#156">156</a>                 {
<a name="157" href="#157">157</a>                     <strong class="jxr_keyword">if</strong> ( filters[i].length() &gt; 0 )
<a name="158" href="#158">158</a>                     {
<a name="159" href="#159">159</a>                         inlinedPaths.add( path + <span class="jxr_string">"!/"</span> + filters[i] );
<a name="160" href="#160">160</a>                     }
<a name="161" href="#161">161</a>                 }
<a name="162" href="#162">162</a>             }
<a name="163" href="#163">163</a>         }
<a name="164" href="#164">164</a>     }
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a> 
<a name="167" href="#167">167</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> embedDependency( Artifact dependency, StringBuffer includeResource, StringBuffer bundleClassPath,
<a name="168" href="#168">168</a>         StringBuffer embeddedArtifacts )
<a name="169" href="#169">169</a>     {
<a name="170" href="#170">170</a>         File sourceFile = dependency.getFile();
<a name="171" href="#171">171</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != sourceFile &amp;&amp; sourceFile.exists() )
<a name="172" href="#172">172</a>         {
<a name="173" href="#173">173</a>             String embedDirectory = m_embedDirectory;
<a name="174" href="#174">174</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">""</span>.equals( embedDirectory ) || <span class="jxr_string">"."</span>.equals( embedDirectory ) )
<a name="175" href="#175">175</a>             {
<a name="176" href="#176">176</a>                 embedDirectory = <strong class="jxr_keyword">null</strong>;
<a name="177" href="#177">177</a>             }
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a>             <strong class="jxr_keyword">if</strong> ( false == Boolean.valueOf( m_embedStripGroup ).booleanValue() )
<a name="180" href="#180">180</a>             {
<a name="181" href="#181">181</a>                 embedDirectory = <strong class="jxr_keyword">new</strong> File( embedDirectory, dependency.getGroupId() ).getPath();
<a name="182" href="#182">182</a>             }
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>             StringBuffer targetFileName = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="185" href="#185">185</a>             targetFileName.append( dependency.getArtifactId() );
<a name="186" href="#186">186</a>             <strong class="jxr_keyword">if</strong> ( false == Boolean.valueOf( m_embedStripVersion ).booleanValue() )
<a name="187" href="#187">187</a>             {
<a name="188" href="#188">188</a>                 targetFileName.append( '-' ).append( dependency.getVersion() );
<a name="189" href="#189">189</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( dependency.getClassifier() ) )
<a name="190" href="#190">190</a>                 {
<a name="191" href="#191">191</a>                     targetFileName.append( '-' ).append( dependency.getClassifier() );
<a name="192" href="#192">192</a>                 }
<a name="193" href="#193">193</a>             }
<a name="194" href="#194">194</a>             String extension = dependency.getArtifactHandler().getExtension();
<a name="195" href="#195">195</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( extension ) )
<a name="196" href="#196">196</a>             {
<a name="197" href="#197">197</a>                 targetFileName.append( '.' ).append( extension );
<a name="198" href="#198">198</a>             }
<a name="199" href="#199">199</a> 
<a name="200" href="#200">200</a>             File targetFile = <strong class="jxr_keyword">new</strong> File( embedDirectory, targetFileName.toString() );
<a name="201" href="#201">201</a> 
<a name="202" href="#202">202</a>             String targetFilePath = targetFile.getPath();
<a name="203" href="#203">203</a> 
<a name="204" href="#204">204</a>             <em class="jxr_comment">// replace windows backslash with a slash</em>
<a name="205" href="#205">205</a>             <strong class="jxr_keyword">if</strong> ( File.separatorChar != '/' )
<a name="206" href="#206">206</a>             {
<a name="207" href="#207">207</a>                 targetFilePath = targetFilePath.replace( File.separatorChar, '/' );
<a name="208" href="#208">208</a>             }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>             <strong class="jxr_keyword">if</strong> ( includeResource.length() &gt; 0 )
<a name="211" href="#211">211</a>             {
<a name="212" href="#212">212</a>                 includeResource.append( ',' );
<a name="213" href="#213">213</a>             }
<a name="214" href="#214">214</a> 
<a name="215" href="#215">215</a>             includeResource.append( targetFilePath );
<a name="216" href="#216">216</a>             includeResource.append( '=' );
<a name="217" href="#217">217</a>             includeResource.append( sourceFile );
<a name="218" href="#218">218</a> 
<a name="219" href="#219">219</a>             <strong class="jxr_keyword">if</strong> ( bundleClassPath.length() &gt; 0 )
<a name="220" href="#220">220</a>             {
<a name="221" href="#221">221</a>                 bundleClassPath.append( ',' );
<a name="222" href="#222">222</a>             }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>             bundleClassPath.append( targetFilePath );
<a name="225" href="#225">225</a> 
<a name="226" href="#226">226</a>             <strong class="jxr_keyword">if</strong> ( embeddedArtifacts.length() &gt; 0 )
<a name="227" href="#227">227</a>             {
<a name="228" href="#228">228</a>                 embeddedArtifacts.append( ',' );
<a name="229" href="#229">229</a>             }
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>             embeddedArtifacts.append( targetFilePath ).append( ';' );
<a name="232" href="#232">232</a>             embeddedArtifacts.append( <span class="jxr_string">"g=\&quot;"</span> ).append( dependency.getGroupId() ).append( '&quot;' );
<a name="233" href="#233">233</a>             embeddedArtifacts.append( <span class="jxr_string">";a=\&quot;"</span> ).append( dependency.getArtifactId() ).append( '&quot;' );
<a name="234" href="#234">234</a>             embeddedArtifacts.append( <span class="jxr_string">";v=\&quot;"</span> ).append( dependency.getBaseVersion() ).append( '&quot;' );
<a name="235" href="#235">235</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( dependency.getClassifier() ) )
<a name="236" href="#236">236</a>             {
<a name="237" href="#237">237</a>                 embeddedArtifacts.append( <span class="jxr_string">";c=\&quot;"</span> ).append( dependency.getClassifier() ).append( '&quot;' );
<a name="238" href="#238">238</a>             }
<a name="239" href="#239">239</a>         }
<a name="240" href="#240">240</a>     }
<a name="241" href="#241">241</a> 
<a name="242" href="#242">242</a> 
<a name="243" href="#243">243</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> inlineDependency( String path, StringBuffer includeResource )
<a name="244" href="#244">244</a>     {
<a name="245" href="#245">245</a>         <strong class="jxr_keyword">if</strong> ( includeResource.length() &gt; 0 )
<a name="246" href="#246">246</a>         {
<a name="247" href="#247">247</a>             includeResource.append( ',' );
<a name="248" href="#248">248</a>         }
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>         includeResource.append( '@' );
<a name="251" href="#251">251</a>         includeResource.append( path );
<a name="252" href="#252">252</a>     }
<a name="253" href="#253">253</a> 
<a name="254" href="#254">254</a> 
<a name="255" href="#255">255</a>     <strong class="jxr_keyword">public</strong> Collection getInlinedPaths()
<a name="256" href="#256">256</a>     {
<a name="257" href="#257">257</a>         <strong class="jxr_keyword">return</strong> m_inlinedPaths;
<a name="258" href="#258">258</a>     }
<a name="259" href="#259">259</a> 
<a name="260" href="#260">260</a> 
<a name="261" href="#261">261</a>     <strong class="jxr_keyword">public</strong> Collection getEmbeddedArtifacts()
<a name="262" href="#262">262</a>     {
<a name="263" href="#263">263</a>         <strong class="jxr_keyword">return</strong> m_embeddedArtifacts;
<a name="264" href="#264">264</a>     }
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> appendDependencies( Analyzer analyzer, String directiveName, String mavenDependencies )
<a name="268" href="#268">268</a>     {
<a name="269" href="#269">269</a>         <em class="jxr_comment">/*</em>
<a name="270" href="#270">270</a> <em class="jxr_comment">         * similar algorithm to {maven-resources} but default behaviour here is to append rather than override</em>
<a name="271" href="#271">271</a> <em class="jxr_comment">         */</em>
<a name="272" href="#272">272</a>         <strong class="jxr_keyword">final</strong> String instruction = analyzer.getProperty( directiveName );
<a name="273" href="#273">273</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( instruction ) )
<a name="274" href="#274">274</a>         {
<a name="275" href="#275">275</a>             <strong class="jxr_keyword">if</strong> ( instruction.indexOf( MAVEN_DEPENDENCIES ) &gt;= 0 )
<a name="276" href="#276">276</a>             {
<a name="277" href="#277">277</a>                 <em class="jxr_comment">// if there are no embeddded dependencies, we do a special treatment and replace</em>
<a name="278" href="#278">278</a>                 <em class="jxr_comment">// every occurance of MAVEN_DEPENDENCIES and a following comma with an empty string</em>
<a name="279" href="#279">279</a>                 <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() == 0 )
<a name="280" href="#280">280</a>                 {
<a name="281" href="#281">281</a>                     String cleanInstruction = BundlePlugin.removeTagFromInstruction( instruction, MAVEN_DEPENDENCIES );
<a name="282" href="#282">282</a>                     analyzer.setProperty( directiveName, cleanInstruction );
<a name="283" href="#283">283</a>                 }
<a name="284" href="#284">284</a>                 <strong class="jxr_keyword">else</strong>
<a name="285" href="#285">285</a>                 {
<a name="286" href="#286">286</a>                     String mergedInstruction = StringUtils.replace( instruction, MAVEN_DEPENDENCIES, mavenDependencies );
<a name="287" href="#287">287</a>                     analyzer.setProperty( directiveName, mergedInstruction );
<a name="288" href="#288">288</a>                 }
<a name="289" href="#289">289</a>             }
<a name="290" href="#290">290</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() &gt; 0 )
<a name="291" href="#291">291</a>             {
<a name="292" href="#292">292</a>                 <strong class="jxr_keyword">if</strong> ( Analyzer.INCLUDE_RESOURCE.equalsIgnoreCase( directiveName ) )
<a name="293" href="#293">293</a>                 {
<a name="294" href="#294">294</a>                     <em class="jxr_comment">// dependencies should be prepended so they can be overwritten by local resources</em>
<a name="295" href="#295">295</a>                     analyzer.setProperty( directiveName, mavenDependencies + ',' + instruction );
<a name="296" href="#296">296</a>                 }
<a name="297" href="#297">297</a>                 <strong class="jxr_keyword">else</strong>
<a name="298" href="#298">298</a>                 <em class="jxr_comment">// Analyzer.BUNDLE_CLASSPATH</em>
<a name="299" href="#299">299</a>                 {
<a name="300" href="#300">300</a>                     <em class="jxr_comment">// for the classpath we want dependencies to be appended after local entries</em>
<a name="301" href="#301">301</a>                     analyzer.setProperty( directiveName, instruction + ',' + mavenDependencies );
<a name="302" href="#302">302</a>                 }
<a name="303" href="#303">303</a>             }
<a name="304" href="#304">304</a>             <em class="jxr_comment">// otherwise leave instruction unchanged</em>
<a name="305" href="#305">305</a>         }
<a name="306" href="#306">306</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( mavenDependencies.length() &gt; 0 )
<a name="307" href="#307">307</a>         {
<a name="308" href="#308">308</a>             analyzer.setProperty( directiveName, mavenDependencies );
<a name="309" href="#309">309</a>         }
<a name="310" href="#310">310</a>         <em class="jxr_comment">// otherwise leave instruction unchanged</em>
<a name="311" href="#311">311</a>     }
<a name="312" href="#312">312</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

