diff --git a/.cirrus.yml b/.cirrus.yml
index 192a0cc..93695f5 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -28,6 +28,7 @@
              --java-home=/usr/lib/jvm/java-11-openjdk-amd64
              --junit-report-xml=/tmp/yetus-out/junit.xml
              --plugins=all
+             --junit-report-xml=line
              --tests-filter=checkstyle,test4tests
   always:
     junit_artifacts:
diff --git a/.codespellignorewords b/.codespellignorewords
index 1b6ee2f..4f9d10e 100644
--- a/.codespellignorewords
+++ b/.codespellignorewords
@@ -1 +1,2 @@
 drob
+astroid
diff --git a/.shellcheckrc b/.shellcheckrc
new file mode 100644
index 0000000..5bf6308
--- /dev/null
+++ b/.shellcheckrc
@@ -0,0 +1,16 @@
+# 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.
+
+external-sources=true
diff --git a/asf-site-src/Gemfile.lock b/asf-site-src/Gemfile.lock
index b7c8dc6..25474ee 100644
--- a/asf-site-src/Gemfile.lock
+++ b/asf-site-src/Gemfile.lock
@@ -9,19 +9,19 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.4)
+    activesupport (7.0.4.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    addressable (2.8.1)
+    addressable (2.8.4)
       public_suffix (>= 2.0.2, < 6.0)
-    backports (3.23.0)
+    backports (3.24.1)
     coffee-script (2.4.1)
       coffee-script-source
       execjs
     coffee-script-source (1.12.2)
-    concurrent-ruby (1.1.10)
+    concurrent-ruby (1.2.2)
     contracts (0.17)
     dotenv (2.8.1)
     em-websocket (0.5.3)
@@ -49,19 +49,19 @@
     libv8-node (16.10.0.0)
     libv8-node (16.10.0.0-aarch64-linux)
     libv8-node (16.10.0.0-x86_64-linux)
-    listen (3.7.1)
+    listen (3.8.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     memoist (0.16.2)
-    middleman (4.4.3)
+    middleman (4.5.0)
       coffee-script (~> 2.2)
-      haml (>= 4.0.5, < 6.0)
+      haml (>= 4.0.5)
       kramdown (>= 2.3.0)
-      middleman-cli (= 4.4.3)
-      middleman-core (= 4.4.3)
-    middleman-cli (4.4.3)
+      middleman-cli (= 4.5.0)
+      middleman-core (= 4.5.0)
+    middleman-cli (4.5.0)
       thor (>= 0.17.0, < 2.0)
-    middleman-core (4.4.3)
+    middleman-core (4.5.0)
       activesupport (>= 6.1, < 7.1)
       addressable (~> 2.4)
       backports (~> 3.6)
@@ -92,16 +92,16 @@
       rack-livereload (~> 0.3.15)
     mini_racer (0.6.3)
       libv8-node (~> 16.10.0.0)
-    minitest (5.16.3)
-    padrino-helpers (0.15.1)
+    minitest (5.18.0)
+    padrino-helpers (0.15.3)
       i18n (>= 0.6.7, < 2)
-      padrino-support (= 0.15.1)
+      padrino-support (= 0.15.3)
       tilt (>= 1.4.1, < 3)
-    padrino-support (0.15.1)
-    parallel (1.22.1)
+    padrino-support (0.15.3)
+    parallel (1.23.0)
     parslet (2.0.0)
-    public_suffix (5.0.0)
-    rack (2.2.4)
+    public_suffix (5.0.1)
+    rack (2.2.7)
     rack-livereload (0.3.17)
       rack
     rb-fsevent (0.11.2)
@@ -112,16 +112,16 @@
     sassc (2.4.0)
       ffi (~> 1.9)
     servolux (0.13.0)
-    temple (0.9.1)
-    thor (1.2.1)
+    temple (0.10.1)
+    thor (1.2.2)
     tilt (2.0.11)
     toml (0.3.0)
       parslet (>= 1.8.0, < 3.0.0)
-    tzinfo (2.0.5)
+    tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
     uglifier (3.2.0)
       execjs (>= 0.3.0, < 3)
-    webrick (1.7.0)
+    webrick (1.8.1)
 
 PLATFORMS
   aarch64-linux
@@ -139,4 +139,4 @@
   wdm (~> 0.1.0)
 
 BUNDLED WITH
-   2.3.26
+   2.4.13
diff --git a/asf-site-src/source/documentation/in-progress/precommit/buildtools.html.md b/asf-site-src/source/documentation/in-progress/precommit/buildtools.html.md
index 1cb270f..514bc19 100644
--- a/asf-site-src/source/documentation/in-progress/precommit/buildtools.html.md
+++ b/asf-site-src/source/documentation/in-progress/precommit/buildtools.html.md
@@ -149,7 +149,7 @@
 
 # autoconf Specific
 
-autoconf requires make to be enabled.  autoreconf is always used to rebuild the configure scripte.
+autoconf requires make to be enabled.  autoreconf is always used to rebuild the configure script.
 
 ## autoconf Command Arguments
 
diff --git a/pom.xml b/pom.xml
index 0a39beb..4991ad2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,24 +57,25 @@
   </distributionManagement>
 
   <properties>
-    <maven.min.version>3.2.0</maven.min.version>
-    <maven.api.version>3.2</maven.api.version>
-    <maven.plugin.api.version>3.5.4</maven.plugin.api.version>
+    <maven.plugin.validation>VERBOSE</maven.plugin.validation>
+    <maven.min.version>3.8.1</maven.min.version>
+    <maven.api.version>3.8.2</maven.api.version>
+    <maven.plugin.api.version>3.8.2</maven.plugin.api.version>
     <java.min.version>11</java.min.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
 
-    <checkstyle.version>9.0</checkstyle.version>
-    <commons.io.version>2.11.0</commons.io.version>
-    <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
-    <flatten.version>1.2.7</flatten.version>
-    <junit.version>5.8.2</junit.version>
-    <maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
-    <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
+    <checkstyle.version>10.11.0</checkstyle.version>
+    <commons.io.version>2.12.0</commons.io.version>
+    <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
+    <flatten.version>1.5.0</flatten.version>
+    <junit.version>5.9.3</junit.version>
+    <maven-checkstyle-plugin.version>3.2.2</maven-checkstyle-plugin.version>
+    <maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
     <maven-project-info-reports-plugin.version>3.1.2</maven-project-info-reports-plugin.version>
-    <maven-rat-plugin.version>0.14</maven-rat-plugin.version>
-    <mockito.version>4.2.0</mockito.version>
-    <spotbugs-maven-plugin.version>4.4.1</spotbugs-maven-plugin.version>
+    <maven-rat-plugin.version>0.15</maven-rat-plugin.version>
+    <mockito.version>5.3.1</mockito.version>
+    <spotbugs-maven-plugin.version>4.7.3.4</spotbugs-maven-plugin.version>
 
     <sourceReleaseAssemblyDescriptor>source-release-tar</sourceReleaseAssemblyDescriptor>
     <project.build.outputTimestamp>n</project.build.outputTimestamp>
diff --git a/precommit/src/main/shell/docker-cleanup.sh b/precommit/src/main/shell/docker-cleanup.sh
index d8d407f..9ffb4c2 100755
--- a/precommit/src/main/shell/docker-cleanup.sh
+++ b/precommit/src/main/shell/docker-cleanup.sh
@@ -40,16 +40,19 @@
 # dummy functions
 function add_vote_table_v2
 {
+   # shellcheck disable=SC2317
   true
 }
 
 function add_footer_table
 {
+   # shellcheck disable=SC2317
   true
 }
 
 function bugsystem_finalreport
 {
+   # shellcheck disable=SC2317
   true
 }
 
@@ -171,6 +174,7 @@
   yetus_reset_usage
 }
 
+ # shellcheck disable=SC2317
 ## @description  Large display for the user console
 ## @audience     public
 ## @stability    stable
@@ -184,7 +188,7 @@
   printf '\n\n'
   echo "============================================================================"
   echo "============================================================================"
-  printf '%*s\n'  ${spacing} "${text}"
+  printf '%*s\n'  "${spacing}" "${text}"
   echo "============================================================================"
   echo "============================================================================"
   printf '\n\n'
diff --git a/precommit/src/main/shell/plugins.d/jira.sh b/precommit/src/main/shell/plugins.d/jira.sh
index a6b46e4..b49a0a4 100755
--- a/precommit/src/main/shell/plugins.d/jira.sh
+++ b/precommit/src/main/shell/plugins.d/jira.sh
@@ -443,7 +443,7 @@
     echo "| (x) *{color:red}-1 overall{color}* |" >> "${commentfile}"
   fi
 
-  echo "\\\\" >>  "${commentfile}"
+  printf '\\\\\n' >>  "${commentfile}"
 
   i=0
   until [[ $i -ge ${#TP_HEADER[@]} ]]; do
@@ -451,7 +451,7 @@
     ((i=i+1))
   done
 
-  echo "\\\\" >>  "${commentfile}"
+  printf '\\\\\n' >>  "${commentfile}"
 
   echo "|| Vote || Subsystem || Runtime ||  Logfile || Comment ||" >> "${commentfile}"
 
@@ -522,7 +522,7 @@
   done
 
   if [[ ${#TP_TEST_TABLE[@]} -gt 0 ]]; then
-    { echo "\\\\" ; echo "\\\\"; } >>  "${commentfile}"
+    { printf '\\\\\n' ; printf '\\\\\n'; } >>  "${commentfile}"
 
     echo "|| Reason || Tests ||" >>  "${commentfile}"
     i=0
@@ -532,7 +532,7 @@
     done
   fi
 
-  { echo "\\\\" ; echo "\\\\"; } >>  "${commentfile}"
+  { printf '\\\\\n' ; printf '\\\\\n' ; } >>  "${commentfile}"
 
 
   echo "|| Subsystem || Report/Notes ||" >> "${commentfile}"
diff --git a/precommit/src/main/shell/smart-apply-patch.sh b/precommit/src/main/shell/smart-apply-patch.sh
index bf8758d..021579e 100755
--- a/precommit/src/main/shell/smart-apply-patch.sh
+++ b/precommit/src/main/shell/smart-apply-patch.sh
@@ -107,6 +107,7 @@
   REPORTONLY=false
 }
 
+# shellcheck disable=SC2317
 ## @description  Print the usage information
 ## @audience     public
 ## @stability    stable
@@ -290,6 +291,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  git am dryrun
 ## @replaceable  no
 ## @audience     private
diff --git a/precommit/src/main/shell/test-patch-docker/Dockerfile b/precommit/src/main/shell/test-patch-docker/Dockerfile
index 8badecc..fe07bb1 100644
--- a/precommit/src/main/shell/test-patch-docker/Dockerfile
+++ b/precommit/src/main/shell/test-patch-docker/Dockerfile
@@ -117,7 +117,7 @@
 # Install SpotBugs
 #####
 FROM yetusbase AS yetusspotbugs
-ARG SPOTBUGS_VERSION=4.6.0
+ARG SPOTBUGS_VERSION=4.7.3
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN curl -sSL https://repo.maven.apache.org/maven2/com/github/spotbugs/spotbugs/$SPOTBUGS_VERSION/spotbugs-$SPOTBUGS_VERSION.tgz -o spotbugs.tgz \
     && curl -sSL https://repo.maven.apache.org/maven2/com/github/spotbugs/spotbugs/$SPOTBUGS_VERSION/spotbugs-$SPOTBUGS_VERSION.tgz.sha1 -o spotbugs.tgz.sha1 \
@@ -133,7 +133,7 @@
 # Install shellcheck (shell script lint)
 ####
 FROM yetusbase AS yetusshellcheck
-ARG SHELLCHECK_VERSION=0.8.0
+ARG SHELLCHECK_VERSION=0.9.0
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN curl -sSL \
     https://github.com/koalaman/shellcheck/releases/download/v$SHELLCHECK_VERSION/shellcheck-v$SHELLCHECK_VERSION.linux."$(uname -m)".tar.xz \
@@ -157,7 +157,7 @@
 # Install buf (protobuf lint)
 ####
 FROM yetusbase AS yetusbuf
-ARG BUF_VERSION=1.9.0
+ARG BUF_VERSION=1.19.0
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN curl -sSL \
       https://github.com/bufbuild/buf/releases/download/v$BUF_VERSION/buf-Linux-"$(uname -m)".tar.gz \
@@ -169,7 +169,7 @@
 # Install bats (TAP-capable unit testing for shell scripts)
 ####
 FROM yetusbase AS yetusbats
-ARG BATS_VERSION=1.8.2
+ARG BATS_VERSION=1.9.0
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN git clone --branch v$BATS_VERSION \
       https://github.com/bats-core/bats-core.git \
@@ -192,7 +192,7 @@
 #
 ####
 FROM yetusbase AS yetuscheckmake
-ARG CHECKMAKE_VERSION=0.2.1
+ARG CHECKMAKE_VERSION=0.2.2
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 ENV BUILDER_NAME='Apache Yetus'
 ENV BUILDER_EMAIL='dev@apache.yetus.org'
@@ -208,7 +208,7 @@
 # NOTE: go must be installed prior to executing this block!
 ####
 FROM yetusbase as yetusgolangci
-ARG GOLANGCILINT_VERSION=1.50.1
+ARG GOLANGCILINT_VERSION=1.52.2
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN curl -sSL \
       https://github.com/golangci/golangci-lint/releases/download/v$GOLANGCILINT_VERSION/golangci-lint-$GOLANGCILINT_VERSION-"$(go env GOOS)"-"$(go env GOARCH)".tar.gz \
@@ -286,7 +286,7 @@
 # Install maven
 ######
 # hadolint ignore=DL3008,DL3059
-ARG MVN_VERSION=3.8.6
+ARG MVN_VERSION=3.9.2
 ARG MVN_TGZ=apache-maven-$MVN_VERSION-bin.tar.gz
 RUN curl -sSL \
         -o $MVN_TGZ \
@@ -319,13 +319,13 @@
 # Install python3 and pylint3
 # astroid and pylint go hand-in-hand.  Upgrade both at the same time.
 ######
-ARG PY3_ANSIBLE_VERSION=6.6.0
-ARG PY3_ANSIBLELINT_VERSION=6.8.7
-ARG PY3_ASTROID_VERSION=2.12.13
-ARG PY3_CODESPELL_VERSION=2.2.2
+#ARG PY3_ANSIBLE_VERSION=7.5.0
+ARG PY3_ANSIBLELINT_VERSION=6.16.1
+ARG PY3_ASTROID_VERSION=2.15.5
+ARG PY3_CODESPELL_VERSION=2.2.4
 ARG PY3_DETECT_SECRETS=1.4.0
-ARG PY3_PYLINT_VERSION=2.15.6
-ARG PY3_YAMLLINT_VERSION=1.28.0
+ARG PY3_PYLINT_VERSION=2.17.4
+ARG PY3_YAMLLINT_VERSION=1.31.0
 # hadolint ignore=DL3008
 RUN apt-get -q update && apt-get -q install --no-install-recommends -y \
         python3 \
@@ -350,7 +350,6 @@
     && python3 /tmp/get-pip.py \
     && rm /usr/local/bin/pip /tmp/get-pip.py \
     && pip3 install --no-cache-dir -v \
-        ansible==$PY3_ANSIBLE_VERSION \
         ansible-lint==$PY3_ANSIBLELINT_VERSION \
         astroid==$PY3_ASTROID_VERSION \
         codespell==$PY3_CODESPELL_VERSION \
@@ -365,9 +364,9 @@
 ####
 # Install ruby and associated bits
 ###
-ARG RUBY_BUNDLER_VERSION=2.3.26
+ARG RUBY_BUNDLER_VERSION=2.4.13
 ARG RUBY_RAKE_VERSION=13.0.6
-ARG RUBY_RUBOCOP_VERSION=1.39
+ARG RUBY_RUBOCOP_VERSION=1.51
 # hadolint ignore=DL3008
 RUN echo 'gem: --no-rdoc --no-ri' >> /root/.gemrc \
     && apt-get -q update && apt-get -q install --no-install-recommends -y \
@@ -388,10 +387,10 @@
 # Install npm and JSHint
 ###
 ARG JSHINT_VERSION=2.13.6
-ARG MARKDOWNLINTCLI_VERSION=0.32.2
-ARG JSONLINT_VERSION=1.6.0
+ARG MARKDOWNLINTCLI_VERSION=0.34.0
+ARG JSONLINT_VERSION=1.6.3
 # hadolint ignore=DL3008
-RUN curl -sSL https://deb.nodesource.com/setup_14.x | bash - \
+RUN curl -sSL https://deb.nodesource.com/setup_lts.x | bash - \
     && apt-get -q install --no-install-recommends -y nodejs \
     && apt-get clean \
     && rm -rf /var/lib/apt/lists/* \
diff --git a/precommit/src/main/shell/test-patch.sh b/precommit/src/main/shell/test-patch.sh
index 726696f..518afd8 100755
--- a/precommit/src/main/shell/test-patch.sh
+++ b/precommit/src/main/shell/test-patch.sh
@@ -177,6 +177,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  Add to the header of the display
 ## @audience     public
 ## @stability    stable
@@ -193,7 +194,7 @@
 ## @description  that is the vote for that column and calculates the elapsed time
 ## @description  based upon the last start_clock().  The second parameter is the reporting
 ## @description  subsystem (or test) that is providing the vote.  The second parameter
-## @description  is always required.  The third parameter is any extra verbage that goes
+## @description  is always required.  The third parameter is any extra verbiage that goes
 ## @description  with that subsystem.
 ## @description  if the vote is H, then that designates that "subsystem" should be a
 ## @description  header in the vote table comment output. The other parameters are
@@ -244,6 +245,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  Deprecated. Use add_vote_table_v2 instead.
 ## @audience     public
 ## @stability    stable
@@ -376,6 +378,7 @@
   ((TP_FOOTER_COUNTER=TP_FOOTER_COUNTER+1 ))
 }
 
+# shellcheck disable=SC2317
 ## @description  Special table just for unit test failures
 ## @audience     public
 ## @stability    stable
@@ -421,6 +424,7 @@
   printf '\n\n'
 }
 
+# shellcheck disable=SC2317
 ## @description  Find the largest size of a column of an array
 ## @audience     private
 ## @stability    evolving
@@ -541,7 +545,7 @@
       # to do what was requested, head will exit, leaving tail with a broken pipe.
       # we're going to send stderr to /dev/null and ignore the error since head's
       # output is really what we're looking for
-      tail -n "+${startline}" "${file}" 2>/dev/null | head -n ${numlines} > "${outfile}"
+      tail -n "+${startline}" "${file}" 2>/dev/null | head -n "${numlines}" > "${outfile}"
       oldifs=${IFS}
       IFS=''
       while read -r content; do
@@ -566,9 +570,7 @@
   popd >/dev/null || return 1
 }
 
-
-
-
+# shellcheck disable=SC2317
 ## @description  Print the command to be executing to the screen. Then
 ## @description  run the command, sending stdout and stderr to the given filename
 ## @description  This will also ensure that any directories in ${BASEDIR} have
@@ -1136,6 +1138,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  Forcibly reset the tree back to it's original state
 ## @audience     public
 ## @stability    stable
@@ -1290,6 +1293,7 @@
   return 0
 }
 
+# shellcheck disable=SC2317
 ## @description  Confirm the given branch is a git reference
 ## @description  or a valid gitXYZ commit hash
 ## @audience     private
@@ -1883,6 +1887,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  run the tests for the queued modules
 ## @audience     public
 ## @stability    evolving
@@ -1994,6 +1999,7 @@
   return 0
 }
 
+# shellcheck disable=SC2317
 ## @description  Reset the queue for tests
 ## @audience     public
 ## @stability    evolving
@@ -2005,6 +2011,7 @@
   MODULE=()
 }
 
+# shellcheck disable=SC2317
 ## @description  Build the queue for tests
 ## @audience     public
 ## @stability    evolving
@@ -2022,6 +2029,7 @@
   ((MODCOUNT=MODCOUNT+1))
 }
 
+# shellcheck disable=SC2317
 ## @description  Remove a module
 ## @audience     public
 ## @stability    evolving
@@ -2048,6 +2056,7 @@
   done
 }
 
+# shellcheck disable=SC2317
 ## @description  Utility to push many tests into the failure list
 ## @audience     private
 ## @stability    evolving
@@ -2277,6 +2286,7 @@
   archive
 }
 
+# shellcheck disable=SC2317
 ## @description  Calculate the differences between the specified files
 ## @description  using just the column+ messages (third+ column in a
 ## @description  colon delimated file) and output it to stdout.
@@ -2322,6 +2332,7 @@
   rm "${tmp}.branch" "${tmp}.patch" "${tmp}.lined" 2>/dev/null
 }
 
+# shellcheck disable=SC2317
 ## @description  Calculate the differences between the specified files
 ## @description  using just the error messages (last column in a
 ## @description  colon delimated file) and output it to stdout.
@@ -2367,6 +2378,7 @@
   rm "${tmp}.branch" "${tmp}.patch" "${tmp}.lined" 2>/dev/null
 }
 
+# shellcheck disable=SC2317
 ## @description  Wrapper to call specific version of calcdiffs if available
 ## @description  otherwise calls error_calcdiffs
 ## @audience     public
@@ -2401,6 +2413,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description generate a standardized calcdiff status message
 ## @audience    public
 ## @stability   evolving
@@ -2432,6 +2445,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  Helper routine for plugins to ask projects, etc
 ## @description  to count problems in a log file
 ## @description  and output it to stdout.
@@ -2457,6 +2471,7 @@
   fi
 }
 
+# shellcheck disable=SC2317
 ## @description  Deprecated. Use module_pre_handler instead.
 ## @audience     public
 ## @stability    evolving
@@ -2470,6 +2485,7 @@
   module_pre_handler "$@"
 }
 
+# shellcheck disable=SC2317
 ## @description  Helper routine for plugins to do a pre-patch run
 ## @audience     public
 ## @stability    evolving
@@ -2522,6 +2538,7 @@
   return 0
 }
 
+# shellcheck disable=SC2317
 ## @description  Deprecated. Use module_postlog_compare instead.
 ## @audience     public
 ## @stability    evolving
@@ -2530,6 +2547,7 @@
   module_postlog_compare "$@"
 }
 
+# shellcheck disable=SC2317
 ## @description  Module post-patch log handler
 ## @audience     public
 ## @stability    evolving
@@ -2629,6 +2647,7 @@
   return 0
 }
 
+# shellcheck disable=SC2317
 ## @description  Root-level post-patch log handler. Files should be
 ## @description  linecomments compatible!
 ## @audience     public
@@ -2700,6 +2719,7 @@
   return 0
 }
 
+# shellcheck disable=SC2317
 ## @description  Deprecated. Use module_post_handler instead.
 ## @audience     public
 ## @stability    evolving
@@ -2708,6 +2728,7 @@
   module_post_handler "$@"
 }
 
+# shellcheck disable=SC2317
 ## @description  Generic post-patch handler
 ## @audience     public
 ## @stability    evolving
diff --git a/yetus-maven-plugin/pom.xml b/yetus-maven-plugin/pom.xml
index 39b8820..238aa4c 100644
--- a/yetus-maven-plugin/pom.xml
+++ b/yetus-maven-plugin/pom.xml
@@ -38,6 +38,7 @@
         <groupId>org.apache.maven</groupId>
         <artifactId>maven-plugin-api</artifactId>
         <version>${maven.plugin.api.version}</version>
+        <scope>provided</scope>
     </dependency>
     <dependency>
         <groupId>commons-io</groupId>
