<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/apt/index.apt.vm at 2024-01-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>Apache Rat&trade; &#x2013; A Release Audit Tool</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" />
<link href="https://creadur.apache.org/font/matesc.css" type="text/css" rel="stylesheet" />
  </head>
  <body class="composite">
    <div id="banner">
<a href="https://www.apache.org/" id="bannerLeft"><img src="https://www.apache.org/img/asf_logo.png"  alt="The Apache Software Foundation" title="The Apache Software Foundation"/></a>      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
      <div class="xleft">
        <span id="publishDate">Last Published: 2024-01-24</span>
           | <span id="projectVersion">Version: 0.16.1-SNAPSHOT</span>
          | <a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a> &gt;
<a href="https://creadur.apache.org/" class="externalLink" title="Creadur">Creadur</a> &gt;
<a href="https://creadur.apache.org/rat/" class="externalLink" title="Rat">Rat</a> &gt;
A Release Audit Tool
      </div>
      <div class="xright">      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
       <h5>Apache Rat™</h5>
    <ul>
     <li class="none"><strong>Introducing Rat</strong></li>
     <li class="none"><a href="apidocs/index.html" title="Javadocs">Javadocs</a></li>
     <li class="none"><a href="download_rat.cgi" title="Downloads">Downloads</a></li>
     <li class="none"><a href="RELEASE_NOTES.txt" title="Changes">Changes</a></li>
    </ul>
       <h5>Running Rat</h5>
    <ul>
     <li class="none"><a href="apache-rat/index.html" title="From The Command Line">From The Command Line</a></li>
     <li class="none"><a href="apache-rat-tasks/index.html" title="With Ant">With Ant</a></li>
     <li class="none"><a href="apache-rat-plugin/index.html" title="With Maven">With Maven</a></li>
    </ul>
       <h5>Apache Creadur™</h5>
    <ul>
     <li class="none"><a href="https://creadur.apache.org" class="externalLink" title="Creadur Project Home">Creadur Project Home</a></li>
     <li class="none"><a href="https://creadur.apache.org/tentacles" class="externalLink" title="Apache Tentacles">Apache Tentacles</a></li>
     <li class="none"><a href="https://creadur.apache.org/whisker" class="externalLink" title="Apache Whisker">Apache Whisker</a></li>
     <li class="none"><a href="https://www.apache.org/security/" class="externalLink" title="Security">Security</a></li>
     <li class="none"><a href="https://www.apache.org/licenses/" class="externalLink" title="License">License</a></li>
     <li class="none"><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink" title="Privacy">Privacy</a></li>
     <li class="none"><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a></li>
     <li class="none"><a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a></li>
    </ul>
       <h5>The Apache Software Foundation</h5>
    <ul>
     <li class="none"><a href="https://www.apache.org/foundation" class="externalLink" title="About the Foundation">About the Foundation</a></li>
     <li class="none"><a href="https://projects.apache.org" class="externalLink" title="The projects">The projects</a></li>
     <li class="none"><a href="https://people.apache.org" class="externalLink" title="The people">The people</a></li>
     <li class="none"><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How we work">How we work</a></li>
     <li class="none"><a href="https://www.apache.org/foundation/how-it-works.html#history" class="externalLink" title="Our history">Our history</a></li>
     <li class="none"><a href="https://blogs.apache.org/foundation/" class="externalLink" title="News">News</a></li>
    </ul>
       <h5>Contribute</h5>
    <ul>
     <li class="none"><a href="https://www.apache.org/foundation/getinvolved.html" class="externalLink" title="Get Involved">Get Involved</a></li>
    </ul>
       <h5>Committer Info</h5>
    <ul>
     <li class="none"><a href="https://www.apache.org/dev/committers.html" class="externalLink" title="ASF Committers' FAQ">ASF Committers' FAQ</a></li>
     <li class="none"><a href="https://www.apache.org/dev/new-committers-guide.html" class="externalLink" title="New Committers Guide">New Committers Guide</a></li>
     <li class="none"><a href="site-publish.html" title="Howto publish this site">Howto publish this site</a></li>
     <li class="none"><a href="https://community.apache.org/" class="externalLink" title="Community">Community</a></li>
     <li class="none"><a href="https://www.apache.org/legal/" class="externalLink" title="Legal">Legal</a></li>
     <li class="none"><a href="https://www.apache.org/foundation/marks/" class="externalLink" title="Branding">Branding</a></li>
     <li class="none"><a href="https://www.apache.org/press/" class="externalLink" title="Media Relations">Media Relations</a></li>
    </ul>
       <h5>Modules</h5>
    <ul>
     <li class="none"><a href="apache-rat-core/index.html" title="Apache Creadur Rat::Core">Apache Creadur Rat::Core</a></li>
     <li class="none"><a href="apache-rat-plugin/index.html" title="Apache Creadur Rat::Plugin4Maven">Apache Creadur Rat::Plugin4Maven</a></li>
     <li class="none"><a href="apache-rat-tasks/index.html" title="Apache Creadur Rat::Tasks4Ant">Apache Creadur Rat::Tasks4Ant</a></li>
     <li class="none"><a href="apache-rat/index.html" title="Apache Creadur Rat::Command Line">Apache Creadur Rat::Command Line</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="collapsed"><a href="project-reports.html" title="Project Reports">Project Reports</a></li>
    </ul>
      <a href="https://maven.apache.org/" title="Maven" class="poweredBy">
        <img class="poweredBy"  alt="Maven" src="https://maven.apache.org/images/logos/maven-feather.png"     />
      </a>
      </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
