mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-25 15:41:02 -05:00
Merge pull request #927 from github/fix-secondary-rules-file
Don't override the secondary rules file path if available, don't reuse dirty values from previous iterations when loading rules files
This commit is contained in:
commit
5a04bd9875
3 changed files with 27 additions and 23 deletions
|
@ -311,9 +311,9 @@ analyzer:
|
|||
|
||||
### Hadolint standard Config file
|
||||
|
||||
- `.github/linters/.hadolint.yml`
|
||||
- `.github/linters/.hadolint.yaml`
|
||||
- You can pass multiple rules and overwrite default rules
|
||||
- File should be located at: `.github/linters/.hadolint.yml`
|
||||
- File should be located at: `.github/linters/.hadolint.yaml`
|
||||
|
||||
### Hadolint disable single line
|
||||
|
||||
|
@ -1009,7 +1009,7 @@ var = "terrible code down here..."
|
|||
- `.github/linters/.lintr`
|
||||
- You can pass multiple rules and overwrite default rules
|
||||
- You can use either one `.lintr` file in the root of your repository and/or additonal `.lintr` files in subdirectories. When linting a file lintr will look for config files from the file location upwards and will use the closest one.
|
||||
- Absolute paths for exclusions will not work due to the code being linted within the docker environment. Use paths relative to the `.lintr` file in which youare adding them.
|
||||
- Absolute paths for exclusions will not work due to the code being linted within the docker environment. Use paths relative to the `.lintr` file in which youare adding them.
|
||||
- **Note:** The defaults adhere to the [tidyverse styleguide](https://style.tidyverse.org/)
|
||||
|
||||
### lintr disable single line
|
||||
|
|
|
@ -79,7 +79,7 @@ CSS_FILE_NAME="${CSS_FILE_NAME:-.stylelintrc.json}"
|
|||
DART_FILE_NAME="analysis_options.yml"
|
||||
# shellcheck disable=SC2034 # Variable is referenced indirectly
|
||||
DOCKERFILE_FILE_NAME=".dockerfilelintrc"
|
||||
DOCKERFILE_HADOLINT_FILE_NAME="${DOCKERFILE_HADOLINT_FILE_NAME:-.hadolint.yml}"
|
||||
DOCKERFILE_HADOLINT_FILE_NAME="${DOCKERFILE_HADOLINT_FILE_NAME:-.hadolint.yaml}"
|
||||
EDITORCONFIG_FILE_NAME="${EDITORCONFIG_FILE_NAME:-.ecrc}"
|
||||
# shellcheck disable=SC2034 # Variable is referenced indirectly
|
||||
GO_FILE_NAME=".golangci.yml"
|
||||
|
@ -380,6 +380,9 @@ GetLinterRules() {
|
|||
return
|
||||
fi
|
||||
|
||||
debug "Initializing LANGUAGE_LINTER_RULES value to an empty string..."
|
||||
eval "${LANGUAGE_LINTER_RULES}="
|
||||
|
||||
##########################
|
||||
# Get the file extension #
|
||||
##########################
|
||||
|
@ -387,10 +390,12 @@ GetLinterRules() {
|
|||
FILE_NAME=$(basename "${!LANGUAGE_FILE_NAME}" ".${FILE_EXTENSION}")
|
||||
debug "${LANGUAGE_NAME} language rule file (${!LANGUAGE_FILE_NAME}) has ${FILE_NAME} name and ${FILE_EXTENSION} extension"
|
||||
|
||||
###############################
|
||||
# Set the secondary file name #
|
||||
###############################
|
||||
########################################
|
||||
# Set the secondary file name and path #
|
||||
########################################
|
||||
debug "Initializing SECONDARY_FILE_NAME and SECONDARY_LANGUAGE_FILE_PATH..."
|
||||
SECONDARY_FILE_NAME=''
|
||||
SECONDARY_LANGUAGE_FILE_PATH=
|
||||
|
||||
#################################
|
||||
# Check for secondary file name #
|
||||
|
@ -416,29 +421,28 @@ GetLinterRules() {
|
|||
# Update the path to the file location #
|
||||
########################################
|
||||
eval "${LANGUAGE_LINTER_RULES}=${LANGUAGE_FILE_PATH}"
|
||||
else
|
||||
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}]"
|
||||
# Check if we have secondary name to check
|
||||
if [ -n "$SECONDARY_FILE_NAME" ]; then
|
||||
SECONDARY_LANGUAGE_FILE_PATH="${GITHUB_WORKSPACE}/${LINTER_RULES_PATH}/${SECONDARY_FILE_NAME}"
|
||||
debug "${LANGUAGE_NAME} language rule file has a secondary rules file name to check (${SECONDARY_FILE_NAME}). Path: ${SECONDARY_LANGUAGE_FILE_PATH}"
|
||||
|
||||
if [ -f "${SECONDARY_LANGUAGE_FILE_PATH}" ]; then
|
||||
info "----------------------------------------------"
|
||||
info "User provided file:[${SECONDARY_LANGUAGE_FILE_PATH}] exists, setting rules file..."
|
||||
# Check if we have secondary file name to look for
|
||||
elif [ -n "$SECONDARY_FILE_NAME" ]; then
|
||||
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}]."
|
||||
SECONDARY_LANGUAGE_FILE_PATH="${GITHUB_WORKSPACE}/${LINTER_RULES_PATH}/${SECONDARY_FILE_NAME}"
|
||||
debug "${LANGUAGE_NAME} language rule file has a secondary rules file name to check (${SECONDARY_FILE_NAME}). Path: ${SECONDARY_LANGUAGE_FILE_PATH}"
|
||||
|
||||
########################################
|
||||
# Update the path to the file location #
|
||||
########################################
|
||||
eval "${LANGUAGE_LINTER_RULES}=${SECONDARY_LANGUAGE_FILE_PATH}"
|
||||
fi
|
||||
if [ -f "${SECONDARY_LANGUAGE_FILE_PATH}" ]; then
|
||||
info "----------------------------------------------"
|
||||
info "User provided file:[${SECONDARY_LANGUAGE_FILE_PATH}] exists, setting rules file..."
|
||||
|
||||
########################################
|
||||
# Update the path to the file location #
|
||||
########################################
|
||||
eval "${LANGUAGE_LINTER_RULES}=${SECONDARY_LANGUAGE_FILE_PATH}"
|
||||
fi
|
||||
|
||||
else
|
||||
########################################################
|
||||
# No user default provided, using the template default #
|
||||
########################################################
|
||||
eval "${LANGUAGE_LINTER_RULES}=${DEFAULT_RULES_LOCATION}/${!LANGUAGE_FILE_NAME}"
|
||||
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}], nor file:[${SECONDARY_LANGUAGE_FILE_PATH}], using Default rules at:[${!LANGUAGE_LINTER_RULES}]"
|
||||
debug " -> Codebase does NOT have file:[${LANGUAGE_FILE_PATH}], nor the file:[${SECONDARY_LANGUAGE_FILE_PATH}], using Default rules at:[${!LANGUAGE_LINTER_RULES}]"
|
||||
fi
|
||||
|
||||
debug " -> Language rules file variable (${LANGUAGE_LINTER_RULES}) value is: ${!LANGUAGE_LINTER_RULES}"
|
||||
|
|
Loading…
Reference in a new issue