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

 | 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-infra-spi &#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-infra-spi
</div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
      <div class="xleft">
        <span id="publishDate">Last Published: 2024-04-24</span>
           | <span id="projectVersion">Version: 5.4.2-SNAPSHOT</span>
      </div>
      <div class="xright"><a href="./" title="shardingsphere-infra-spi">shardingsphere-infra-spi</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-infra">shardingsphere-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"><a href="xref/index.html" title="Source Xref">Source Xref</a></li>
       <li class="none"><a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a></li>
       <li class="none"><strong>Rat Report</strong></li>
       <li class="none"><a href="checkstyle.html" title="Checkstyle">Checkstyle</a></li>
       <li class="none"><a href="cpd.html" title="CPD">CPD</a></li>
       <li class="none"><a href="pmd.html" title="PMD">PMD</a></li>
       <li class="none"><a href="spotbugs.html" title="SpotBugs">SpotBugs</a></li>
       <li class="none"><a href="jdepend-report.html" title="JDepend">JDepend</a></li>
       <li class="none"><a href="dependency-check-report.html" title="dependency-check">dependency-check</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: 2024-04-24T06:52:55Z

Notes: 0
Binaries: 0
Archives: 0
Standards: 31

Apache Licensed: 31
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/infra/spi/pom.xml
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundException.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/RegisteredShardingSphereSPI.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/annotation/SPIDescription.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/annotation/SingletonSPI.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/ShardingSphereServiceLoader.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/ordered/OrderedSPILoader.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/ordered/OrderedSPI.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/ordered/cache/OrderedServicesCache.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPI.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPILoader.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.spi.type.typed.fixture.TypedSPIFixture
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.spi.fixture.singleton.SingletonSPIFixture
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.spi.type.ordered.fixture.OrderedSPIFixture
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.spi.fixture.multiton.MultitonSPIFixture
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundExceptionTest.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/fixture/singleton/SingletonSPIFixture.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/fixture/singleton/impl/SingletonSPIFixtureImpl.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/fixture/multiton/MultitonSPIFixture.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/fixture/multiton/impl/MultitonSPIFixtureImpl.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/fixture/empty/EmptySPIFixture.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/ShardingSphereServiceLoaderTest.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/ordered/OrderedSPILoaderTest.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/ordered/cache/OrderedServicesCacheTest.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/ordered/fixture/OrderedSPIFixture.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/ordered/fixture/OrderedInterfaceFixture.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/ordered/fixture/impl/OrderedSPIFixtureImpl.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/ordered/fixture/impl/OrderedInterfaceFixtureImpl.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/typed/fixture/TypedSPIFixture.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/typed/fixture/impl/TypedSPIFixtureImpl.java
  AL    /home/runner/work/shardingsphere-doc/shardingsphere-doc/shardingsphere/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPILoaderTest.java
 
*****************************************************
</pre></div></section>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
        Copyright &#169;      2024<a href="https://www.apache.org/">The Apache Software Foundation</a>.
.      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
