check_qml_syntax 929 Bytes
Newer Older
1 2 3
#!/usr/bin/sh

# ====================================================================
4
# Tool to check the syntax of `.qml`/`.js` files.
5 6
# ====================================================================

7
RESOURCES_FILE='resources.qrc'
8 9 10 11 12 13 14
LINTER=qmllint-qt5

RED='\e[1;31m'
GREEN='\e[1;32m'
BLUE='\e[1;34m'
NC='\e[0m'

15 16
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $SCRIPT_DIR/..
17

18 19 20 21 22 23 24
printf "${BLUE}Checking qml files...${NC}\n"

so_far_so_good=0
while read line
do
    result=$(
        printf "$line" |
25
        sed -n 's/^\s*<\s*file\s*>\s*\(.*\.\(qml\|js\)\)\s*<\s*\/\s*file\s*>\s*$/\1/p'
26 27 28 29 30 31 32 33 34
    )
    if [[ ! -z  $result ]] && ! $LINTER "$result"; then
        so_far_so_good=1
    fi
done < $RESOURCES_FILE

if [[ $so_far_so_good == 0 ]]; then
    printf "${GREEN}Done. No qml error found.\n"
else
35
    printf "${RED}One or more errors were found. Please to fix them.\n"
36 37 38 39
fi
printf "${NC}"

exit $so_far_so_good