File indexing completed on 2024-04-21 03:52:27
0001 #! /bin/sh -e 0002 # 0003 # SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org> 0004 # 0005 # SPDX-License-Identifier: BSD-2-Clause 0006 0007 oldpwd=$PWD 0008 cd "$(dirname "$0")" 0009 bindir=$PWD 0010 cd "$oldpwd" 0011 generate=$bindir/depdiagram-generate 0012 0013 die() { 0014 echo "$*" 1>&2 0015 exit 1 0016 } 0017 0018 if [ ! -x "$generate" ] ; then 0019 die "Can not find the depdiagram-generate script" 0020 fi 0021 0022 if [ "$#" -ne 2 ] ; then 0023 die "Usage: $(basename "$0") <dot_dir> <png_dir>" 0024 fi 0025 0026 dot_dir=$1 0027 png_dir=$2 0028 0029 if [ ! -d "$dot_dir" ] ; then 0030 die "'$dot_dir' is not a directory" 0031 fi 0032 0033 read_tier() { 0034 sed --quiet '/tier:/s/tier: *//p' "$1" 0035 } 0036 0037 gen_fws() { 0038 tmp_dot=/tmp/diagram.dot 0039 0040 for fw_dot in $fw_dots ; do 0041 fw=$(basename "$fw_dot" .dot) 0042 echo "$fw" 0043 0044 # Gather info 0045 tier=$(read_tier "$(echo "$fw_dot" | sed 's/dot$/yaml/')") 0046 if [ "$tier" -lt 3 ] ; then 0047 opts=--qt 0048 else 0049 opts="" 0050 fi 0051 0052 # Generate .dot file 0053 $generate "$fw_dots" --framework "$fw" "$opts" > $tmp_dot 0054 0055 # Turn .dot into a .png 0056 dot -Tpng $tmp_dot > "$png_dir"/"$fw".png 0057 0058 # Simplify .dot and turn it into a .png 0059 tred $tmp_dot | dot -Tpng > "$png_dir"/"$fw"-simplified.png 0060 done 0061 0062 rm $tmp_dot 0063 } 0064 0065 mkdir -p "$png_dir" 0066 0067 fw_dots=$(find "$dot_dir" -name '*.dot') 0068 0069 gen_fws 0070 0071 echo "kf5" 0072 $generate "$fw_dots" | tred | dot -Tpng > "$png_dir"/kf5.png