<!DOCTYPE html>


<!--
 | Generated by Apache Maven Doxia Site Renderer 2.0.0 from org.apache.maven.plugins:maven-site-plugin:3.21.0:project-reports at 2025-09-13
 | Rendered using Apache Maven Fluido Skin 2.1.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0" />
    <title>Generated Reports – Apache RAT™ - A Release Audit Tool</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-2.1.0.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-2.1.0.min.js"></script>
<link href="https://creadur.apache.org/font/matesc.css" type="text/css" rel="stylesheet" />
  </head>
  <body>
    <a class="github-fork-ribbon right-top" href="https://github.com/apache/creadur-rat" data-ribbon="Fork me on GitHub">Fork me on GitHub</a>
    <div class="container-fluid container-fluid-top">
      <header>
        <div id="banner">
          <div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" /> Apache RAT</a></h1></div></div>
          <div class="pull-right"></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2025-09-13<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 0.17-SNAPSHOT<span class="divider">|</span></li>
      <li><a href="https://www.apache.org/">Apache</a><span class="divider">/</span></li>
      <li><a href="../">Creadur</a><span class="divider">/</span></li>
      <li><a href="./">RAT</a><span class="divider">/</span></li>
    <li class="active">Generated Reports</li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header">Apache RAT™</li>
    <li><a href="index.html">Introducing RAT</a></li>
    <li><a href="download_rat.cgi">Downloads</a></li>
    <li><a href="changes.html">Changes</a></li>
   <li class="nav-header">RAT from the Command Line</li>
    <li><a href="apache-rat/index.html">Command Line Introduction</a></li>
    <li><a href="apache-rat/cli_options.html">Command Line Options</a></li>
    <li><a href="apache-rat-core/exclusion_expression.html">Exclusion Expressions</a></li>
    <li><a href="apache-rat/standard_collections.html">Standard Collections</a></li>
   <li class="nav-header">RAT from Ant</li>
    <li><a href="apache-rat-tasks/index.html">Ant Task Introduction</a></li>
    <li><a href="apache-rat-tasks/ant_options.html">Ant Elements and Attributes</a></li>
   <li class="nav-header">RAT from Maven</li>
    <li><a href="apache-rat-plugin/index.html">Maven Plugin Introduction</a></li>
    <li><a href="apache-rat-plugin/mvn_options.html">Maven Options</a></li>
    <li><a href="apache-rat-plugin/examples/index.html">Maven Examples</a></li>
   <li class="nav-header">Configuring RAT</li>
    <li><a href="apache-rat/name_xref.html">Option Name Cross Reference</a></li>
    <li><a href="apache-rat/default_licenses.html">Default Licenses</a></li>
    <li><a href="apache-rat/default_matchers.html">Default Matchers</a></li>
    <li><a href="license_def.html">Defining New Licenses</a></li>
    <li><a href="apache-rat/xsd.html">Configuration XSD</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/default.xml">Default Configuration</a></li>
    <li><a href="apache-rat/detecting_generated_files.html">Detecting Generated Files</a></li>
   <li class="nav-header">RAT Output</li>
    <li><a href="apache-rat/output/example.html">Standard Output Example</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/rat-report.xsd">Output XSD</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/plain-rat.xsl">XSLT - Plain text</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/missing-headers.xsl">XSLT - Missing headers list</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/unapproved-licenses.xsl">XSLT - Unapproved licenses list</a></li>
   <li class="nav-header">Developing RAT</li>
    <li><a href="architecture.html">Architecture</a></li>
    <li><a href="apidocs/index.html">Javadocs</a></li>
    <li><a href="apache-rat-core/development/document_name.html">Document Name concept</a></li>
    <li><a href="development/ui_implementation.html">UI Development</a></li>
    <li><a href="apache-rat-core/development/write_file_processor.html">Writing a File Processor</a></li>
   <li class="nav-header">Apache Creadur™</li>
    <li><a href="..">Creadur Project Home</a></li>
    <li><a href="../tentacles">Apache Tentacles</a></li>
    <li><a href="../whisker">Apache Whisker</a></li>
    <li><a href="https://www.apache.org/security/">Security</a></li>
    <li><a href="https://www.apache.org/licenses/">License</a></li>
    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
   <li class="nav-header">The Apache Software Foundation</li>
    <li><a href="https://www.apache.org/foundation">About the Foundation</a></li>
    <li><a href="https://projects.apache.org">The projects</a></li>
    <li><a href="https://people.apache.org">The people</a></li>
    <li><a href="https://www.apache.org/foundation/how-it-works.html">How we work</a></li>
    <li><a href="https://www.apache.org/foundation/how-it-works.html#history">Our history</a></li>
    <li><a href="https://blogs.apache.org/foundation/">News</a></li>
   <li class="nav-header">Contribute</li>
    <li><a href="https://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
   <li class="nav-header">Committer Info</li>
    <li><a href="https://www.apache.org/dev/committers.html">ASF Committers&apos; FAQ</a></li>
    <li><a href="https://www.apache.org/dev/new-committers-guide.html">New Committers Guide</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-site/blob/asf-site/README.md">How to publish this site</a></li>
    <li><a href="https://community.apache.org/">Community</a></li>
    <li><a href="https://www.apache.org/legal/">Legal</a></li>
    <li><a href="https://www.apache.org/foundation/marks/">Branding</a></li>
    <li><a href="https://www.apache.org/press/">Media Relations</a></li>
   <li class="nav-header">Modules</li>
    <li><a href="apache-rat-core/index.html">Apache Creadur RAT::Core</a></li>
    <li><a href="apache-rat-plugin/index.html">Apache Creadur RAT::Plugin4Maven</a></li>
    <li><a href="apache-rat-tasks/index.html">Apache Creadur RAT::Tasks4Ant</a></li>
    <li><a href="apache-rat/index.html">Apache Creadur RAT::Packaging</a></li>
    <li><a href="apache-rat-tools/index.html">Apache Creadur RAT::Tools</a></li>
    <li><a href="apache-rat-testdata/index.html">Apache Creadur RAT::Testdata</a></li>
   <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li>
    <li class="active"><a><span class="icon-chevron-down"></span>Project Reports</a>
     <ul class="nav nav-list">
      <li><a href="changes.html">Changes</a></li>
      <li><a href="jira-changes.html">JIRA Report</a></li>
      <li><a href="checkstyle.html">Checkstyle</a></li>
      <li><a href="checkstyle-aggregate.html">Checkstyle</a></li>
      <li><a href="apidocs/index.html">Javadoc</a></li>
      <li><a href="rat-report.html">Rat Report</a></li>
     </ul></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
