<!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>AbstractBaselinePlugin 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.baseline;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<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.Set;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.Artifact;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.factory.ArtifactFactory;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.metadata.ArtifactMetadataSource;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.repository.ArtifactRepository;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.resolver.ArtifactNotFoundException;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.resolver.ArtifactResolutionException;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.resolver.ArtifactResolver;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.versioning.ArtifactVersion;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.versioning.OverConstrainedVersionException;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.artifact.versioning.VersionRange;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoExecutionException;
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.plugin.MojoFailureException;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.MavenProject;
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.StringUtils;
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.differ.Baseline;
<a name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.differ.Baseline.Info;
<a name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.differ.DiffPluginImpl;
<a name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Instructions;
<a name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Jar;
<a name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.osgi.Processor;
<a name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.service.diff.Delta;
<a name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.service.diff.Diff;
<a name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> aQute.bnd.version.Version;
<a name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> aQute.service.reporter.Reporter;
<a name="59" href="#59">59</a>  
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">/**</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment"> * Abstract BND Baseline check between two bundles.</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment"> */</em>
<a name="63" href="#63">63</a>  <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.html">AbstractBaselinePlugin</a>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">extends</strong> AbstractMojo
<a name="65" href="#65">65</a>  {
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>      <em class="jxr_javadoccomment">/**</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     * Flag to easily skip execution.</em>
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment">     *</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     * @parameter expression="${baseline.skip}" default-value="false"</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     */</em>
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> skip;
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <em class="jxr_javadoccomment">/**</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     * Whether to fail on errors.</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     *</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     * @parameter expression="${baseline.failOnError}" default-value="true"</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">     */</em>
<a name="79" href="#79">79</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> failOnError;
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>      <em class="jxr_javadoccomment">/**</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     * Whether to fail on warnings.</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     *</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * @parameter expression="${baseline.failOnWarning}" default-value="false"</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     */</em>
<a name="86" href="#86">86</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> failOnWarning;
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <em class="jxr_javadoccomment">/**</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     * @parameter expression="${project}"</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     * @required</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * @readonly</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     */</em>
<a name="93" href="#93">93</a>      <strong class="jxr_keyword">protected</strong> MavenProject project;
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>      <em class="jxr_javadoccomment">/**</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * @parameter expression="${project.build.directory}"</em>
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * @required</em>
<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     * @readonly</em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     */</em>
<a name="100" href="#100">100</a>     <strong class="jxr_keyword">private</strong> File buildDirectory;
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <em class="jxr_javadoccomment">/**</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     * @parameter expression="${project.build.finalName}"</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * @required</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * @readonly</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     */</em>
<a name="107" href="#107">107</a>     <strong class="jxr_keyword">private</strong> String finalName;
<a name="108" href="#108">108</a> 
<a name="109" href="#109">109</a>     <em class="jxr_javadoccomment">/**</em>
<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     * @component</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     */</em>
<a name="112" href="#112">112</a>     <strong class="jxr_keyword">protected</strong> ArtifactResolver resolver;
<a name="113" href="#113">113</a> 
<a name="114" href="#114">114</a>     <em class="jxr_javadoccomment">/**</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     * @component</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> ArtifactFactory factory;
<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">     * @parameter default-value="${localRepository}"</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * @required</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * @readonly</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> ArtifactRepository localRepository;
<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">     * @component</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     */</em>
<a name="129" href="#129">129</a>     <strong class="jxr_keyword">private</strong> ArtifactMetadataSource metadataSource;
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>     <em class="jxr_javadoccomment">/**</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * Version to compare the current code against.</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     *</em>
<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * @parameter expression="${comparisonVersion}" default-value="(,${project.version})"</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * @required</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * @readonly</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">protected</strong> String comparisonVersion;
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     <em class="jxr_javadoccomment">/**</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     * A list of packages filter, if empty the whole bundle will be traversed. Values are specified in OSGi package</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * instructions notation, e.g. &lt;code&gt;!org.apache.felix.bundleplugin&lt;/code&gt;.</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     *</em>
<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * @parameter</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> String[] filters;
<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[] { <span class="jxr_string">"jar"</span>, <span class="jxr_string">"bundle"</span> } );
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> execute()
<a name="156" href="#156">156</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException
<a name="157" href="#157">157</a>     {
<a name="158" href="#158">158</a>         <strong class="jxr_keyword">if</strong> ( skip )
<a name="159" href="#159">159</a>         {
<a name="160" href="#160">160</a>             getLog().info( <span class="jxr_string">"Skipping Baseline execution"</span> );
<a name="161" href="#161">161</a>             <strong class="jxr_keyword">return</strong>;
<a name="162" href="#162">162</a>         }
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>         <strong class="jxr_keyword">if</strong> ( !supportedProjectTypes.contains( project.getArtifact().getType() ) )
<a name="165" href="#165">165</a>         {
<a name="166" href="#166">166</a>             getLog().info(<span class="jxr_string">"Skipping Baseline (project type "</span> + project.getArtifact().getType() + <span class="jxr_string">" not supported)"</span>);
<a name="167" href="#167">167</a>             <strong class="jxr_keyword">return</strong>;
<a name="168" href="#168">168</a>         }
<a name="169" href="#169">169</a> 
<a name="170" href="#170">170</a>         <em class="jxr_comment">// get the bundles that have to be compared</em>
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>         <strong class="jxr_keyword">final</strong> Jar currentBundle = getCurrentBundle();
<a name="173" href="#173">173</a>         <strong class="jxr_keyword">if</strong> ( currentBundle == <strong class="jxr_keyword">null</strong> )
<a name="174" href="#174">174</a>         {
<a name="175" href="#175">175</a>             getLog().info( <span class="jxr_string">"Not generating Baseline report as there is no bundle generated by the project"</span> );
<a name="176" href="#176">176</a>             <strong class="jxr_keyword">return</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">final</strong> Jar previousBundle = getPreviousBundle();
<a name="180" href="#180">180</a>         <strong class="jxr_keyword">if</strong> ( previousBundle == <strong class="jxr_keyword">null</strong> )
<a name="181" href="#181">181</a>         {
<a name="182" href="#182">182</a>             getLog().info( <span class="jxr_string">"Not generating Baseline report as there is no previous version of the library to compare against"</span> );
<a name="183" href="#183">183</a>             <strong class="jxr_keyword">return</strong>;
<a name="184" href="#184">184</a>         }
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>         <em class="jxr_comment">// preparing the filters</em>
<a name="187" href="#187">187</a> 
<a name="188" href="#188">188</a>         <strong class="jxr_keyword">final</strong> Instructions packageFilters;
<a name="189" href="#189">189</a>         <strong class="jxr_keyword">if</strong> ( filters == <strong class="jxr_keyword">null</strong> || filters.length == 0 )
<a name="190" href="#190">190</a>         {
<a name="191" href="#191">191</a>             packageFilters = <strong class="jxr_keyword">new</strong> Instructions();
<a name="192" href="#192">192</a>         }
<a name="193" href="#193">193</a>         <strong class="jxr_keyword">else</strong>
<a name="194" href="#194">194</a>         {
<a name="195" href="#195">195</a>             packageFilters = <strong class="jxr_keyword">new</strong> Instructions( Arrays.asList( filters ) );
<a name="196" href="#196">196</a>         }
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>         <em class="jxr_comment">// go!</em>
<a name="199" href="#199">199</a> 
<a name="200" href="#200">200</a>         init();
<a name="201" href="#201">201</a> 
<a name="202" href="#202">202</a>         String generationDate = <strong class="jxr_keyword">new</strong> SimpleDateFormat( <span class="jxr_string">"yyyy-MM-dd'T'HH:mm'Z'"</span> ).format( <strong class="jxr_keyword">new</strong> Date() );
<a name="203" href="#203">203</a>         Reporter reporter = <strong class="jxr_keyword">new</strong> Processor();
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>         <strong class="jxr_keyword">try</strong>
<a name="206" href="#206">206</a>         {
<a name="207" href="#207">207</a>             Set&lt;Info&gt; infoSet = <strong class="jxr_keyword">new</strong> Baseline( reporter, <strong class="jxr_keyword">new</strong> DiffPluginImpl() )
<a name="208" href="#208">208</a>                                 .baseline( currentBundle, previousBundle, packageFilters );
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>             startBaseline( generationDate, project.getArtifactId(), project.getVersion(), comparisonVersion );
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>             <strong class="jxr_keyword">final</strong> Info[] infos = infoSet.toArray( <strong class="jxr_keyword">new</strong> Info[infoSet.size()] );
<a name="213" href="#213">213</a>             Arrays.sort( infos, <strong class="jxr_keyword">new</strong> InfoComparator() );
<a name="214" href="#214">214</a> 
<a name="215" href="#215">215</a>             <strong class="jxr_keyword">for</strong> ( Info info : infos )
<a name="216" href="#216">216</a>             {
<a name="217" href="#217">217</a>                 <a href="../../../../../org/apache/felix/bundleplugin/baseline/DiffMessage.html">DiffMessage</a> diffMessage = <strong class="jxr_keyword">null</strong>;
<a name="218" href="#218">218</a>                 Version newerVersion = info.newerVersion;
<a name="219" href="#219">219</a>                 Version suggestedVersion = info.suggestedVersion;
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a>                 <strong class="jxr_keyword">if</strong> ( suggestedVersion != <strong class="jxr_keyword">null</strong> )
<a name="222" href="#222">222</a>                 {
<a name="223" href="#223">223</a>                     <strong class="jxr_keyword">if</strong> ( newerVersion.compareTo( suggestedVersion ) &gt; 0 )
<a name="224" href="#224">224</a>                     {
<a name="225" href="#225">225</a>                         diffMessage = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/felix/bundleplugin/baseline/DiffMessage.html">DiffMessage</a>( <span class="jxr_string">"Excessive version increase"</span>, DiffMessage.Type.warning );
<a name="226" href="#226">226</a>                         reporter.warning( <span class="jxr_string">"%s: %s; detected %s, suggested %s"</span>,
<a name="227" href="#227">227</a>                                           info.packageName, diffMessage, info.newerVersion, info.suggestedVersion );
<a name="228" href="#228">228</a>                     }
<a name="229" href="#229">229</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( newerVersion.compareTo( suggestedVersion ) &lt; 0 )
<a name="230" href="#230">230</a>                     {
<a name="231" href="#231">231</a>                         diffMessage = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/felix/bundleplugin/baseline/DiffMessage.html">DiffMessage</a>( <span class="jxr_string">"Version increase required"</span>, DiffMessage.Type.error );
<a name="232" href="#232">232</a>                         reporter.error( <span class="jxr_string">"%s: %s; detected %s, suggested %s"</span>,
<a name="233" href="#233">233</a>                                         info.packageName, diffMessage, info.newerVersion, info.suggestedVersion );
<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>                 Diff packageDiff = info.packageDiff;
<a name="238" href="#238">238</a> 
<a name="239" href="#239">239</a>                 Delta delta = packageDiff.getDelta();
<a name="240" href="#240">240</a> 
<a name="241" href="#241">241</a>                 <strong class="jxr_keyword">switch</strong> ( delta )
<a name="242" href="#242">242</a>                 {
<a name="243" href="#243">243</a>                     <strong class="jxr_keyword">case</strong> UNCHANGED:
<a name="244" href="#244">244</a>                         <strong class="jxr_keyword">if</strong> ( ( suggestedVersion.getMajor() != newerVersion.getMajor() )
<a name="245" href="#245">245</a>                             || ( suggestedVersion.getMicro() != newerVersion.getMicro() )
<a name="246" href="#246">246</a>                             || ( suggestedVersion.getMinor() != newerVersion.getMinor() ) )
<a name="247" href="#247">247</a>                         {
<a name="248" href="#248">248</a>                             diffMessage = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/felix/bundleplugin/baseline/DiffMessage.html">DiffMessage</a>( <span class="jxr_string">"Version has been increased but analysis detected no changes"</span>, DiffMessage.Type.warning );
<a name="249" href="#249">249</a>                             reporter.warning( <span class="jxr_string">"%s: %s; detected %s, suggested %s"</span>,
<a name="250" href="#250">250</a>                                               info.packageName, diffMessage, info.newerVersion, info.suggestedVersion );
<a name="251" href="#251">251</a>                         }
<a name="252" href="#252">252</a>                         <strong class="jxr_keyword">break</strong>;
<a name="253" href="#253">253</a> 
<a name="254" href="#254">254</a>                     <strong class="jxr_keyword">case</strong> REMOVED:
<a name="255" href="#255">255</a>                         diffMessage = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/felix/bundleplugin/baseline/DiffMessage.html">DiffMessage</a>( <span class="jxr_string">"Package removed"</span>, DiffMessage.Type.info );
<a name="256" href="#256">256</a>                         reporter.trace( <span class="jxr_string">"%s: %s "</span>, info.packageName, diffMessage );
<a name="257" href="#257">257</a>                         <strong class="jxr_keyword">break</strong>;
<a name="258" href="#258">258</a> 
<a name="259" href="#259">259</a>                     <strong class="jxr_keyword">case</strong> CHANGED:
<a name="260" href="#260">260</a>                     <strong class="jxr_keyword">case</strong> MICRO:
<a name="261" href="#261">261</a>                     <strong class="jxr_keyword">case</strong> MINOR:
<a name="262" href="#262">262</a>                     <strong class="jxr_keyword">case</strong> MAJOR:
<a name="263" href="#263">263</a>                     <strong class="jxr_keyword">case</strong> ADDED:
<a name="264" href="#264">264</a>                     <strong class="jxr_keyword">default</strong>:
<a name="265" href="#265">265</a>                         <em class="jxr_comment">// ok</em>
<a name="266" href="#266">266</a>                         <strong class="jxr_keyword">break</strong>;
<a name="267" href="#267">267</a>                 }
<a name="268" href="#268">268</a> 
<a name="269" href="#269">269</a>                 <strong class="jxr_keyword">boolean</strong> mismatch = info.mismatch;
<a name="270" href="#270">270</a>                 String packageName = info.packageName;
<a name="271" href="#271">271</a>                 String shortDelta = getShortDelta( info.packageDiff.getDelta() );
<a name="272" href="#272">272</a>                 String deltaString = StringUtils.lowerCase( String.valueOf( info.packageDiff.getDelta() ) );
<a name="273" href="#273">273</a>                 String newerVersionString = String.valueOf( info.newerVersion );
<a name="274" href="#274">274</a>                 String olderVersionString = String.valueOf( info.olderVersion );
<a name="275" href="#275">275</a>                 String suggestedVersionString = String.valueOf( ( info.suggestedVersion == <strong class="jxr_keyword">null</strong> ) ? <span class="jxr_string">"-"</span> : info.suggestedVersion );
<a name="276" href="#276">276</a>                 Map&lt;String,String&gt; attributes = info.attributes;
<a name="277" href="#277">277</a> 
<a name="278" href="#278">278</a>                 startPackage( mismatch,
<a name="279" href="#279">279</a>                               packageName,
<a name="280" href="#280">280</a>                               shortDelta,
<a name="281" href="#281">281</a>                               deltaString,
<a name="282" href="#282">282</a>                               newerVersionString,
<a name="283" href="#283">283</a>                               olderVersionString,
<a name="284" href="#284">284</a>                               suggestedVersionString,
<a name="285" href="#285">285</a>                               diffMessage,
<a name="286" href="#286">286</a>                               attributes );
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>                 <strong class="jxr_keyword">if</strong> ( Delta.REMOVED != delta )
<a name="289" href="#289">289</a>                 {
<a name="290" href="#290">290</a>                     doPackageDiff( packageDiff );
<a name="291" href="#291">291</a>                 }
<a name="292" href="#292">292</a> 
<a name="293" href="#293">293</a>                 endPackage();
<a name="294" href="#294">294</a>             }
<a name="295" href="#295">295</a> 
<a name="296" href="#296">296</a>             endBaseline();
<a name="297" href="#297">297</a>         }
<a name="298" href="#298">298</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
<a name="299" href="#299">299</a>         {
<a name="300" href="#300">300</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Impossible to calculate the baseline"</span>, e );
<a name="301" href="#301">301</a>         }
<a name="302" href="#302">302</a>         <strong class="jxr_keyword">finally</strong>
<a name="303" href="#303">303</a>         {
<a name="304" href="#304">304</a>             closeJars( currentBundle, previousBundle );
<a name="305" href="#305">305</a>         }
<a name="306" href="#306">306</a> 
<a name="307" href="#307">307</a>         <em class="jxr_comment">// check if it has to fail if some error has been detected</em>
<a name="308" href="#308">308</a> 
<a name="309" href="#309">309</a>         <strong class="jxr_keyword">boolean</strong> fail = false;
<a name="310" href="#310">310</a> 
<a name="311" href="#311">311</a>         <strong class="jxr_keyword">if</strong> ( !reporter.isOk() )
<a name="312" href="#312">312</a>         {
<a name="313" href="#313">313</a>             <strong class="jxr_keyword">for</strong> ( String errorMessage : reporter.getErrors() )
<a name="314" href="#314">314</a>             {
<a name="315" href="#315">315</a>                 getLog().error( errorMessage );
<a name="316" href="#316">316</a>             }
<a name="317" href="#317">317</a> 
<a name="318" href="#318">318</a>             <strong class="jxr_keyword">if</strong> ( failOnError )
<a name="319" href="#319">319</a>             {
<a name="320" href="#320">320</a>                 fail = <strong class="jxr_keyword">true</strong>;
<a name="321" href="#321">321</a>             }
<a name="322" href="#322">322</a>         }
<a name="323" href="#323">323</a> 
<a name="324" href="#324">324</a>         <em class="jxr_comment">// check if it has to fail if some warning has been detected</em>
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>         <strong class="jxr_keyword">if</strong> ( !reporter.getWarnings().isEmpty() )
<a name="327" href="#327">327</a>         {
<a name="328" href="#328">328</a>             <strong class="jxr_keyword">for</strong> ( String warningMessage : reporter.getWarnings() )
<a name="329" href="#329">329</a>             {
<a name="330" href="#330">330</a>                 getLog().warn( warningMessage );
<a name="331" href="#331">331</a>             }
<a name="332" href="#332">332</a> 
<a name="333" href="#333">333</a>             <strong class="jxr_keyword">if</strong> ( failOnWarning )
<a name="334" href="#334">334</a>             {
<a name="335" href="#335">335</a>                 fail = <strong class="jxr_keyword">true</strong>;
<a name="336" href="#336">336</a>             }
<a name="337" href="#337">337</a>         }
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>         getLog().info( String.format( <span class="jxr_string">"Baseline analisys complete, %s error(s), %s warning(s)"</span>,
<a name="340" href="#340">340</a>                                       reporter.getErrors().size(),
<a name="341" href="#341">341</a>                                       reporter.getWarnings().size() ) );
<a name="342" href="#342">342</a> 
<a name="343" href="#343">343</a>         <strong class="jxr_keyword">if</strong> ( fail )
<a name="344" href="#344">344</a>         {
<a name="345" href="#345">345</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Baseline failed, see generated report"</span> );
<a name="346" href="#346">346</a>         }
<a name="347" href="#347">347</a>     }
<a name="348" href="#348">348</a> 
<a name="349" href="#349">349</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doPackageDiff( Diff diff )
<a name="350" href="#350">350</a>     {
<a name="351" href="#351">351</a>         <strong class="jxr_keyword">int</strong> depth = 1;
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>         <strong class="jxr_keyword">for</strong> ( Diff curDiff : diff.getChildren() )
<a name="354" href="#354">354</a>         {
<a name="355" href="#355">355</a>             <strong class="jxr_keyword">if</strong> ( Delta.UNCHANGED != curDiff.getDelta() )
<a name="356" href="#356">356</a>             {
<a name="357" href="#357">357</a>                 doDiff( curDiff, depth );
<a name="358" href="#358">358</a>             }
<a name="359" href="#359">359</a>         }
<a name="360" href="#360">360</a>     }
<a name="361" href="#361">361</a> 
<a name="362" href="#362">362</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doDiff( Diff diff, <strong class="jxr_keyword">int</strong> depth )
<a name="363" href="#363">363</a>     {
<a name="364" href="#364">364</a>         String type = StringUtils.lowerCase( String.valueOf( diff.getType() ) );
<a name="365" href="#365">365</a>         String shortDelta = getShortDelta( diff.getDelta() );
<a name="366" href="#366">366</a>         String delta = StringUtils.lowerCase( String.valueOf( diff.getDelta() ) );
<a name="367" href="#367">367</a>         String name = diff.getName();
<a name="368" href="#368">368</a> 
<a name="369" href="#369">369</a>         startDiff( depth, type, name, delta, shortDelta );
<a name="370" href="#370">370</a> 
<a name="371" href="#371">371</a>         <strong class="jxr_keyword">for</strong> ( Diff curDiff : diff.getChildren() )
<a name="372" href="#372">372</a>         {
<a name="373" href="#373">373</a>             <strong class="jxr_keyword">if</strong> ( Delta.UNCHANGED != curDiff.getDelta() )
<a name="374" href="#374">374</a>             {
<a name="375" href="#375">375</a>                 doDiff( curDiff, depth + 1 );
<a name="376" href="#376">376</a>             }
<a name="377" href="#377">377</a>         }
<a name="378" href="#378">378</a> 
<a name="379" href="#379">379</a>         endDiff( depth );
<a name="380" href="#380">380</a>     }
<a name="381" href="#381">381</a> 
<a name="382" href="#382">382</a>     <em class="jxr_comment">// extensions APIs</em>
<a name="383" href="#383">383</a> 
<a name="384" href="#384">384</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> init();
<a name="385" href="#385">385</a> 
<a name="386" href="#386">386</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> startBaseline( String generationDate, String bundleName, String currentVersion, String previousVersion );
<a name="387" href="#387">387</a> 
<a name="388" href="#388">388</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> startPackage( <strong class="jxr_keyword">boolean</strong> mismatch,
<a name="389" href="#389">389</a>                                           String name,
<a name="390" href="#390">390</a>                                           String shortDelta,
<a name="391" href="#391">391</a>                                           String delta,
<a name="392" href="#392">392</a>                                           String newerVersion,
<a name="393" href="#393">393</a>                                           String olderVersion,
<a name="394" href="#394">394</a>                                           String suggestedVersion,
<a name="395" href="#395">395</a>                                           <a href="../../../../../org/apache/felix/bundleplugin/baseline/DiffMessage.html">DiffMessage</a> diffMessage,
<a name="396" href="#396">396</a>                                           Map&lt;String,String&gt; attributes );
<a name="397" href="#397">397</a> 
<a name="398" href="#398">398</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> startDiff( <strong class="jxr_keyword">int</strong> depth,
<a name="399" href="#399">399</a>                                        String type,
<a name="400" href="#400">400</a>                                        String name,
<a name="401" href="#401">401</a>                                        String delta,
<a name="402" href="#402">402</a>                                        String shortDelta );
<a name="403" href="#403">403</a> 
<a name="404" href="#404">404</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> endDiff( <strong class="jxr_keyword">int</strong> depth );
<a name="405" href="#405">405</a> 
<a name="406" href="#406">406</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> endPackage();
<a name="407" href="#407">407</a> 
<a name="408" href="#408">408</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> endBaseline();
<a name="409" href="#409">409</a> 
<a name="410" href="#410">410</a>     <em class="jxr_comment">// internals</em>
<a name="411" href="#411">411</a> 
<a name="412" href="#412">412</a>     <strong class="jxr_keyword">private</strong> Jar getCurrentBundle()
<a name="413" href="#413">413</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
<a name="414" href="#414">414</a>     {
<a name="415" href="#415">415</a>         <em class="jxr_comment">/*</em>
<a name="416" href="#416">416</a> <em class="jxr_comment">         * Resolving the aQute.bnd.osgi.Jar via the produced artifact rather than what is produced in the target/classes</em>
<a name="417" href="#417">417</a> <em class="jxr_comment">         * directory would make the Mojo working also in projects where the bundle-plugin is used just to generate the</em>
<a name="418" href="#418">418</a> <em class="jxr_comment">         * manifest file and the final jar is assembled via the jar-plugin</em>
<a name="419" href="#419">419</a> <em class="jxr_comment">         */</em>
<a name="420" href="#420">420</a>         File currentBundle = <strong class="jxr_keyword">new</strong> File( buildDirectory, getBundleName() );
<a name="421" href="#421">421</a>         <strong class="jxr_keyword">if</strong> ( !currentBundle.exists() )
<a name="422" href="#422">422</a>         {
<a name="423" href="#423">423</a>             getLog().debug( <span class="jxr_string">"Produced bundle not found: "</span> + currentBundle );
<a name="424" href="#424">424</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="425" href="#425">425</a>         }
<a name="426" href="#426">426</a> 
<a name="427" href="#427">427</a>         <strong class="jxr_keyword">return</strong> openJar( currentBundle );
<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">private</strong> Jar getPreviousBundle()
<a name="431" href="#431">431</a>         <strong class="jxr_keyword">throws</strong> MojoFailureException, MojoExecutionException
<a name="432" href="#432">432</a>     {
<a name="433" href="#433">433</a>         <em class="jxr_comment">// Find the previous version JAR and resolve it, and it's dependencies</em>
<a name="434" href="#434">434</a>         <strong class="jxr_keyword">final</strong> VersionRange range;
<a name="435" href="#435">435</a>         <strong class="jxr_keyword">try</strong>
<a name="436" href="#436">436</a>         {
<a name="437" href="#437">437</a>             range = VersionRange.createFromVersionSpec( comparisonVersion );
<a name="438" href="#438">438</a>         }
<a name="439" href="#439">439</a>         <strong class="jxr_keyword">catch</strong> ( InvalidVersionSpecificationException e )
<a name="440" href="#440">440</a>         {
<a name="441" href="#441">441</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Invalid comparison version: "</span> + e.getMessage() );
<a name="442" href="#442">442</a>         }
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>         <strong class="jxr_keyword">final</strong> Artifact previousArtifact;
<a name="445" href="#445">445</a>         <strong class="jxr_keyword">try</strong>
<a name="446" href="#446">446</a>         {
<a name="447" href="#447">447</a>             previousArtifact =
<a name="448" href="#448">448</a>                 factory.createDependencyArtifact( project.getGroupId(),
<a name="449" href="#449">449</a>                                                   project.getArtifactId(),
<a name="450" href="#450">450</a>                                                   range,
<a name="451" href="#451">451</a>                                                   project.getPackaging(),
<a name="452" href="#452">452</a>                                                   <strong class="jxr_keyword">null</strong>,
<a name="453" href="#453">453</a>                                                   Artifact.SCOPE_COMPILE );
<a name="454" href="#454">454</a> 
<a name="455" href="#455">455</a>             <strong class="jxr_keyword">if</strong> ( !previousArtifact.getVersionRange().isSelectedVersionKnown( previousArtifact ) )
<a name="456" href="#456">456</a>             {
<a name="457" href="#457">457</a>                 getLog().debug( <span class="jxr_string">"Searching for versions in range: "</span> + previousArtifact.getVersionRange() );
<a name="458" href="#458">458</a>                 @SuppressWarnings( <span class="jxr_string">"unchecked"</span> )
<a name="459" href="#459">459</a>                 <em class="jxr_comment">// type is konwn</em>
<a name="460" href="#460">460</a>                 List&lt;ArtifactVersion&gt; availableVersions =
<a name="461" href="#461">461</a>                     metadataSource.retrieveAvailableVersions( previousArtifact, localRepository,
<a name="462" href="#462">462</a>                                                               project.getRemoteArtifactRepositories() );
<a name="463" href="#463">463</a>                 filterSnapshots( availableVersions );
<a name="464" href="#464">464</a>                 ArtifactVersion version = range.matchVersion( availableVersions );
<a name="465" href="#465">465</a>                 <strong class="jxr_keyword">if</strong> ( version != <strong class="jxr_keyword">null</strong> )
<a name="466" href="#466">466</a>                 {
<a name="467" href="#467">467</a>                     previousArtifact.selectVersion( version.toString() );
<a name="468" href="#468">468</a>                 }
<a name="469" href="#469">469</a>             }
<a name="470" href="#470">470</a>         }
<a name="471" href="#471">471</a>         <strong class="jxr_keyword">catch</strong> ( OverConstrainedVersionException ocve )
<a name="472" href="#472">472</a>         {
<a name="473" href="#473">473</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoFailureException( <span class="jxr_string">"Invalid comparison version: "</span> + ocve.getMessage() );
<a name="474" href="#474">474</a>         }
<a name="475" href="#475">475</a>         <strong class="jxr_keyword">catch</strong> ( ArtifactMetadataRetrievalException amre )
<a name="476" href="#476">476</a>         {
<a name="477" href="#477">477</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Error determining previous version: "</span> + amre.getMessage(), amre );
<a name="478" href="#478">478</a>         }
<a name="479" href="#479">479</a> 
<a name="480" href="#480">480</a>         <strong class="jxr_keyword">if</strong> ( previousArtifact.getVersion() == <strong class="jxr_keyword">null</strong> )
<a name="481" href="#481">481</a>         {
<a name="482" href="#482">482</a>             getLog().info( <span class="jxr_string">"Unable to find a previous version of the project in the repository"</span> );
<a name="483" href="#483">483</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="484" href="#484">484</a>         }
<a name="485" href="#485">485</a> 
<a name="486" href="#486">486</a>         <strong class="jxr_keyword">try</strong>
<a name="487" href="#487">487</a>         {
<a name="488" href="#488">488</a>             resolver.resolve( previousArtifact, project.getRemoteArtifactRepositories(), localRepository );
<a name="489" href="#489">489</a>         }
<a name="490" href="#490">490</a>         <strong class="jxr_keyword">catch</strong> ( ArtifactResolutionException are )
<a name="491" href="#491">491</a>         {
<a name="492" href="#492">492</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Artifact "</span> + previousArtifact + <span class="jxr_string">" cannot be resolved"</span>, are );
<a name="493" href="#493">493</a>         }
<a name="494" href="#494">494</a>         <strong class="jxr_keyword">catch</strong> ( ArtifactNotFoundException anfe )
<a name="495" href="#495">495</a>         {
<a name="496" href="#496">496</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Artifact "</span> + previousArtifact
<a name="497" href="#497">497</a>                 + <span class="jxr_string">" does not exist on local/remote repositories"</span>, anfe );
<a name="498" href="#498">498</a>         }
<a name="499" href="#499">499</a> 
<a name="500" href="#500">500</a>         <strong class="jxr_keyword">return</strong> openJar( previousArtifact.getFile() );
<a name="501" href="#501">501</a>     }
<a name="502" href="#502">502</a> 
<a name="503" href="#503">503</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> filterSnapshots( List&lt;ArtifactVersion&gt; versions )
<a name="504" href="#504">504</a>     {
<a name="505" href="#505">505</a>         <strong class="jxr_keyword">for</strong> ( Iterator&lt;ArtifactVersion&gt; versionIterator = versions.iterator(); versionIterator.hasNext(); )
<a name="506" href="#506">506</a>         {
<a name="507" href="#507">507</a>             ArtifactVersion version = versionIterator.next();
<a name="508" href="#508">508</a>             <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"SNAPSHOT"</span>.equals( version.getQualifier() ) )
<a name="509" href="#509">509</a>             {
<a name="510" href="#510">510</a>                 versionIterator.remove();
<a name="511" href="#511">511</a>             }
<a name="512" href="#512">512</a>         }
<a name="513" href="#513">513</a>     }
<a name="514" href="#514">514</a> 
<a name="515" href="#515">515</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Jar openJar( File file )
<a name="516" href="#516">516</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException
<a name="517" href="#517">517</a>     {
<a name="518" href="#518">518</a>         <strong class="jxr_keyword">try</strong>
<a name="519" href="#519">519</a>         {
<a name="520" href="#520">520</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Jar( file );
<a name="521" href="#521">521</a>         }
<a name="522" href="#522">522</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a name="523" href="#523">523</a>         {
<a name="524" href="#524">524</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"An error occurred while opening JAR directory: "</span> + file, e );
<a name="525" href="#525">525</a>         }
<a name="526" href="#526">526</a>     }
<a name="527" href="#527">527</a> 
<a name="528" href="#528">528</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> closeJars( Jar...jars )
<a name="529" href="#529">529</a>     {
<a name="530" href="#530">530</a>         <strong class="jxr_keyword">for</strong> ( Jar jar : jars )
<a name="531" href="#531">531</a>         {
<a name="532" href="#532">532</a>             jar.close();
<a name="533" href="#533">533</a>         }
<a name="534" href="#534">534</a>     }
<a name="535" href="#535">535</a> 
<a name="536" href="#536">536</a>     <strong class="jxr_keyword">private</strong> String getBundleName()
<a name="537" href="#537">537</a>     {
<a name="538" href="#538">538</a>         String extension;
<a name="539" href="#539">539</a>         <strong class="jxr_keyword">try</strong>
<a name="540" href="#540">540</a>         {
<a name="541" href="#541">541</a>             extension = project.getArtifact().getArtifactHandler().getExtension();
<a name="542" href="#542">542</a>         }
<a name="543" href="#543">543</a>         <strong class="jxr_keyword">catch</strong> ( Throwable e )
<a name="544" href="#544">544</a>         {
<a name="545" href="#545">545</a>             extension = project.getArtifact().getType();
<a name="546" href="#546">546</a>         }
<a name="547" href="#547">547</a> 
<a name="548" href="#548">548</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="549" href="#549">549</a>         {
<a name="550" href="#550">550</a>             extension = <span class="jxr_string">"jar"</span>; <em class="jxr_comment">// just in case maven gets confused</em>
<a name="551" href="#551">551</a>         }
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>         String classifier = project.getArtifact().getClassifier();
<a name="554" href="#554">554</a>         <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">null</strong> != classifier &amp;&amp; classifier.trim().length() &gt; 0 )
<a name="555" href="#555">555</a>         {
<a name="556" href="#556">556</a>             <strong class="jxr_keyword">return</strong> finalName + '-' + classifier + '.' + extension;
<a name="557" href="#557">557</a>         }
<a name="558" href="#558">558</a> 
<a name="559" href="#559">559</a>         <strong class="jxr_keyword">return</strong> finalName + '.' + extension;
<a name="560" href="#560">560</a>     }
<a name="561" href="#561">561</a> 
<a name="562" href="#562">562</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getShortDelta( Delta delta )
<a name="563" href="#563">563</a>     {
<a name="564" href="#564">564</a>         <strong class="jxr_keyword">switch</strong> ( delta )
<a name="565" href="#565">565</a>         {
<a name="566" href="#566">566</a>             <strong class="jxr_keyword">case</strong> ADDED:
<a name="567" href="#567">567</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"+"</span>;
<a name="568" href="#568">568</a> 
<a name="569" href="#569">569</a>             <strong class="jxr_keyword">case</strong> CHANGED:
<a name="570" href="#570">570</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"~"</span>;
<a name="571" href="#571">571</a> 
<a name="572" href="#572">572</a>             <strong class="jxr_keyword">case</strong> MAJOR:
<a name="573" href="#573">573</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"&gt;"</span>;
<a name="574" href="#574">574</a> 
<a name="575" href="#575">575</a>             <strong class="jxr_keyword">case</strong> MICRO:
<a name="576" href="#576">576</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"0xB5"</span>;
<a name="577" href="#577">577</a> 
<a name="578" href="#578">578</a>             <strong class="jxr_keyword">case</strong> MINOR:
<a name="579" href="#579">579</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"&lt;"</span>;
<a name="580" href="#580">580</a> 
<a name="581" href="#581">581</a>             <strong class="jxr_keyword">case</strong> REMOVED:
<a name="582" href="#582">582</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"-"</span>;
<a name="583" href="#583">583</a> 
<a name="584" href="#584">584</a>             <strong class="jxr_keyword">case</strong> UNCHANGED:
<a name="585" href="#585">585</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">" "</span>;
<a name="586" href="#586">586</a> 
<a name="587" href="#587">587</a>             <strong class="jxr_keyword">default</strong>:
<a name="588" href="#588">588</a>                 String deltaString = delta.toString();
<a name="589" href="#589">589</a>                 <strong class="jxr_keyword">return</strong> String.valueOf( deltaString.charAt( 0 ) );
<a name="590" href="#590">590</a>         }
<a name="591" href="#591">591</a>     }
<a name="592" href="#592">592</a> 
<a name="593" href="#593">593</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

