#!/bin/bash
while getopts ":a:d:f:p:" optname
do
case "$optname" in
"d")
CARPETA=$OPTARG
;;
"f")
FX=" --module-path $PATH_TO_FX --add-modules javafx.controls,javafx.fxml "
;;
"p")
PROGRAMA=$OPTARG
;;
"?")
echo "Opción desconocida $OPTARG"
;;
":")
echo "Sin valor de argumentos para la opción $OPTARG"
;;
*)
# Should not occur
echo "Error desconocido mientras se procesaban las opciones"
;;
esac
done
#OPTION=$3
DATABASE=dbdbdbdbdbd
DIRECTORIO="$HOME/dddddddd"
FECHA=`date +%Y-%m-%d_%H.%M.%S`
LOG=~/Log/Command/Compilación/$FECHA.log
PASSWORD='pppppppppppp'
cd $DIRECTORIO
WHERE=' where `user` = '"'$USER'"
USE='USE `maestra`; select Carpeta from `numero de compilaciones x Programas`'$WHERE' order by ID'
echo $USE > "/tmp/"$FECHA"_COMMAND.sql"
MYSQL="mysql -u sandro -p$PASSWORD $DATABASE < /tmp/$FECHA""_COMMAND.sql"
echo $MYSQL > "/tmp/"$FECHA"_MYSQL.sql"
chmod +x "/tmp/"$FECHA"_MYSQL.sql"
"/tmp/"$FECHA"_MYSQL.sql" > $LOG
while read DB
do
DB=`echo $DB`
CARPETA_FILE=$DB
done < $LOG
if [ "$CARPETA" != "" ]; then
VALUES="'$USER', '$DIRECTORIO', '$PROGRAMA', now(), '$CARPETA'"
WHERE=' where `user` = '
WHERE=$WHERE"'$USER'"
WHERE=$WHERE' and `Programa` = '
WHERE=$WHERE"'$PROGRAMA'"
WHERE=$WHERE' and `Directorio` = '
WHERE=$WHERE"'$DIRECTORIO'"
WHERE=$WHERE' and `Carpeta`='
WHERE=$WHERE"'$CARPETA'"
USE='USE `maestra`; insert into `numero de compilaciones x Programas` ( `user`, `Directorio`, `Programa`, `alta`, `Carpeta` ) values ( '$VALUES' )ON DUPLICATE KEY UPDATE `Carpeta` ='"'$CARPETA'"'; update `numero de compilaciones x Programas` set `Carpeta`='"'$CARPETA' $WHERE"
echo $USE > "/tmp/"$FECHA"_COMMAND.sql"
MYSQL="mysql -u sandro -p$PASSWORD $DATABASE < /tmp/$FECHA"'_COMMAND.sql'
cat "/tmp/$FECHA"'_COMMAND.sql' >> $LOG
echo '#!/bin/bash' > '/tmp/'$FECHA'_MySQL.sql'
echo $MYSQL >> "/tmp/"$FECHA"_MySQL.sql"
chmod +x "/tmp/"$FECHA"_MySQL.sql"
'/tmp/'$FECHA'_MySQL.sql' >> $LOG
cat "/tmp/"$FECHA"_MySQL.sql" >> $LOG
if [ -d $CARPETA ]; then
echo "ya existe la carpeta $CARPETA" >> $LOG
else
mkdir $CARPETA
mkdir $CARPETA/Classes
fi
else
CARPETA=$CARPETA_FILE
fi
if [ -f $CARPETA/$PROGRAMA.java ]; then
echo "ya existe el programa $PROGRAMA" >> $LOG
else
cp $PROGRAMA.java $CARPETA
echo "cp $PROGRAMA.java $CARPETA"
fi
cd $CARPETA
pwd
DIRECTORIO="$DIRECTORIO/$CARPETA"
if [ -f $DIRECTORIO/$PROGRAMA.class ]; then
rm $DIRECTORIO/$PROGRAMA.class
fi
echo "***************************************************************************"
echo "*** nombre del programa : $PROGRAMA ***"
echo "***************************************************************************"
javac $FX $PROGRAMA.java -d Classes $OPTION >> $LOG
CODIGO=$?
VALUES="'$USER', '$DIRECTORIO', '$PROGRAMA', now(), '$CARPETA'"
WHERE=' where `user` = '
WHERE=$WHERE"'$USER'"
WHERE=$WHERE' and `Programa` = '
WHERE=$WHERE"'$PROGRAMA'"
WHERE=$WHERE' and `Directorio` = '
WHERE=$WHERE"'$DIRECTORIO'"
WHERE=$WHERE' and `Carpeta`='
WHERE=$WHERE"'$CARPETA'"
USE='USE `maestra`; insert into `numero de compilaciones x Programas` ( `user`, `Directorio`, `Programa`, `alta`, `Carpeta` ) values ( '$VALUES' )ON DUPLICATE KEY UPDATE `user` ='"'$USER'"';'
echo $USE > "/tmp/"$FECHA"_COMMAND.sql"
MYSQL="mysql -u sandro -p$PASSWORD $DATABASE < /tmp/$FECHA""_COMMAND.sql"
cat "/tmp/$FECHA""_COMMAND.sql" >> $LOG
echo "#!/bin/bash" > "/tmp/"$FECHA"_MySQL.sql"
echo $MYSQL >> "/tmp/"$FECHA"_MySQL.sql"
chmod +x "/tmp/"$FECHA"_MySQL.sql"
"/tmp/"$FECHA"_MySQL.sql" >> $LOG
cat "/tmp/"$FECHA"_MySQL.sql" >> $LOG
if [ $CODIGO != 0 ]; then
USE='USE `maestra`; update `numero de compilaciones x Programas` set `compila fallida veces` = `compila fallida veces` + 1, `compila fallida` = now() '$WHERE' ;'
echo "codigo erroneo $CODIGO"
else
USE='USE `maestra`; update `numero de compilaciones x Programas` set `compila veces` = `compila veces` + 1, `compila` = now() '$WHERE' ;'
echo "codigo bien $CODIGO"
fi
echo $USE > "/tmp/"$FECHA"_COMMAND.sql"
MYSQL="mysql -u sandro -p$PASSWORD $DATABASE < /tmp/$FECHA""_COMMAND.sql"
cat "/tmp/$FECHA""_COMMAND.sql" >> $LOG
echo "#!/bin/bash" > "/tmp/"$FECHA"_MySQL.sql"
echo $MYSQL >> "/tmp/"$FECHA"_MySQL.sql"
chmod +x "/tmp/"$FECHA"_MySQL.sql"
"/tmp/"$FECHA"_MySQL.sql" >> $LOG
cat "/tmp/"$FECHA"_MySQL.sql" >> $LOG