<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 from org.apache.rat:apache-rat-plugin:0.15:rat at 2023-06-08

 | Rendered using Apache Maven Default Skin
-->
<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="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
    <title>shardingsphere-test-fixture &#x2013; Rat (Release Audit Tool) results</title>
    <link rel="stylesheet" href="./css/maven-base.css" />
    <link rel="stylesheet" href="./css/maven-theme.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
  </head>
  <body class="composite">
    <div id="banner">
<div id="bannerLeft">shardingsphere-test-fixture
</div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
      <div class="xleft">
        <span id="publishDate">Last Published: 2023-06-08</span>
           | <span id="projectVersion">Version: 5.3.3-SNAPSHOT</span>
      </div>
      <div class="xright"><a href="./" title="shardingsphere-test-fixture">shardingsphere-test-fixture</a>      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
       <h5>Parent Project</h5>
    <ul>
     <li class="none"><a href="../index.html" title="shardingsphere-test">shardingsphere-test</a></li>
    </ul>
       <h5>Modules</h5>
    <ul>
     <li class="none"><a href="shardingsphere-test-fixture-jdbc/index.html" title="shardingsphere-test-fixture-jdbc">shardingsphere-test-fixture-jdbc</a></li>
     <li class="none"><a href="shardingsphere-test-fixture-infra/index.html" title="shardingsphere-test-fixture-infra">shardingsphere-test-fixture-infra</a></li>
    </ul>
       <h5>Project Documentation</h5>
    <ul>
     <li class="collapsed"><a href="project-info.html" title="Project Information">Project Information</a></li>
     <li class="expanded"><a href="project-reports.html" title="Project Reports">Project Reports</a>
      <ul>
       <li class="none"><a href="apidocs/index.html" title="Javadoc">Javadoc</a></li>
       <li class="none"><strong>Rat Report</strong></li>
       <li class="none"><a href="jdepend-report.html" title="JDepend">JDepend</a></li>
      </ul></li>
    </ul>
      <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
      </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
<section>
<h2><a name="Rat_.28Release_Audit_Tool.29_results"></a>Rat (Release Audit Tool) results</h2>
<p>The following document contains the results of <a class="externalLink" href="https://creadur.apache.org/rat/apache-rat-plugin/">Rat (Release Audit Tool)</a>.</p>
<p></p>
<div class="source">
<pre>
*****************************************************
Summary
-------
Generated at: 2023-06-08T19:07:31Z

Notes: 0
Binaries: 0
Archives: 0
Standards: 1

Apache Licensed: 1
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

0 Unknown Licenses

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/test/fixture/pom.xml
 
*****************************************************
</pre></div></section>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
        Copyright &#169;      2023<a href="https://www.apache.org/">The Apache Software Foundation</a>.
.      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
