yetus-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bus...@apache.org
Subject yetus git commit: YETUS-81 fill out component docs.
Date Wed, 18 Nov 2015 07:57:33 GMT
Repository: yetus
Updated Branches:
  refs/heads/master eb90f1423 -> 6326841d4


YETUS-81 fill out component docs.

- ensure brief description of each component at the top doc
- if precommit scripts have been updated, use shelldoc
- add current shelldocs for precommit
- if audience annotations has site javadocs, add them to the generated site
- update website docs for above

Signed-off-by: Allen Wittenauer <aw@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/6326841d
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/6326841d
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/6326841d

Branch: refs/heads/master
Commit: 6326841d49a6721e9732a70d950cffde60af29bf
Parents: eb90f14
Author: Sean Busbey <busbey@apache.org>
Authored: Sun Nov 1 10:33:41 2015 -0600
Committer: Sean Busbey <busbey@apache.org>
Committed: Wed Nov 18 01:55:56 2015 -0600

----------------------------------------------------------------------
 asf-site-src/config.rb                          |   51 +
 asf-site-src/source/contribute.html.md          |   19 +
 .../source/documentation/in-progress.html.md    |   28 +-
 .../in-progress/precommit-apidocs.md.erb        |   27 +
 .../in-progress/precommit-apidocs/core.md       |  634 ++++
 .../in-progress/precommit-apidocs/plugins.md    | 2813 ++++++++++++++++++
 .../precommit-apidocs/smart-apply-patch.md      |  187 ++
 .../in-progress/precommit-apidocs/test-patch.md |  976 ++++++
 8 files changed, 4734 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/config.rb
----------------------------------------------------------------------
diff --git a/asf-site-src/config.rb b/asf-site-src/config.rb
index 0a95703..e0ff36e 100644
--- a/asf-site-src/config.rb
+++ b/asf-site-src/config.rb
@@ -50,3 +50,54 @@ end
 activate :directory_indexes
 activate :syntax
 activate :livereload
