* changed the name of the folder that gets packaged. * added some [y/N] questions.
99 lines
2.9 KiB
Bash
99 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
ABORT="\033[31mAbort:\033[00m"
|
|
SUCCESS="\033[32mSuccess:\033[00m"
|
|
INFO="\033[33mInfo:\033[00m"
|
|
|
|
read -r -p "Is your current release build up to date? [y/N] " response
|
|
case $response in
|
|
[yY][eE][sS]|[yY])
|
|
;;
|
|
*)
|
|
echo -e $ABORT "Aborting the creation of a release package."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
read -r -p "Did you update the manual pdf? [y/N] " response
|
|
case $response in
|
|
[yY][eE][sS]|[yY])
|
|
;;
|
|
*)
|
|
echo -e $ABORT "Aborting the creation of a release package."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
ORIGINAL_PATH_TO_SCRIPT="${0}"
|
|
CLEANED_PATH_TO_SCRIPT="${ORIGINAL_PATH_TO_SCRIPT//\\//}"
|
|
BASE_DIR=`dirname "$CLEANED_PATH_TO_SCRIPT"`
|
|
|
|
cd $BASE_DIR/..
|
|
|
|
VERSION_STRING=$(git describe)
|
|
VERSION_STRING="${VERSION_STRING//-/_}"
|
|
VERSION_STRING="${VERSION_STRING//./_}"
|
|
VERSION_STRING="${VERSION_STRING%_*}"
|
|
|
|
PACKAGE_NAME=Coati_${VERSION_STRING}
|
|
|
|
echo -e $INFO Creating Package with Name: $PACKAGE_NAME
|
|
|
|
PACKAGE_DIR=release/$PACKAGE_NAME
|
|
|
|
|
|
echo -e $INFO Creating Folders
|
|
rm -rf $PACKAGE_DIR
|
|
mkdir -p $PACKAGE_DIR
|
|
|
|
mkdir -p $PACKAGE_DIR/data/color_schemes/
|
|
cp -u -r bin/app/data/color_schemes/* $PACKAGE_DIR/data/color_schemes/
|
|
mkdir -p $PACKAGE_DIR/data/fonts/
|
|
cp -u -r bin/app/data/fonts/* $PACKAGE_DIR/data/fonts/
|
|
mkdir -p $PACKAGE_DIR/data/gui/
|
|
cp -u -r bin/app/data/gui/* $PACKAGE_DIR/data/gui/
|
|
mkdir -p $PACKAGE_DIR/data/log/
|
|
mkdir -p $PACKAGE_DIR/data/projects/tutorial/src/
|
|
cp -u -r bin/app/data/projects/tutorial/src/* $PACKAGE_DIR/data/projects/tutorial/src/
|
|
cp -u -r bin/app/data/projects/tutorial/tutorial.xml $PACKAGE_DIR/data/projects/tutorial/
|
|
mkdir -p $PACKAGE_DIR/data/projects/tictactoe/src/
|
|
cp -u -r bin/app/data/projects/tictactoe/src/* $PACKAGE_DIR/data/projects/tictactoe/src/
|
|
cp -u -r bin/app/data/projects/tictactoe/tictactoe.xml $PACKAGE_DIR/data/projects/tictactoe/
|
|
|
|
cp -u -r bin/app/data/ApplicationSettings_for_package.xml $PACKAGE_DIR/data/ApplicationSettings.xml
|
|
cp -u -r bin/app/data/window_settings.ini $PACKAGE_DIR/data/
|
|
|
|
mkdir -p $PACKAGE_DIR/plugins/visual_studio/
|
|
cp -u -r ide_plugins/vs/coati_plugin_vs_2012.vsix $PACKAGE_DIR/plugins/visual_studio/
|
|
cp -u -r ide_plugins/vs/coati_plugin_vs_2013.vsix $PACKAGE_DIR/plugins/visual_studio/
|
|
cp -u -r ide_plugins/vs/coati_plugin_vs_2015.vsix $PACKAGE_DIR/plugins/visual_studio/
|
|
mkdir -p $PACKAGE_DIR/plugins/sublime_text/
|
|
cp -u -r ide_plugins/sublime_text/* $PACKAGE_DIR/plugins/sublime_text/
|
|
|
|
cp -u -r web/coati_manual.pdf $PACKAGE_DIR/
|
|
cp -u -r bin/app/Release/Coati.exe $PACKAGE_DIR/
|
|
cp -u -r setup/dynamic_libraries/windows/app/Release/* $PACKAGE_DIR/
|
|
|
|
|
|
read -r -p "Do you want to obfuscate the executable? [y/N] " response
|
|
case $response in
|
|
[yY][eE][sS]|[yY])
|
|
echo -e $INFO Obfuscating Executable
|
|
upx --brute $PACKAGE_DIR/Coati.exe
|
|
;;
|
|
*)
|
|
echo -e $INFO Skipping Obfuscation
|
|
;;
|
|
esac
|
|
|
|
|
|
echo -e $INFO Packaging Coati
|
|
cd ./release/
|
|
winrar a -afzip ${PACKAGE_NAME}_Windows.zip $PACKAGE_NAME
|
|
cd ../
|
|
|
|
|
|
echo -e $INFO Cleaning up
|
|
rm -rf $PACKAGE_DIR
|
|
|
|
echo -e $SUCCESS Packaging Complete! |