blob: 48ea0fcb2b1d49bb7c2a2b84579b45e32315fa35 [file] [log] [blame]
Fatih Degirmenci0efc1c92019-12-03 18:18:09 +01001#!/bin/bash
2
3# ============LICENSE_START=======================================================
4# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
5# ================================================================================
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#
18# SPDX-License-Identifier: Apache-2.0
19# ============LICENSE_END=========================================================
20
Fatih Degirmenci92187c92019-12-04 10:59:44 +010021# install dependencies
22sudo apt update > /dev/null 2>&1
Fatih Degirmencibb108fa2019-12-16 11:26:46 +010023sudo apt remove -y -q=3 shellcheck > /dev/null 2>&1
24
25# apt doesn't have the shellcheck version v0.7.0 so we install
26# it from snap
27sudo snap install shellcheck
28SHELLCHECK_EXECUTABLE=/snap/bin/shellcheck
29echo "Info: Using shellcheck version $(${SHELLCHECK_EXECUTABLE} --version)"
Fatih Degirmenci0efc1c92019-12-03 18:18:09 +010030
31cd $WORKSPACE
Fatih Degirmenci92187c92019-12-04 10:59:44 +010032echo "Info: Run shellcheck on bash scripts"
33echo "----------------------------------------------------"
34
35# set exit_code so we exit ourselves rather than shellcheck bailing out without
36# verifying all the bash scripts
37declare -i exit_code=0
38
39# lint the bash scripts
40for shell_script in $(find ${WORKSPACE}/ -type f -name *.sh); do
41 echo "--> Checking '${shell_script}' shell script..."
Fatih Degirmencibb108fa2019-12-16 11:26:46 +010042 "${SHELLCHECK_EXECUTABLE}" --color=never --source-path="${WORKSPACE}" --external-sources \
Fatih Degirmenci718e23d2019-12-16 10:55:24 +010043 --format=tty ${shell_script}
Fatih Degirmenci92187c92019-12-04 10:59:44 +010044 lint_exit_code=$?
45 if [[ $lint_exit_code != 0 ]]; then
46 exit_code=$lint_exit_code
47 else
48 echo [OK]
49 fi
50 echo
51done
52echo "----------------------------------------------------"
53echo "Info: Done"
54exit $exit_code
Fatih Degirmenci0efc1c92019-12-03 18:18:09 +010055
56# vim: set ts=2 sw=2 expandtab: