ansible/test/sanity/code-smell/shebang.sh
Matt Clay 912d6ed8cc Clean up code-smell sanity scripts. (#18407)
- Replace find ';' with '+' for faster execution.
- Replace grep -R with -r to avoid recursive warnings.
- Exclude .git and .tox directories from recursive grep.
- Improve messaging on failed sanity checks.
- Add no-basestring check to Shippable.
2016-11-07 16:46:33 -08:00

21 lines
676 B
Bash
Executable file

#!/bin/sh
grep '^#!' -rIn . \
--exclude-dir .git \
--exclude-dir .tox \
| grep ':1:' | sed 's/:1:/:/' | grep -v -E \
-e '^\./lib/ansible/modules/' \
-e '^\./test/integration/targets/[^/]*/library/[^/]*:#!powershell$' \
-e '^\./test/sanity/validate-modules/validate-modules:#!/usr/bin/env python2$' \
-e ':#!/bin/sh$' \
-e ':#!/bin/bash( -[eux]|$)' \
-e ':#!/usr/bin/make -f$' \
-e ':#!/usr/bin/env python$' \
-e ':#!/usr/bin/env bash$' \
-e ':#!/usr/bin/env fish$'
if [ $? -ne 1 ]; then
echo "One or more file(s) listed above have an unexpected shebang."
echo "See $0 for the list of acceptable values."
exit 1
fi