<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-11-21 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache Rat™ &#x2013; Downloads</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20161121" />
    <meta http-equiv="Content-Language" content="en" />
                                                    
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Mate+SC" type="text/css"/>
                      
        </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: 2016-11-21</span>
                  &nbsp;| <span id="projectVersion">Version: 0.13-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;
    Downloads
              </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">
                          <a href="index.html" title="Introducing Rat">Introducing Rat</a>
            </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://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://planet.apache.org/committers/" class="externalLink" title="Plant Apache">Plant Apache</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-api/index.html" title="Apache Creadur Rat::API">Apache Creadur Rat::API</a>
            </li>
                  <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">
        <!-- Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. -->
  
    <div class="section">
<h2><a name="Download_Apache_Creadur_Rat"></a>Download Apache Creadur Rat</h2>
      
<div class="section">
<h3><a name="Using_a_Mirror"></a>Using a Mirror</h3>
        
<p>
          We recommend you use a mirror to download our release
          builds, but you <b>must</b> <a class="externalLink" href="https://www.apache.org/info/verification.html">verify the integrity</a> of
          the downloaded files using signatures downloaded from our main
          distribution directories. Recent releases (48 hours) may not yet
          be available from the mirrors.
        </p>

        
<p>
          You are currently using <b>[preferred]</b>.  If you
          encounter a problem with this mirror, please select another
          mirror.  If all mirrors are failing, there are <i>backup</i>
          mirrors (at the end of the mirrors list) that should be
          available.
          <br /></br>
          [if-any logo]<a href="[link]"><img src="[logo]" align="right" border="0" alt="" /></img></a>[end]
        </p>

        <form action="[location]" method="get" id="SelectMirror">
          
<p>
            Other mirrors:
            <select name="Preferred">
              [if-any http]
              [for http]<option value="[http]">[http]</option>[end]
              [end]
              [if-any ftp]
              [for ftp]<option value="[ftp]">[ftp]</option>[end]
              [end]
              [if-any backup]
              [for backup]<option value="[backup]">[backup] (backup)</option>[end]
              [end]
            </select>
            <input type="submit" value="Change"></input>
          </p>
        </form>

        
<p>
          The <a class="externalLink" href="https://www.apache.org/dist/creadur/KEYS">KEYS</a>
          link links to the code signing keys used to sign the
          product.  The <tt>PGP</tt> link downloads the OpenPGP
          compatible signature from our main site.  The
          <tt>SHA1</tt> and <tt>MD5</tt> links download the
          checksum from the main site.
        </p>
      </div>
    </div>
    
<div class="section">
<h2><a name="Latest_release_of_Apache_Creadur_Rat_is_0.12"></a>Latest release of Apache Creadur Rat is 0.12</h2>
      
<div class="section">
<h3><a name="Binaries"></a>Binaries</h3>
        
<table border="0" class="bodyTable">
          
<tr class="a">
              
<td><a href="[preferred]/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.bz2">apache-rat-0.12-bin.tar.bz2</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.bz2.md5">md5</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.bz2.sha1">sha1</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.bz2.asc">pgp</a></td>
          </tr>
          
<tr class="b">
              
<td><a href="[preferred]/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz">apache-rat-0.12-bin.tar.gz</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz.md5">md5</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz.sha1">sha1</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz.asc">pgp</a></td>
          </tr>
          
<tr class="a">
              
<td><a href="[preferred]/creadur/apache-rat-0.12/apache-rat-0.12-bin.zip">apache-rat-0.12-bin.zip</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.zip.md5">md5</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.zip.sha1">sha1</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-bin.zip.asc">pgp</a></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Source"></a>Source</h3>
        
<table border="0" class="bodyTable">
          
<tr class="a">
              
<td><a href="[preferred]/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.bz2">apache-rat-0.12-src.tar.bz2</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.bz2.md5">md5</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.bz2.sha1">sha1</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.bz2.asc">pgp</a></td>
          </tr>
          
<tr class="b">
              
<td><a href="[preferred]/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.gz">apache-rat-0.12-src.tar.gz</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.gz.md5">md5</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.gz.sha1">sha1</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.tar.gz.asc">pgp</a></td>
          </tr>
          
<tr class="a">
              
<td><a href="[preferred]/creadur/apache-rat-0.12/apache-rat-0.12-src.zip">apache-rat-0.12-src.zip</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.zip.md5">md5</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.zip.sha1">sha1</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/creadur/apache-rat-0.12/apache-rat-0.12-src.zip.asc">pgp</a></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h2><a name="Apache_Creadur_Rat_0.13-SNAPSHOT"></a>Apache Creadur Rat 0.13-SNAPSHOT</h2>
        
<div class="section">
<h3><a name="Snapshots"></a>Snapshots</h3>
          
<table border="0" class="bodyTable">
            
<tr class="a">
                
<td colspan="4"><a class="externalLink" href="https://repository.apache.org/content/repositories/snapshots/org/apache/rat">apache-rat SNAPSHOT 0.13-SNAPSHOT</a></td>
            </tr>
          </table>
        </div>
        </div>
    </div>
    
<div class="section">
<h2><a name="Archives"></a>Archives</h2>
        
<p>
          Older releases can be obtained from the archives.
        </p>
        
<ul>
          
<li class="download"><a href="[preferred]/creadur/">browse download area</a></li>
          
<li><a class="externalLink" href="https://archive.apache.org/dist/creadur/">archives...</a></li>
          
<li><a class="externalLink" href="https://archive.apache.org/dist/incubator/rat/">Incubator archives...</a></li>
        </ul>
    </div>
  

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
              <?xml version="1.0" encoding="UTF-8"?>
<footer>Copyright © 2016 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.</footer>
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
