| #!/bin/bash |
| |
| # Usage: install [-j] [-h] |
| # -j: jar files only |
| # -h: do not update the history file |
| |
| # +=============================================+ |
| # Strip the filename, retain the directory only.| |
| # +=============================================+ |
| function getShellScriptDirectory { |
| local dir |
| |
| dir=${0%/*} |
| |
| if [ "$dir" = "." ] |
| then |
| dir=$(pwd) |
| elif [ "${dir#/}" = "$dir" ] # dir does not start with a / |
| then |
| dir=$(pwd)/$dir |
| fi |
| echo $dir |
| } |
| # ================================================== |
| |
| WWW_TARGET=~/ASF/dump |
| DISTRIB_TARGET=~/sf/temp |
| JAR_FULL=log4j.jar |
| JAR_CORE=log4j-core.jar |
| |
| |
| if [ -z "$ANT" ] |
| then |
| ANT=ant |
| fi |
| |
| |
| while getopts ":jh" opt; do |
| |
| case $opt in |
| j ) JAR_ONLY=true |
| ;; |
| h ) NO_HISTORY=true |
| ;; |
| \? ) echo "Usage: install [-j] [-h]" |
| echo " -j: jar files only" |
| echo " -h: do not update the history file" |
| exit; |
| esac |
| done |
| |
| # ================================================================= |
| function cleanUp { |
| echo "" |
| } |
| # ================================================================= |
| |
| pushd $PWD > /dev/null |
| |
| scriptDir=$(getShellScriptDirectory) |
| echo "Script directry is determined to be [$scriptDir]" |
| |
| echo "Sourcing ${scriptDir}/.functions" |
| . ${scriptDir}/.functions |
| |
| echo "Setting current dir to [${scriptDir}/..]" |
| cd ${scriptDir}/.. |
| PKG_DIR=$PWD |
| |
| # ${PKG_DIR##*/} returns the package name |
| PKG_NAME=${PKG_DIR##*/} |
| |
| # Package name is [$PKG_NAME] |
| |
| TGZ_FILE=${PKG_NAME}.tgz |
| ZIP_FILE=${PKG_NAME}.zip |
| |
| echo "Deleting \"core\" files." |
| find . -type f -name core -exec rm {} \; |
| |
| deleteFile $PKG_DIR/org/apache/log4j/performance/test |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp.A1 |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp.A2 |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp.x |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp.1 |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp.2 |
| deleteFile $PKG_DIR/org/apache/log4j/test/temp.3 |
| deleteFile $PKG_DIR/org/apache/log4j/test/logging.lcf |
| deleteFile $PKG_DIR/org/apache/log4j/test/logging.cat |
| deleteFile $PKG_DIR/org/apache/log4j/test/current.reg |
| deleteFile $PKG_DIR/org/apache/log4j/test/current.reg.A1 |
| deleteFile $PKG_DIR/org/apache/log4j/test/current.reg.A2 |
| deleteFile $PKG_DIR/org/apache/log4j/test/log4j.properties |
| deleteFile $PKG_DIR/org/apache/log4j/test/socket.lcf |
| deleteFile $PKG_DIR/org/apache/log4j/test/file |
| deleteFile $PKG_DIR/org/apache/log4j/test/output.A1 |
| |
| deleteFile $PKG_DIR/org/apache/log4j/examples/test |
| deleteFile $PKG_DIR/org/apache/log4j/xml/test/output.A1 |
| deleteFile $PKG_DIR/org/apache/log4j/xml/test/output.A2 |
| deleteFile $PKG_DIR/org/apache/log4j/xml/test/temp.A1 |
| deleteFile $PKG_DIR/org/apache/log4j/xml/test/temp.A2 |
| deleteFile $PKG_DIR/org/apache/log4j/xml/test/current.reg |
| deleteFile $PKG_DIR/org/apache/log4j/nt/EventLogCategories.dbg |
| deleteFile $PKG_DIR/org/apache/log4j/nt/EventLogCategories.h |
| deleteFile $PKG_DIR/org/apache/log4j/nt/EventLogCategories.rc |
| deleteFile $PKG_DIR/org/apache/log4j/nt/EventLogCategories.RES |
| deleteFile $PKG_DIR/org/apache/log4j/nt/MSG00001.bin |
| deleteFile $PKG_DIR/org/apache/log4j/nt/NTEventLogAppender.lib |
| deleteFile $PKG_DIR/org/apache/log4j/nt/NTEventLogAppender.exp |
| deleteFile $PKG_DIR/org/apache/log4j/nt/vc50.idb |
| deleteFile $PKG_DIR/org/apache/log4j/net/test/loop.log |
| deleteFile $PKG_DIR/org/apache/log4j/net/test/loop.log.1 |
| deleteFile $PKG_DIR/classes/org/apache/log4j/UnitTestCategory.class |
| deleteFile $PKG_DIR/org/apache/log4j/varia/test/temp |
| deleteFile $PKG_DIR/org/apache/log4j/xml/test/temp |
| |
| echo "Cleaning \"classes\" directory." |
| find . -type d -path "./classes/exercise" -exec rm -r {} \; |
| find . -type d -path "./classes/make" -exec rm -r {} \; |
| |
| echo -n "Build stamp: " |
| date -u +"%Y-%m-%d %T %Z" |
| |
| echo "About to run ANT. Current directory is [$PWD]" |
| $ANT jar |
| |
| if [ "$?" != "0" ]; then |
| echo "jar failed! Exiting."; popd; exit 1 |
| fi |
| |
| if [ -n "$JAR_ONLY" ]; then |
| cleanUp |
| exit |
| fi |
| |
| |
| |
| # Run tramake |
| $scriptDir/tarmake |
| |
| if [ "$?" != "0" ]; then |
| echo "There was an error while running \"$scriptDir/tarmake\". Exiting." |
| exit 1 |
| fi |
| |
| if [ ! -s ../$TGZ_FILE ] |
| then |
| echo "../$TGZ_FILE does not exists in $PWD/.." |
| exit 1 |
| fi |
| |
| |
| echo "Moving $TGZ_FILE to $WWW_TARGET/" |
| mv ../$TGZ_FILE $WWW_TARGET/ |
| if [ "$?" != "0" ]; then |
| echo "There was an error moving ../$TGZ_FILE to $WWW_TARGET/" |
| exit 1 |
| fi |
| |
| echo "About to do ZIP processing in [$DISTRIB_TARGET]" |
| |
| # Clean up old copy of package in $DISTRIB_TARGET |
| cd $DISTRIB_TARGET |
| if [ -d $DISTRIB_TARGET/$PKG_NAME ]; then |
| echo; echo "Removing directory $DISTRIB_TARGET/$PKG_NAME" |
| rm -r $DISTRIB_TARGET/$PKG_NAME |
| if [ "$?" != "0" ]; then |
| echo "Could not remove $DISTRIB_TARGET/$PKG_NAME. Exiting."; exit 1 |
| fi |
| fi |
| |
| echo; echo "Untarring $WWW_TARGET/$TGZ_FILE in $PWD" |
| tar xzf $WWW_TARGET/$TGZ_FILE |
| |
| cd $DISTRIB_TARGET |
| echo; |
| if [ -e $WWW_TARGET/$ZIP_FILE ]; then |
| echo "Removing stale $WWW_TARGET/$ZIP_FILE" |
| rm $WWW_TARGET/$ZIP_FILE |
| fi |
| echo "Zipping $PKG_NAME in $DISTRIB_TARGET to $WWW_TARGET/$ZIP_FILE" |
| zip -y -9 -q -r $WWW_TARGET/$ZIP_FILE $PKG_NAME |
| if [ "$?" != "0" ]; then |
| echo "There was an error while zipping. Exiting."; exit 1 |
| fi |
| |
| cleanUp |