<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2020-03-23 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20200323" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Sling OSGi Feature Maven Plugin &#x2013; Surefire Report</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
      <script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><div id="bannerLeft"><h2>Apache Sling OSGi Feature Maven Plugin</h2>
</div>
</div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2020-03-23<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.1.20</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Overview</li>
    <li><a href="index.html" title="Introduction"><span class="none"></span>Introduction</a>  </li>
    <li><a href="plugin-info.html" title="Goals"><span class="none"></span>Goals</a>  </li>
          <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a>  </li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
      <ul class="nav nav-list">
    <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a>  </li>
    <li class="active"><a href="#"><span class="none"></span>Surefire Report</a>
  </li>
    <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a>  </li>
    <li><a href="plugin-info.html" title="Plugin Documentation"><span class="none"></span>Plugin Documentation</a>  </li>
      </ul>
  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<script type="application/javascript">
//<![CDATA[
function toggleDisplay(elementId) {
 var elm = document.getElementById(elementId + '-error');
 if (elm == null) {
  elm = document.getElementById(elementId + '-failure');
 }
 if (elm && typeof elm.style != "undefined") {
  if (elm.style.display == "none") {
   elm.style.display = "";
   document.getElementById(elementId + '-off').style.display = "none";
   document.getElementById(elementId + '-on').style.display = "inline";
  } else if (elm.style.display == "") {   elm.style.display = "none";
   document.getElementById(elementId + '-off').style.display = "inline";
   document.getElementById(elementId + '-on').style.display = "none";
  } 
 } 
 }
