YETUS-836. add a version field
Signed-off-by: Allen Wittenauer <aw@apache.org>
diff --git a/precommit/src/main/shell/core.d/01-common.sh b/precommit/src/main/shell/core.d/01-common.sh
index ffd1e67..a175deb 100755
--- a/precommit/src/main/shell/core.d/01-common.sh
+++ b/precommit/src/main/shell/core.d/01-common.sh
@@ -64,6 +64,8 @@
TESTTYPES=()
TESTFORMATS=()
USER_PLUGIN_DIR=""
+ #shellcheck disable=SC2034
+ VERSION_DATA=()
#shellcheck disable=SC2034
YETUS_SHELL_SCRIPT_DEBUG=false
@@ -224,15 +226,16 @@
# versions lower than this either have bugs with
# git apply or don't support all the
# expected options
- version=$(${GIT} --version)
+ version=$("${GIT}" --version)
# shellcheck disable=SC2181
if [[ $? != 0 ]]; then
yetus_error "ERROR: ${GIT} failed during version detection."
exit 1
fi
- # shellcheck disable=SC2016
- version=$(echo "${version}" | "${AWK}" '{print $NF}')
+ version=${version##* }
+ add_version_data git "${version}"
+
if [[ ${version} =~ ^0
|| ${version} =~ ^1.[0-6]
|| ${version} =~ ^1.7.[0-2]$
@@ -757,4 +760,20 @@
#shellcheck disable=SC1003
echo "$1" | tr '/' '_' | tr '\\' '_'
fi
+}
+
+## @description Report on executable versions
+## @audience public
+## @stability stable
+## @replaceable no
+## @param executable name
+## @param version
+function add_version_data
+{
+ declare name=$1
+ declare version=$2
+
+ if [[ -n "${name}" ]] && [[ -n "${version}" ]]; then
+ VERSION_DATA+=("$1=$2")
+ fi
}
\ No newline at end of file
diff --git a/precommit/src/main/shell/test-patch.d/ant.sh b/precommit/src/main/shell/test-patch.d/ant.sh
index 7171d26..d7ab534 100755
--- a/precommit/src/main/shell/test-patch.d/ant.sh
+++ b/precommit/src/main/shell/test-patch.d/ant.sh
@@ -73,7 +73,9 @@
fi
# finally let folks know what version they'll be dealing with.
ant_version=$(${ANT} -version 2>/dev/null)
- add_footer_table ant "version: ${ant_version}"
+ ant_version=${ant_version#* version }
+ ant_version=${ant_version% compiled *}
+ add_footer_table ant "${ant_version}"
return 0
}
diff --git a/precommit/src/main/shell/test-patch.d/cmake.sh b/precommit/src/main/shell/test-patch.d/cmake.sh
index c3c72ab..a77da38 100755
--- a/precommit/src/main/shell/test-patch.d/cmake.sh
+++ b/precommit/src/main/shell/test-patch.d/cmake.sh
@@ -79,7 +79,7 @@
fi
# finally let folks know what version they'll be dealing with.
cmake_version=$("${CMAKE}" --version 2>/dev/null | head -n 1 2>/dev/null)
- add_footer_table cmake "version: ${cmake_version}"
+ add_version_data cmake "${cmake_version}"
make_precheck
}
diff --git a/precommit/src/main/shell/test-patch.d/gradle.sh b/precommit/src/main/shell/test-patch.d/gradle.sh
index 6e2382c..45142e9 100755
--- a/precommit/src/main/shell/test-patch.d/gradle.sh
+++ b/precommit/src/main/shell/test-patch.d/gradle.sh
@@ -60,7 +60,7 @@
fi
# finally let folks know what version they'll be dealing with.
gradle_version=$("${GRADLE}" --version 2>/dev/null | grep Gradle 2>/dev/null)
- add_footer_table gradle "version: ${gradle_version}"
+ add_version_data gradle "${gradle_version##* }"
return 0
}
diff --git a/precommit/src/main/shell/test-patch.d/hadolint.sh b/precommit/src/main/shell/test-patch.d/hadolint.sh
index 9e1ce93..89e53d7 100755
--- a/precommit/src/main/shell/test-patch.d/hadolint.sh
+++ b/precommit/src/main/shell/test-patch.d/hadolint.sh
@@ -141,6 +141,7 @@
declare diffPostpatch
declare fixedpatch
declare statstring
+ declare version
if ! verify_needed_test hadolint; then
return 0
@@ -162,6 +163,9 @@
hadolint \
> "${PATCH_DIR}/diff-patch-hadolint.txt"
+ version=$("${HADOLINT}" --version)
+ add_version_data hadolint "${version##* v}"
+
# shellcheck disable=SC2016
numPrepatch=$(wc -l "${PATCH_DIR}/branch-hadolint-result.txt" | "${AWK}" '{print $1}')
diff --git a/precommit/src/main/shell/test-patch.d/jshint.sh b/precommit/src/main/shell/test-patch.d/jshint.sh
index 0646a30..cc4efc5 100755
--- a/precommit/src/main/shell/test-patch.d/jshint.sh
+++ b/precommit/src/main/shell/test-patch.d/jshint.sh
@@ -146,6 +146,7 @@
declare diffPostpatch
declare fixedpatch
declare statstring
+ declare version
if ! verify_needed_test jshint; then
return 0
@@ -161,6 +162,9 @@
jshint_logic patch
+ version=$("${JSHINT}" --version 2>&1)
+ add_version_data jshint "${version#*v}"
+
calcdiffs \
"${PATCH_DIR}/branch-jshint-result.txt" \
"${PATCH_DIR}/patch-jshint-result.txt" \
diff --git a/precommit/src/main/shell/test-patch.d/make.sh b/precommit/src/main/shell/test-patch.d/make.sh
index 76ab6af..7093029 100755
--- a/precommit/src/main/shell/test-patch.d/make.sh
+++ b/precommit/src/main/shell/test-patch.d/make.sh
@@ -42,7 +42,7 @@
fi
# finally let folks know what version they'll be dealing with.
if make_version=$(set -o pipefail; ${MAKE} --version 2>/dev/null | head -n 1 2>/dev/null) && [ -n "${make_version}" ]; then
- add_footer_table make "version: ${make_version}"
+ add_version_data make "${make_version}"
fi
return 0
}
diff --git a/precommit/src/main/shell/test-patch.d/maven.sh b/precommit/src/main/shell/test-patch.d/maven.sh
index 5b2d9ab..53d3417 100755
--- a/precommit/src/main/shell/test-patch.d/maven.sh
+++ b/precommit/src/main/shell/test-patch.d/maven.sh
@@ -250,7 +250,8 @@
# finally let folks know what version they'll be dealing with.
maven_version=$(${MAVEN} --offline --version 2>/dev/null | head -n 1 2>/dev/null)
- add_footer_table maven "version: ${maven_version}"
+ maven_version=${maven_version##* }
+ add_version_data maven "${maven_version}"
}
## @description maven trigger
diff --git a/precommit/src/main/shell/test-patch.d/perlcritic.sh b/precommit/src/main/shell/test-patch.d/perlcritic.sh
index f2ee183..5c09a05 100755
--- a/precommit/src/main/shell/test-patch.d/perlcritic.sh
+++ b/precommit/src/main/shell/test-patch.d/perlcritic.sh
@@ -127,7 +127,7 @@
popd >/dev/null || return 1
PERLCRITIC_VERSION=$(${PERLCRITIC} --version 2>/dev/null)
- add_footer_table perlcritic "v${PERLCRITIC_VERSION}"
+ add_version_data perlcritic "${PERLCRITIC_VERSION}"
calcdiffs \
"${PATCH_DIR}/branch-perlcritic-result.txt" \
diff --git a/precommit/src/main/shell/test-patch.d/pylint.sh b/precommit/src/main/shell/test-patch.d/pylint.sh
index ed549d4..d32dd7d 100755
--- a/precommit/src/main/shell/test-patch.d/pylint.sh
+++ b/precommit/src/main/shell/test-patch.d/pylint.sh
@@ -204,7 +204,7 @@
# shellcheck disable=SC2016
PYLINT_VERSION=$("${PYLINT}" --version 2>/dev/null | "${GREP}" pylint | "${AWK}" '{print $NF}')
- add_footer_table pylint "v${PYLINT_VERSION%,}"
+ add_version_data pylint "${PYLINT_VERSION%,}"
calcdiffs "${PATCH_DIR}/branch-pylint-result.txt" \
"${PATCH_DIR}/patch-pylint-result.txt" \
diff --git a/precommit/src/main/shell/test-patch.d/rubocop.sh b/precommit/src/main/shell/test-patch.d/rubocop.sh
index dd1a322..84a9fe0 100755
--- a/precommit/src/main/shell/test-patch.d/rubocop.sh
+++ b/precommit/src/main/shell/test-patch.d/rubocop.sh
@@ -142,7 +142,7 @@
# shellcheck disable=SC2016
RUBOCOP_VERSION=$("${RUBOCOP}" -v | "${AWK}" '{print $NF}')
- add_footer_table rubocop "v${RUBOCOP_VERSION}"
+ add_version_data rubocop "${RUBOCOP_VERSION}"
calcdiffs \
"${PATCH_DIR}/branch-rubocop-result.txt" \
diff --git a/precommit/src/main/shell/test-patch.d/shellcheck.sh b/precommit/src/main/shell/test-patch.d/shellcheck.sh
index 795466a..b5d7855 100755
--- a/precommit/src/main/shell/test-patch.d/shellcheck.sh
+++ b/precommit/src/main/shell/test-patch.d/shellcheck.sh
@@ -171,11 +171,11 @@
shellcheck_logic branch
- msg="v${SHELLCHECK_VERSION}"
if [[ ${SHELLCHECK_VERSION} =~ 0.[0-3].[0-5] ]]; then
- msg="${msg} (This is an old version that has serious bugs. Consider upgrading.)"
+ msg="v${SHELLCHECK_VERSION} is an old version that has serious bugs. Consider upgrading."
+ add_footer_table shellcheck "${msg}"
fi
- add_footer_table shellcheck "${msg}"
+ add_version_data shellcheck "${SHELLCHECK_VERSION}"
# keep track of how much as elapsed for us already
SHELLCHECK_TIMER=$(stop_clock)
diff --git a/precommit/src/main/shell/test-patch.d/spotbugs.sh b/precommit/src/main/shell/test-patch.d/spotbugs.sh
index 57c5815..e43bab4 100755
--- a/precommit/src/main/shell/test-patch.d/spotbugs.sh
+++ b/precommit/src/main/shell/test-patch.d/spotbugs.sh
@@ -241,7 +241,7 @@
| cut -f2 -d\" \
| cut -f1 -d\" )
if [[ -n ${SPOTBUGS_VERSION} ]]; then
- add_footer_table "${SPOTBUGS_MODE}" "v${SPOTBUGS_VERSION}"
+ add_version_data "${SPOTBUGS_MODE}" "${SPOTBUGS_VERSION}"
fi
fi
diff --git a/precommit/src/main/shell/test-patch.d/yamllint.sh b/precommit/src/main/shell/test-patch.d/yamllint.sh
index 3d852d8..06d6a10 100755
--- a/precommit/src/main/shell/test-patch.d/yamllint.sh
+++ b/precommit/src/main/shell/test-patch.d/yamllint.sh
@@ -103,6 +103,7 @@
declare diffPostpatch
declare fixedpatch
declare statstring
+ declare version
if ! verify_needed_test yamllint; then
return 0
@@ -118,6 +119,10 @@
yamllint_logic patch
+ # shellcheck disable=SC2016
+ version=$("${YAMLLINT}" --version 2>&1)
+ add_version_data yamllint "${version#* }"
+
calcdiffs \
"${PATCH_DIR}/branch-yamllint-result.txt" \
"${PATCH_DIR}/patch-yamllint-result.txt" \
diff --git a/precommit/src/main/shell/test-patch.sh b/precommit/src/main/shell/test-patch.sh
index 2d2d532..124dde1 100755
--- a/precommit/src/main/shell/test-patch.sh
+++ b/precommit/src/main/shell/test-patch.sh
@@ -2236,6 +2236,11 @@
"${ROBOTTYPE}"_finalreport
fi
fi
+
+ if [[ "${#VERSION_DATA[@]}" -gt 0 ]]; then
+ add_footer_table "versions" "${VERSION_DATA[@]}"
+ fi
+
add_footer_table "Powered by" "Apache Yetus ${VERSION} http://yetus.apache.org"
bugsystem_linecomments_trigger