implement dependency handling at the object level

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
Steven Armstrong 2011-03-28 14:55:58 +02:00
commit 4ee5d74c9f
5 changed files with 93 additions and 84 deletions

View file

@ -32,31 +32,16 @@ if [ ! -d "$(__cdist_object_dir "$object")" ]; then
__cdist_exit_err "Object $object is missing."
fi
finished="$(__cdist_object_code_finished "$object")"
require="$(__cdist_object_require "$object")"
code="$(__cdist_object_code "$object")-${__cdist_gencode_type}"
# Do nothing if our work has been done
if [ -f "$finished" ]; then
exit 0
fi
echo "Checking code-${__cdist_gencode_type} for $object ..."
if [ -f "$require" ]; then
while read requirement; do
echo "Requiring dependency $requirement for $object ..."
cdist-code-run "$requirement" "$__cdist_gencode_type"
done < "$require"
fi
if [ -e "$code" ]; then
if [ -f "$code" ]; then
if [ -x "$code" ]; then
echo "Executing code-${__cdist_gencode_type} for $object ..."
"$code"
touch "$finished"
else
__cdist_exit_err "$code exists, but is not executable."
fi