+
+# classes needed to publish our api docs
+class CopyInPlaceResource<Middleman::Sitemap::Resource
+  def initialize (sitemap, dest, src)
+    super(sitemap, dest, src)
+  end
+  def binary?
+    return true
+  end
+end
+
+class ApiDocs
+  def initialize (sitemap, destination, source)
+    @sitemap=sitemap
+    @destination=destination
+    @source=source
+  end
+  def manipulate_resource_list(resources)
+    parent=Pathname.new(@source)
+    build=Pathname.new("documentation/in-progress/#{@destination}")
+    Middleman::Util::all_files_under(@source).each do  |path|
+      dest = build + path.relative_path_from(parent)
+      resources << CopyInPlaceResource.new(@sitemap, dest.to_s, path.to_s)
+    end
+    # to make clear what we return
+    return resources
+  end
+end
+
+def shelldocs(output, docs=[])
+  unless FileUtils.uptodate? output, docs
+    inputs=docs.map do |entry| "--input=#{entry}" end
+    `../shelldocs/shelldocs.py --skipprnorep --output #{output} #{inputs.join ' '}`
+  end
+end
+
+# Add in apidocs rendered by other parts of the repo
+after_configuration do
+  # For Audiene Annotations we just rely on having made javadocs with Maven
+  sitemap.register_resource_list_manipulator(:audience_annotations, ApiDocs.new(sitemap, "audience-annotations-apidocs", "../audience-annotations-component/target/site/apidocs"))
+  # For Precommit we regenerate source files so they can be rendered.
+  FileUtils.mkdir_p 'source/documentation/in-progress/precommit-apidocs'
+  # core API
+  shelldocs('source/documentation/in-progress/precommit-apidocs/core.md', Dir.glob("../precommit/core.d/*.sh"))
+  # smart-apply-patch API
+  shelldocs('source/documentation/in-progress/precommit-apidocs/smart-apply-patch.md', ['../precommit/smart-apply-patch.sh'])
+  # primary API
+  shelldocs('source/documentation/in-progress/precommit-apidocs/test-patch.md', ['../precommit/test-patch.sh'])
+  # plugins API
+  shelldocs('source/documentation/in-progress/precommit-apidocs/plugins.md', Dir.glob('../precommit/test-patch.d/*.sh'))
+end

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/contribute.html.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/contribute.html.md b/asf-site-src/source/contribute.html.md
index 5352c7c..1acbd56 100644
--- a/asf-site-src/source/contribute.html.md
+++ b/asf-site-src/source/contribute.html.md
@@ -56,6 +56,25 @@ cd asf-site-src/source
 vi contribute.html.md
 ```
 
+### Make changes to API Docs
+Optionally, you can update the generated API docs from other parts of the project. If they have been updated then the middleman build will pick up the changes.
+
+e.g. Precommit changes will be picked up by the Middleman build.
+
+```bash
+cd ../precommit/core.d
+vi 01-common.sh
+```
+
+
+e.g. Audience Annotations requires running Maven.
+
+```bash
+cd ../audience-annotations-component
+mvn -DskipTests -Pinclude-jdiff-module javadoc:aggregate
+cd -
+```
+
 ### Generating the website
 To generate the static wesbite for Apache Yetus run the following commands at the root asf-site-src directory:
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/documentation/in-progress.html.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress.html.md b/asf-site-src/source/documentation/in-progress.html.md
index bd61a3c..a23136b 100644
--- a/asf-site-src/source/documentation/in-progress.html.md
+++ b/asf-site-src/source/documentation/in-progress.html.md
@@ -24,11 +24,37 @@ The Yetus Precommit Patch Tester allows projects to codify their patch acceptanc
 * Take a quick look at [our glossary of terms](precommit-glossary) to ensure you are familiar with the ASF and Maven jargon we'll use as terminology specific to this project.
 * For an overview of Yetus' philosophy on testing contributions and how evaluation is performed, see our [overview](precommit-architecture).
 * To get started on your project, including an explanation of what we'll expect in a runtime environment and what optional utilities we'll leverage, read through the [basic usage guide](precommit-basic).
+* Customize how precommit interacts with your project by choosing amongst [build systems](precommit-buildtools), [bug systems](precommit-bugsystems) and [test formats](precommit-testformats).
 * 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'll need to use our [advanced usage guide](precommit-advanced).
 
-There is also documentation on [build systems](precommit-buildtools), [bug systems](precommit-bugsystems) and [test formats](precommit-testformats).
+For a complete guide to the Precommit API, see [the generated API documentation](precommit-apidocs/).
 
 # Yetus Release Doc Maker
 
 The Release Documentation Maker allows projects to generate nicely formated Markdown Changelogs and Release Notes based upon JIRA. You can view that
 documenation [here](releasedocmaker).
+
+# Yetus Shelldocs
+
+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.
+
+See the shelldocs cli help for more information on usage.
+
+```bash
+$ ./shelldocs/shelldocs.py --help
+Usage: shelldocs.py --skipprnorep --output OUTFILE --input INFILE [--input INFILE ...]
+
+Options:
+  -h, --help            show this help message and exit
+  -o OUTFILE, --output=OUTFILE
+                        file to create
+  -i INFILE, --input=INFILE
+                        file to read
+  --skipprnorep         Skip Private & Not Replaceable
+```
+
+# Yetus Audience Annotations
+
+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.
+
+See [the javadocs](audience-annotations-apidocs/) for details.

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/documentation/in-progress/precommit-apidocs.md.erb
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-apidocs.md.erb b/asf-site-src/source/documentation/in-progress/precommit-apidocs.md.erb
new file mode 100644
index 0000000..e2f05d3
--- /dev/null
+++ b/asf-site-src/source/documentation/in-progress/precommit-apidocs.md.erb
@@ -0,0 +1,27 @@
+<!---
+  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.
+-->
+Precommit API Docs
+==================
+
+Following gives the downstream consumable API for precommit components.
+
+* <%= link_to "Core Functions", "core" %>, common to both smart-apply-patch and test-patch.
+* <%= link_to "Smart Apply Patch", "smart-apply-patch" %>
+* <%= link_to "Test Patch", "test-patch" %>, available to all plugins.
+* <%= link_to "Precommit Plugins", "plugins" %>

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/documentation/in-progress/precommit-apidocs/core.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-apidocs/core.md b/asf-site-src/source/documentation/in-progress/precommit-apidocs/core.md
new file mode 100644
index 0000000..535c86c
--- /dev/null
+++ b/asf-site-src/source/documentation/in-progress/precommit-apidocs/core.md
@@ -0,0 +1,634 @@
+
+<!---
+# 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.
+-->
+  * Public/Stable/Replaceable
+    * [add\_bugsystem](#add_bugsystem)
+    * [add\_build\_tool](#add_build_tool)
+    * [add\_test](#add_test)
+    * [add\_test\_format](#add_test_format)
+    * [add\_test\_type](#add_test_type)
+    * [delete\_bugsystem](#delete_bugsystem)
+    * [delete\_build\_tool](#delete_build_tool)
+    * [delete\_test](#delete_test)
+    * [delete\_test\_format](#delete_test_format)
+    * [delete\_test\_type](#delete_test_type)
+    * [personality\_plugins](#personality_plugins)
+    * [verify\_needed\_test](#verify_needed_test)
+    * [verify\_plugin\_enabled](#verify_plugin_enabled)
+  * Public/Stable/Not Replaceable
+    * [common\_defaults](#common_defaults)
+    * [patchfile\_verify\_zero](#patchfile_verify_zero)
+    * [yetus\_add\_entry](#yetus_add_entry)
+    * [yetus\_debug](#yetus_debug)
+    * [yetus\_delete\_entry](#yetus_delete_entry)
+    * [yetus\_error](#yetus_error)
+    * [yetus\_run\_and\_redirect](#yetus_run_and_redirect)
+    * [yetus\_verify\_entry](#yetus_verify_entry)
+  * Public/Evolving/Not Replaceable
+    * [list\_plugins](#list_plugins)
+  * None/None/Not Replaceable
+    * [personality\_file\_tests](#personality_file_tests)
+    * [personality\_modules](#personality_modules)
+  * Private/Evolving/Not Replaceable
+    * [generic\_locate\_patch](#generic_locate_patch)
+    * [guess\_patch\_file](#guess_patch_file)
+
+------
+
+## Public/Stable/Replaceable
+### `add_bugsystem`
+
+* Synopsis
+
+```
+add_bugsystem bugsystem
+```
+
+* Description
+
+Add the given bugsystem type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `add_build_tool`
+
+* Synopsis
+
+```
+add_build_tool build tool
+```
+
+* Description
+
+Add the given build tool type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `add_test`
+
+* Synopsis
+
+```
+add_test test
+```
+
+* Description
+
+Add the given test type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `add_test_format`
+
+* Synopsis
+
+```
+add_test_format test format
+```
+
+* Description
+
+Add the given test format type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `add_test_type`
+
+* Synopsis
+
+```
+add_test_type plugin
+```
+
+* Description
+
+Add the given test type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `delete_bugsystem`
+
+* Synopsis
+
+```
+delete_bugsystem bugsystem
+```
+
+* Description
+
+Remove the given bugsystem type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `delete_build_tool`
+
+* Synopsis
+
+```
+delete_build_tool build tool
+```
+
+* Description
+
+Remove the given build tool type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `delete_test`
+
+* Synopsis
+
+```
+delete_test test
+```
+
+* Description
+
+Remove the given test type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `delete_test_format`
+
+* Synopsis
+
+```
+delete_test_format test format
+```
+
+* Description
+
+Remove the given test format type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `delete_test_type`
+
+* Synopsis
+
+```
+delete_test_type plugin
+```
+
+* Description
+
+Remove the given test type
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `personality_plugins`
+
+* Synopsis
+
+```
+personality_plugins plug-in list string
+```
+
+* Description
+
+Personality-defined plug-in list
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `verify_needed_test`
+
+* Synopsis
+
+```
+verify_needed_test test
+```
+
+* Description
+
+Verify if a given test was requested
+
+* Returns
+
+1 = yes
+
+0 = no
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `verify_plugin_enabled`
+
+* Synopsis
+
+```
+verify_plugin_enabled test
+```
+
+* Description
+
+Determine if a plugin was enabeld by the user ENABLED_PLUGINS must be defined
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+## Public/Stable/Not Replaceable
+### `common_defaults`
+
+* Synopsis
+
+```
+common_defaults
+```
+
+* Description
+
+Setup the default global variables
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `patchfile_verify_zero`
+
+* Synopsis
+
+```
+patchfile_verify_zero log filename
+```
+
+* Description
+
+if patch-level zero, then verify we aren't just adding files
+
+* Returns
+
+## @returns      $?
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_add_entry`
+
+* Synopsis
+
+```
+yetus_add_entry
+```
+
+* Description
+
+Given variable $1 add $2 to it
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_debug`
+
+* Synopsis
+
+```
+yetus_debug string
+```
+
+* Description
+
+Print a message to stderr if --debug is turned on
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_delete_entry`
+
+* Synopsis
+
+```
+yetus_delete_entry
+```
+
+* Description
+
+Given variable $1 delete $2 from it
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_error`
+
+* Synopsis
+
+```
+yetus_error string
+```
+
+* Description
+
+Print a message to stderr
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_run_and_redirect`
+
+* Synopsis
+
+```
+yetus_run_and_redirect filename command [..]
+```
+
+* Description
+
+run the command, sending stdout and stderr to the given filename
+
+* Returns
+
+## @returns      $?
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_verify_entry`
+
+* Synopsis
+
+```
+yetus_verify_entry
+```
+
+* Description
+
+Given variable $1 determine if $2 is in it
+
+* Returns
+
+## @returns      1 = yes, 0 = no
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+## Public/Evolving/Not Replaceable
+### `list_plugins`
+
+* Synopsis
+
+```
+list_plugins
+```
+
+* Description
+
+List all installed plug-ins, regardless of whether they have been enabled
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+## None/None/Not Replaceable
+### `personality_file_tests`
+
+* Synopsis
+
+```
+personality_file_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `personality_modules`
+
+* Synopsis
+
+```
+personality_modules
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+## Private/Evolving/Not Replaceable
+### `generic_locate_patch`
+
+* Synopsis
+
+```
+generic_locate_patch patchloc output
+```
+
+* Description
+
+Use curl to download the patch as a last resort
+
+* Returns
+
+0 got something
+
+1 error
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Evolving |
+| Replaceable | None |
+
+### `guess_patch_file`
+
+* Synopsis
+
+```
+guess_patch_file path to patch file to test
+```
+
+* Description
+
+Given a possible patch file, guess if it's a patch file only using the more intense verify if we really need to
+
+* Returns
+
+0 we think it's a patch file
+
+1 we think it's not a patch file
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Evolving |
+| Replaceable | None |

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/documentation/in-progress/precommit-apidocs/plugins.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-apidocs/plugins.md b/asf-site-src/source/documentation/in-progress/precommit-apidocs/plugins.md
new file mode 100644
index 0000000..eaf2bdc
--- /dev/null
+++ b/asf-site-src/source/documentation/in-progress/precommit-apidocs/plugins.md
@@ -0,0 +1,2813 @@
+
+<!---
+# 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.
+-->
+  * Public/Stable/Not Replaceable
+    * [bugzilla\_write\_comment](#bugzilla_write_comment)
+    * [github\_write\_comment](#github_write_comment)
+  * Public/Stable/Not Replaceable
+    * [javac\_precheck](#javac_precheck)
+  * Public/Stable/Not Replaceable
+    * [jira\_write\_comment](#jira_write_comment)
+  * None/None/Not Replaceable
+    * [ant\_buildfile](#ant_buildfile)
+    * [ant\_builtin\_personality\_file\_tests](#ant_builtin_personality_file_tests)
+    * [ant\_builtin\_personality\_modules](#ant_builtin_personality_modules)
+    * [ant\_docker\_support](#ant_docker_support)
+    * [ant\_executor](#ant_executor)
+    * [ant\_initialize](#ant_initialize)
+    * [ant\_javac\_count\_probs](#ant_javac_count_probs)
+    * [ant\_modules\_worker](#ant_modules_worker)
+    * [ant\_parse\_args](#ant_parse_args)
+    * [ant\_usage](#ant_usage)
+    * [asflicense\_parse\_args](#asflicense_parse_args)
+    * [asflicense\_writexsl](#asflicense_writexsl)
+    * [bugzilla\_determine\_issue](#bugzilla_determine_issue)
+    * [bugzilla\_http\_fetch](#bugzilla_http_fetch)
+    * [bugzilla\_locate\_patch](#bugzilla_locate_patch)
+    * [bugzilla\_parse\_args](#bugzilla_parse_args)
+    * [bugzilla\_usage](#bugzilla_usage)
+    * [cc\_count\_probs](#cc_count_probs)
+    * [cc\_filefilter](#cc_filefilter)
+    * [checkstyle\_filefilter](#checkstyle_filefilter)
+    * [checkstyle\_postapply](#checkstyle_postapply)
+    * [checkstyle\_postcompile](#checkstyle_postcompile)
+    * [checkstyle\_preapply](#checkstyle_preapply)
+    * [checkstyle\_runner](#checkstyle_runner)
+    * [findbugs\_filefilter](#findbugs_filefilter)
+    * [findbugs\_parse\_args](#findbugs_parse_args)
+    * [findbugs\_rebuild](#findbugs_rebuild)
+    * [findbugs\_usage](#findbugs_usage)
+    * [github\_breakup\_url](#github_breakup_url)
+    * [github\_determine\_issue](#github_determine_issue)
+    * [github\_find\_jira\_title](#github_find_jira_title)
+    * [github\_jira\_bridge](#github_jira_bridge)
+    * [github\_linecomments](#github_linecomments)
+    * [github\_locate\_patch](#github_locate_patch)
+    * [github\_parse\_args](#github_parse_args)
+    * [github\_usage](#github_usage)
+    * [gradle\_buildfile](#gradle_buildfile)
+    * [gradle\_builtin\_personality\_file\_tests](#gradle_builtin_personality_file_tests)
+    * [gradle\_builtin\_personality\_modules](#gradle_builtin_personality_modules)
+    * [gradle\_docker\_support](#gradle_docker_support)
+    * [gradle\_executor](#gradle_executor)
+    * [gradle\_initialize](#gradle_initialize)
+    * [gradle\_javac\_count\_probs](#gradle_javac_count_probs)
+    * [gradle\_javadoc\_count\_probs](#gradle_javadoc_count_probs)
+    * [gradle\_modules\_worker](#gradle_modules_worker)
+    * [gradle\_parse\_args](#gradle_parse_args)
+    * [gradle\_scalac\_count\_probs](#gradle_scalac_count_probs)
+    * [gradle\_usage](#gradle_usage)
+    * [initialize\_java](#initialize_java)
+    * [javac\_filefilter](#javac_filefilter)
+    * [javac\_initialize](#javac_initialize)
+    * [javadoc\_filefilter](#javadoc_filefilter)
+    * [javadoc\_initialize](#javadoc_initialize)
+    * [jira\_determine\_issue](#jira_determine_issue)
+    * [jira\_http\_fetch](#jira_http_fetch)
+    * [jira\_locate\_patch](#jira_locate_patch)
+    * [jira\_parse\_args](#jira_parse_args)
+    * [jira\_usage](#jira_usage)
+    * [junit\_finalize\_results](#junit_finalize_results)
+    * [junit\_process\_tests](#junit_process_tests)
+    * [maven\_buildfile](#maven_buildfile)
+    * [maven\_builtin\_personality\_file\_tests](#maven_builtin_personality_file_tests)
+    * [maven\_builtin\_personality\_modules](#maven_builtin_personality_modules)
+    * [maven\_docker\_support](#maven_docker_support)
+    * [maven\_executor](#maven_executor)
+    * [maven\_initialize](#maven_initialize)
+    * [maven\_javac\_count\_probs](#maven_javac_count_probs)
+    * [maven\_modules\_worker](#maven_modules_worker)
+    * [maven\_parse\_args](#maven_parse_args)
+    * [maven\_precheck](#maven_precheck)
+    * [maven\_scalac\_count\_probs](#maven_scalac_count_probs)
+    * [maven\_usage](#maven_usage)
+    * [mvnsite\_filefilter](#mvnsite_filefilter)
+    * [nobuild\_buildfile](#nobuild_buildfile)
+    * [nobuild\_builtin\_personality\_file\_tests](#nobuild_builtin_personality_file_tests)
+    * [nobuild\_builtin\_personality\_modules](#nobuild_builtin_personality_modules)
+    * [nobuild\_executor](#nobuild_executor)
+    * [nobuild\_modules\_worker](#nobuild_modules_worker)
+    * [perlcritic\_filefilter](#perlcritic_filefilter)
+    * [perlcritic\_parse\_args](#perlcritic_parse_args)
+    * [perlcritic\_postapply](#perlcritic_postapply)
+    * [perlcritic\_postcompile](#perlcritic_postcompile)
+    * [perlcritic\_preapply](#perlcritic_preapply)
+    * [perlcritic\_usage](#perlcritic_usage)
+    * [pylint\_filefilter](#pylint_filefilter)
+    * [pylint\_parse\_args](#pylint_parse_args)
+    * [pylint\_postapply](#pylint_postapply)
+    * [pylint\_postcompile](#pylint_postcompile)
+    * [pylint\_preapply](#pylint_preapply)
+    * [pylint\_usage](#pylint_usage)
+    * [rubocop\_filefilter](#rubocop_filefilter)
+    * [rubocop\_parse\_args](#rubocop_parse_args)
+    * [rubocop\_postapply](#rubocop_postapply)
+    * [rubocop\_postcompile](#rubocop_postcompile)
+    * [rubocop\_preapply](#rubocop_preapply)
+    * [rubocop\_usage](#rubocop_usage)
+    * [ruby\_lint\_filefilter](#ruby_lint_filefilter)
+    * [ruby\_lint\_parse\_args](#ruby_lint_parse_args)
+    * [ruby\_lint\_postapply](#ruby_lint_postapply)
+    * [ruby\_lint\_postcompile](#ruby_lint_postcompile)
+    * [ruby\_lint\_preapply](#ruby_lint_preapply)
+    * [ruby\_lint\_usage](#ruby_lint_usage)
+    * [scalac\_filefilter](#scalac_filefilter)
+    * [scaladoc\_filefilter](#scaladoc_filefilter)
+    * [shellcheck\_filefilter](#shellcheck_filefilter)
+    * [shellcheck\_postapply](#shellcheck_postapply)
+    * [shellcheck\_postcompile](#shellcheck_postcompile)
+    * [shellcheck\_preapply](#shellcheck_preapply)
+    * [shellcheck\_private\_findbash](#shellcheck_private_findbash)
+    * [tap\_finalize\_results](#tap_finalize_results)
+    * [tap\_parse\_args](#tap_parse_args)
+    * [tap\_process\_tests](#tap_process_tests)
+    * [tap\_usage](#tap_usage)
+    * [whitespace\_linecomment\_reporter](#whitespace_linecomment_reporter)
+    * [whitespace\_postcompile](#whitespace_postcompile)
+    * [xml\_filefilter](#xml_filefilter)
+    * [xml\_postcompile](#xml_postcompile)
+
+------
+
+## Public/Stable/Not Replaceable
+### `bugzilla_write_comment`
+
+* Synopsis
+
+```
+bugzilla_write_comment ## @params filename
+```
+
+* Description
+
+Write the contents of a file to Bugzilla
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | None |
+
+### `github_write_comment`
+
+* Synopsis
+
+```
+github_write_comment ## @params filename
+```
+
+* Description
+
+Write the contents of a file to github
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | None |
+
+## Public/Stable/Not Replaceable
+### `javac_precheck`
+
+* Synopsis
+
+```
+javac_precheck
+```
+
+* Description
+
+Verify that ${JAVA_HOME} is defined
+
+* Returns
+
+1 - no JAVA_HOME
+
+0 - JAVA_HOME defined
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+## Public/Stable/Not Replaceable
+### `jira_write_comment`
+
+* Synopsis
+
+```
+jira_write_comment ## @params filename
+```
+
+* Description
+
+Write the contents of a file to JIRA
+
+* Returns
+
+## @returns exit code from posting to jira
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | None |
+
+## None/None/Not Replaceable
+### `ant_buildfile`
+
+* Synopsis
+
+```
+ant_buildfile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_builtin_personality_file_tests`
+
+* Synopsis
+
+```
+ant_builtin_personality_file_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_builtin_personality_modules`
+
+* Synopsis
+
+```
+ant_builtin_personality_modules
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_docker_support`
+
+* Synopsis
+
+```
+ant_docker_support
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_executor`
+
+* Synopsis
+
+```
+ant_executor
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_initialize`
+
+* Synopsis
+
+```
+ant_initialize
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_javac_count_probs`
+
+* Synopsis
+
+```
+ant_javac_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_modules_worker`
+
+* Synopsis
+
+```
+ant_modules_worker
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_parse_args`
+
+* Synopsis
+
+```
+ant_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ant_usage`
+
+* Synopsis
+
+```
+ant_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `asflicense_parse_args`
+
+* Synopsis
+
+```
+asflicense_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `asflicense_writexsl`
+
+* Synopsis
+
+```
+asflicense_writexsl
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `bugzilla_determine_issue`
+
+* Synopsis
+
+```
+bugzilla_determine_issue
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `bugzilla_http_fetch`
+
+* Synopsis
+
+```
+bugzilla_http_fetch
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `bugzilla_locate_patch`
+
+* Synopsis
+
+```
+bugzilla_locate_patch
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `bugzilla_parse_args`
+
+* Synopsis
+
+```
+bugzilla_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `bugzilla_usage`
+
+* Synopsis
+
+```
+bugzilla_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `cc_count_probs`
+
+* Synopsis
+
+```
+cc_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `cc_filefilter`
+
+* Synopsis
+
+```
+cc_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `checkstyle_filefilter`
+
+* Synopsis
+
+```
+checkstyle_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `checkstyle_postapply`
+
+* Synopsis
+
+```
+checkstyle_postapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `checkstyle_postcompile`
+
+* Synopsis
+
+```
+checkstyle_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `checkstyle_preapply`
+
+* Synopsis
+
+```
+checkstyle_preapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `checkstyle_runner`
+
+* Synopsis
+
+```
+checkstyle_runner
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `findbugs_filefilter`
+
+* Synopsis
+
+```
+findbugs_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `findbugs_parse_args`
+
+* Synopsis
+
+```
+findbugs_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `findbugs_rebuild`
+
+* Synopsis
+
+```
+findbugs_rebuild
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `findbugs_usage`
+
+* Synopsis
+
+```
+findbugs_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_breakup_url`
+
+* Synopsis
+
+```
+github_breakup_url ## @params url
+```
+
+* Description
+
+given a URL, break it up into github plugin globals this will *override* any personality or yetus defaults
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_determine_issue`
+
+* Synopsis
+
+```
+github_determine_issue
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_find_jira_title`
+
+* Synopsis
+
+```
+github_find_jira_title
+```
+
+* Description
+
+based upon a github PR, attempt to link back to JIRA
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_jira_bridge`
+
+* Synopsis
+
+```
+github_jira_bridge
+```
+
+* Description
+
+this gets called when JIRA thinks this issue is just a pointer to github WARNING: Called from JIRA plugin!
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_linecomments`
+
+* Synopsis
+
+```
+github_linecomments
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_locate_patch`
+
+* Synopsis
+
+```
+github_locate_patch
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_parse_args`
+
+* Synopsis
+
+```
+github_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `github_usage`
+
+* Synopsis
+
+```
+github_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_buildfile`
+
+* Synopsis
+
+```
+gradle_buildfile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_builtin_personality_file_tests`
+
+* Synopsis
+
+```
+gradle_builtin_personality_file_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_builtin_personality_modules`
+
+* Synopsis
+
+```
+gradle_builtin_personality_modules
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_docker_support`
+
+* Synopsis
+
+```
+gradle_docker_support
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_executor`
+
+* Synopsis
+
+```
+gradle_executor
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_initialize`
+
+* Synopsis
+
+```
+gradle_initialize
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_javac_count_probs`
+
+* Synopsis
+
+```
+gradle_javac_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_javadoc_count_probs`
+
+* Synopsis
+
+```
+gradle_javadoc_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_modules_worker`
+
+* Synopsis
+
+```
+gradle_modules_worker
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_parse_args`
+
+* Synopsis
+
+```
+gradle_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_scalac_count_probs`
+
+* Synopsis
+
+```
+gradle_scalac_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `gradle_usage`
+
+* Synopsis
+
+```
+gradle_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `initialize_java`
+
+* Synopsis
+
+```
+initialize_java
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `javac_filefilter`
+
+* Synopsis
+
+```
+javac_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `javac_initialize`
+
+* Synopsis
+
+```
+javac_initialize
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `javadoc_filefilter`
+
+* Synopsis
+
+```
+javadoc_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `javadoc_initialize`
+
+* Synopsis
+
+```
+javadoc_initialize
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `jira_determine_issue`
+
+* Synopsis
+
+```
+jira_determine_issue
+```
+
+* Description
+
+provides issue determination based upon the URL and more. WARNING: called from the github plugin!
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `jira_http_fetch`
+
+* Synopsis
+
+```
+jira_http_fetch
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `jira_locate_patch`
+
+* Synopsis
+
+```
+jira_locate_patch
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `jira_parse_args`
+
+* Synopsis
+
+```
+jira_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `jira_usage`
+
+* Synopsis
+
+```
+jira_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `junit_finalize_results`
+
+* Synopsis
+
+```
+junit_finalize_results
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `junit_process_tests`
+
+* Synopsis
+
+```
+junit_process_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_buildfile`
+
+* Synopsis
+
+```
+maven_buildfile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_builtin_personality_file_tests`
+
+* Synopsis
+
+```
+maven_builtin_personality_file_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_builtin_personality_modules`
+
+* Synopsis
+
+```
+maven_builtin_personality_modules
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_docker_support`
+
+* Synopsis
+
+```
+maven_docker_support
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_executor`
+
+* Synopsis
+
+```
+maven_executor
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_initialize`
+
+* Synopsis
+
+```
+maven_initialize
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_javac_count_probs`
+
+* Synopsis
+
+```
+maven_javac_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_modules_worker`
+
+* Synopsis
+
+```
+maven_modules_worker
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_parse_args`
+
+* Synopsis
+
+```
+maven_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_precheck`
+
+* Synopsis
+
+```
+maven_precheck
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_scalac_count_probs`
+
+* Synopsis
+
+```
+maven_scalac_count_probs
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `maven_usage`
+
+* Synopsis
+
+```
+maven_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `mvnsite_filefilter`
+
+* Synopsis
+
+```
+mvnsite_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `nobuild_buildfile`
+
+* Synopsis
+
+```
+nobuild_buildfile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `nobuild_builtin_personality_file_tests`
+
+* Synopsis
+
+```
+nobuild_builtin_personality_file_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `nobuild_builtin_personality_modules`
+
+* Synopsis
+
+```
+nobuild_builtin_personality_modules
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `nobuild_executor`
+
+* Synopsis
+
+```
+nobuild_executor
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `nobuild_modules_worker`
+
+* Synopsis
+
+```
+nobuild_modules_worker
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `perlcritic_filefilter`
+
+* Synopsis
+
+```
+perlcritic_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `perlcritic_parse_args`
+
+* Synopsis
+
+```
+perlcritic_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `perlcritic_postapply`
+
+* Synopsis
+
+```
+perlcritic_postapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `perlcritic_postcompile`
+
+* Synopsis
+
+```
+perlcritic_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `perlcritic_preapply`
+
+* Synopsis
+
+```
+perlcritic_preapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `perlcritic_usage`
+
+* Synopsis
+
+```
+perlcritic_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `pylint_filefilter`
+
+* Synopsis
+
+```
+pylint_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `pylint_parse_args`
+
+* Synopsis
+
+```
+pylint_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `pylint_postapply`
+
+* Synopsis
+
+```
+pylint_postapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `pylint_postcompile`
+
+* Synopsis
+
+```
+pylint_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `pylint_preapply`
+
+* Synopsis
+
+```
+pylint_preapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `pylint_usage`
+
+* Synopsis
+
+```
+pylint_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `rubocop_filefilter`
+
+* Synopsis
+
+```
+rubocop_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `rubocop_parse_args`
+
+* Synopsis
+
+```
+rubocop_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `rubocop_postapply`
+
+* Synopsis
+
+```
+rubocop_postapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `rubocop_postcompile`
+
+* Synopsis
+
+```
+rubocop_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `rubocop_preapply`
+
+* Synopsis
+
+```
+rubocop_preapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `rubocop_usage`
+
+* Synopsis
+
+```
+rubocop_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ruby_lint_filefilter`
+
+* Synopsis
+
+```
+ruby_lint_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ruby_lint_parse_args`
+
+* Synopsis
+
+```
+ruby_lint_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ruby_lint_postapply`
+
+* Synopsis
+
+```
+ruby_lint_postapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ruby_lint_postcompile`
+
+* Synopsis
+
+```
+ruby_lint_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ruby_lint_preapply`
+
+* Synopsis
+
+```
+ruby_lint_preapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `ruby_lint_usage`
+
+* Synopsis
+
+```
+ruby_lint_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `scalac_filefilter`
+
+* Synopsis
+
+```
+scalac_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `scaladoc_filefilter`
+
+* Synopsis
+
+```
+scaladoc_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `shellcheck_filefilter`
+
+* Synopsis
+
+```
+shellcheck_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `shellcheck_postapply`
+
+* Synopsis
+
+```
+shellcheck_postapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `shellcheck_postcompile`
+
+* Synopsis
+
+```
+shellcheck_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `shellcheck_preapply`
+
+* Synopsis
+
+```
+shellcheck_preapply
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `shellcheck_private_findbash`
+
+* Synopsis
+
+```
+shellcheck_private_findbash
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `tap_finalize_results`
+
+* Synopsis
+
+```
+tap_finalize_results
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `tap_parse_args`
+
+* Synopsis
+
+```
+tap_parse_args
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `tap_process_tests`
+
+* Synopsis
+
+```
+tap_process_tests
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `tap_usage`
+
+* Synopsis
+
+```
+tap_usage
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `whitespace_linecomment_reporter`
+
+* Synopsis
+
+```
+whitespace_linecomment_reporter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `whitespace_postcompile`
+
+* Synopsis
+
+```
+whitespace_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `xml_filefilter`
+
+* Synopsis
+
+```
+xml_filefilter
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `xml_postcompile`
+
+* Synopsis
+
+```
+xml_postcompile
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/documentation/in-progress/precommit-apidocs/smart-apply-patch.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-apidocs/smart-apply-patch.md b/asf-site-src/source/documentation/in-progress/precommit-apidocs/smart-apply-patch.md
new file mode 100644
index 0000000..0cae72a
--- /dev/null
+++ b/asf-site-src/source/documentation/in-progress/precommit-apidocs/smart-apply-patch.md
@@ -0,0 +1,187 @@
+
+<!---
+# 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.
+-->
+  * Public/Stable/Not Replaceable
+    * [setup\_defaults](#setup_defaults)
+    * [yetus\_usage](#yetus_usage)
+  * None/None/Not Replaceable
+    * [add\_footer\_table](#add_footer_table)
+    * [add\_test](#add_test)
+    * [add\_vote\_table](#add_vote_table)
+    * [big\_console\_header](#big_console_header)
+  * Private/Evolving/Not Replaceable
+    * [import\_core](#import_core)
+
+------
+
+## Public/Stable/Not Replaceable
+### `setup_defaults`
+
+* Synopsis
+
+```
+setup_defaults
+```
+
+* Description
+
+Setup the default global variables
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `yetus_usage`
+
+* Synopsis
+
+```
+yetus_usage
+```
+
+* Description
+
+Print the usage information
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+## None/None/Not Replaceable
+### `add_footer_table`
+
+* Synopsis
+
+```
+add_footer_table
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `add_test`
+
+* Synopsis
+
+```
+add_test
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `add_vote_table`
+
+* Synopsis
+
+```
+add_vote_table
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+### `big_console_header`
+
+* Synopsis
+
+```
+big_console_header
+```
+
+* Description
+
+None
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | None |
+| Stability | None |
+| Replaceable | None |
+
+## Private/Evolving/Not Replaceable
+### `import_core`
+
+* Synopsis
+
+```
+import_core
+```
+
+* Description
+
+import core library routines
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Evolving |
+| Replaceable | None |

