#! /bin/bash

# $1 = numero de version pour la release

TMP_DIR=$(mktemp -d)
RELEASE_DIR=~/git/helena/releases/
EXEC="
helena
helena-generate-config
helena-generate-pnml
helena-graph
helena-report"
TO_DEL="
.git
.gitignore
benchs
examples/beem
releases
tests"

    
#  tests preliminaires
[ $# -ne 1 ] && echo "il faut le numero de version" && exit -1
[ -d $RELEASE_DIR/$1 ] && echo "la version existe deja" && exit -1

#  copie helena dans le repertoire temporaire
echo "Copie le repertoire helena"
cd ..
tar czf $TMP_DIR/helena.tgz helena
cd $TMP_DIR
tar xzf helena.tgz

#  supprimer les fichiers dans TO_DEL
cd $TMP_DIR/helena
for d in $TO_DEL
do
    cmd="rm -rf $d"
    echo $cmd
    eval $cmd
done
find . -name \*~ -exec rm -rf {} \;

#  compile la doc et ne garde que les fichiers pdf dans le repertoire
#  docs
cd $TMP_DIR/helena/doc
echo "Compile la doc"
make -s all &> /dev/null
make -s all &> /dev/null
find . -type f -a ! -name helena\*.pdf -exec rm {} \;

#  compile les sources
cd $TMP_DIR/helena/src
echo "Compile les sources"
./compile-helena --clean-all &> /dev/null
./compile-helena --with-all #&> /dev/null
./compile-helena --clean &> /dev/null

#  cree deux archives : avec les binaires et sans
cd $TMP_DIR
echo "Cree les archives"
tar czf helena-$1-$(uname --hardware-platform).tgz helena
for e in $EXEC
do
    mv helena/bin/$e helena/
done
rm -rf helena/bin/*
for e in $EXEC
do
    mv helena/$e helena/bin/
done
tar czf helena-$1.tgz helena

#  copie les archives dans le repertoire des releases
cd $RELEASE_DIR
mkdir $1
cd $1
mv $TMP_DIR/helena-$1*.tgz .

#  supprime le repertoire temporaire
rm -rf $TMP_DIR
