<!---
  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.13.0/">Docs for v0.13.0</a></li>
                      <li><a href="/documentation/0.14.1/">Docs for v0.14.1</a></li>
                      <li><a href="/documentation/0.15.0/">Docs for v0.15.0</a></li>
                      <li><a href="/documentation/in-progress/">In Progress Docs for Contributors</a>
                      </li>
                      <li><a href="/documentation/history/">History of the Project</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="https://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://gitbox.apache.org/repos/asf/yetus.git"><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="https://www.apache.org">Apache Homepage</a>
                            </li>
                            <li><a href="https://www.apache.org/licenses/">Apache License</a>
                            </li>
                            <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
                            </li>
                            <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
                            </li>
                            <li><a href="https://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_docker_build_arg">add_docker_build_arg</a></li>
      <li><a href="#add_docker_env">add_docker_env</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="#replace_test_type">replace_test_type</a></li>
      <li><a href="#verify_needed_test">verify_needed_test</a></li>
      <li><a href="#verify_plugin_enabled">verify_plugin_enabled</a></li>
      <li><a href="#yetus_add_array_element">yetus_add_array_element</a></li>
      <li><a href="#yetus_del_array_element">yetus_del_array_element</a></li>
      <li><a href="#yetus_relative_dir">yetus_relative_dir</a></li>
      <li><a href="#yetus_sort_and_unique_array">yetus_sort_and_unique_array</a></li>
      <li><a href="#yetus_sort_array">yetus_sort_array</a></li>
      <li><a href="#yetus_ver_array_element">yetus_ver_array_element</a></li>
    </ul>
  </li>
  <li>Public/Stable/Not Replaceable
    <ul>
      <li><a href="#add_version_data">add_version_data</a></li>
      <li><a href="#common_defaults">common_defaults</a></li>
      <li><a href="#delete_parameter">delete_parameter</a></li>
      <li><a href="#escape_html">escape_html</a></li>
      <li><a href="#generate_stack">generate_stack</a></li>
      <li><a href="#module_file_fragment">module_file_fragment</a></li>
      <li><a href="#patchfile_verify_zero">patchfile_verify_zero</a></li>
      <li><a href="#unescape_html">unescape_html</a></li>
      <li><a href="#yetus_abs">yetus_abs</a></li>
      <li><a href="#yetus_debug">yetus_debug</a></li>
      <li><a href="#yetus_error">yetus_error</a></li>
      <li><a href="#yetus_find_deepest_directory">yetus_find_deepest_directory</a></li>
      <li><a href="#yetus_get_ctime">yetus_get_ctime</a></li>
      <li><a href="#yetus_run_and_redirect">yetus_run_and_redirect</a></li>
      <li><a href="#yetus_set_trap_handler">yetus_set_trap_handler</a></li>
      <li><a href="#yetus_trim">yetus_trim</a></li>
    </ul>
  </li>
  <li>Public/Evolving/Replaceable
    <ul>
      <li><a href="#get_artifact_url">get_artifact_url</a></li>
    </ul>
  </li>
  <li>Public/Evolving/Not Replaceable
    <ul>
      <li><a href="#bugsystem_linecomments_queue">bugsystem_linecomments_queue</a></li>
      <li><a href="#bugsystem_linecomments_trigger">bugsystem_linecomments_trigger</a></li>
      <li><a href="#guess_build_tool">guess_build_tool</a></li>
      <li><a href="#list_plugins">list_plugins</a></li>
      <li><a href="#personality_file_tests_wrapper">personality_file_tests_wrapper</a></li>
      <li><a href="#personality_modules_wrapper">personality_modules_wrapper</a></li>
      <li><a href="#plugin_usage_output">plugin_usage_output</a></li>
      <li><a href="#reaper_add_name">reaper_add_name</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_array_to_comma">yetus_array_to_comma</a></li>
      <li><a href="#yetus_comma_to_array">yetus_comma_to_array</a></li>
      <li><a href="#yetus_file_to_array">yetus_file_to_array</a></li>
      <li><a href="#yetus_generic_columnprinter">yetus_generic_columnprinter</a></li>
      <li><a href="#yetus_is_container">yetus_is_container</a></li>
    </ul>
  </li>
  <li>Private/Stable/Replaceable
    <ul>
      <li><a href="#docker_do_env_adds">docker_do_env_adds</a></li>
      <li><a href="#reaper_initialize">reaper_initialize</a></li>
      <li><a href="#yetus_array_contains">yetus_array_contains</a></li>
    </ul>
  </li>
  <li>Private/Evolving/Replaceable
    <ul>
      <li><a href="#activate_robots">activate_robots</a></li>
      <li><a href="#pid_kill">pid_kill</a></li>
      <li><a href="#reaper_coproc_func">reaper_coproc_func</a></li>
      <li><a href="#reaper_finalize_results">reaper_finalize_results</a></li>
      <li><a href="#reaper_post_exec">reaper_post_exec</a></li>
      <li><a href="#reaper_total_count">reaper_total_count</a></li>
      <li><a href="#set_yetus_version">set_yetus_version</a></li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="publicstablereplaceable">Public/Stable/Replaceable</h2>
