From f3cee6e6b53bc0a80132455e5bd32dd483c2d17e Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 8 Jun 2022 14:52:56 -0400 Subject: [PATCH] Build - make misc updates for having precompiled tau assets in build Updates: * ignore precompiled assets in clean scripts * remove precompiled assets in gitignore * run `assets.deploy.prod` mix command when doing pre-tau-dev-init * remove `assets.deploy.prod` command from linux offline build and add `deps.compile` * respect MIX_DEPS_PATH from tailwind config * remove reliance on tailwind/esbuild in test env --- app/linux-clean.sh | 10 ++++++---- app/linux-pre-tau-dev-init.sh | 8 ++++---- app/linux-pre-tau-prod-release.sh | 2 +- app/mac-pre-tau-dev-init.sh | 0 app/pi-pre-tau-dev-init.sh | 0 app/server/beam/tau/.gitignore | 7 ------- app/server/beam/tau/assets/tailwind.config.js | 2 +- app/server/beam/tau/boot-lin.sh | 1 - app/server/beam/tau/boot-mac.sh | 1 - app/server/beam/tau/boot-win.bat | 1 - app/win-clean.bat | 10 ++++++---- app/win-pre-tau-dev-init.bat | 1 + 12 files changed, 19 insertions(+), 24 deletions(-) mode change 100644 => 100755 app/linux-pre-tau-dev-init.sh mode change 100644 => 100755 app/mac-pre-tau-dev-init.sh mode change 100644 => 100755 app/pi-pre-tau-dev-init.sh diff --git a/app/linux-clean.sh b/app/linux-clean.sh index 5f747849bf..fde2785d44 100755 --- a/app/linux-clean.sh +++ b/app/linux-clean.sh @@ -12,11 +12,13 @@ rm -rf external/build echo "Cleaning out BEAM distribution..." rm -rf server/beam/tau/_build -rm -rf server/beam/tau/priv/static/assets rm -rf server/beam/tau/priv/*.{so,dylib,dll} -rm -rf server/beam/tau/priv/static/cache_manifest.json -find . -path './server/beam/tau/priv/static/*' -name '*.gz' -delete -find . -path './server/beam/tau/priv/static/*' -name '*-????????????????????????????????.*' -delete +if [ "$MIX_ENV" == dev ]; then + rm -rf server/beam/tau/priv/static/assets + rm -rf server/beam/tau/priv/static/cache_manifest.json + find . -path './server/beam/tau/priv/static/*' -name '*.gz' -delete + find . -path './server/beam/tau/priv/static/*' -name '*-????????????????????????????????.*' -delete +fi echo "Cleaning completed" diff --git a/app/linux-pre-tau-dev-init.sh b/app/linux-pre-tau-dev-init.sh old mode 100644 new mode 100755 index 5585d1ce2c..2c38c5db9b --- a/app/linux-pre-tau-dev-init.sh +++ b/app/linux-pre-tau-dev-init.sh @@ -3,12 +3,12 @@ set -e # Quit script on error SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" WORKING_DIR="$(pwd)" -MIX_ENV=prod mix local.hex --force -MIX_ENV=prod mix local.rebar --force -MIX_ENV=prod mix deps.get +MIX_ENV=dev mix local.hex --force +MIX_ENV=dev mix local.rebar --force +MIX_ENV=dev mix deps.get MIX_ENV=dev mix tailwind.install MIX_ENV=dev mix esbuild.install - +MIX_ENV=dev mix assets.deploy.prod # Restore working directory as it was prior to this script running... cd "${WORKING_DIR}" diff --git a/app/linux-pre-tau-prod-release.sh b/app/linux-pre-tau-prod-release.sh index a35fe2519b..a69939ca9d 100755 --- a/app/linux-pre-tau-prod-release.sh +++ b/app/linux-pre-tau-prod-release.sh @@ -31,7 +31,7 @@ echo "Compiling Erlang/Elixir files..." cd "${SCRIPT_DIR}"/server/beam/tau if [ "$offline_build" == true ]; then - MIX_ENV=prod mix assets.deploy.prod + MIX_ENV=prod mix deps.compile MIX_ENV=prod mix release --overwrite --no-deps-check else MIX_ENV=prod mix local.hex --force diff --git a/app/mac-pre-tau-dev-init.sh b/app/mac-pre-tau-dev-init.sh old mode 100644 new mode 100755 diff --git a/app/pi-pre-tau-dev-init.sh b/app/pi-pre-tau-dev-init.sh old mode 100644 new mode 100755 diff --git a/app/server/beam/tau/.gitignore b/app/server/beam/tau/.gitignore index abadf711b4..fa1fed2854 100644 --- a/app/server/beam/tau/.gitignore +++ b/app/server/beam/tau/.gitignore @@ -24,11 +24,6 @@ tau-*.tar # Temporary files, for example, from tests. /tmp/ -# Ignore assets that are produced by build tools. -/priv/static/assets/ - -# Ignore digested assets cache. -/priv/static/cache_manifest.json # In case you use Node.js/npm, you want to ignore these. npm-debug.log @@ -38,7 +33,5 @@ npm-debug.log /priv/*.so /priv/*.dylib /priv/*.dll -/priv/static/**/*.gz -/priv/static/**/*-????????????????????????????????.* /ebin/* /log/* diff --git a/app/server/beam/tau/assets/tailwind.config.js b/app/server/beam/tau/assets/tailwind.config.js index 509a4f6cec..2f972a66b9 100644 --- a/app/server/beam/tau/assets/tailwind.config.js +++ b/app/server/beam/tau/assets/tailwind.config.js @@ -4,7 +4,7 @@ module.exports = { content: [ "../lib/*_web/**/*.*ex", "./js/**/*.js", - "../deps/petal_components/**/*.*ex", + (process.env.MIX_DEPS_PATH || "../deps") + "/petal_components/**/*.*ex", ], theme: { extend: { diff --git a/app/server/beam/tau/boot-lin.sh b/app/server/beam/tau/boot-lin.sh index fc8133d826..1eb89be763 100755 --- a/app/server/beam/tau/boot-lin.sh +++ b/app/server/beam/tau/boot-lin.sh @@ -33,7 +33,6 @@ elif [ $TAU_ENV = "test" ] then export TAU_MIDI_ENABLED=false export TAU_LINK_ENABLED=false - mix assets.deploy.dev mix run --no-halt > log/tau_stdout.log 2>&1 else echo "Unknown TAU_ENV ${TAU_ENV} - expecting one of prod, dev or test." diff --git a/app/server/beam/tau/boot-mac.sh b/app/server/beam/tau/boot-mac.sh index 31e01b18d8..437ae42ca4 100755 --- a/app/server/beam/tau/boot-mac.sh +++ b/app/server/beam/tau/boot-mac.sh @@ -33,7 +33,6 @@ elif [ $TAU_ENV = "test" ] then export TAU_MIDI_ENABLED=false export TAU_LINK_ENABLED=false - mix assets.deploy.dev mix run --no-halt > log/tau_stdout.log 2>&1 else echo "Unknown TAU_ENV ${TAU_ENV} - expecting one of prod, dev or test." diff --git a/app/server/beam/tau/boot-win.bat b/app/server/beam/tau/boot-win.bat index 4ffd2d1243..22434ce45d 100644 --- a/app/server/beam/tau/boot-win.bat +++ b/app/server/beam/tau/boot-win.bat @@ -41,6 +41,5 @@ IF "%TAU_ENV%" == "dev" ( IF "%TAU_ENV%" == "test" ( set TAU_MIDI_ENABLED=false set TAU_LINK_ENABLED=false - mix assets.deploy.dev mix run --no-halt > log\tau_stdout.log 2>&1 ) diff --git a/app/win-clean.bat b/app/win-clean.bat index c5f9d6e038..a8d8418efc 100644 --- a/app/win-clean.bat +++ b/app/win-clean.bat @@ -10,11 +10,13 @@ rmdir external\build /s /q @echo Cleaning out BEAM distribution.... rmdir server\beam\tau\_build /s /q -rmdir server\beam\tau\priv\static\assets /s /q del server\beam\tau\priv\*.so server\beam\tau\priv\*.dylib server\beam\tau\priv\*.dll /s /q -del server\beam\tau\priv\static\cache_manifest.json /s /q -del server\beam\tau\priv\static\*.gz /s /q -del server\beam\tau\priv\static\*-????????????????????????????????.* /s /q +if %MIX_ENV%=="dev" ( + rmdir server\beam\tau\priv\static\assets /s /q + del server\beam\tau\priv\static\cache_manifest.json /s /q + del server\beam\tau\priv\static\*.gz /s /q + del server\beam\tau\priv\static\*-????????????????????????????????.* /s /q +) @echo Cleaning completed diff --git a/app/win-pre-tau-dev-init.bat b/app/win-pre-tau-dev-init.bat index 0fb89e5b84..53731b15c2 100644 --- a/app/win-pre-tau-dev-init.bat +++ b/app/win-pre-tau-dev-init.bat @@ -9,5 +9,6 @@ cmd /c mix local.rebar --force cmd /c mix deps.get cmd /c mix tailwind.install cmd /c mix esbuild.install +cmd /c mix assets.deploy.prod cd %WORKING_DIR%