//]]>
</script>
<div class="section">
<h2><a name="Surefire_Report"></a>Surefire Report</h2></div>
<div class="section">
<h2><a name="Summary"></a>Summary</h2><a name="Summary"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p><br />
<table border="1" class="table table-striped">
<tr class="a">
<th>Tests</th>
<th>Errors</th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td>36</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>1.927</td></tr></table><br />
<p>Note: failures are anticipated and checked for with assertions while errors are unanticipated.</p><br /></div>
<div class="section">
<h2><a name="Package_List"></a>Package List</h2><a name="Package_List"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p><br />
<table border="1" class="table table-striped">
<tr class="a">
<th>Package</th>
<th>Tests</th>
<th>Errors</th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos">org.apache.sling.feature.maven.mojos</a></td>
<td>32</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>1.44</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven">org.apache.sling.feature.maven</a></td>
<td>4</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.487</td></tr></table><br />
<p>Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.</p>
<div class="section">
<h3><a name="org.apache.sling.feature.maven.mojos"></a>org.apache.sling.feature.maven.mojos</h3><a name="org.apache.sling.feature.maven.mojos"></a>
<table border="1" class="table table-striped">
<tr class="a">
<th></th>
<th>Class</th>
<th>Tests</th>
<th>Errors</th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos.AbstractRepositoryMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.AbstractRepositoryMojoTest">AbstractRepositoryMojoTest</a></td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.691</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest">AggregateFeaturesMojoTest</a></td>
<td>13</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.324</td></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos.AnalyseFeaturesMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.AnalyseFeaturesMojoTest">AnalyseFeaturesMojoTest</a></td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.009</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven.mojos.ApisJarMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.ApisJarMojoTest">ApisJarMojoTest</a></td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.025</td></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos.AttachFeaturesMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.AttachFeaturesMojoTest">AttachFeaturesMojoTest</a></td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.007</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven.mojos.ExtractExtensionsMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.ExtractExtensionsMojoTest">ExtractExtensionsMojoTest</a></td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.04</td></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest">FeatureLauncherMojoTest</a></td>
<td>5</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.329</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven.mojos.FeatureSelectionConfigTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.FeatureSelectionConfigTest">FeatureSelectionConfigTest</a></td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.008</td></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos.JarDecompressorTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojos.JarDecompressorTest">JarDecompressorTest</a></td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.007</td></tr></table></div>
<div class="section">
<h3><a name="org.apache.sling.feature.maven"></a>org.apache.sling.feature.maven</h3><a name="org.apache.sling.feature.maven"></a>
<table border="1" class="table table-striped">
<tr class="a">
<th></th>
<th>Class</th>
<th>Tests</th>
<th>Errors</th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.PreprocessorTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.PreprocessorTest">PreprocessorTest</a></td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.476</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven.SubstitutionTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.SubstitutionTest">SubstitutionTest</a></td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.011</td></tr></table></div><br /></div>
<div class="section">
<h2><a name="Test_Cases"></a>Test Cases</h2><a name="Test_Cases"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p>
<div class="section">
<h3><a name="AbstractRepositoryMojoTest"></a>AbstractRepositoryMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.AbstractRepositoryMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AbstractRepositoryMojoTest.testCopyDecompressArtifactToRepository"></a>testCopyDecompressArtifactToRepository</td>
<td>0.56</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AbstractRepositoryMojoTest.testCopyArtifactToRepository"></a>testCopyArtifactToRepository</td>
<td>0.009</td></tr></table></div>
<div class="section">
<h3><a name="AggregateFeaturesMojoTest"></a>AggregateFeaturesMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testOverrideWithManualArtifactID"></a>testOverrideWithManualArtifactID</td>
<td>0.131</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testIncludeOrdering"></a>testIncludeOrdering</td>
<td>0.038</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testNonMatchingDirectoryIncludes"></a>testNonMatchingDirectoryIncludes</td>
<td>0.011</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testAggregateFeaturesFromDirectory"></a>testAggregateFeaturesFromDirectory</td>
<td>0.013</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testHandlerConfiguration2"></a>testHandlerConfiguration2</td>
<td>0.02</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testHandlerConfiguration3"></a>testHandlerConfiguration3</td>
<td>0.011</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testReadFeatureFromArtifact"></a>testReadFeatureFromArtifact</td>
<td>0.016</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testOverrides"></a>testOverrides</td>
<td>0.013</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testAggregateFeaturesFromDirectoryWithIncludesExcludes"></a>testAggregateFeaturesFromDirectoryWithIncludesExcludes</td>
<td>0.012</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testNonMatchingDirectoryExcludes"></a>testNonMatchingDirectoryExcludes</td>
<td>0.008</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testOverrideWithManualArtifactIDNoOverride"></a>testOverrideWithManualArtifactIDNoOverride</td>
<td>0.01</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testHandlerConfiguration"></a>testHandlerConfiguration</td>
<td>0.014</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest.testPluginHandling"></a>testPluginHandling</td>
<td>0.012</td></tr></table></div>
<div class="section">
<h3><a name="AnalyseFeaturesMojoTest"></a>AnalyseFeaturesMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.AnalyseFeaturesMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AnalyseFeaturesMojoTest.testTaskConfigurationSupplied"></a>testTaskConfigurationSupplied</td>
<td>0</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AnalyseFeaturesMojoTest.testTaskConfiguration"></a>testTaskConfiguration</td>
<td>0</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AnalyseFeaturesMojoTest.testTaskConfigurationOverridden"></a>testTaskConfigurationOverridden</td>
<td>0</td></tr></table></div>
<div class="section">
<h3><a name="ApisJarMojoTest"></a>ApisJarMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.ApisJarMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.ApisJarMojoTest.testGuessClassifier"></a>testGuessClassifier</td>
<td>0.013</td></tr></table></div>
<div class="section">
<h3><a name="AttachFeaturesMojoTest"></a>AttachFeaturesMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.AttachFeaturesMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AttachFeaturesMojoTest.testAttachArtifacts"></a>testAttachArtifacts</td>
<td>0</td></tr></table></div>
<div class="section">
<h3><a name="ExtractExtensionsMojoTest"></a>ExtractExtensionsMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.ExtractExtensionsMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.ExtractExtensionsMojoTest.testExtractJSONExtensionFromAggregate"></a>testExtractJSONExtensionFromAggregate</td>
<td>0.01</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.ExtractExtensionsMojoTest.testExtractArtifactsFromAggregagte"></a>testExtractArtifactsFromAggregagte</td>
<td>0.01</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.ExtractExtensionsMojoTest.testExtractTxtExtensionFromFeatureFile"></a>testExtractTxtExtensionFromFeatureFile</td>
<td>0.01</td></tr></table></div>
<div class="section">
<h3><a name="FeatureLauncherMojoTest"></a>FeatureLauncherMojoTest</h3><a name="org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest.testMainReflection"></a>testMainReflection</td>
<td>0.061</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest.testFullLaunch"></a>testFullLaunch</td>
<td>0.067</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest.testMainReflectionFailure"></a>testMainReflectionFailure</td>
<td>0.057</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest.testSimpleFeature"></a>testSimpleFeature</td>
<td>0.046</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.FeatureLauncherMojoTest.testFeatureFileReadingIssue"></a>testFeatureFileReadingIssue</td>
<td>0.09</td></tr></table></div>
<div class="section">
<h3><a name="FeatureSelectionConfigTest"></a>FeatureSelectionConfigTest</h3><a name="org.apache.sling.feature.maven.mojos.FeatureSelectionConfigTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.FeatureSelectionConfigTest.testOrdering"></a>testOrdering</td>
<td>0</td></tr></table></div>
<div class="section">
<h3><a name="JarDecompressorTest"></a>JarDecompressorTest</h3><a name="org.apache.sling.feature.maven.mojos.JarDecompressorTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.JarDecompressorTest.testDecompress"></a>testDecompress</td>
<td>0</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.JarDecompressorTest.testJarWithEmbeddedJar"></a>testJarWithEmbeddedJar</td>
<td>0</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.JarDecompressorTest.testSignedJar"></a>testSignedJar</td>
<td>0</td></tr></table></div>
<div class="section">
<h3><a name="PreprocessorTest"></a>PreprocessorTest</h3><a name="org.apache.sling.feature.maven.PreprocessorTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.PreprocessorTest.testDependencyExclusions"></a>testDependencyExclusions</td>
<td>0.466</td></tr></table></div>
<div class="section">
<h3><a name="SubstitutionTest"></a>SubstitutionTest</h3><a name="org.apache.sling.feature.maven.SubstitutionTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.SubstitutionTest.testReplaceMavenVarsWithSystemProperties"></a>testReplaceMavenVarsWithSystemProperties</td>
<td>0</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.SubstitutionTest.testOSGiVersion"></a>testOSGiVersion</td>
<td>0.002</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.SubstitutionTest.testReplaceMavenVars"></a>testReplaceMavenVars</td>
<td>0.001</td></tr></table></div><br /></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2007&#x2013;2020
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
