<!DOCTYPE html>


<!--
 | Generated by Apache Maven Doxia Site Renderer 2.0.0 from org.apache.maven.plugins:maven-site-plugin:3.21.0:project-info 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>Project Information – Apache RAT\u2122 Task Library for Apache Ant</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><a href="index.html">Apache RAT\u2122 Task Library for Apache Ant</a><span class="divider">/</span></li>
    <li class="active">Project Information</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">Parent Project</li>
    <li><a href="../index.html">Apache Creadur RAT</a></li>
   <li class="nav-header">Overview</li>
    <li><a href="index.html">Introduction</a></li>
    <li><a href="report.html">Report Task</a></li>
   <li class="nav-header">Examples</li>
    <li><a href="examples/basic.html">Basic Usage</a></li>
   <li class="nav-header">Project Documentation</li>
    <li class="active"><a><span class="icon-chevron-down"></span>Project Information</a>
     <ul class="nav nav-list">
      <li><a href="dependencies.html">Dependencies</a></li>
      <li><a href="team.html">Team</a></li>
      <li><a href="mailing-lists.html">Mailing Lists</a></li>
      <li><a href="issue-management.html">Issue Management</a></li>
      <li><a href="ci-management.html">CI Management</a></li>
      <li><a href="scm.html">Source Code Management</a></li>
     </ul></li>
    <li><a href="project-reports.html"><span class="icon-chevron-right"></span>Project Reports</a></li>
   <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>
  </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>Project Information</h1>
<p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="https://maven.apache.org">Maven</a> on behalf of the project.</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="dependencies.html">Dependencies</a></td>
<td>This document lists the project's dependencies and provides information on each dependency.</td></tr>
<tr class="a">
<td><a href="team.html">Team</a></td>
<td>This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.</td></tr>
<tr class="b">
<td><a href="mailing-lists.html">Mailing Lists</a></td>
<td>This document provides subscription and archive information for this project's mailing lists.</td></tr>
<tr class="a">
<td><a href="issue-management.html">Issue Management</a></td>
<td>This document provides information on the issue management system used in this project.</td></tr>
<tr class="b">
<td><a href="ci-management.html">CI Management</a></td>
<td>This document lists the continuous integration management system of this project for building and testing code on a frequent, regular basis.</td></tr>
<tr class="a">
<td><a href="scm.html">Source Code Management</a></td>
<td>This document lists ways to access the online source repository.</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>
