From cacc1057739e0e20d0a5cb642000c41e7738a2d2 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 29 Jul 2015 21:01:01 +0200 Subject: [PATCH] Ensure that reference/projects.yaml is sorted Add to docs tox target a check that reference/projects.yaml is sorted alphabetically and display entries that are not sorted. Change-Id: Ia86b50622e2fac5fdf791d57c884d2d8a9ec6c44 --- tools/check_projects_yaml_alphabetized.sh | 24 +++++++++++++++++++++++ tox.ini | 1 + 2 files changed, 25 insertions(+) create mode 100755 tools/check_projects_yaml_alphabetized.sh 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