<section>
<h2><a name="Apache_Rat"></a>Apache Rat</h2>
<p>In a hurry? Jump to <a href="#Quick_Start:_Running_Rat">quick start</a></p>
<ul>
<li><a href="#About_Rat">About Rat</a>
<ul>
<li><a href="#What_Is_Rat.3F">What Is Rat?</a></li>
<li><a href="#Rat_Is_Used_To....3F">Rat Is Used To...?</a></li>
<li><a href="#Why_Develop_Rat.3F">Why Develop Rat?</a></li>
<li><a href="#How_Do_I_Use_Rat.3F">How Do I Use Rat?</a></li>
<li><a href="#Who_Develops_Rat.3F">Who Develops Rat?</a></li></ul></li>
<li><a href="#Quick_Start:_Running_Rat">Quick Start: Running Rat</a>
<ul>
<li><a href="#Command_Line">Command Line</a></li>
<li><a href="#Apache_Ant">Apache Ant</a></li>
<li><a href="#Apache_Maven">Apache Maven</a></li></ul></li>
<li><a href="#Checking_Out_Rat">Checking Out Rat</a></li>
<li><a href="#Building_Rat">Building Rat</a></li></ul><section>
<h3><a name="About_Rat"></a>About Rat</h3><section>
<h4><a name="What_Is_Rat.3F"></a>What Is Rat?</h4>
<p>Apache Rat is a release audit tool, focused on licenses.</p></section><section>
<h4><a name="Rat_Is_Used_To....3F"></a>Rat Is Used To...?</h4>
<p>Use Rat to improve accuracy and efficiency when checking releases for licenses.</p></section><section>
<h4><a name="Why_Develop_Rat.3F"></a>Why Develop Rat?</h4>
<p>Reviewing releases in the <a class="externalLink" href="https://incubator.apache.org/">Apache Incubator</a> by hand was error-prone and time-consuming.</p>
<p>Rat arises from the Apache style, but is used more widely. If your release style isn't supported, <a href="./mailing-lists.html">talk to us</a>.</p></section><section>
<h4><a name="How_Do_I_Use_Rat.3F"></a>How Do I Use Rat?</h4>
<p>Apache Rat 0.16.1-SNAPSHOT ships with tooling for</p>
<ul>
<li><a class="externalLink" href="https://ant.apache.org/">Apache Ant</a>,</li>
<li><a class="externalLink" href="https://maven.apache.org">Apache Maven</a> and</li>
<li>the command line.</li></ul>
<p>Rat is extensible. If your build tool isn't supported, please contribute a <a href="./issue-management.html">patch</a> or <a href="./mailing-lists.html">talk to us</a>.</p>
<p>Rat aspires to be self documenting. Please contribute a <a href="./issue-management.html">patch</a> or <a href="./mailing-lists.html">talk to us</a> whenever Rat falls short.</p></section><section>
<h4><a name="Who_Develops_Rat.3F"></a>Who Develops Rat?</h4>
<p>Apache Rat is part of the <a class="externalLink" href="https://creadur.apache.org">Apache Creadur</a> language- and build-agnostic suite of tools for auditing and comprehending software distributions. Our community develops <a class="externalLink" href="https://opensource.org/"> open source software</a> the <a class="externalLink" href="https://www.apache.org/foundation/how-it-works.html"> Apache way</a>.</p>
<p>Please feel free to contribute a <a href="./issue-management.html">patch</a>, <a class="externalLink" href="https://wiki.c2.com/?TestDrivenDevelopment">demonstrate</a> a <a href="./issue-management.html">bug</a>, or just <a href="./mailing-lists.html">talk to us</a>. All welcome :-)</p></section></section><section>
<h3><a name="Quick_Start:_Running_Rat"></a>Quick Start: Running Rat</h3><section>
<h4><a name="Command_Line"></a>Command Line</h4>
<p>Quick start by</p>
<div class="source">
<pre>java -jar apache-rat-0.16.1-SNAPSHOT.jar --help</pre></div>
<p>Read more <a href="./apache-rat/index.html">here</a>.</p></section><section>
<h4><a name="Apache_Ant"></a>Apache Ant</h4>
<p>Use the task library for <a class="externalLink" href="https://ant.apache.org/"> Apache Ant 1.7</a> or later</p>
<p>Read more <a href="./apache-rat-tasks/index.html"> here</a>.</p></section><section>
<h4><a name="Apache_Maven"></a>Apache Maven</h4>
<p>Use the plugin for <a class="externalLink" href="https://maven.apache.org">Apache Maven 3.9.6</a> or later.</p>
<div class="source">
<pre>  &lt;plugin&gt;
    &lt;groupId&gt;org.apache.rat&lt;/groupId&gt;
    &lt;artifactId&gt;apache-rat-plugin&lt;/artifactId&gt;
    &lt;version&gt;0.16.1-SNAPSHOT&lt;/version&gt;
  &lt;/plugin&gt;</pre></div>
<p>Read more <a href="./apache-rat-plugin/index.html"> here</a>.</p></section></section><section>
<h3><a name="Checking_Out_Rat"></a>Checking Out Rat</h3>
<p>Quick start</p>
<div class="source">
<pre>git clone https://gitbox.apache.org/repos/asf/creadur-rat.git</pre></div>
<p>Read more <a href="./scm.html">here</a>.</p></section><section>
<h3><a name="Building_Rat"></a>Building Rat</h3>
<p>Build Rat with <a class="externalLink" href="https://maven.apache.org/"> Apache Maven</a></p>
<p>Quick start</p>
<p>If you want to build RAT just launch 'mvn' or './mvnw' inside the root folder. It will automatically perform a</p>
<div class="source">
<pre>mvn clean install</pre></div></section></section>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
        Copyright &copy; 2016-2024 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
      Apache Creadur, Creadur, Apache Rat, Apache Tentacles, Apache Whisker, Apache and the Apache feather 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 class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
