ansible/test/sanity/code-smell/empty-init.sh
Toshio Kuratomi 7bd0af15d2
Enhance empty __init__ code-smell to check module_utils (#33438)
Empty __init__ will allow us to use python namespaces with all of these
files.  That may be something we want to take advantage of for allowign
them to be expanded by user dirs.  Also might be needed for AnsiballZ or
other wrapper enhancements in the future.
2017-11-30 15:47:38 -08:00

20 lines
622 B
Bash
Executable file

#!/bin/sh
found=''
for path in lib/ansible/modules/ lib/ansible/module_utils test/units/; do
# facts is grandfathered in but will break namespacing. Only way to fix it
# is to deprecate and eventually remove.
# six will break namespacing but because it is bundled we should not be overriding it
files=$(find "${path}" -name __init__.py -size '+0' | sed '\!lib/ansible/module_utils/\(six\|facts\)/__init__.py!d')
if [ "${files}" ]; then
echo "${files}"
found=1
fi
done
if [ "${found}" ]; then
echo "One or more __init__.py file(s) listed above are non-empty."
exit 1
fi