#!/bin/bash

#
# ce script prend en paramètre le nom du tag de la version tagguée de NAT
# ou un répertoire contenant une version de NAT et une option -t
# il crée la où il est appelé les différentes archives à publier
#
CNOR='\033[0m'
CERR='\033[31m'
COK='\033[32m'
CBOL='\033[1m'

if [ ! $1 ]
then
	echo "Syntax: make-archives [-f DIR] [tag]"
	exit
fi

if [ $1 = "-f" ]
then
	if [ -d $2 ]
	then
		TAG=$2
	else
		echo -e $CERR"* le répertoire "$2" n'existe pas"$CNOR
		exit
	fi
else
	TAG="Nat-v$1"
	if [ -d $TAG ]
	then
		echo "* suppression du répertoire $TAG"
		rm -Rf $TAG
	fi
	echo "* récupération de la version "$1" de NAT sur le dépot svn"
	svn co -q https://svn.liris.cnrs.fr/nat/tags/$1 $TAG 2> err
	if [ ! -s err ]
	then
		echo "* récupération terminée"
	else
		echo -e $CERR"* Impossible de récupérer https://svn.liris.cnrs.fr/nat/tags/"$TAG$CNOR
		exit
	fi
fi


echo "* répertoire taggué de nat: "$TAG
TAGNOM=${TAG//\./-}



if [ -d "archives" ]
then
	echo "* suppression du répertoire archives"
	rm -Rf "archives"
fi
echo "* création du répertoire archives"
mkdir "archives"

#suppression des répertoires .svn
echo "* suppression des répertoires .svn"
rm -rf `find $TAG -name '.svn'`

#création d'une version zip avec les sources uniquement
zip -rq "archives/$TAGNOM-src.zip" $TAG 2> err
if [ ! -s err ]
then
	echo "* Archive ZIP pour les sources créée"
else
	echo -e $CERR"* Impossible de créer $TAGNOM-src.zip"$CNOR
fi

#création d'une version tar.bz2 avec les sources uniquement
tar cfj "archives/$TAGNOM-src.tar.bz2" $TAG 2> err
if [ ! -s err ]
then
	echo "* Archive TAR.BZ2 pour les sources créée"
else
	echo -e $CERR"* Impossible de créer $TAGNOM-src.tar.bz2"$CNOR
fi

#compilation de nat
cd $TAG
./compile-all
cd ..
#suppression des .java
echo "* suppression des fichiers java"
rm -rf `find $TAG -name '*.java'`

#suppression de distrib/windows
echo "* suppression du répertoire distrib"
rm -rf "$TAG/distrib"

#suppression de non regre
echo "* suppression du répertoire nonregression"
rm -rf "$TAG/nonregression"

#suppression de la javadoc
echo "* suppression de la javadoc"
rm -rf "$TAG/doc"
rm -rf `find $TAG -name 'package.html'`

#création d'une version zip avec les class uniquement
zip -rq "archives/$TAGNOM.zip" $TAG 2> err
if [ ! -s err ]
then
	echo "* Archive ZIP pour les classes créée"
else
	echo -e $CERR"* Impossible de créer Nat-v$TAGNOM.zip"$CNOR
fi

#création d'une version tar.bz2 avec les sources uniquement
tar cfj "archives/$TAGNOM.tar.bz2" $TAG 2> err
if [ ! -s err ]
then
	echo "* Archive TAR.BZ2 pour les classes créée"
else
	echo -e $CERR"* Impossible de créer Nat-v$TAGNOM.tar.bz2"$CNOR
fi

#suppression du répertoire svn
echo "* suppression du répertoire créé par svn"
rm -rf "$TAG"

echo "*** terminé ***"
