diff --git a/Jenkinsfile b/Jenkinsfile index 81560fb..08617f4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,26 +7,24 @@ pipeline { script { // Check for spaces or mixed indentation sh ''' - FILETYPES="css|json|js|java|py|ps1|cs|cmd|bat|htm|html|cpp|c|h|hpp" - - # Convert FILE_EXTENSIONS to --include pattern - - FILES=$(find . -regextype awk -regex '.*($FILETYPES)' -type f) - + # Save the results of the find command into a variable + FILETYPES="css|json|js|java|py|ps1|cs|cmd|bat|htm|html|cpp|c|h|hpp" + FILES=$(find . -regextype awk -regex ".*\.($FILETYPES)" -type f) # Initialize the PROBLEMS variable PROBLEMS="" - echo "$FILES" | while IFS= read -r file; do + # Pass the files to grep and sed + for file in $FILES; do # Check for lines with spaces - GREP_RESULT=$(grep -nrP '^[ ]+' "$file" | sed 's/\\([^:]*\\):\\([^:]*\\):\\([ ]*\\).*/File: \\1, Line: \\2, Found: \\3/') + GREP_RESULT=$(grep -nrP '^[ ]+' "$file") if [ -n "$GREP_RESULT" ]; then - PROBLEMS="$PROBLEMS$GREP_RESULT"$'\n' # Append the result to PROBLEMS + PROBLEMS="${PROBLEMS}File $file:$GREP_RESULT"$'\n' # Append the result to PROBLEMS fi # Check for lines with mixed tabs and spaces - GREP_RESULT=$(grep -nrP '^\\t+ +' "$file" | sed 's/\\([^:]*\\):\\([^:]*\\):\\([ ]*\\).*/File: \\1, Line: \\2, Found: \\3/') + GREP_RESULT=$(grep -nrP '^\t+ +' "$file") if [ -n "$GREP_RESULT" ]; then - PROBLEMS="$PROBLEMS$GREP_RESULT"$'\\n' # Append the result to PROBLEMS + PROBLEMS="${PROBLEMS}File $file:$GREP_RESULT"$'\n' # Append the result to PROBLEMS fi done @@ -38,7 +36,7 @@ pipeline { else echo "No indentation issues detected." exit 0 - fi + fi ''' } }