<h3 id="add_bugsystem"><code>add_bugsystem</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_bugsystem bugsystem
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="add_build_tool"><code>add_build_tool</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_build_tool build tool
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="add_docker_build_arg"><code>add_docker_build_arg</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_docker_build_arg envname [value]
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Queue Docker build-args to add to the docker build</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="add_docker_env"><code>add_docker_env</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_docker_env envname ...
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Queue env vars to add to the docker env</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="add_test"><code>add_test</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_test test
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="add_test_format"><code>add_test_format</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_test_format test format
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="add_test_type"><code>add_test_type</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_test_type plugin
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="delete_bugsystem"><code>delete_bugsystem</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>delete_bugsystem bugsystem
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="delete_build_tool"><code>delete_build_tool</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>delete_build_tool build tool
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="delete_test"><code>delete_test</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>delete_test test
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="delete_test_format"><code>delete_test_format</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>delete_test_format test format
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="delete_test_type"><code>delete_test_type</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>delete_test_type plugin
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="personality_plugins"><code>personality_plugins</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>personality_plugins plug-in list string
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="replace_test_type"><code>replace_test_type</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>replace_test_type plugin
</code></pre></div>
<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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="verify_needed_test"><code>verify_needed_test</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>verify_needed_test test
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Verify if a given test was requested</p>

<ul>
  <li>Returns</li>
</ul>

<p>0 = yes<br />
1 = 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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="verify_plugin_enabled"><code>verify_plugin_enabled</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>verify_plugin_enabled test
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Determine if a plugin was enabled by the user<br />
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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_add_array_element"><code>yetus_add_array_element</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_add_array_element arrayname element
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Add the element if it is not<br />
present in the given array</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_del_array_element"><code>yetus_del_array_element</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_del_array_element arrayname element
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Check if an array has a given value</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_relative_dir"><code>yetus_relative_dir</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_relative_dir dirpath filepath
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>is a given path relative to given dirpath?</p>

<ul>
  <li>Returns</li>
</ul>

<p>1 - no, path<br />
0 - yes, path - dirpath</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_sort_and_unique_array"><code>yetus_sort_and_unique_array</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_sort_and_unique_array arrayvar
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Sort and unique an array by its elements</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_sort_array"><code>yetus_sort_array</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_sort_array arrayvar
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Sort an array by its elements</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_ver_array_element"><code>yetus_ver_array_element</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_ver_array_element arrayname element
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Check if an arrayname has a given value</p>

<ul>
  <li>Returns</li>
</ul>

<h2 id="returns------0--yes">@returns      0 = yes</h2>
<h2 id="returns------1--no">@returns      1 = no</h2>

<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">True</td>
    </tr>
  </tbody>
</table>

<h2 id="publicstablenot-replaceable">Public/Stable/Not Replaceable</h2>
<h3 id="add_version_data"><code>add_version_data</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>add_version_data executable name version
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Report on executable versions</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="common_defaults"><code>common_defaults</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>common_defaults 
</code></pre></div>
<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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="delete_parameter"><code>delete_parameter</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>delete_parameter parameter
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>remove entries from parameter tracker</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="escape_html"><code>escape_html</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>escape_html parameter
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>escape common HTML entities</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="generate_stack"><code>generate_stack</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>generate_stack 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>generate a stack trace when in debug mode</p>

<ul>
  <li>Returns</li>
</ul>

<p>exits</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="module_file_fragment"><code>module_file_fragment</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>module_file_fragment module
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Convert the given module name to a file fragment</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="patchfile_verify_zero"><code>patchfile_verify_zero</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>patchfile_verify_zero log filename
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>if patch-level zero, then verify we aren't<br />
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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="unescape_html"><code>unescape_html</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>unescape_html parameter
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>unescape common HTML entities</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_abs"><code>yetus_abs</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_abs fsobj
</code></pre></div>
<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<br />
1 failure<br />
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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_debug"><code>yetus_debug</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_debug string
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Print a message to stderr if –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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_error"><code>yetus_error</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_error string
</code></pre></div>
<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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_find_deepest_directory"><code>yetus_find_deepest_directory</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_find_deepest_directory array fn
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>find the deepest entry of a directory array.<br />
this is different than yetus_relative_dir because<br />
the provided directory array provides where the<br />
directory breaks may occur rather than every<br />
directory being a potential cut off point.<br />
NOTE: array and filename MUST be absolute paths</p>

<ul>
  <li>Returns</li>
</ul>

<p>dir if match</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_get_ctime"><code>yetus_get_ctime</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_get_ctime 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Get the date in ctime format</p>

<ul>
  <li>Returns</li>
</ul>

<p>ctime</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_run_and_redirect"><code>yetus_run_and_redirect</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_run_and_redirect filename command [..]
</code></pre></div>
<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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_set_trap_handler"><code>yetus_set_trap_handler</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_set_trap_handler function signal [signal]
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Set a trap passing the first param as the signal</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_trim"><code>yetus_trim</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_trim 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Given a string, trim extra surrounding whitespace</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">False</td>
    </tr>
  </tbody>
