From 49adf8ef79bb47b58d0f5a99470b6f1a9913417b Mon Sep 17 00:00:00 2001 From: Babil Golam Sarwar Date: Mon, 14 May 2018 14:19:20 +1000 Subject: [PATCH] Add MinGW build support and minor refactoring --- package.json | 2 +- scripts/build.sh | 39 +++++++++++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 2947af47..06f49c35 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "webpack": "^3.8.1" }, "scripts": { - "build": "scripts/build.sh", + "build": "sh scripts/build.sh", "watch": "echo 'watch is broken, use build instead'; exit 0; chokidar src scripts --initial --silent -i 'src/excmds_{background,content}.ts' -i 'src/static/docs' -c 'npm run build'", "clean": "rm -rf build generated", "test": "npm run build && jest --silent", diff --git a/scripts/build.sh b/scripts/build.sh index d6f60843..b85180bc 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -2,25 +2,52 @@ set -e -PATH=$(npm bin):"$PATH" -export PATH CLEANSLATE="node_modules/cleanslate/docs/files/cleanslate.css" +isWindowsMingw() { + local is_mingw="False" + if [ "$(uname | cut -c 1-5)" == "MINGW" ]; then + is_mingw="True" + fi + + echo -n "${is_mingw}" +} + +if [ "$(isWindowsMingw)" == "True" ]; then + NPM_BIN_DIR="$(cygpath $(npm bin))" + PATH=$NPM_BIN_DIR:$PATH +else + PATH="$(npm bin):$PATH" +fi + +export PATH + +mkdir -p build +mkdir -p build/static mkdir -p generated/static mkdir -p generated/static/clippy + scripts/excmds_macros.py scripts/newtab.md.sh scripts/make_tutorial.sh scripts/make_docs.sh & -nearleyc src/grammars/bracketexpr.ne > src/grammars/.bracketexpr.generated.ts -native/install.sh local -(webpack --display errors-only && scripts/git_version.sh)& +nearleyc src/grammars/bracketexpr.ne \ + > src/grammars/.bracketexpr.generated.ts + +if [ "$(isWindowsMingw)" == "True" ]; then + powershell native/win_install.ps1 +else + native/install.sh local +fi + +(webpack --display errors-only \ + && scripts/git_version.sh) & wait if [ -e "$CLEANSLATE" ] ; then - cp "$CLEANSLATE" build/static/cleanslate.css + cp -v "$CLEANSLATE" build/static/cleanslate.css else echo "Couldn't find cleanslate.css. Try running 'npm install'" fi