#!/bin/sh # # Small script to rebuild a jar repository depending on the JVM used # # JPackage Project # # $Id: rebuild-jar-repository,v 1.3 2006/03/29 19:45:09 jasonc Exp $ # Import java functions [ -r "/usr/share/java-utils/java-functions" ] \ && . "/usr/share/java-utils/java-functions" || exit 1 # Prints help message usage() { cat >&2 << EOF_USAGE Usage: $0 [] With: linktype: -s, --soft, --symbolic create symbolic links (default) -h, --hard create hard links -c, --copy copy files directory: name of an existing directory where existing links will be recreated EOF_USAGE exit 2 } [ "$#" -lt "1" ] && usage unset repository unset args while [ $# -gt 0 -a -z "$repository" ] ; do case "$1" in -h|--hard|-s|--soft|--symbolic|-c|--copy) args=$1 ;; --|-) args="$args --" break ;; *) repository=$1 if ! [ -d "$repository" -a -w "$repository" ] ; then echo "$0: error: $1 must be a writable directory" >&2 exit 7 fi esac shift done args="$args $@" set_javacmd || exit 3 check_java_env || exit 4 set_jvm_dirs || exit 5 extension_list=$(find $repository -name '\[*\]*.jar' -not -type d | \ sed 's+\]\[+/+g' | sed 's+.*\[++g' | sed 's+\].*++g' | sort | uniq) rm -f $(find $repository -name '\[*\]*.jar' -not -type d) link_jar_repository $repository $args $extension_list if [ "$?" = 0 ] ; then exit 0 else echo "$0: error: Some detected jars were not found for this jvm" >&2 exit 6 fi