5aa235066c
When discussing with the infra guys they have mentioned it would be easier to call our linting job pep8, it's indeed badly named but that target has been used all over openstack for linting projects. As a bonus point it would make things easier to add the job to the gate. To make that patch much more interesting than a three characters change I have improved the validate-samples script to detect if jsonlint was present and if not fallback to the standard python -mjson.tool which give you less details but nonetheless works if jsonlint is present. Change-Id: I8d71a229917004dfd7223a16e4f270101cf2f0a8
35 lines
817 B
Bash
Executable File
35 lines
817 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
ret=0
|
|
|
|
# For MacOSX users the freebsd's mktemp by default behave diferently,
|
|
# installing the coreutils from brew would give you this but that would be
|
|
# renamed to gmktemp to don't conflict with the stand mktemp, so let just use
|
|
# that if available.
|
|
if type -p gmktemp &>/dev/null; then
|
|
TMPFILE=$(gmktemp)
|
|
else
|
|
TMPFILE=$(mktemp)
|
|
fi
|
|
|
|
function clean {
|
|
rm -f ${TMPFILE}
|
|
}
|
|
trap clean EXIT
|
|
|
|
linter=jsonlint
|
|
type -p jsonlint &>/dev/null || linter=python
|
|
|
|
for f in $(find docker -type f -name '*.json');do
|
|
if [[ ${linter} == jsonlint ]];then
|
|
jsonlint -s ${f} >${TMPFILE}
|
|
egrep -q 'has errors$' ${TMPFILE} && { cat ${TMPFILE}; ret=1 ;}
|
|
else
|
|
python -m json.tool ${f} &>/dev/null || { echo "$f: has json errors"; ret=1; }
|
|
fi
|
|
done
|
|
|
|
cat ${TMPFILE}
|
|
|
|
exit ${ret}
|