From a2d86af130f86346769268b247db0ac9c8e31354 Mon Sep 17 00:00:00 2001 From: Vasileios Pasialiokis <whiterocket@outlook.com> Date: Sun, 26 May 2019 01:47:14 +0300 Subject: [PATCH] patch makefile, restore compile.sh --- makefile => Makefile | 2 +- compile.sh | 157 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+), 1 deletion(-) rename makefile => Makefile (92%) create mode 100755 compile.sh diff --git a/makefile b/Makefile similarity index 92% rename from makefile rename to Makefile index c2621728c51..01b6ad76a42 100644 --- a/makefile +++ b/Makefile @@ -30,7 +30,7 @@ bin/FC_pregmod.html: bin/FC_pregmod_tmp mv $< $@ bin/FC_pregmod_tmp: src/gui/mainMenu/AlphaDisclaimer.tw - $(TWEEGO) -o $@ src/ --head devTools/head.html + TWEEGO_PATH=devTools/tweeGo/storyFormats $(TWEEGO) -o $@ src/ --head devTools/head.html ./devTools/embed_favicon.py $@ src/gui/mainMenu/AlphaDisclaimer.tw: diff --git a/compile.sh b/compile.sh new file mode 100755 index 00000000000..2c4a6fc90af --- /dev/null +++ b/compile.sh @@ -0,0 +1,157 @@ +#!/bin/bash + +output=/dev/stdout + +# displays help text +function displayHelp { + cat << HelpText +Usage: compile.sh [OPTION]... + +Options: + -d, --dry Do not compile + -g, --git Add hash of HEAD to filename + -h, --help Show this help text + -j, --java Run sanityCheck based on java (recommended) + -p, --python Run sanityCheck based on python + -q, --quiet Suppress terminal output +HelpText +} + +#display an error message +function echoError { + echo -e "\033[0;31m$@\033[0m" +} + +#display message +function echoMessage { + echo "$1" > "${output}" +} + +#compile the HTML file +function compile { + + mkdir -p bin + + export TWEEGO_PATH=devTools/tweeGo/storyFormats + TWEEGO_EXE="tweego" + + if hash $TWEEGO_EXE 2>/dev/null; then + echoMessage "system tweego binary" + else + case "$(uname -m)" in + x86_64|amd64) + echoMessage "x64 arch" + if [ "$(uname -s)" = "Darwin" ]; then + TWEEGO_EXE="./devTools/tweeGo/tweego_osx64" + else + TWEEGO_EXE="./devTools/tweeGo/tweego_nix64" + fi + ;; + x86|i[3-6]86) + echoMessage "x86 arch" + if [ "$(uname -s)" = "Darwin" ]; then + TWEEGO_EXE="./devTools/tweeGo/tweego_osx86" + else + TWEEGO_EXE="./devTools/tweeGo/tweego_nix86" + fi + ;; + *) + echoError "No system tweego binary found, and no precompiled binary for your platform available." + echoError "Please compile tweego and put the executable in PATH." + exit 2 + esac + fi + + if [[ "$usehash" ]]; then + HASH="$(git rev-list -n 1 --abbrev-commit HEAD)" + + $TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ --head devTools/head.html || build_failed="true" + + if [ "$build_failed" = "true" ] + then + echoError "Build failed." + exit 1 + fi + + #Make the output prettier, replacing \t with a tab and \n with a newline + sed -i -e '/^<div id="store-area".*$/s/\\t/\t/g' -e '/^<div id="store-area".*$/s/\\n/\n/g' "bin/FC_pregmod_${HASH}_tmp.html" \ + && mv "bin/FC_pregmod_${HASH}_tmp.html" "bin/FC_pregmod_${HASH}.html" + + ln -s ../resources bin/ 2> /dev/null + + echoMessage "Saved to bin/FC_pregmod_$HASH.html." + + else + # Find and insert current commit + COMMIT=$(git rev-parse --short HEAD) + sed -Ei "s/build .releaseID/\0 commit $COMMIT/" src/gui/mainMenu/AlphaDisclaimer.tw + + $TWEEGO_EXE -o "bin/FC_pregmod_tmp.html" src/ --head devTools/head.html || build_failed="true" + + # Revert AlphaDisclaimer for next compilation + git checkout -- src/gui/mainMenu/AlphaDisclaimer.tw + + if [ "$build_failed" = "true" ] + then + echoError "Build failed." + exit 1 + fi + + #Make the output prettier, replacing \t with a tab and \n with a newline + sed -i -e '/^.*<div id="store-area".*$/s/\\t/\t/g' -e '/^.*<div id="store-area".*$/s/\\n/\n/g' bin/FC_pregmod_tmp.html \ + && mv bin/FC_pregmod_tmp.html bin/FC_pregmod.html + + ln -s ../resources bin/ 2> /dev/null + + echoMessage "Saved to bin/FC_pregmod.html." + fi +} + +if [[ "$1" == "" ]]; then + #tip if no option + echoMessage "For more options see compile.sh -h." +else + #parse options + while [[ "$1" ]] + do + case $1 in + -d|--dry) + dry="true" + ;; + -g|--git) + usehash="true" + ;; + -h|--help) + displayHelp + exit 0 + ;; + -j|--java) + java="true" + ;; + -p|--python) + python="true" + ;; + -q|--quiet) + output=/dev/null + ;; + *) + echoError "Unknown argument $1." + displayHelp + exit 1 + esac + shift + done +fi + +# Run sanity check. +[ -n "$java" ] && ./sanityCheck.sh java + +[ -n "$python" ] && ./sanityCheck.sh + +#compile +if [[ "$dry" ]]; then + echoMessage "Dry run finished." +else + compile + echoMessage "Compilation finished." +fi -- GitLab