Melhorias no build, cria build-watch

This commit is contained in:
Leo Germani 2017-11-06 12:02:51 -02:00
parent 95d00ed9e1
commit 33e86ece1d
7 changed files with 29 additions and 13 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
build-config.sh build-config.cfg
src/style.css src/style.css
src/style.css.map src/style.css.map
src/scss/.sass-cache src/scss/.sass-cache

View File

@ -15,7 +15,7 @@ Nesse repositorio temos duas pastas:
* src/ - onde fica o código do plugins * src/ - onde fica o código do plugins
* tests/ - onde ficam as ferramentas de testes * 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. 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: 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 * 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. * 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. 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** **Extras**

2
build-config-sample.cfg Executable file
View File

@ -0,0 +1,2 @@
# the destination folder, inside the plugins folder of some WordPress installation
destination=~/devel/wordpress/wp-content/plugins/test-tainacan

View File

@ -1,3 +0,0 @@
#!/usr/bin/env bash
destination=~/devel/wordpress/wp-content/plugins/Test_Tainacan

11
build-watch.sh Executable file
View File

@ -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

8
build.sh Normal file → Executable file
View File

@ -1,10 +1,12 @@
#!/usr/bin/env bash #!/bin/bash
#source build-config.sh #source build-config.cfg
destination=~/devel/wordpress/wp-content/plugins/test-tainacan source build-config.cfg
#destination=~/devel/wordpress/wp-content/plugins/test-tainacan
sh compile-sass.sh sh compile-sass.sh
echo "Atualizando arquivos em $destination"
rm -r $destination rm -r $destination
mkdir $destination mkdir $destination
cp -R src/* $destination/ cp -R src/* $destination/

View File

@ -11,7 +11,6 @@ echo "Compilando Sass..."
cd src/scss cd src/scss
sass -E 'UTF-8' style.scss:../style.css sass -E 'UTF-8' style.scss:../style.css
echo "Sass Compilado"
echo "Compilação do Sass Concluído!" echo "Compilação do Sass Concluído!"
exit 0 exit 0