mirror of
https://github.com/super-linter/super-linter.git
synced 2024-12-24 08:12:13 -05:00
124 lines
4.6 KiB
Bash
124 lines
4.6 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
################################################################################
|
||
|
################################################################################
|
||
|
########### Super-Linter linting Functions @admiralawkbar ######################
|
||
|
################################################################################
|
||
|
################################################################################
|
||
|
########################## FUNCTION CALLS BELOW ################################
|
||
|
################################################################################
|
||
|
################################################################################
|
||
|
#### Function IsTap ############################################################
|
||
|
function IsTAP() {
|
||
|
if [ "${OUTPUT_FORMAT}" == "tap" ]; then
|
||
|
return 0
|
||
|
else
|
||
|
return 1
|
||
|
fi
|
||
|
}
|
||
|
################################################################################
|
||
|
#### Function TransformTAPDetails ##############################################
|
||
|
function TransformTAPDetails() {
|
||
|
DATA=${1}
|
||
|
if [ -n "${DATA}" ] && [ "${OUTPUT_DETAILS}" == "detailed" ]; then
|
||
|
#########################################################
|
||
|
# Transform new lines to \\n, remove colours and colons #
|
||
|
#########################################################
|
||
|
echo "${DATA}" | awk 'BEGIN{RS="\n";ORS="\\n"}1' | sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g" | tr ':' ' '
|
||
|
fi
|
||
|
}
|
||
|
################################################################################
|
||
|
#### Function HeaderTap ########################################################
|
||
|
function HeaderTap() {
|
||
|
################
|
||
|
# Pull in Vars #
|
||
|
################
|
||
|
INDEX="${1}" # File being validated
|
||
|
OUTPUT_FILE="${2}" # Output location
|
||
|
|
||
|
###################
|
||
|
# Print the goods #
|
||
|
###################
|
||
|
printf "TAP version 13\n1..%s\n" "${INDEX}" >"${OUTPUT_FILE}"
|
||
|
}
|
||
|
################################################################################
|
||
|
#### Function OkTap ############################################################
|
||
|
function OkTap() {
|
||
|
################
|
||
|
# Pull in Vars #
|
||
|
################
|
||
|
INDEX="${1}" # Location
|
||
|
FILE="${2}" # File being validated
|
||
|
TEMP_FILE="${3}" # Temp file location
|
||
|
|
||
|
###################
|
||
|
# Print the goods #
|
||
|
###################
|
||
|
echo "ok ${INDEX} - ${FILE}" >>"${TEMP_FILE}"
|
||
|
}
|
||
|
################################################################################
|
||
|
#### Function NotOkTap #########################################################
|
||
|
function NotOkTap() {
|
||
|
################
|
||
|
# Pull in Vars #
|
||
|
################
|
||
|
INDEX="${1}" # Location
|
||
|
FILE="${2}" # File being validated
|
||
|
TEMP_FILE="${3}" # Temp file location
|
||
|
|
||
|
###################
|
||
|
# Print the goods #
|
||
|
###################
|
||
|
echo "not ok ${INDEX} - ${FILE}" >>"${TEMP_FILE}"
|
||
|
}
|
||
|
################################################################################
|
||
|
#### Function AddDetailedMessageIfEnabled ######################################
|
||
|
function AddDetailedMessageIfEnabled() {
|
||
|
################
|
||
|
# Pull in Vars #
|
||
|
################
|
||
|
LINT_CMD="${1}" # Linter command
|
||
|
TEMP_FILE="${2}" # Temp file
|
||
|
|
||
|
####################
|
||
|
# Check the return #
|
||
|
####################
|
||
|
DETAILED_MSG=$(TransformTAPDetails "${LINT_CMD}")
|
||
|
if [ -n "${DETAILED_MSG}" ]; then
|
||
|
printf " ---\n message: %s\n ...\n" "${DETAILED_MSG}" >>"${TEMP_FILE}"
|
||
|
fi
|
||
|
}
|
||
|
################################################################################
|
||
|
#### Function Reports ##########################################################
|
||
|
Reports() {
|
||
|
info "----------------------------------------------"
|
||
|
info "----------------------------------------------"
|
||
|
info "Generated reports:"
|
||
|
info "----------------------------------------------"
|
||
|
info "----------------------------------------------"
|
||
|
|
||
|
###################################
|
||
|
# Prints output report if enabled #
|
||
|
###################################
|
||
|
if [ -z "${FORMAT_REPORT}" ]; then
|
||
|
info "Reports generated in folder ${REPORT_OUTPUT_FOLDER}"
|
||
|
#############################################
|
||
|
# Print info on reports that were generated #
|
||
|
#############################################
|
||
|
if [ -d "${REPORT_OUTPUT_FOLDER}" ]; then
|
||
|
info "Contents of report folder:"
|
||
|
OUTPUT_CONTENTS_CMD=$(ls "${REPORT_OUTPUT_FOLDER}")
|
||
|
info "$OUTPUT_CONTENTS_CMD"
|
||
|
else
|
||
|
warn "Report output folder (${REPORT_OUTPUT_FOLDER}) does NOT exist."
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
################################
|
||
|
# Prints for warnings if found #
|
||
|
################################
|
||
|
for TEST in "${WARNING_ARRAY_TEST[@]}"; do
|
||
|
warn "Expected file to compare with was not found for ${TEST}"
|
||
|
done
|
||
|
}
|