#!/bin/sh

usage() {
  echo "usage: `basename $0` [path-to-directory]..."
  exit 1
}

if [ -z "$1" ]; then
  usage
fi

for dir; do
  if [ ! -d "$dir" ]; then
    usage
  fi
done

for dir; do
  for file in "$dir"/*.jar; do
    if [ -f "$file" ]; then
      echo "***${file}***"
      jar tf "$file"
    fi
  done
done | gawk '
/^\*\*\*.*\*\*\*$/ {
  file=substr($0, 4, length($0)-6)
  next
}
/\.class$/ {
  if ($0 in classes) {
    print file ": " $0 " (duplicate in " classes[$0] ")"
  } else {
    classes[$0]=file
  }
}'


