mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-14 17:01:02 +02:00
42 lines
1.7 KiB
Bash
Executable File
42 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
#-------------------------------------------------------------------------------
|
|
# Java Package Dependency viewer
|
|
#-------------------------------------------------------------------------------
|
|
|
|
VER=${JDVUE_VERSION:-2.2}
|
|
JAR=~/.m2/repository/org/onosproject/jdvue/$VER/jdvue-$VER.jar
|
|
|
|
# Download the jdvue binary if needed
|
|
if [ ! -f $JAR ]; then
|
|
printf "Downloading jdvue binary..."
|
|
aux=/tmp/stc-$$.log
|
|
mvn dependency:get -Dartifact=org.onosproject:jdvue:$VER -Dtransitive=false -B >$aux || fgrep '[ERROR]' $aux
|
|
rm -f $aux
|
|
[ -f $JAR ] && printf "Done.\n"
|
|
fi
|
|
|
|
# If the -n option is specified use the next argument as the catalog name
|
|
[ "$1" = "-n" -a $# -ge 2 ] && name=$2 && shift 2
|
|
|
|
# If the -t option is specified, use only test sources; -a use all sources
|
|
# If the -m option is specified, use only main sources; default.
|
|
[ "$1" = "-m" ] && srcPattern="/src/main/java/" && shift 1
|
|
[ "$1" = "-t" ] && srcPattern="/src/test/java/" && shift 1
|
|
[ "$1" = "-a" ] && srcPattern="/src/(main|test)/java/" && shift 1
|
|
|
|
# Assume default project to be the base-name of the argument or of current dir
|
|
name=$(basename ${1:-$PWD})
|
|
|
|
# Use the rest of the arguments as paths to scan for sources to build catalog
|
|
find "${@:-.}" -type f -name \*.java \
|
|
| grep -E "${srcPattern:-/src/main/java}" \
|
|
| grep -v -E '/lost+found/|/target/|archetype-resources' \
|
|
| xargs grep -E "^[ \t]*import .*;.*|^[ \t]*package .*;.*" \
|
|
| tr -d '\r' > $name.db
|
|
|
|
DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=y"
|
|
|
|
# Now run the Java Dependency Viewer jar on the catalog
|
|
[ -z "$jdvueDebug" ] && DEBUG_OPTS=""
|
|
java $DEBUG_OPTS -jar ${JAR} $name && rm $name.db && open $name.html
|