Skip to content
Snippets Groups Projects
clone_ctdas.sh 1.47 KiB
Newer Older
#!/bin/bash
set -e

cat > heredocfile.txt <<_EOF_
    where <rootdir> is a base folder for the project
    where <projectsource> is a source folder for the project, to clone
    and <projectclone> is a name to use for the cloned project.

    !! A folder rootdir/projectclone will be created !!
_EOF_

while getopts "h" opt; do
  case $opt in
    h) cat heredocfile.txt
      exit 1
    ;;
    \?) echo "Invalid option: -$OPTARG" >&2
      exit 1
    ;;
    *) cat heredocfile.txt
      exit 1
    ;;
  esac
done

EXPECTED_ARGS=3
E_BADARGS=666

if [ $# -ne $EXPECTED_ARGS ]
then
  echo ""
  echo "Usage: `basename $0` rootdir projectsource projectclone"
  cat heredocfile.txt
  exit $E_BADARGS
fi

echo "New project to be started in folder $1"
echo "               ...........with name $3"
echo "             ...........cloned from $1/$2"

sourcedir=$1/$2/exec
rundir=$1/$3/exec
sedrundir=$1/$3/exec

if [ -d "$rundir" ]; then
    echo "Directory already exists, please remove before running $0"
    exit 1
fi

mkdir -p ${rundir}
rsync -ru --cvs-exclude --exclude=*nc ${sourcedir}/* ${rundir}/
cd ${rundir}

echo "Modifying jb file, py file, and rc-file"
sed -e "s/$2/$3/g" ${sourcedir}/$2.jb > $3.jb
sed -e "s/$2/$3/g" ${sourcedir}/$2.py > $3.py
sed -e "s/$2/$3/g" ${sourcedir}/$2.rc > $3.rc
rm -f clone_ctdas.sh
rm -f $2.jb $2.rc $2.py
make clean

chmod u+x $3.jb

echo ""
echo "************* NOW USE ****************"
ls -lrta $3.*
echo "**************************************"
echo ""
cd ${rundir}
pwd