diff --git a/tools/check_projects_yaml_alphabetized.sh b/tools/check_projects_yaml_alphabetized.sh new file mode 100755 index 000000000..10e5c2527 --- /dev/null +++ b/tools/check_projects_yaml_alphabetized.sh @@ -0,0 +1,24 @@ +#!/bin/bash -xe + +# Checks that reference/projects.yaml alphabetized and prints list of +# projects that should be sorted. + +export TMPDIR=`/bin/mktemp -d` +trap "rm -rf $TMPDIR" EXIT + +pushd $TMPDIR +PROJECTS_LIST=$OLDPWD/reference/projects.yaml + +grep '^[a-zA-Z0-9]' $PROJECTS_LIST > projects_list + +LC_ALL=C sort --ignore-case projects_list -o projects_list.sorted + +if ! diff projects_list projects_list.sorted > projects_list.diff; then + echo "The following projects should be alphabetized: " + cat projects_list.diff | grep -e '> ' + exit 1 +else + echo "Projects alphabetized." +fi + +popd diff --git a/tox.ini b/tox.ini index d16e0f4c0..803d15e3c 100644 --- a/tox.ini +++ b/tox.ini @@ -14,3 +14,4 @@ commands = {posargs} [testenv:docs] commands = python setup.py build_sphinx + {toxinidir}/tools/check_projects_yaml_alphabetized.sh