#!/bin/bash dir=`dirname $0` if [ $# -lt 3 ]; then echo "Usage: sign.sh " echo "" echo " must contain the following properties:" echo " jarsigner.alias: keystore entry alias" echo " jarsigner.storepass: password for the keystore" echo " jarsigner.keypass: password for the key " echo "" echo " can be empty is timestamping is not desired." exit -1 fi keystore=$1 signprops=$2 tsa=$3 function signprop { grep "${1}" "${signprops}"|cut -d'=' -f2 } echo "----" echo "script directory: ${dir}" echo "keystore: ${keystore}" echo "signing property file: ${signprops}" echo "TSA URL: ${tsa}" keyalias=$(signprop 'jarsigner.alias') storepass=$(signprop 'jarsigner.storepass') keypass=$(signprop 'jarsigner.keypass') for jar in `find "${dir}/target/repository/plugins/" -type f -not -ipath '*.source_*.jar'`; do echo "----" if [ -z ${tsa} ]; then echo "Signing $jar" jarsigner -keystore "${keystore}" \ -storepass ${storepass} \ -keypass ${keypass} \ -verbose \ "$jar" \ ${keyalias} else echo "Signing and timestamping $jar" jarsigner -keystore "${keystore}" \ -storepass ${storepass} \ -keypass ${keypass} \ -verbose \ -tsa "${tsa}" \ "$jar" \ ${keyalias} fi done