</table>

<h2 id="publicevolvingreplaceable">Public/Evolving/Replaceable</h2>
<h3 id="get_artifact_url"><code>get_artifact_url</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>get_artifact_url 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Get the base URL of the artifacts</p>

<ul>
  <li>Returns</li>
</ul>

<p>urlstring</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">True</td>
    </tr>
  </tbody>
</table>

<h2 id="publicevolvingnot-replaceable">Public/Evolving/Not Replaceable</h2>
<h3 id="bugsystem_linecomments_queue"><code>bugsystem_linecomments_queue</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>bugsystem_linecomments_queue plugin filename
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Queue up comments to write into bug systems<br />
that have code review support, if such support<br />
enabled/available.<br />
File should be in the form of "file:line[:column]:comment"</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="bugsystem_linecomments_trigger"><code>bugsystem_linecomments_trigger</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>bugsystem_linecomments_trigger 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Write all of the bugsystem linecomments</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="guess_build_tool"><code>guess_build_tool</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>guess_build_tool 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>attempt to guess what the build tool should be</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="list_plugins"><code>list_plugins</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>list_plugins 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>List all installed plug-ins, regardless of whether<br />
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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="personality_file_tests_wrapper"><code>personality_file_tests_wrapper</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>personality_file_tests_wrapper 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Pick a personality_file_tests function<br />
tests that build support should call this<br />
to make sure they get queued correct by the<br />
personality or the build tool</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="personality_modules_wrapper"><code>personality_modules_wrapper</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>personality_modules_wrapper 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Pick a personality_modules function<br />
tests that build support should call this<br />
to make sure they get queued correct by the<br />
personality or the build tool</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="plugin_usage_output"><code>plugin_usage_output</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>plugin_usage_output array
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Print the plugin'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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="reaper_add_name"><code>reaper_add_name</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>reaper_add_name 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Add a regex to the reaper's checklist<br />
NOTE: Users WILL override anything added before<br />
argument parsing!</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_add_header"><code>yetus_add_header</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_add_header header
</code></pre></div>
<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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_add_option"><code>yetus_add_option</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_add_option subcommand subcommanddesc
</code></pre></div>
<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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_array_to_comma"><code>yetus_array_to_comma</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_array_to_comma arrayname string
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Convert an array to a comma-delimited string</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_comma_to_array"><code>yetus_comma_to_array</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_comma_to_array arrayname string
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Convert a comma-delimited string to an array</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_file_to_array"><code>yetus_file_to_array</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_file_to_array arrayname file
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Convert a file to an array.<br />
Comments on the beginning of the line and empty lines are stripped.</p>

<ul>
  <li>Returns</li>
</ul>

<p>0 for success<br />
1+ for failure</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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_generic_columnprinter"><code>yetus_generic_columnprinter</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_generic_columnprinter array
</code></pre></div>
<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">False</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_is_container"><code>yetus_is_container</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_is_container 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Determine if running in a container</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">False</td>
    </tr>
  </tbody>
</table>

<h2 id="privatestablereplaceable">Private/Stable/Replaceable</h2>
<h3 id="docker_do_env_adds"><code>docker_do_env_adds</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>docker_do_env_adds 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Do the work to add the env vars onto the Docker cmd</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="reaper_initialize"><code>reaper_initialize</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>reaper_initialize arguments
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Initialize the reaper</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="yetus_array_contains"><code>yetus_array_contains</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>yetus_array_contains element array
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Check if an array has a given value</p>

<ul>
  <li>Returns</li>
</ul>

<h2 id="returns------0--yes-1">@returns      0 = yes</h2>
<h2 id="returns------1--no-1">@returns      1 = no</h2>

<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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h2 id="privateevolvingreplaceable">Private/Evolving/Replaceable</h2>
<h3 id="activate_robots"><code>activate_robots</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>activate_robots 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>import and set defaults based upon any auto-detected automation</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="pid_kill"><code>pid_kill</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>pid_kill pid
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Kill a process id</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="reaper_coproc_func"><code>reaper_coproc_func</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>reaper_coproc_func 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Reaper coprocessor function that<br />
runs outside the law</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="reaper_finalize_results"><code>reaper_finalize_results</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>reaper_finalize_results jdkname
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Reaper output to the user</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="reaper_post_exec"><code>reaper_post_exec</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>reaper_post_exec module testlog testfrag
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Run the reaper</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="reaper_total_count"><code>reaper_total_count</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>reaper_total_count jdkname
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>Reaper output to the user</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">Private</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">True</td>
    </tr>
  </tbody>
</table>

<h3 id="set_yetus_version"><code>set_yetus_version</code></h3>

<ul>
  <li>Synopsis</li>
</ul>

<div class="highlight"><pre class="highlight plaintext"><code>set_yetus_version 
</code></pre></div>
<ul>
  <li>Description</li>
</ul>

<p>set VERSION to the current version if not set</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">Private</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">True</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-2023 <a href="https://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="https://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>
