#! /bin/sh -e # # SPDX-FileCopyrightText: 2014 Aurélien Gâteau # # SPDX-License-Identifier: BSD-2-Clause oldpwd=$PWD cd "$(dirname "$0")" bindir=$PWD cd "$oldpwd" generate=$bindir/depdiagram-generate die() { echo "$*" 1>&2 exit 1 } if [ ! -x "$generate" ] ; then die "Can not find the depdiagram-generate script" fi if [ "$#" -ne 2 ] ; then die "Usage: $(basename "$0") " fi dot_dir=$1 png_dir=$2 if [ ! -d "$dot_dir" ] ; then die "'$dot_dir' is not a directory" fi read_tier() { sed --quiet '/tier:/s/tier: *//p' "$1" } gen_fws() { tmp_dot=/tmp/diagram.dot for fw_dot in $fw_dots ; do fw=$(basename "$fw_dot" .dot) echo "$fw" # Gather info tier=$(read_tier "$(echo "$fw_dot" | sed 's/dot$/yaml/')") if [ "$tier" -lt 3 ] ; then opts=--qt else opts="" fi # Generate .dot file $generate "$fw_dots" --framework "$fw" "$opts" > $tmp_dot # Turn .dot into a .png dot -Tpng $tmp_dot > "$png_dir"/"$fw".png # Simplify .dot and turn it into a .png tred $tmp_dot | dot -Tpng > "$png_dir"/"$fw"-simplified.png done rm $tmp_dot } mkdir -p "$png_dir" fw_dots=$(find "$dot_dir" -name '*.dot') gen_fws echo "kf5" $generate "$fw_dots" | tred | dot -Tpng > "$png_dir"/kf5.png