#!/bin/bash set -e exists() { if command -v "$1" >/dev/null 2>&1 then return 0 else return 1 fi } usage() { echo " usage: bash tools/travis/run-luacheck.sh [-s] Avarible options are: -s: Standalone mode: Lua, LuaRocks and luacheck will be installed in nodemcu-firmare/cache folder. By default script will use luarocks installed in host system. " } install_tools() { if ! exists luarocks; then echo "LuaRocks not found!" exit 1 fi eval "`luarocks path --bin`" #Set PATH for luacheck #In Travis Path it's not changed by LuaRocks for some unknown reason if [ "${TRAVIS}" = "true" ]; then export PATH=$PATH:/home/travis/.luarocks/bin fi if ! exists luacheck; then echo "Installing luacheck" luarocks install --local luacheck || exit fi } install_tools_standalone() { if ! [ -x cache/localua/bin/luarocks ]; then echo "Installing Lua 5.3 and LuaRocks" bash tools/travis/localua.sh cache/localua || exit fi if ! [ -x cache/localua/bin/luacheck ]; then echo "Installing luacheck" cache/localua/bin/luarocks install luacheck || exit fi } if [[ $1 == "" ]]; then install_tools else while getopts "s" opt do case $opt in (s) install_tools_standalone ;; (*) usage; exit 1 ;; esac done fi echo "Static analysys of" find lua_modules lua_examples -iname "*.lua" -print0 | xargs -0 echo (find lua_modules lua_examples -iname "*.lua" -print0 | xargs -0 luacheck --config tools/luacheck_config.lua) || exit echo "Static analysys of" find tests -iname "*.lua" -print0 | xargs -0 echo (find tests -iname "*.lua" -print0 | xargs -0 luacheck --config tools/luacheck_NTest_config.lua) || exit