http://git-wip-us.apache.org/repos/asf/yetus/blob/11d39576/documentation/0.2.0/audience-annotations-apidocs/stylesheet.css
----------------------------------------------------------------------
diff --git a/documentation/0.2.0/audience-annotations-apidocs/stylesheet.css 
b/documentation/0.2.0/audience-annotations-apidocs/stylesheet.css
new file mode 100644
index 0000000..0aeaa97
--- /dev/null
+++ b/documentation/0.2.0/audience-annotations-apidocs/stylesheet.css
@@ -0,0 +1,474 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:Arial, Helvetica, sans-serif;
+    font-size:76%;
+    margin:0;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4c6b87;
+}
+a:hover, a:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a:active {
+    text-decoration:none;
+    color:#4c6b87;
+}
+a[name] {
+    color:#353833;
+}
+a[name]:hover {
+    text-decoration:none;
+    color:#353833;
+}
+pre {
+    font-size:1.3em;
+}
+h1 {
+    font-size:1.8em;
+}
+h2 {
+    font-size:1.5em;
+}
+h3 {
+    font-size:1.4em;
+}
+h4 {
+    font-size:1.3em;
+}
+h5 {
+    font-size:1.2em;
+}
+h6 {
+    font-size:1.1em;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-size:1.2em;
+}
+dt code {
+    font-size:1.2em;
+}
+table tr td dt code {
+    font-size:1.2em;
+    vertical-align:top;
+}
+sup {
+    font-size:.6em;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+    clear:both;
+    height:0px;
+    overflow:hidden;
+}
+.aboutLanguage {
+    float:right;
+    padding:0px 21px;
+    font-size:.8em;
+    z-index:200;
+    margin-top:-7px;
+}
+.legalCopy {
+    margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+    color:#bb7a2a;
+}
+.tab {
+    background-color:#0066FF;
+    background-image:url(resources/titlebar.gif);
+    background-position:left top;
+    background-repeat:no-repeat;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+    background-image:url(resources/background.gif);
+    background-repeat:repeat-x;
+    color:#FFFFFF;
+    padding:.8em .5em .4em .8em;
+    height:auto;/*height:1.8em;*/
+    font-size:1em;
+    margin:0;
+}
+.topNav {
+    background-image:url(resources/background.gif);
+    background-repeat:repeat-x;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+}
+.bottomNav {
+    margin-top:10px;
+    background-image:url(resources/background.gif);
+    background-repeat:repeat-x;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+}
+.subNav {
+    background-color:#dee3e9;
+    border-bottom:1px solid #9eadc0;
+    float:left;
+    width:100%;
+    overflow:hidden;
+}
+.subNav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+}
+ul.navList, ul.subNavList {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.navList li{
+    list-style:none;
+    float:left;
+    padding:3px 6px;
+}
+ul.subNavList li{
+    list-style:none;
+    float:left;
+    font-size:90%;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, 
.bottomNav a:active, .bottomNav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.topNav a:hover, .bottomNav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+.navBarCell1Rev {
+    background-image:url(resources/tab.gif);
+    background-color:#a88834;
+    color:#FFFFFF;
+    margin: auto 5px;
+    border:1px solid #c9aa44;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+    clear:both;
+    margin:0 20px;
+    padding:5px 0 0 0;
+}
+.indexHeader {
+    margin:10px;
+    position:relative;
+}
+.indexHeader h1 {
+    font-size:1.3em;
+}
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.subTitle {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 25px 0;
+    padding:0;
+}
+.footer ul {
+    margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:1.2em;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, 
div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+    background-color:#dee3e9;
+    border-top:1px solid #9eadc0;
+    border-bottom:1px solid #9eadc0;
+    margin:0 0 6px -8px;
+    padding:2px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    background-color:#dee3e9;
+    border-top:1px solid #9eadc0;
+    border-bottom:1px solid #9eadc0;
+    margin:0 0 6px -8px;
+    padding:2px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+    padding:0;
+    margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+    padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, 
.serializedFormContainer, .constantValuesContainer {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+.indexContainer {
+    margin:10px;
+    position:relative;
+    font-size:1.0em;
+}
+.indexContainer h2 {
+    font-size:1.1em;
+    padding:0 0 3px 0;
+}
+.indexContainer ul {
+    margin:0;
+    padding:0;
+}
+.indexContainer ul li {
+    list-style:none;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, 
.serializedFormContainer dl dt {
+    font-size:1.1em;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, 
.serializedFormContainer dl dd {
+    margin:10px 0 10px 20px;
+}
+.serializedFormContainer dl.nameValue dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+ul.inheritance {
+    margin:0;
+    padding:0;
+}
+ul.inheritance li {
+    display:inline;
+    list-style:none;
+}
+ul.inheritance li ul.inheritance {
+    margin-left:15px;
+    padding-left:15px;
+    padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+    list-style:none;
+    margin-bottom:25px;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast 
li.blockList {
+    padding:0px 20px 5px 10px;
+    border:1px solid #9eadc0;
+    background-color:#f9f9f9;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList 
ul.blockListLast li.blockList {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:1px solid #9eadc0;
+    border-top:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+    margin-left:0;
+    padding-left:0;
+    padding-bottom:15px;
+    border:none;
+    border-bottom:1px solid #9eadc0;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+    list-style:none;
+    border-bottom:none;
+    padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.contentContainer table, .classUseContainer table, .constantValuesContainer 
table {
+    border-bottom:1px solid #9eadc0;
+    width:100%;
+}
+.contentContainer ul li table, .classUseContainer ul li table, 
.constantValuesContainer ul li table {
+    width:100%;
+}
+.contentContainer .description table, .contentContainer .details table {
+    border-bottom:none;
+}
+.contentContainer ul li table th.colOne, .contentContainer ul li table 
th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li 
table th, .constantValuesContainer ul li table th, .contentContainer ul li 
table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer 
ul li table td.colLast, .classUseContainer ul li table td, 
.constantValuesContainer ul li table td{
+    vertical-align:top;
+    padding-right:20px;
+}
+.contentContainer ul li table th.colLast, .classUseContainer ul li table 
th.colLast,.constantValuesContainer ul li table th.colLast,
+.contentContainer ul li table td.colLast, .classUseContainer ul li table 
td.colLast,.constantValuesContainer ul li table td.colLast,
+.contentContainer ul li table th.colOne, .classUseContainer ul li table 
th.colOne,
+.contentContainer ul li table td.colOne, .classUseContainer ul li table 
td.colOne {
+    padding-right:3px;
+}
+.overviewSummary caption, .packageSummary caption, .contentContainer 
ul.blockList li.blockList caption, .summary caption, .classUseContainer 
caption, .constantValuesContainer caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#FFFFFF;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0px;
+    margin:0px;
+}
+caption a:link, caption a:hover, caption a:active, caption a:visited {
+    color:#FFFFFF;
+}
+.overviewSummary caption span, .packageSummary caption span, .contentContainer 
ul.blockList li.blockList caption span, .summary caption span, 
.classUseContainer caption span, .constantValuesContainer caption span {
+    white-space:nowrap;
+    padding-top:8px;
+    padding-left:8px;
+    display:block;
+    float:left;
+    background-image:url(resources/titlebar.gif);
+    height:18px;
+}
+.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer 
ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer 
.tabEnd, .constantValuesContainer .tabEnd {
+    width:10px;
+    background-image:url(resources/titlebar_end.gif);
+    background-repeat:no-repeat;
+    background-position:top right;
+    position:relative;
+    float:left;
+}
+ul.blockList ul.blockList li.blockList table {
+    margin:0 0 12px 0px;
+    width:100%;
+}
+.tableSubHeadingColor {
+    background-color: #EEEEFF;
+}
+.altColor {
+    background-color:#eeeeef;
+}
+.rowColor {
+    background-color:#ffffff;
+}
+.overviewSummary td, .packageSummary td, .contentContainer ul.blockList 
li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer 
td {
+    text-align:left;
+    padding:3px 3px 3px 7px;
+}
+th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
+    background:#dee3e9;
+    border-top:1px solid #9eadc0;
+    border-bottom:1px solid #9eadc0;
+    text-align:left;
+    padding:3px 3px 3px 7px;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, 
td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst 
a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, 
td.colLast a:hover, .constantValuesContainer td a:link, 
.constantValuesContainer td a:active, .constantValuesContainer td a:visited, 
.constantValuesContainer td a:hover {
+    font-weight:bold;
+}
+td.colFirst, th.colFirst {
+    border-left:1px solid #9eadc0;
+    white-space:nowrap;
+}
+td.colLast, th.colLast {
+    border-right:1px solid #9eadc0;
+}
+td.colOne, th.colOne {
+    border-right:1px solid #9eadc0;
+    border-left:1px solid #9eadc0;
+}
+table.overviewSummary  {
+    padding:0px;
+    margin-left:0px;
+}
+table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
+table.overviewSummary td.colOne, table.overviewSummary th.colOne {
+    width:25%;
+    vertical-align:middle;
+}
+table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
+    width:25%;
+    vertical-align:middle;
+}
+/*
+Content styles
+*/
+.description pre {
+    margin-top:0;
+}
+.deprecatedContent {
+    margin:0;
+    padding:10px 0;
+}
+.docSummary {
+    padding:0;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:.9em;
+}
+.block {
+    display:block;
+    margin:3px 0 0 0;
+}
+.strong {
+    font-weight:bold;
+}

http://git-wip-us.apache.org/repos/asf/yetus/blob/11d39576/documentation/0.2.0/index.html
----------------------------------------------------------------------
diff --git a/documentation/0.2.0/index.html b/documentation/0.2.0/index.html
new file mode 100644
index 0000000..6653f65
--- /dev/null
+++ b/documentation/0.2.0/index.html
@@ -0,0 +1,181 @@
+<!---
+  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.
+-->
+
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>Apache Yetus</title>
+                   <meta name="viewport" content="width=device-width, 
initial-scale=1.0">
+                   <meta name="description" content="">
+                   <meta name="author" content="">
+
+                   <link href="/assets/css/bootstrap.css" rel="stylesheet">
+                   <link href="/assets/css/bootstrap-theme.css" 
rel="stylesheet">
+                    <link href="/assets/css/font-awesome.css" rel="stylesheet">
+
+                   <!-- JS -->
+                   <script type="text/javascript" 
src="/assets/js/jquery-2.1.4.min.js"></script>
+                   <script type="text/javascript" 
src="/assets/js/bootstrap.js"></script>
+       </head>
+    <body>
+      <div class="navbar navbar-inverse navbar-static-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" 
data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="img-responsive pull-left" href="/">
+                <img style="max-height: 40px; margin-top: 5px; margin-bottom: 
5px;" src="/assets/img/yetus_logo.png" alt="Apache Yetus logo" />
+            </a>
+        </div>
+        <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+                <li><a href="/downloads/">Downloads</a>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Documentation <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu">
+                      <li><a href="/documentation/0.1.0/">Docs for 
v0.1.0</a></li>
+                      <li><a href="/documentation/0.2.0/">Docs for 
v0.2.0</a></li>
+                      <li><a href="/documentation/in-progress/">In Progress 
Docs for Contributors</a>
+                      </li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Get Involved <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu" 
aria-labelledby="drop1">
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing 
Lists</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="http://issues.apache.org/jira/browse/YETUS";><i class="fa 
fa-bug"></i> JIRA (Bugs)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=yetus";><i 
class="fa fa-code"></i> Source (Apache)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://github.com/apache/yetus";><i class="fa 
fa-github-alt"></i> Source (GitHub)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> 
Contributing</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://twitter.com/ApacheYetus";><i class="fa 
fa-twitter"></i> @ApacheYetus</a>
+                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <li class="dropdown">
+                        <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Apache Software Foundation <b class="caret"></b></a>
+                        <ul class="dropdown-menu" role="menu">
+                            <li><a href="http://www.apache.org";>Apache 
Homepage</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/licenses/";>Apache License</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/security/";>Security</a>
+                            </li>
+                        </ul>
+                    </li>
+                </li>
+            </ul>
+        </div>
+        <!--/.nav-collapse -->
+    </div>
+</div>
+
+      <div class="container">
+        <!---
+  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.
+-->
+
+<h1 id="yetus-precommit">Yetus Precommit</h1>
+
+<p>The Yetus Precommit Patch Tester allows projects to codify their patch 
acceptance criteria and then evaluate incoming contributions prior to review by 
a committer.</p>
+
+<ul>
+<li>Take a quick look at <a href="precommit-glossary">our glossary of 
terms</a> to ensure you are familiar with the ASF and Maven jargon we&rsquo;ll 
use as terminology specific to this project.</li>
+<li>For an overview of Yetus&rsquo; philosophy on testing contributions and 
how evaluation is performed, see our <a 
href="precommit-architecture">overview</a>.</li>
+<li>To get started on your project, including an explanation of what 
we&rsquo;ll expect in a runtime environment and what optional utilities 
we&rsquo;ll leverage, read through the <a href="precommit-basic">basic usage 
guide</a>.</li>
+<li>Customize how precommit interacts with your project by choosing amongst <a 
href="precommit-buildtools">build systems</a>, <a 
href="precommit-bugsystems">bug systems</a> and <a 
href="precommit-testformats">test formats</a>.</li>
+<li>If your project has advanced requirements such as module relationships not 
expressed in Maven, special profiles, or a need on os-specific prerequisites 
not managed by Maven then you&rsquo;ll need to use our <a 
href="precommit-advanced">advanced usage guide</a>.</li>
+</ul>
+
+<p>For a complete guide to the Precommit API, see <a 
href="precommit-apidocs/">the generated API documentation</a>.</p>
+
+<h1 id="yetus-release-doc-maker">Yetus Release Doc Maker</h1>
+
+<p>The Release Documentation Maker allows projects to generate nicely formated 
Markdown Changelogs and Release Notes based upon JIRA. You can view that
+documenation <a href="releasedocmaker">here</a>.</p>
+
+<h1 id="yetus-shelldocs">Yetus Shelldocs</h1>
+
+<p>Shelldocs provides generation of html formatted api documentation based on 
comments on Bash functions. Currently supports documenting API status (public / 
private) as well as parameters and return values.</p>
+
+<p>See the shelldocs cli help for more information on usage.</p>
+<pre class="highlight shell"><code><span class="gp">$ 
</span>./shelldocs/shelldocs.py --help
+Usage: shelldocs.py --skipprnorep --output OUTFILE --input INFILE <span 
class="o">[</span>--input INFILE ...]
+
+Options:
+  -h, --help            show this <span class="nb">help </span>message and 
<span class="nb">exit</span>
+  -o OUTFILE, --output<span class="o">=</span>OUTFILE
+                        file to create
+  -i INFILE, --input<span class="o">=</span>INFILE
+                        file to <span class="nb">read</span>
+  --skipprnorep         Skip Private &amp; Not Replaceable
+</code></pre>
+
+<h1 id="yetus-audience-annotations">Yetus Audience Annotations</h1>
+
+<p>Audience Annotations allows you to use Java Annotations to denote which 
parts of your Java library is publicly consumable and which parts are reserved 
for a more restricted use. It also provides doclets and examples for generating 
javadocs limited by audience.</p>
+
+<p>See <a href="audience-annotations-apidocs/">the javadocs</a> for 
details.</p>
+
+         </div>
+      <div class="container">
+    <hr>
+    <footer class="footer">
+        <div class="row-fluid">
+            <div class="span12 text-left">
+                            <div class="span12">
+                Copyright 2008-2016 <a href="http://www.apache.org/";>Apache 
Software Foundation</a>. Licensed under the <a 
href="http://www.apache.org/licenses/";>Apache License v2.0</a>. Apache Yetus 
and the Apache feather logo are trademarks of The Apache Software Foundation.
+                            </div>
+            </div>
+
+        </div>
+
+    </footer>
+</div>
+
+       </body>
+</html>

http://git-wip-us.apache.org/repos/asf/yetus/blob/11d39576/documentation/0.2.0/precommit-advanced/index.html
----------------------------------------------------------------------
diff --git a/documentation/0.2.0/precommit-advanced/index.html 
b/documentation/0.2.0/precommit-advanced/index.html
new file mode 100644
index 0000000..03a3c4b
--- /dev/null
+++ b/documentation/0.2.0/precommit-advanced/index.html
@@ -0,0 +1,399 @@
+<!---
+  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.
+-->
+
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>Apache Yetus</title>
+                   <meta name="viewport" content="width=device-width, 
initial-scale=1.0">
+                   <meta name="description" content="">
+                   <meta name="author" content="">
+
+                   <link href="/assets/css/bootstrap.css" rel="stylesheet">
+                   <link href="/assets/css/bootstrap-theme.css" 
rel="stylesheet">
+                    <link href="/assets/css/font-awesome.css" rel="stylesheet">
+
+                   <!-- JS -->
+                   <script type="text/javascript" 
src="/assets/js/jquery-2.1.4.min.js"></script>
+                   <script type="text/javascript" 
src="/assets/js/bootstrap.js"></script>
+       </head>
+    <body>
+      <div class="navbar navbar-inverse navbar-static-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" 
data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="img-responsive pull-left" href="/">
+                <img style="max-height: 40px; margin-top: 5px; margin-bottom: 
5px;" src="/assets/img/yetus_logo.png" alt="Apache Yetus logo" />
+            </a>
+        </div>
+        <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+                <li><a href="/downloads/">Downloads</a>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Documentation <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu">
+                      <li><a href="/documentation/0.1.0/">Docs for 
v0.1.0</a></li>
+                      <li><a href="/documentation/0.2.0/">Docs for 
v0.2.0</a></li>
+                      <li><a href="/documentation/in-progress/">In Progress 
Docs for Contributors</a>
+                      </li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Get Involved <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu" 
aria-labelledby="drop1">
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing 
Lists</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="http://issues.apache.org/jira/browse/YETUS";><i class="fa 
fa-bug"></i> JIRA (Bugs)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=yetus";><i 
class="fa fa-code"></i> Source (Apache)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://github.com/apache/yetus";><i class="fa 
fa-github-alt"></i> Source (GitHub)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> 
Contributing</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://twitter.com/ApacheYetus";><i class="fa 
fa-twitter"></i> @ApacheYetus</a>
+                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <li class="dropdown">
+                        <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Apache Software Foundation <b class="caret"></b></a>
+                        <ul class="dropdown-menu" role="menu">
+                            <li><a href="http://www.apache.org";>Apache 
Homepage</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/licenses/";>Apache License</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/security/";>Security</a>
+                            </li>
+                        </ul>
+                    </li>
+                </li>
+            </ul>
+        </div>
+        <!--/.nav-collapse -->
+    </div>
+</div>
+
+      <div class="container">
+        <!---
+  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.
+-->
+
+<h1 id="test-patch">test-patch</h1>
+
+<ul>
+<li><a href="#Docker_Support">Docker Support</a></li>
+<li><a href="#Plug-ins">Plug-ins</a></li>
+<li><a href="#Personalities">Personalities</a></li>
+<li><a href="#Important_Variables">Important Variables</a></li>
+</ul>
+
+<h1 id="docker-support">Docker Support</h1>
+
+<p>By default, test-patch runs in the same shell where it was launched.  It 
can alternatively use Docker to launch itself in a container.  This is 
particularly useful if running under a QA environment that does not provide all 
the necessary binaries. For example, if the patch requires a newer version of 
Java than what is installed on a Jenkins instance.</p>
+
+<p>The <code>--docker</code> parameter tells test-patch to run in Docker mode. 
The <code>--dockerfile</code> parameter allows one to provide a custom 
Dockerfile. The Dockerfile should contain all of the necessary binaries and 
tooling needed to run the test.  test-patch will copy this file up until the 
text <q>YETUS CUT HERE</q> to a different directory and then append its 
necessary hooks to re-launch itself prior to executing docker.</p>
+
+<p>If a custom Dockerfile cannot be used or the docker executable does not 
work, test-patch will attempt to recover by switching to its bundled Dockerfile 
or disabling docker support and running locally.  This behavior can be changed 
with the <code>--dockeronfail</code> option.  It takes a list of 
comma-delimited settings:</p>
+
+<ul>
+<li>fallback - Use the bundled Dockerfile</li>
+<li>continue - Turn off docker support</li>
+<li>fail - fail the test</li>
+</ul>
+
+<p>The &lsquo;fail&rsquo; setting is always the last option that test-patch 
will use and may be omitted unless it is the only option.</p>
+
+<p>For example, <code>--dockeronfail=continue</code> means if the Dockerfile 
can&rsquo;t be found, just turn off Docker support and continue running.  
<code>--dockeronfail=fallback</code> will switch to the bundled Dockerfile and 
then fail the build if docker fails to work. <code>--dockeronfail=fail</code> 
means to just fail the build and do not try any other mechanisms of recovery. 
The default is &#39;fallback,continue,fail&rsquo; which will allow test-patch 
to try to continue executing as much as it possibily can.</p>
+
+<p>Be aware that if the Dockerfile is found and the docker command works, 
test-patch will always fail the build if the Dockerfile itself fails the build. 
 It will not attempt to continue in the non-Docker mode.</p>
+
+<p>NOTE: If you are using Boot2Docker, you must use directories under /Users 
(OSX) or C:\Users (Windows) as the base and patchprocess directories (specified 
by the &ndash;basedir and &ndash;patch-dir options respectively), because 
automatically mountable directories are limited to them. See <a 
href="https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume";>the
 Docker documentation</a>.</p>
+
+<p>Dockerfile images will be named with a test-patch prefix and suffix with 
either a date or a git commit hash. By using this information, test-patch will 
automatically manage broken/stale container images that are hanging around if 
it is run in &ndash;robot mode.  In this way, if Docker fails to build the 
image, the disk space should eventually be cleaned and returned back to the 
system.  The docker mode can also be run in a <q>safe</q> mode that prevents 
deletions via the <code>--dockerdelrep</code> option.  Specifying this option 
will cause test-patch to only report what it would have deleted, but not 
actually remove anything.</p>
+
+<h1 id="plug-ins">Plug-ins</h1>
+
+<p>test-patch allows one to add to its basic feature set via plug-ins.  There 
is a directory called test-patch.d off of the directory where test-patch.sh 
lives.  Inside this directory one may place some bash shell fragments that, if 
setup with proper functions, will allow for test-patch to call it as necessary. 
 Different plug-ins have specific functions for that particular functionality.  
In this document, the common functions available to all/most plug-ins are 
covered.  Test plugins are covered below. See other documentation for pertinent 
information for the other plug-in types.</p>
+
+<h2 id="common-plug-in-functions">Common Plug-in Functions</h2>
+
+<p>Every plug-in must have one line in order to be recognized, usually an 
&#39;add&rsquo; statement.  Test plug-ins, for example, have this statement:</p>
+<pre class="highlight shell"><code>add_test_type &lt;pluginname&gt;
+</code></pre>
+
+<p>This function call registers the <code>pluginname</code> so that test-patch 
knows that it exists.  Plug-in names must be unique across all the different 
plug-in types.  Additionally, the &#39;all&rsquo; plug-in is reserved.  The 
<code>pluginname</code> also acts as the key to the custom functions that you 
can define. For example:</p>
+<pre class="highlight shell"><code><span class="k">function 
</span>pluginname_filefilter
+</code></pre>
+
+<p>defines the filefilter for the <code>pluginname</code> plug-in.</p>
+
+<p>Similarly, there are other functions that may be defined during the 
test-patch run:</p>
+<pre class="highlight plaintext"><code>HINT: It is recommended to make the 
pluginname relatively small, 10 characters at the most.  Otherwise, the ASCII 
output table may be skewed.
+</code></pre>
+
+<ul>
+<li><p>pluginname_usage</p>
+
+<ul>
+<li>executed when the help message is displayed. This is used to display the 
plug-in specific options for the user.</li>
+</ul></li>
+<li><p>pluginname_parse_args</p>
+
+<ul>
+<li>executed prior to any other above functions except for pluginname_usage. 
This is useful for parsing the arguments passed from the user and setting up 
the execution environment.</li>
+</ul></li>
+<li><p>pluginname_initialize</p>
+
+<ul>
+<li>After argument parsing and prior to any other work, the initialize step 
allows a plug-in to do any precursor work, set internal defaults, etc.</li>
+</ul></li>
+<li><p>pluginname_precheck</p>
+
+<ul>
+<li>executed prior to the patch being applied but after the git repository is 
setup.  Returning a fail status here will exit test-patch.</li>
+</ul></li>
+<li><p>pluginname_patchfile</p>
+
+<ul>
+<li>executed prior to the patch being applied but after the git repository is 
setup. This step is intended to perform tests on the content of the patch 
itself.</li>
+</ul></li>
+<li><p>pluginname_precompile</p>
+
+<ul>
+<li>executed prior to the compilation part of the lifecycle. This is useful 
for doing setup work required by the compilation process.</li>
+</ul></li>
+<li><p>pluginname_postcompile</p>
+
+<ul>
+<li>This step happens after the compile phase.</li>
+</ul></li>
+<li><p>pluginname_rebuild</p>
+
+<ul>
+<li>Any non-unit tests that require the source to be rebuilt in a destructive 
way should be run here.</li>
+</ul></li>
+</ul>
+
+<h2 id="plug-in-importation">Plug-in Importation</h2>
+
+<p>Plug-ins are imported from several key directories:</p>
+
+<ul>
+<li><p>core.d is an internal-to-Yetus directory that first loads the basic 
Yetus library, followed by the common routines used by all of the precommit 
shell code.  This order is dictated by prefixing the plug-in files with a 
number.  Other files in this directory are loaded in shell collated 
order.</p></li>
+<li><p>personality contains bundled personalities for various projects.  These 
will be imported individually based upon either a project name or if 
specifically identified with the <code>--personality</code> flag.</p></li>
+<li><p>test-patch.d contains all of the optional, bundled plug-ins.  These are 
imported last and in shell collated order.</p></li>
+</ul>
+
+<p>If the <code>--skip-system-plugins</code> flag is passed, then only core.d 
is imported.</p>
+
+<h2 id="test-plug-ins">Test Plug-ins</h2>
+
+<p>Plug-ins geared towards independent tests are registered via:</p>
+<pre class="highlight shell"><code>add_test_type &lt;pluginname&gt;
+</code></pre>
+
+<ul>
+<li><p>pluginname_filefilter</p>
+
+<ul>
+<li>executed while determine which files trigger which tests.  This function 
should use <code>add_test pluginname</code> to add the plug-in to the test 
list.</li>
+</ul></li>
+<li><p>pluginname_compile</p>
+
+<ul>
+<li>executed immediately after the actual compilation. This step is intended 
to be used to verify the results and add extra checking of the compile phase 
and it&rsquo;s stdout/stderr.</li>
+</ul></li>
+<li><p>pluginname_tests</p>
+
+<ul>
+<li>executed after the unit tests have completed.</li>
+</ul></li>
+<li><p>pluginname_clean</p>
+
+<ul>
+<li>executed to allow the plugin to remove all files that have been generate 
by this plugin.</li>
+</ul></li>
+<li><p>pluginname_logfilter</p>
+
+<ul>
+<li>This functions should filter all lines relevant to this test from the 
logfile. It is called in preparation for the <code>calcdiffs</code> 
function.</li>
+</ul></li>
+<li><p>pluginname_calcdiffs</p>
+
+<ul>
+<li>This allows for custom log file difference calculation used to determine 
the before and after views.  The default is to use the last column of a colon 
delimited line of output and perform a diff.  If the plug-in does not provide 
enough context, this may result in error skew. For example, if three lines in a 
row have <q>Missing period.</q> as the error, test-patch will not be able to 
determine exactly which line caused the error.  Plug-ins that have this issue 
will want to use this or potentially modify the normal tool&rsquo;s output 
(e.g., checkstyle) to provide a more accurate way to determine differences.</li>
+</ul></li>
+</ul>
+
+<p>NOTE: If the plug-in has support for maven, the maven_add_install 
<code>pluginname</code> should be executed. See more information in Custom 
Maven Tests in the build tool documentation.</p>
+
+<h1 id="personalities">Personalities</h1>
+
+<h2 id="configuring-for-other-projects">Configuring for Other Projects</h2>
+
+<p>It is impossible for any general framework to be predictive about what 
types of special rules any given project may have, especially when it comes to 
ordering and Maven profiles.  In order to direct test-patch to do the correct 
action, a project <code>personality</code> should be added that enacts these 
custom rules.</p>
+
+<p>A personality consists of two functions. One that determines which test 
types to run and another that allows a project to dictate ordering rules, 
flags, and profiles on a per-module, per-test run.</p>
+
+<p>There can be only <strong>one</strong> of each personality function 
defined.</p>
+
+<h2 id="global-definitions">Global Definitions</h2>
+
+<p>Globals for personalities should be defined in the 
<code>personality_globals</code> function.  This function is called 
<em>after</em> the other plug-ins have been imported.  This allows one to 
configure any settings for plug-ins that have been imported safely:</p>
+<pre class="highlight shell"><code>funciton personality_globals
+<span class="o">{</span>
+  <span class="nv">PATCH_BRANCH_DEFAULT</span><span class="o">=</span>master
+  <span class="nv">GITHUB_REPO</span><span class="o">=</span><span 
class="s2">"apache/yetus"</span>
+<span class="o">}</span>
+</code></pre>
+
+<h2 id="test-determination">Test Determination</h2>
+
+<p>The <code>personality_file_tests</code> function determines which tests to 
turn on based upon the file name.  It is relatively simple.  For example, to 
turn on a full suite of tests for Java files:</p>
+<pre class="highlight shell"><code><span class="k">function 
</span>personality_file_tests
+<span class="o">{</span>
+  <span class="nb">local </span><span class="nv">filename</span><span 
class="o">=</span><span class="nv">$1</span>
+
+  <span class="k">if</span> <span class="o">[[</span> <span 
class="k">${</span><span class="nv">filename</span><span class="k">}</span> 
<span class="o">=</span>~ <span class="se">\.</span>java<span class="nv">$ 
</span><span class="o">]]</span>; <span class="k">then
+    </span>add_test findbugs
+    add_test javac
+    add_test javadoc
+    add_test mvninstall
+    add_test unit
+  <span class="k">fi</span>
+
+<span class="o">}</span>
+</code></pre>
+
+<p>The <code>add_test</code> function is used to activate the standard tests.  
Additional plug-ins (such as checkstyle), will get queried on their own.</p>
+
+<h2 id="module-amp-profile-determination">Module &amp; Profile 
Determination</h2>
+
+<p>Once the tests are determined, it is now time to pick which <a 
href="precommit-glossary.md#genericoutside-definitions">modules</a> should get 
used.  That&rsquo;s the job of the <code>personality_modules</code> 
function.</p>
+<pre class="highlight shell"><code><span class="k">function 
</span>personality_modules
+<span class="o">{</span>
+
+    clear_personality_queue
+
+...
+
+    personality_enqueue_module &lt;module&gt; &lt;flags&gt;
+
+<span class="o">}</span>
+</code></pre>
+
+<p>It takes exactly two parameters <code>repostatus</code> and 
<code>testtype</code>.</p>
+
+<p>The <code>repostatus</code> parameter tells the <code>personality</code> 
function exactly what state the source repository is in.  It can only be in one 
of two states:  <code>branch</code> or <code>patch</code>.  <code>branch</code> 
means the patch has not been applied.  The <code>patch</code> state is after 
the patch has been applied.</p>
+
+<p>The <code>testtype</code> state tells the personality exactly which test is 
about to be executed.</p>
+
+<p>In order to communicate back to test-patch, there are two functions for the 
personality to use.</p>
+
+<p>The first is <code>clear_personality_queue</code>. This removes the 
previous test&rsquo;s configuration so that a new module queue may be built. 
Custom <code>personality_modules</code> will almost always want to do this as 
the first action.</p>
+
+<p>The second is <code>personality_enqueue_module</code>.  This function takes 
two parameters.  The first parameter is the name of the module to add to this 
test&rsquo;s queue.  The second parameter is an option list of additional flags 
to pass to Maven when processing it. <code>personality_enqueue_module</code> 
may be called as many times as necessary for your project.</p>
+<pre class="highlight plaintext"><code>NOTE: A module name of . signifies the 
root of the repository.
+</code></pre>
+
+<p>For example, let&rsquo;s say your project uses a special configuration to 
skip unit tests (-DskipTests).  Running unit tests during a javadoc build 
isn&rsquo;t very useful and wastes a lot of time. We can write a simple 
personality check to disable the unit tests:</p>
+<pre class="highlight shell"><code><span class="k">function 
</span>personality_modules
+<span class="o">{</span>
+    <span class="nb">local </span><span class="nv">repostatus</span><span 
class="o">=</span><span class="nv">$1</span>
+    <span class="nb">local </span><span class="nv">testtype</span><span 
class="o">=</span><span class="nv">$2</span>
+
+    <span class="k">if</span> <span class="o">[[</span> <span 
class="k">${</span><span class="nv">testtype</span><span class="k">}</span> 
<span class="o">==</span> <span class="s1">'javadoc'</span> <span 
class="o">]]</span>; <span class="k">then
+        </span>personality_enqueue_module . -DskipTests
+        <span class="k">return
+    fi</span>
+    ...
+
+</code></pre>
+
+<p>This function will tell test-patch that when the javadoc test is being run, 
do the documentation build at the base of the source repository and make sure 
the -DskipTests flag is passed to our build tool.</p>
+
+<h2 id="enabling-plug-ins">Enabling Plug-ins</h2>
+
+<p>Personalities can set the base list of plug-ins to enable and disable for 
their project via the <code>personality_plugins</code> function. Just call it 
with the same pattern as the <code>--plugins</code> command line option:</p>
+<pre class="highlight shell"><code>personality_plugins <span 
class="s2">"all,-checkstyle,-findbugs,-asflicense"</span>
+</code></pre>
+
+<p>This list is used if the user does not provide a list of plug-ins.</p>
+
+<h1 id="important-variables">Important Variables</h1>
+
+<p>There are a handful of extremely important system variables that make life 
easier for personality and plug-in writers.  Other variables may be provided by 
individual plug-ins.  Check their development documentation for more 
information.</p>
+
+<ul>
+<li><p>BUILD_NATIVE will be set to true if the system has requested that 
non-JVM-based code be built (e.g., JNI or other compiled C code). Under 
Jenkins, this is always true.</p></li>
+<li><p>BUILDTOOL specifies which tool is currently being used to drive 
compilation.  Additionally, many build tools define xyz_ARGS to pass on to the 
build tool command line. (e.g., MAVEN_ARGS if maven is in use).  Projects may 
set this in their personality.  NOTE: today, only one build tool at a time is 
supported.  This may change in the future.</p></li>
+<li><p>CHANGED_FILES is a list of all files that appear to be added, deleted, 
or modified in the patch.</p></li>
+<li><p>CHANGED_MODULES is a list of all modules that house all of the 
CHANGED_FILES.  Be aware that the root of the source tree is reported as 
&rsquo;.&rsquo;.</p></li>
+<li><p>GITHUB_REPO is to help test-patch when talking to Github.  If 
test-patch is given just a number on the command line, it will default to using 
this repo to determine the pull request.</p></li>
+<li><p>JIRA_ISSUE_RE is to help test-patch when talking to JIRA.  It helps 
determine if the given project is appropriate for the given JIRA issue.</p></li>
+<li><p>MODULE and other MODULE_* are arrays that contain which modules, the 
status, etc, to be operated upon. These should be treated as read-only by 
plug-ins.</p></li>
+<li><p>PATCH_BRANCH_DEFAULT is the name of the branch in the git repo that is 
considered the master.  This is useful to set in personalities.</p></li>
+<li><p>PATCH_DIR is the name of the temporary directory that houses test-patch 
artifacts (such as logs and the patch file itself)</p></li>
+<li><p>PATCH_NAMING_RULE should be a URL that points to a project&rsquo;s 
on-boarding documentation for new users. It is used to suggest a review of 
patch naming guidelines. Since this should be project specific information, it 
is useful to set in a project&rsquo;s personality.</p></li>
+<li><p>TEST_PARALLEL if parallel unit tests have been requested. Project 
personalities are responsible for actually enabling or ignoring the request. 
TEST_THREADS is the number of threads that have been requested to run in 
parallel.</p></li>
+</ul>
+
+         </div>
+      <div class="container">
+    <hr>
+    <footer class="footer">
+        <div class="row-fluid">
+            <div class="span12 text-left">
+                            <div class="span12">
+                Copyright 2008-2016 <a href="http://www.apache.org/";>Apache 
Software Foundation</a>. Licensed under the <a 
href="http://www.apache.org/licenses/";>Apache License v2.0</a>. Apache Yetus 
and the Apache feather logo are trademarks of The Apache Software Foundation.
+                            </div>
+            </div>
+
+        </div>
+
+    </footer>
+</div>
+
+       </body>
+</html>

http://git-wip-us.apache.org/repos/asf/yetus/blob/11d39576/documentation/0.2.0/precommit-apidocs/core/index.html
----------------------------------------------------------------------
diff --git a/documentation/0.2.0/precommit-apidocs/core/index.html 
b/documentation/0.2.0/precommit-apidocs/core/index.html
new file mode 100644
index 0000000..3fb3e49
--- /dev/null
+++ b/documentation/0.2.0/precommit-apidocs/core/index.html
@@ -0,0 +1,1283 @@
+<!---
+  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.
+-->
+
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>Apache Yetus</title>
+                   <meta name="viewport" content="width=device-width, 
initial-scale=1.0">
+                   <meta name="description" content="">
+                   <meta name="author" content="">
+
+                   <link href="/assets/css/bootstrap.css" rel="stylesheet">
+                   <link href="/assets/css/bootstrap-theme.css" 
rel="stylesheet">
+                    <link href="/assets/css/font-awesome.css" rel="stylesheet">
+
+                   <!-- JS -->
+                   <script type="text/javascript" 
src="/assets/js/jquery-2.1.4.min.js"></script>
+                   <script type="text/javascript" 
src="/assets/js/bootstrap.js"></script>
+       </head>
+    <body>
+      <div class="navbar navbar-inverse navbar-static-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" 
data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="img-responsive pull-left" href="/">
+                <img style="max-height: 40px; margin-top: 5px; margin-bottom: 
5px;" src="/assets/img/yetus_logo.png" alt="Apache Yetus logo" />
+            </a>
+        </div>
+        <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+                <li><a href="/downloads/">Downloads</a>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Documentation <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu">
+                      <li><a href="/documentation/0.1.0/">Docs for 
v0.1.0</a></li>
+                      <li><a href="/documentation/0.2.0/">Docs for 
v0.2.0</a></li>
+                      <li><a href="/documentation/in-progress/">In Progress 
Docs for Contributors</a>
+                      </li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Get Involved <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu" 
aria-labelledby="drop1">
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing 
Lists</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="http://issues.apache.org/jira/browse/YETUS";><i class="fa 
fa-bug"></i> JIRA (Bugs)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=yetus";><i 
class="fa fa-code"></i> Source (Apache)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://github.com/apache/yetus";><i class="fa 
fa-github-alt"></i> Source (GitHub)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> 
Contributing</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://twitter.com/ApacheYetus";><i class="fa 
fa-twitter"></i> @ApacheYetus</a>
+                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <li class="dropdown">
+                        <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Apache Software Foundation <b class="caret"></b></a>
+                        <ul class="dropdown-menu" role="menu">
+                            <li><a href="http://www.apache.org";>Apache 
Homepage</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/licenses/";>Apache License</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/security/";>Security</a>
+                            </li>
+                        </ul>
+                    </li>
+                </li>
+            </ul>
+        </div>
+        <!--/.nav-collapse -->
+    </div>
+</div>
+
+      <div class="container">
+        <!---
+# 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.
+-->
+
+<ul>
+<li>Public/Stable/Replaceable
+
+<ul>
+<li><a href="#add_bugsystem">add_bugsystem</a></li>
+<li><a href="#add_build_tool">add_build_tool</a></li>
+<li><a href="#add_test">add_test</a></li>
+<li><a href="#add_test_format">add_test_format</a></li>
+<li><a href="#add_test_type">add_test_type</a></li>
+<li><a href="#delete_bugsystem">delete_bugsystem</a></li>
+<li><a href="#delete_build_tool">delete_build_tool</a></li>
+<li><a href="#delete_test">delete_test</a></li>
+<li><a href="#delete_test_format">delete_test_format</a></li>
+<li><a href="#delete_test_type">delete_test_type</a></li>
+<li><a href="#personality_plugins">personality_plugins</a></li>
+<li><a href="#verify_needed_test">verify_needed_test</a></li>
+<li><a href="#verify_plugin_enabled">verify_plugin_enabled</a></li>
+</ul></li>
+<li>Public/Stable/Not Replaceable
+
+<ul>
+<li><a href="#common_defaults">common_defaults</a></li>
+<li><a href="#patchfile_verify_zero">patchfile_verify_zero</a></li>
+<li><a href="#yetus_abs">yetus_abs</a></li>
+<li><a href="#yetus_add_entry">yetus_add_entry</a></li>
+<li><a href="#yetus_debug">yetus_debug</a></li>
+<li><a href="#yetus_delete_entry">yetus_delete_entry</a></li>
+<li><a href="#yetus_error">yetus_error</a></li>
+<li><a href="#yetus_run_and_redirect">yetus_run_and_redirect</a></li>
+<li><a href="#yetus_verify_entry">yetus_verify_entry</a></li>
+</ul></li>
+<li>Public/Evolving/Not Replaceable
+
+<ul>
+<li><a href="#list_plugins">list_plugins</a></li>
+<li><a href="#plugin_usage_output">plugin_usage_output</a></li>
+<li><a href="#yetus_add_header">yetus_add_header</a></li>
+<li><a href="#yetus_add_option">yetus_add_option</a></li>
+<li><a href="#yetus_generic_columnprinter">yetus_generic_columnprinter</a></li>
+</ul></li>
+<li>None/None/Not Replaceable
+
+<ul>
+<li><a href="#docker_version">docker_version</a></li>
+<li><a href="#personality_file_tests">personality_file_tests</a></li>
+<li><a href="#personality_modules">personality_modules</a></li>
+</ul></li>
+</ul>
+
+<hr>
+
+<h2 id="public-stable-replaceable">Public/Stable/Replaceable</h2>
+
+<h3 id="add_bugsystem"><code>add_bugsystem</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>add_bugsystem bugsystem
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add the given bugsystem type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="add_build_tool"><code>add_build_tool</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>add_build_tool build tool
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add the given build tool type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="add_test"><code>add_test</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>add_test test
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add the given test type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="add_test_format"><code>add_test_format</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>add_test_format test format
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add the given test format type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="add_test_type"><code>add_test_type</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>add_test_type plugin
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add the given test type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="delete_bugsystem"><code>delete_bugsystem</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>delete_bugsystem bugsystem
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Remove the given bugsystem type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="delete_build_tool"><code>delete_build_tool</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>delete_build_tool build tool
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Remove the given build tool type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="delete_test"><code>delete_test</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>delete_test test
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Remove the given test type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="delete_test_format"><code>delete_test_format</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>delete_test_format test format
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Remove the given test format type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="delete_test_type"><code>delete_test_type</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>delete_test_type plugin
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Remove the given test type</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="personality_plugins"><code>personality_plugins</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>personality_plugins plug-in list string
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Personality-defined plug-in list</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="verify_needed_test"><code>verify_needed_test</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>verify_needed_test test
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Verify if a given test was requested</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>1 = yes</p>
+
+<p>0 = no</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h3 id="verify_plugin_enabled"><code>verify_plugin_enabled</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>verify_plugin_enabled test
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Determine if a plugin was enabeld by the user ENABLED_PLUGINS must be 
defined</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">Yes</td>
+</tr>
+</tbody></table>
+<h2 id="public-stable-not-replaceable">Public/Stable/Not Replaceable</h2>
+
+<h3 id="common_defaults"><code>common_defaults</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>common_defaults
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Setup the default global variables</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="patchfile_verify_zero"><code>patchfile_verify_zero</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>patchfile_verify_zero log filename
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>if patch-level zero, then verify we aren&rsquo;t just adding files</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>$?</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_abs"><code>yetus_abs</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_abs directory
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Given a filename or dir, return the absolute version of it</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>0 success</p>
+
+<p>1 failure</p>
+
+<p>stdout abspath</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_add_entry"><code>yetus_add_entry</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_add_entry
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Given variable $1 add $2 to it</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_debug"><code>yetus_debug</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_debug string
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Print a message to stderr if &ndash;debug is turned on</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_delete_entry"><code>yetus_delete_entry</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_delete_entry
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Given variable $1 delete $2 from it</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_error"><code>yetus_error</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_error string
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Print a message to stderr</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_run_and_redirect"><code>yetus_run_and_redirect</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_run_and_redirect filename command 
[..]
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>run the command, sending stdout and stderr to the given filename</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>$?</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_verify_entry"><code>yetus_verify_entry</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_verify_entry
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Given variable $1 determine if $2 is in it</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>1 = yes, 0 = no</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Stable</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h2 id="public-evolving-not-replaceable">Public/Evolving/Not Replaceable</h2>
+
+<h3 id="list_plugins"><code>list_plugins</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>list_plugins
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>List all installed plug-ins, regardless of whether they have been 
enabled</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Evolving</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="plugin_usage_output"><code>plugin_usage_output</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>plugin_usage_output array
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Print the plugin&rsquo;s usage info</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Evolving</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_add_header"><code>yetus_add_header</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_add_header header
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add a header to the usage output</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Evolving</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="yetus_add_option"><code>yetus_add_option</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_add_option subcommand 
subcommanddesc
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Add an option to the usage output</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Evolving</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 
id="yetus_generic_columnprinter"><code>yetus_generic_columnprinter</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>yetus_generic_columnprinter array
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>Print a screen-size aware two-column output</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">Public</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">Evolving</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h2 id="none-none-not-replaceable">None/None/Not Replaceable</h2>
+
+<h3 id="docker_version"><code>docker_version</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>docker_version
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>None</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">None</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">None</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="personality_file_tests"><code>personality_file_tests</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>personality_file_tests
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>None</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">None</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">None</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+<h3 id="personality_modules"><code>personality_modules</code></h3>
+
+<ul>
+<li>Synopsis</li>
+</ul>
+<pre class="highlight plaintext"><code>personality_modules
+</code></pre>
+
+<ul>
+<li>Description</li>
+</ul>
+
+<p>None</p>
+
+<ul>
+<li>Returns</li>
+</ul>
+
+<p>Nothing</p>
+<table class='table table-bordered table-striped'><thead><tr>
+<th style="text-align: left">Classification</th>
+<th style="text-align: left">Level</th>
+</tr>
+</thead><tbody><tr>
+<td style="text-align: left">Audience</td>
+<td style="text-align: left">None</td>
+</tr>
+<tr>
+<td style="text-align: left">Stability</td>
+<td style="text-align: left">None</td>
+</tr>
+<tr>
+<td style="text-align: left">Replaceable</td>
+<td style="text-align: left">No</td>
+</tr>
+</tbody></table>
+         </div>
+      <div class="container">
+    <hr>
+    <footer class="footer">
+        <div class="row-fluid">
+            <div class="span12 text-left">
+                            <div class="span12">
+                Copyright 2008-2016 <a href="http://www.apache.org/";>Apache 
Software Foundation</a>. Licensed under the <a 
href="http://www.apache.org/licenses/";>Apache License v2.0</a>. Apache Yetus 
and the Apache feather logo are trademarks of The Apache Software Foundation.
+                            </div>
+            </div>
+
+        </div>
+
+    </footer>
+</div>
+
+       </body>
+</html>

http://git-wip-us.apache.org/repos/asf/yetus/blob/11d39576/documentation/0.2.0/precommit-apidocs/index.html
----------------------------------------------------------------------
diff --git a/documentation/0.2.0/precommit-apidocs/index.html 
b/documentation/0.2.0/precommit-apidocs/index.html
new file mode 100644
index 0000000..984e493
--- /dev/null
+++ b/documentation/0.2.0/precommit-apidocs/index.html
@@ -0,0 +1,150 @@
+<!---
+  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.
+-->
+
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>Apache Yetus</title>
+                   <meta name="viewport" content="width=device-width, 
initial-scale=1.0">
+                   <meta name="description" content="">
+                   <meta name="author" content="">
+
+                   <link href="/assets/css/bootstrap.css" rel="stylesheet">
+                   <link href="/assets/css/bootstrap-theme.css" 
rel="stylesheet">
+                    <link href="/assets/css/font-awesome.css" rel="stylesheet">
+
+                   <!-- JS -->
+                   <script type="text/javascript" 
src="/assets/js/jquery-2.1.4.min.js"></script>
+                   <script type="text/javascript" 
src="/assets/js/bootstrap.js"></script>
+       </head>
+    <body>
+      <div class="navbar navbar-inverse navbar-static-top" role="navigation">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" 
data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="img-responsive pull-left" href="/">
+                <img style="max-height: 40px; margin-top: 5px; margin-bottom: 
5px;" src="/assets/img/yetus_logo.png" alt="Apache Yetus logo" />
+            </a>
+        </div>
+        <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+                <li><a href="/downloads/">Downloads</a>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Documentation <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu">
+                      <li><a href="/documentation/0.1.0/">Docs for 
v0.1.0</a></li>
+                      <li><a href="/documentation/0.2.0/">Docs for 
v0.2.0</a></li>
+                      <li><a href="/documentation/in-progress/">In Progress 
Docs for Contributors</a>
+                      </li>
+                    </ul>
+                </li>
+                <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Get Involved <span class="caret"></span></a>
+                    <ul class="dropdown-menu" role="menu" 
aria-labelledby="drop1">
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing 
Lists</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="http://issues.apache.org/jira/browse/YETUS";><i class="fa 
fa-bug"></i> JIRA (Bugs)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=yetus";><i 
class="fa fa-code"></i> Source (Apache)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://github.com/apache/yetus";><i class="fa 
fa-github-alt"></i> Source (GitHub)</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> 
Contributing</a>
+                        </li>
+                        <li role="presentation"><a role="menuitem" 
tabindex="-1" href="https://twitter.com/ApacheYetus";><i class="fa 
fa-twitter"></i> @ApacheYetus</a>
+                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <li class="dropdown">
+                        <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Apache Software Foundation <b class="caret"></b></a>
+                        <ul class="dropdown-menu" role="menu">
+                            <li><a href="http://www.apache.org";>Apache 
Homepage</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/licenses/";>Apache License</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+                            </li>
+                            <li><a 
href="http://www.apache.org/security/";>Security</a>
+                            </li>
+                        </ul>
+                    </li>
+                </li>
+            </ul>
+        </div>
+        <!--/.nav-collapse -->
+    </div>
+</div>
+
+      <div class="container">
+        <!---
+  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.
+-->
+
+<h1 id="precommit-api-docs">Precommit API Docs</h1>
+
+<p>Following gives the downstream consumable API for precommit components.</p>
+
+<ul>
+<li><a href="core">Core Functions</a>, common to both smart-apply-patch and 
test-patch.</li>
+<li><a href="smart-apply-patch">Smart Apply Patch</a></li>
+<li><a href="test-patch">Test Patch</a>, available to all plugins.</li>
+<li><a href="plugins">Precommit Plugins</a></li>
+</ul>
+
+         </div>
+      <div class="container">
+    <hr>
+    <footer class="footer">
+        <div class="row-fluid">
+            <div class="span12 text-left">
+                            <div class="span12">
+                Copyright 2008-2016 <a href="http://www.apache.org/";>Apache 
Software Foundation</a>. Licensed under the <a 
href="http://www.apache.org/licenses/";>Apache License v2.0</a>. Apache Yetus 
and the Apache feather logo are trademarks of The Apache Software Foundation.
+                            </div>
+            </div>
+
+        </div>
+
+    </footer>
+</div>
+
+       </body>
+</html>

Reply via email to