From 33e86ece1d491d4246a1c7bdcb27bcefb6789a8c Mon Sep 17 00:00:00 2001 From: Leo Germani Date: Mon, 6 Nov 2017 12:02:51 -0200 Subject: [PATCH] Melhorias no build, cria build-watch --- .gitignore | 2 +- README.md | 13 +++++++++---- build-config-sample.cfg | 2 ++ build-config-sample.sh | 3 --- build-watch.sh | 11 +++++++++++ build.sh | 8 +++++--- compile-sass.sh | 3 +-- 7 files changed, 29 insertions(+), 13 deletions(-) create mode 100755 build-config-sample.cfg delete mode 100644 build-config-sample.sh create mode 100755 build-watch.sh mode change 100644 => 100755 build.sh diff --git a/.gitignore b/.gitignore index 9fb7ecd4b..e91fdf61e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -build-config.sh +build-config.cfg src/style.css src/style.css.map src/scss/.sass-cache \ No newline at end of file diff --git a/README.md b/README.md index 1301f2d4c..f80f2d39a 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Nesse repositorio temos duas pastas: * src/ - onde fica o código do plugins * tests/ - onde ficam as ferramentas de testes -Na pasta `src` temos os arquivos normais de um plugin de WP. Essa será a pasta base do plugin e apenas o que estiver aí dentro é o que vai pra distribuição final do plugin. Já criei uns métodos quaisquer lá pra poder testar uma classe fictícia `TainacanCollections`. +Na pasta `src` temos os arquivos normais de um plugin de WP. Essa será a pasta base do plugin e apenas o que estiver aí dentro é o que vai pra distribuição final do plugin. Aí dentro podem haver arquivos sass e js que ainda serão compilados no build. @@ -23,9 +23,10 @@ Na pasta `tests` temos a suíte de testes e as ferramentas para configurá-la. J Na raíz temos alguns scripts importantes: -* build.sh - é o que faz o build (tá bem tosco ainda) +* build.sh - é o que faz o build (basicamente compila sass e o q precisar e copia os arquivos pro destino) +* build-watch.sh - para ficar observando a pasta `src` por mudançar e rodar automaticamente o buid. Útil para quando estivermos desenvolvendo para não precisar rodar o build na mão a cada mudança +* build-config-sample.cfg - Arquivo exemplo, deve ser duplicado e salvo como `build-config.cfg` * compile-sass.sh - compila os arquivos scss do plugin -* run-tests.sh - monta o ambiente de testes e roda os testes * outros arquivos do phpunit que podemos testar pra ver se precisam ficar assim na raíz mesmo. @@ -52,7 +53,11 @@ Os parâmetros são: Esse comando só precisa rodar uma vez. pra instalar o ambiente. -Depois disso, pra rodar os testes, é só rodar o comando `phpunit`. +Por padrão, ele instala o wordpress em `/tmp`, mas vc pode alterá-lo para instalar em qq lugar. Caso faça isso, será preciso alterar o bootstrap.php também para apontar para esse novo lugar. + +Dessa maneira vc pode ter o seu ambiente de testes instalado em um lugar q não se destrua (como o `/tmp`) e fia ali pra sempre. Vamos melhorar esses scripts de inicialização pra deixar isso mais fácil. + +Depois disso, pra rodar os testes, é só rodar o comando `phpunit` a partir da raíz do repositorio. **Extras** diff --git a/build-config-sample.cfg b/build-config-sample.cfg new file mode 100755 index 000000000..7cb0cea98 --- /dev/null +++ b/build-config-sample.cfg @@ -0,0 +1,2 @@ +# the destination folder, inside the plugins folder of some WordPress installation +destination=~/devel/wordpress/wp-content/plugins/test-tainacan \ No newline at end of file diff --git a/build-config-sample.sh b/build-config-sample.sh deleted file mode 100644 index f32ea2442..000000000 --- a/build-config-sample.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -destination=~/devel/wordpress/wp-content/plugins/Test_Tainacan \ No newline at end of file diff --git a/build-watch.sh b/build-watch.sh new file mode 100755 index 000000000..4977df4db --- /dev/null +++ b/build-watch.sh @@ -0,0 +1,11 @@ +#!/bin/sh +## Run the build script whenever there is a change in src folder + + +echo 'Watching changes on src/' + +while inotifywait -qqr src -e create,move,modify,delete; do + echo + echo 'Change detected, running build' + ./build.sh +done \ No newline at end of file diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 index afac59dee..c5a56d2fd --- a/build.sh +++ b/build.sh @@ -1,10 +1,12 @@ -#!/usr/bin/env bash +#!/bin/bash -#source build-config.sh -destination=~/devel/wordpress/wp-content/plugins/test-tainacan +#source build-config.cfg +source build-config.cfg +#destination=~/devel/wordpress/wp-content/plugins/test-tainacan sh compile-sass.sh +echo "Atualizando arquivos em $destination" rm -r $destination mkdir $destination cp -R src/* $destination/ diff --git a/compile-sass.sh b/compile-sass.sh index 963d9d66a..938ef388d 100644 --- a/compile-sass.sh +++ b/compile-sass.sh @@ -11,7 +11,6 @@ echo "Compilando Sass..." cd src/scss sass -E 'UTF-8' style.scss:../style.css -echo "Sass Compilado" - + echo "Compilação do Sass Concluído!" exit 0