~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ Licensed 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. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -------------------------- RAT - A Release Audit Tool -------------------------- Release Audit Tool (RAT) Apache RAT is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. Release Audit Tool (RAT) is a tool to improve accuracy and efficiency when checking releases. It is heuristic in nature: making guesses about possible problems. It will produce false positives and cannot find every possible issue with a release. It's reports require interpretation. RAT was developed in response to a need felt in the Apache Incubator to be able to review releases for the most common faults less labour intensively. It is therefore highly tuned to the Apache style of releases. RAT is intended to be self documenting: reports should include introductory material describing their function. Building RAT describes how to run RAT. Running RAT describes the options available. The release notes describe the current state of RAT. Checking Out RAT RAT contains a number of different products. To checkout the main application run +------------------------------------------+ svn co http://svn.apache.org/repos/asf/incubator/rat/main/trunk/rat/ +------------------------------------------+ Building RAT Building RAT requires {{{http://maven.apache.org/} Apache Maven}}. Read BUILD.txt or (for the impatient) do +------------------------------------------+ mvn install package +------------------------------------------+ This should build all modules. The application jar will be rat-app/target/rat-app-X.Y-SNAPSHOT.jar where X and Y are the current major and minor version numbers. Running RAT * Running from the Command Line Run from the command line with: +------------------------------------------+ java -jar rat-app-VERSION.jar --help +------------------------------------------+ Where VERSION is replaced with the version number you are working with. This will output a help message detailing the command line options available to you. * Running with Apache Ant RAT includes a task library for Ant 1.7. This allows RAT reports to be run against a wide variety of resources. See the file ant-task-examples.xml in the root directory of the project for details. To use the Ant tasks, {{{http://ant.apache.org/} Apache Ant 1.7}} is required. * Running with Apache Maven RAT includes a plugin for Maven 2. This allows RAT reports to be run against a wide variety of resources. Details can be found in the {{{http://incubator.apache.org/rat/apache-rat-plugin} plugin documentation}}.