#!/bin/bash
#===============================================================================
#
#          FILE:  check-jars.sh
# 
#         USAGE:  ./check-jars.sh 
# 
#   DESCRIPTION:  Check that CoW jars and Grails jars are at the same version
# 
#       VERSION:  1.0
#       CREATED:  19/10/07 12:34:14 BST
#===============================================================================

BASENAMES=`for f in lib/*jar plugins/*/lib/*.jar; do basename $f |sed 's,\(.*\)-[0-9].*,\1,' |sed 's,\.jar$,,'; done`
VERSIONS=`for f in lib/*jar plugins/*/lib/*.jar; do basename $f |sed 's,.*-\([0-9].*\)\.jar,\1,'; done`
set $VERSIONS

for f in $BASENAMES
do
  GRAILSVERS=""
  if [ -f ../grails/lib/${f}.jar ]
  then
    #rm -r META-INF
    #jar xf lib/$f META-INF/MANIFEST
    #COWVERS=`cat META-INF/MANIFEST.MF |head |grep Implementation-Version |sed 's,[^ ]* ,,'`
    rm -rf META-INF
    jar xf ../grails/lib/${f}.jar META-INF/MANIFEST
    GRAILSVERS=`cat META-INF/MANIFEST.MF |head |grep Implementation-Version |sed 's,[^ ]* ,,'`
  fi

  case $f in
    *.jar)
      echo -n $f":"
      printf '%46s\t\t%s' "`ls ../grails/lib/${f} 2>/dev/null`" "${GRAILSVERS}"
      ;;
    *)
      echo -n $f $1":"
      if [ -f ../grails/lib/${f}-${1}* ]
      then
        printf '%50s\t\t%s' "`ls ../grails/lib/${f}-${1}*`" "${GRAILSVERS}"
      else
        printf '%46s\t\t%s' "`ls ../grails/lib/${f}* 2>/dev/null`" "${GRAILSVERS}"
      fi
      ;;
  esac
  echo
  shift
done |grep -v ^$
