jdvue
1.21 KB
#!/bin/bash
#-------------------------------------------------------------------------------
# Java Package Dependency viewer
#
# written by Thomas Vachuska
# -- Doobs --
#-------------------------------------------------------------------------------
JDVUE_ROOT=${JDVUE_ROOT:-$(dirname $0)/..}
cd $JDVUE_ROOT
VER=1.3.0
JAR=$PWD/target/jdvue-${VER}.jar # start with the dev jar first
cd - >/dev/null
# If the dev jar is not available, use one from .m2/repository
[ -f ${JAR} ] || JAR=~/.m2/repository/org/onlab/tools/jdvue/${VER}/jdvue-${VER}.jar
# Assume default project to be the base-name of the argument or of current dir
name=$(basename ${1:-$PWD})
# If the -n option is specified use the next argument as the catalog name
[ "$1" = "-n" -a $# -ge 2 ] && name=$2 && shift 2
# Use the rest of the arguments as paths to scan for sources to build catalog
find "${@:-.}" -type f -name \*.java \
| grep -v -E '/lost+found/|/target/|archetype-resources' \
| xargs grep -E "^[ \t]*import .*;.*|^[ \t]*package .*;.*" \
| tr -d '\r' > $name.db
# Now run the Java Dependency Viewer jar on the catalog
java -jar ${JAR} $name && rm $name.db && open $name.html