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