<a href="https://maven.apache.org/" class="builtBy"><img class="builtBy" src="https://maven.apache.org/images/logos/maven-feather.png" /> Maven</a>
            </div>
          </div>
        </header>
        <main id="bodyColumn" class="span10">
<section>
<h1>Generated Reports</h1>
<p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="https://maven.apache.org">Maven</a> . Each report is briefly described below.</p><section>
<h2>Overview</h2>
<table class="table table-striped">
<tr class="a">
<th>Document</th>
<th>Description</th></tr>
<tr class="b">
<td><a href="changes.html">Changes</a></td>
<td>Changes report on releases of this project.</td></tr>
<tr class="a">
<td><a href="jira-changes.html">JIRA Report</a></td>
<td>Report on Issues from the JIRA Issue Tracking System.</td></tr>
<tr class="b">
<td><a href="checkstyle.html">Checkstyle</a></td>
<td>Report on coding style conventions.</td></tr>
<tr class="a">
<td><a href="checkstyle-aggregate.html">Checkstyle</a></td>
<td>Report on coding style conventions.</td></tr>
<tr class="b">
<td><a href="apidocs/index.html">Javadoc</a></td>
<td>Javadoc API documentation.</td></tr>
<tr class="a">
<td><a href="rat-report.html">Rat Report</a></td>
<td>Report on compliance to license related source code policies</td></tr></table></section></section>        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
Copyright &copy; 2016-2025 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
      Apache Creadur, Creadur, Apache RAT, Apache Tentacles, Apache Whisker, Apache and the ASF logo are trademarks
      of The Apache Software Foundation.
      Oracle and Java are registered trademarks of Oracle and/or its affiliates.
      All other marks mentioned may be trademarks or registered trademarks of their respective owners.
        </div>
      </div>
    </footer>
  </body>
</html>
