Mini Shell
Direktori : /usr/bin/ |
|
Current File : //usr/bin/diff-jars |
#!/bin/bash
#
# Show jar content difference
#
# JPackage Project <http://www.jpackage.org/>
# Guillaume Rousse <guillomovitch@sourceforge.net>
#
# 1.0 - initial release
# 1.1 - corrected a typo
# - used /tmp for temp files
# 1.2 - allow diffing two jars with same basename
# - use mktemp(1) for creating temp files
# 1.3 - fix java-functions location
# Source functions library
if [ -r "/usr/share/java-utils/java-functions" ] ; then
. "/usr/share/java-utils/java-functions"
else
echo "Can't find functions library, aborting"
exit 1
fi
# Check arguments
if [ $# != 2 ] ; then
echo "usage: `basename $0` jar1 jar2"
exit 1
fi
if [ -r "$1" ] ; then
JAR1=$1
LIST1=/tmp/`basename "$JAR1"`.list.XXXXXX
else
echo "Jar '$1' not readable"
exit 1
fi
if [ -r "$2" ] ; then
JAR2=$2
LIST2=/tmp/`basename "$JAR2"`.list.XXXXXX
else
echo "Jar '$2' not readable"
exit 1
fi
# Get jar command
set_jvm
JAR=$JAVA_HOME/bin/jar
LIST1=`mktemp "$LIST1"`
LIST2=`mktemp "$LIST2"`
# Get sorted jar content
$JAR tvf "$JAR1" | awk -F" " '{ print $8}' | sort > "$LIST1"
$JAR tvf "$JAR2" | awk -F" " '{ print $8}' | sort > "$LIST2"
# Compute difference
diff -Naur "$LIST1" "$LIST2"
# Remove files
rm -f "$LIST1"
rm -f "$LIST2"
Zerion Mini Shell 1.0