#!/bin/sh

# script to copy update jars from their staging area to the releases area

if [ -z $BUILD_INITIALIZED ]
then
 source properties.shsource
 source parseSiteArg.shsource $stream
 export BUILD_INITIALIZED=1
fi

if [ "${2}" != "-doit" ] ; then
   echo ""
   echo "    This is a dry run. Add -doit to actually copy"
   echo ""
   doit="--dry-run"
else
   doit=""
fi

echo ""
echo "    Copying new plugins and features "
echo "        from  ${testUpdateSite}"
echo "          to  ${milestoneDirectory}"
echo ""

rsync ${doit}  --ignore-existing -rvtup ${testUpdateSite}/features ${milestoneDirectory}
rsync ${doit}  --ignore-existing -rvtup ${testUpdateSite}/plugins ${milestoneDirectory}

if [ "${doit}" = "--dry-run" ] ; then
   echo ""
   echo "    This was a dry run. Add -doit to actually copy"
   echo ""
   exit 1
fi



