| #!/bin/bash |
| # This scripts generates a diagram of the dependencies between the different jars. |
| # To run it both jdeps (comes with jdk 1.8) and dot (comes with graphviz) need to |
| # be present. The diagram, batik-jars-deps.svg, can be found in the checkdeps folder. |
| # NOTE: Before running the script run "ant jars maven-artifacts". |
| rm -rf checkdeps |
| mkdir checkdeps |
| ls -l batik-svn-trunk/maven/batik-*/*/*.jar | awk '{printf("cp %s checkdeps/\n", $9)}' > cp.sh |
| chmod +x cp.sh |
| ./cp.sh |
| cp lib/*.jar checkdeps |
| rm cp.sh |
| cd checkdeps |
| jdeps -dotoutput dot -classpath . * |
| grep batik dot/batik* | grep jar | grep -v 'java\.' | grep -v javax | grep -v xml-apis | grep -v xalan | grep -v JDK | grep -v Path | grep -v '{' | awk '{print $1 " -> " $5}' | sort -u | sed s/'dot\/'/'"'/g | sed s/'.dot:'/'"'/g | sed s/'('/'"'/g | sed s/')"'/'"'/g > deps.dot |
| echo 'digraph "batik-jars-deps" {' > batikdeps.dot |
| cat deps.dot >> batikdeps.dot |
| echo '}' >> batikdeps.dot |
| sed s/-svn-trunk//g batikdeps.dot | sed s/'.jar'//g > batikdeps-2.dot |
| dot -Tsvg batikdeps-2.dot -o batik-jars-deps.svg |
| rm deps.dot batikdeps.dot batikdeps-2.dot |