#!/bin/bash
#TURGEN - DISTRIBUTION SCRIPT 3.0
#To be executed with WSL2 under Windows
#Include configuration
source makedist.conf
#Create binary distribution
#Remove any previous outputs
rm ${DEST_PARENT}/turgen-${VER_COMP}-bin.tar
rm ${DEST_PARENT}/turgen-${VER_COMP}-bin.tar.bz2
rm -rf ${DEST_BIN}
mkdir ${DEST_BIN}
mkdir ${DEST_BIN}/doc
mkdir ${DEST_BIN}/dist
mkdir ${DEST_BIN}/dist/lib
mkdir ${DEST_BIN}/examples
#Copy basic files
cp ${SRC_DIR}/dist/turgen.jar ${DEST_BIN}/dist
cp ${SRC_DIR}/dist/lib/*.jar ${DEST_BIN}/dist/lib
cp ${SRC_DIR}/artwork/turgen.ico ${DEST_BIN}
#Copy documentation
cp ${SRC_DIR}/doc/src/turgen_doc.pdf ${DEST_BIN}/doc
cp ${SRC_DIR}/doc/COPYING ${DEST_BIN}/doc
cp ${SRC_DIR}/doc/CHANGES ${DEST_BIN}/doc
cp ${SRC_DIR}/doc/COPYING ${DEST_PARENT}/GPL.TXT
cp ${SRC_DIR}/doc/guides/turgen_beginners_guide.pdf ${DEST_BIN}/doc
#Copy examples
cp ${SRC_DIR}/examples/test16k_monolithic.xex ${DEST_BIN}/examples/
cp ${SRC_DIR}/examples/test16k_segmented.xex ${DEST_BIN}/examples/
#Copy the launchers
cp ${SRC_DIR}/turgen.exe ${DEST_BIN}
cp ${SRC_DIR}/gencas.exe ${DEST_BIN}
cp ${SRC_DIR}/gencas.sh ${DEST_BIN}
cp ${SRC_DIR}/turgen.sh ${DEST_BIN}
#Create the distribution archive
OLDDIR=`pwd`
cd ${DEST_PARENT}
tar --exclude=".*" -cvf turgen-${VER_COMP}-bin.tar turgen-${VER_COMP}-bin
bzip2 ${DEST_PARENT}/turgen-${VER_COMP}-bin.tar
cd ${OLDDIR}
#Run Inno Setup
"${IS_COMPILER}" ts.iss
#Temporarily remove the launchers
rm ${DEST_BIN}/turgen.exe
rm ${DEST_BIN}/turgen.sh
rm ${DEST_BIN}/gencas.exe
rm ${DEST_BIN}/gencas.sh
#Create full application image for windows
"${JPACKAGE_WIN}" --dest ${DEST_PARENT_WIN} --type msi -i ${DEST_BIN_WIN} -n TURGEN --main-class turgen.Turgen --main-jar dist/turgen.jar --icon ${SRC_DIR}/artwork/turgen.ico --app-version ${VER_COMP} --install-dir turgen-${VER_COMP} --win-dir-chooser --win-menu --description "Create Atari Tapes" --add-launcher GENCAS=${SRC_DIR}/launchers/gencas.properties
mv ${DEST_PARENT}/TURGEN-${VER_COMP}.msi ${DEST_PARENT}/turgen-${VER_COMP}-fullpack.msi
#Create full application image for GNU/Linux - Debian
"${JPACKAGE_LIN}" --dest ${DEST_PARENT} --type deb -i ${DEST_BIN} -n TURGEN --main-class turgen.Turgen --main-jar dist/turgen.jar --icon ${SRC_DIR}/artwork/turgen.png --app-version ${VER_COMP} --linux-shortcut --linux-app-category Utility --linux-rpm-license-type GPLv2 --description "Create Atari Tapes" --add-launcher GENCAS=${SRC_DIR}/launchers/gencas.properties
#Copy the launchers again
cp ${SRC_DIR}/turgen.exe ${DEST_BIN}
cp ${SRC_DIR}/gencas.exe ${DEST_BIN}
cp ${SRC_DIR}/gencas.sh ${DEST_BIN}
cp ${SRC_DIR}/turgen.sh ${DEST_BIN}