From b1bb2b05c4839ee3e6b4cebceab52c196ef29efe Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Fri, 22 Mar 2019 10:07:05 -0700 Subject: [PATCH] Unifiy all UNIX compile files into one --- README.md | 5 +- compile | 74 --------------- compile-git | 48 ---------- compile-git+java-sanityCheck.sh | 48 ---------- compile.sh | 157 ++++++++++++++++++++++++++++++++ 5 files changed, 159 insertions(+), 173 deletions(-) delete mode 100755 compile delete mode 100755 compile-git delete mode 100755 compile-git+java-sanityCheck.sh create mode 100755 compile.sh diff --git a/README.md b/README.md index b33a96a73bd..3440d8c0eaa 100644 --- a/README.md +++ b/README.md @@ -46,9 +46,8 @@ How to mod (basic doc): Linux: Ensure executable permission on file "devTools/tweeGo/tweego" (not tweego.exe!) - Ensure executable permission on file "compile" - In the root dir of sources (where you see src, devTools, bin...) run command "./compile" from console - compile-git will produce the same result file but with current commit hash in filename. + Ensure executable permission on file "compile.sh" + In the root dir of sources (where you see src, devTools, bin...) run command "./compile.sh" from console Mac: Not supported directly (I don't have access to Mac for testing). diff --git a/compile b/compile deleted file mode 100755 index fe95b68a0c2..00000000000 --- a/compile +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -mkdir -p bin - -while [[ "$1" ]] -do - case $1 in - --insane) - insane="true" - ;; - *) - echo "Unknown argument $1" - exit 1 - esac - shift -done - -# Find and insert current commit -COMMIT=$(git rev-parse --short HEAD) -sed -Ei "s/build .releaseID/\0 commit $COMMIT/" src/gui/mainMenu/AlphaDisclaimer.tw - -if [[ ! "$insane" ]] -then - # Run sanity check. - ./sanityCheck -fi - -export TWEEGO_PATH=devTools/tweeGo/storyFormats -TWEEGO_EXE="tweego" - -if hash $TWEEGO_EXE 2>/dev/null; then - echo "system tweego binary" -else - case "$(uname -m)" in - x86_64|amd64) - echo "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) - echo "x86 arch" - if [ "$(uname -s)" = "Darwin" ]; then - TWEEGO_EXE="./devTools/tweeGo/tweego_osx86" - else - TWEEGO_EXE="./devTools/tweeGo/tweego_nix86" - fi - ;; - *) - echo "No system tweego binary found, and no precompiled binary for your platform available" - echo "Please compile tweego and put the executable in PATH" - exit 2 - esac -fi - -$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 - 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 - -echo "bin/FC_pregmod.html compilation finished." diff --git a/compile-git b/compile-git deleted file mode 100755 index 2897281674b..00000000000 --- a/compile-git +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -mkdir -p bin - -# Run sanity check. -./sanityCheck - -HASH="$(git rev-list -n 1 --abbrev-commit HEAD)" - -export TWEEGO_PATH=devTools/tweeGo/storyFormats -TWEEGO_EXE="tweego" - -if hash $TWEEGO_EXE 2>/dev/null; then - echo "system tweego binary" -else - case "$(uname -m)" in - x86_64|amd64) - echo "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) - echo "x86 arch" - if [ "$(uname -s)" = "Darwin" ]; then - TWEEGO_EXE="./devTools/tweeGo/tweego_osx86" - else - TWEEGO_EXE="./devTools/tweeGo/tweego_nix86" - fi - ;; - *) - echo "No system tweego binary found, and no precompiled binary for your platform available" - echo "Please compile tweego and put the executable in PATH" - exit 2 - esac -fi - -$TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ --head devTools/head.html || build_failed="true" - -#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 - -echo "bin/FC_pregmod_$HASH.html compilation finished." diff --git a/compile-git+java-sanityCheck.sh b/compile-git+java-sanityCheck.sh deleted file mode 100755 index 2fd438b3d4f..00000000000 --- a/compile-git+java-sanityCheck.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -mkdir -p bin - -# Run sanity check. -./java+gitGrep-sanityCheck.sh - -HASH="$(git rev-list -n 1 --abbrev-commit HEAD)" - -export TWEEGO_PATH=devTools/tweeGo/storyFormats -TWEEGO_EXE="tweego" - -if hash $TWEEGO_EXE 2>/dev/null; then - echo "system tweego binary" -else - case "$(uname -m)" in - x86_64|amd64) - echo "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) - echo "x86 arch" - if [ "$(uname -s)" = "Darwin" ]; then - TWEEGO_EXE="./devTools/tweeGo/tweego_osx86" - else - TWEEGO_EXE="./devTools/tweeGo/tweego_nix86" - fi - ;; - *) - echo "No system tweego binary found, and no precompiled binary for your platform available" - echo "Please compile tweego and put the executable in PATH" - exit 2 - esac -fi - -$TWEEGO_EXE -o "bin/FC_pregmod_${HASH}_tmp.html" src/ --head devTools/head.html || build_failed="true" - -#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 - -echo "FC_pregmod_$HASH.html compilation finished." diff --git a/compile.sh b/compile.sh new file mode 100755 index 00000000000..9754f807d17 --- /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 + -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" ] && ./java+gitGrep-sanityCheck.sh + +[ -n "$python" ] && ./sanityCheck + +#compile +if [[ "$dry" ]]; then + echoMessage "Dry run finished." +else + compile + echoMessage "Compilation finished." +fi -- GitLab