035abae6ef
This makes code more readable, and can check whether specific library in the requirement files easily. We also enforce the check in pep8. Change-Id: I032c3c3d29522ce85f64b21d6428d975e46cc701 Closes-Bug: #1285478
33 lines
744 B
Bash
Executable File
33 lines
744 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Enforce the requirement that dependencies are listed in the input
|
|
# files in alphabetical order.
|
|
|
|
# FIXME(dhellmann): This doesn't deal with URL requirements very
|
|
# well. We should probably sort those on the egg-name, rather than the
|
|
# full line.
|
|
|
|
function check_file() {
|
|
typeset f=$1
|
|
|
|
# We don't care about comment lines.
|
|
grep -v '^#' $f > ${f}.unsorted
|
|
sort -i -f ${f}.unsorted > ${f}.sorted
|
|
diff -c ${f}.unsorted ${f}.sorted
|
|
rc=$?
|
|
rm -f ${f}.sorted ${f}.unsorted
|
|
return $rc
|
|
}
|
|
|
|
exit_code=0
|
|
for filename in $@
|
|
do
|
|
check_file $filename
|
|
if [ $? -ne 0 ]
|
|
then
|
|
echo "Please list requirements in $filename in alphabetical order" 1>&2
|
|
exit_code=1
|
|
fi
|
|
done
|
|
exit $exit_code
|