http://git-wip-us.apache.org/repos/asf/yetus/blob/6326841d/asf-site-src/source/documentation/in-progress/precommit-apidocs/test-patch.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-apidocs/test-patch.md b/asf-site-src/source/documentation/in-progress/precommit-apidocs/test-patch.md
new file mode 100644
index 0000000..607e05c
--- /dev/null
+++ b/asf-site-src/source/documentation/in-progress/precommit-apidocs/test-patch.md
@@ -0,0 +1,976 @@
+
+<!---
+# 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.
+-->
+  * Public/Stable/Replaceable
+    * [relative\_dir](#relative_dir)
+    * [verify\_multijdk\_test](#verify_multijdk_test)
+  * Public/Stable/Not Replaceable
+    * [add\_footer\_table](#add_footer_table)
+    * [add\_header\_line](#add_header_line)
+    * [add\_test\_table](#add_test_table)
+    * [add\_vote\_table](#add_vote_table)
+    * [big\_console\_header](#big_console_header)
+    * [clock\_display](#clock_display)
+    * [echo\_and\_redirect](#echo_and_redirect)
+    * [generate\_stack](#generate_stack)
+    * [module\_file\_fragment](#module_file_fragment)
+    * [offset\_clock](#offset_clock)
+    * [setup\_defaults](#setup_defaults)
+    * [start\_clock](#start_clock)
+    * [stop\_clock](#stop_clock)
+  * Public/Stable/Not Replaceable
+    * [write\_comment](#write_comment)
+  * Public/Stable/Not Replaceable
+    * [yetus\_usage](#yetus_usage)
+  * Public/Evolving/Not Replaceable
+    * [bugsystem\_linecomments](#bugsystem_linecomments)
+    * [calcdiffs](#calcdiffs)
+    * [clear\_personality\_queue](#clear_personality_queue)
+    * [compile](#compile)
+    * [compile\_cycle](#compile_cycle)
+    * [distclean](#distclean)
+    * [generic\_count\_probs](#generic_count_probs)
+    * [generic\_post\_handler](#generic_post_handler)
+    * [generic\_postlog\_compare](#generic_postlog_compare)
+    * [generic\_pre\_handler](#generic_pre_handler)
+    * [initialize](#initialize)
+    * [module\_status](#module_status)
+    * [modules\_messages](#modules_messages)
+    * [modules\_reset](#modules_reset)
+    * [modules\_workers](#modules_workers)
+    * [patchfiletests](#patchfiletests)
+    * [personality\_enqueue\_module](#personality_enqueue_module)
+  * Private/Stable/Replaceable
+    * [finish\_docker\_stats](#finish_docker_stats)
+    * [prepopulate\_footer](#prepopulate_footer)
+    * [report\_jvm\_version](#report_jvm_version)
+  * Private/Evolving/Replaceable
+    * [verify\_patchdir\_still\_exists](#verify_patchdir_still_exists)
+  * Private/Evolving/Not Replaceable
+    * [import\_core](#import_core)
+    * [prechecks](#prechecks)
+
+------
+
+## Public/Stable/Replaceable
+### `relative_dir`
+
+* Synopsis
+
+```
+relative_dir path
+```
+
+* Description
+
+is a given directory relative to BASEDIR?
+
+* Returns
+
+## @returns     1 - no, path
+
+## @returns     0 - yes, path - BASEDIR
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `verify_multijdk_test`
+
+* Synopsis
+
+```
+verify_multijdk_test test
+```
+
+* Description
+
+Verify if a given test is multijdk
+
+* Returns
+
+1 = yes
+
+0 = no
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | Yes |
+
+## Public/Stable/Not Replaceable
+### `add_footer_table`
+
+* Synopsis
+
+```
+add_footer_table subsystem string
+```
+
+* Description
+
+Add to the footer of the display. @@BASE@@ will get replaced with the correct location for the local filesystem in dev mode or the URL for Jenkins mode.
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `add_header_line`
+
+* Synopsis
+
+```
+add_header_line string
+```
+
+* Description
+
+Add to the header of the display
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `add_test_table`
+
+* Synopsis
+
+```
+add_test_table failurereason testlist
+```
+
+* Description
+
+Special table just for unit test failures
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `add_vote_table`
+
+* Synopsis
+
+```
+add_vote_table +1/0/-1/null subsystem string
+```
+
+* Description
+
+Add to the output table. If the first parameter is a number that is the vote for that column and calculates the elapsed time based upon the last start_clock().  If it the string null, then it is a special entry that signifies extra content for the final column.  The second parameter is the reporting subsystem (or test) that is providing the vote.  The second parameter is always required.  The third parameter is any extra verbage that goes with that subsystem.
+
+* Returns
+
+Elapsed time display
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `big_console_header`
+
+* Synopsis
+
+```
+big_console_header string
+```
+
+* Description
+
+Large display for the user console
+
+* Returns
+
+large chunk of text
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `clock_display`
+
+* Synopsis
+
+```
+clock_display seconds
+```
+
+* Description
+
+Convert time in seconds to m + s
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `echo_and_redirect`
+
+* Synopsis
+
+```
+echo_and_redirect filename command [..]
+```
+
+* Description
+
+Print the command to be executing to the screen. Then run the command, sending stdout and stderr to the given filename This will also ensure that any directories in ${BASEDIR} have the exec bit set as a pre-exec step.
+
+* Returns
+
+## @returns      $?
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `generate_stack`
+
+* Synopsis
+
+```
+generate_stack
+```
+
+* Description
+
+generate a stack trace when in debug mode
+
+* Returns
+
+exits
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `module_file_fragment`
+
+* Synopsis
+
+```
+module_file_fragment module
+```
+
+* Description
+
+Convert the given module name to a file fragment
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `offset_clock`
+
+* Synopsis
+
+```
+offset_clock seconds
+```
+
+* Description
+
+Add time to the local timer
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `setup_defaults`
+
+* Synopsis
+
+```
+setup_defaults
+```
+
+* Description
+
+Setup the default global variables
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `start_clock`
+
+* Synopsis
+
+```
+start_clock
+```
+
+* Description
+
+Activate the local timer
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+### `stop_clock`
+
+* Synopsis
+
+```
+stop_clock
+```
+
+* Description
+
+Print the elapsed time in seconds since the start of the local timer
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+## Public/Stable/Not Replaceable
+### `write_comment`
+
+* Synopsis
+
+```
+write_comment ## @params filename
+```
+
+* Description
+
+Write the contents of a file to all of the bug systems (so content should avoid special formatting)
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | None |
+
+## Public/Stable/Not Replaceable
+### `yetus_usage`
+
+* Synopsis
+
+```
+yetus_usage
+```
+
+* Description
+
+Print the usage information
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Stable |
+| Replaceable | No |
+
+## Public/Evolving/Not Replaceable
+### `bugsystem_linecomments`
+
+* Synopsis
+
+```
+bugsystem_linecomments filename
+```
+
+* Description
+
+Write comments onto bug systems that have code review support. File should be in the form of "file:line:comment"
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `calcdiffs`
+
+* Synopsis
+
+```
+calcdiffs
+```
+
+* Description
+
+Calculate the differences between the specified files and output it to stdout.
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `clear_personality_queue`
+
+* Synopsis
+
+```
+clear_personality_queue
+```
+
+* Description
+
+Reset the queue for tests
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `compile`
+
+* Synopsis
+
+```
+compile branch|patch
+```
+
+* Description
+
+Execute the compile phase. This will callout to _compile
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `compile_cycle`
+
+* Synopsis
+
+```
+compile_cycle branch|patch
+```
+
+* Description
+
+Execute the static analysis test cycle. This will callout to _precompile, compile, _postcompile and _rebuild
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `distclean`
+
+* Synopsis
+
+```
+distclean
+```
+
+* Description
+
+Wipe the repo clean to not invalidate tests
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `generic_count_probs`
+
+* Synopsis
+
+```
+generic_count_probs
+```
+
+* Description
+
+Helper routine for plugins to ask projects, etc to count problems in a log file and output it to stdout.
+
+* Returns
+
+number of issues
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `generic_post_handler`
+
+* Synopsis
+
+```
+generic_post_handler origlog testtype multijdkmode run commands
+```
+
+* Description
+
+Generic post-patch handler
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `generic_postlog_compare`
+
+* Synopsis
+
+```
+generic_postlog_compare origlog testtype multijdkmode
+```
+
+* Description
+
+Generic post-patch log handler
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `generic_pre_handler`
+
+* Synopsis
+
+```
+generic_pre_handler testype multijdk
+```
+
+* Description
+
+Helper routine for plugins to do a pre-patch prun
+
+* Returns
+
+1 on failure
+
+0 on success
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `initialize`
+
+* Synopsis
+
+```
+initialize $@
+```
+
+* Description
+
+Setup to execute
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `module_status`
+
+* Synopsis
+
+```
+module_status module runtime
+```
+
+* Description
+
+Add a test result
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `modules_messages`
+
+* Synopsis
+
+```
+modules_messages repostatus testtype mvncmdline
+```
+
+* Description
+
+Utility to print standard module errors
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `modules_reset`
+
+* Synopsis
+
+```
+modules_reset
+```
+
+* Description
+
+Reset the test results
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `modules_workers`
+
+* Synopsis
+
+```
+modules_workers repostatus testtype mvncmdline
+```
+
+* Description
+
+run the tests for the queued modules
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `patchfiletests`
+
+* Synopsis
+
+```
+patchfiletests branch|patch
+```
+
+* Description
+
+Execute the patch file test phase. Calls out to to _patchfile
+
+* Returns
+
+0 on success
+
+1 on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+### `personality_enqueue_module`
+
+* Synopsis
+
+```
+personality_enqueue_module module profiles/flags/etc
+```
+
+* Description
+
+Build the queue for tests
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Public |
+| Stability | Evolving |
+| Replaceable | No |
+
+## Private/Stable/Replaceable
+### `finish_docker_stats`
+
+* Synopsis
+
+```
+finish_docker_stats
+```
+
+* Description
+
+Put docker stats in various tables
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `prepopulate_footer`
+
+* Synopsis
+
+```
+prepopulate_footer
+```
+
+* Description
+
+Put the opening environment information at the bottom of the footer table
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Stable |
+| Replaceable | Yes |
+
+### `report_jvm_version`
+
+* Synopsis
+
+```
+report_jvm_version ## @params       directory
+```
+
+* Description
+
+Report the JVM version of the given directory
+
+* Returns
+
+## @returns      version
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Stable |
+| Replaceable | Yes |
+
+## Private/Evolving/Replaceable
+### `verify_patchdir_still_exists`
+
+* Synopsis
+
+```
+verify_patchdir_still_exists
+```
+
+* Description
+
+Verify that the patch directory is still in working order since bad actors on some systems wipe it out. If not, recreate it and then exit
+
+* Returns
+
+## @returns     may exit on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Evolving |
+| Replaceable | Yes |
+
+## Private/Evolving/Not Replaceable
+### `import_core`
+
+* Synopsis
+
+```
+import_core
+```
+
+* Description
+
+import core library routines
+
+* Returns
+
+Nothing
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Evolving |
+| Replaceable | None |
+
+### `prechecks`
+
+* Synopsis
+
+```
+prechecks
+```
+
+* Description
+
+perform prechecks
+
+* Returns
+
+exits on failure
+
+| Classification | Level |
+| :--- | :--- |
+| Audience | Private |
+| Stability | Evolving |
+| Replaceable | None |


Mime
View raw message