Commit c640592e2468dcee6e72a95d8b54944a2cc1d885
1 parent
9eef7283
Exists in
master
Modificando forma de compilar/teste
Showing
10 changed files
with
94 additions
and
53 deletions
Show diff stats
.gitignore
| @@ -20,5 +20,10 @@ test/resultado.txt | @@ -20,5 +20,10 @@ test/resultado.txt | ||
| 20 | test-reports.xml | 20 | test-reports.xml |
| 21 | 21 | ||
| 22 | # Vagrant files # | 22 | # Vagrant files # |
| 23 | -################ | 23 | +################# |
| 24 | .vagrant | 24 | .vagrant |
| 25 | + | ||
| 26 | +# Enviroment files # | ||
| 27 | +#################### | ||
| 28 | +venv | ||
| 29 | +node_modules |
README.md
| @@ -27,15 +27,6 @@ Altere o arquivo 'app/profile' para apontar para o novo profile. Exemplo: | @@ -27,15 +27,6 @@ Altere o arquivo 'app/profile' para apontar para o novo profile. Exemplo: | ||
| 27 | 27 | ||
| 28 | Esses são comandos exemplos, por favor verifique no seu sistema como deve ser instalado. | 28 | Esses são comandos exemplos, por favor verifique no seu sistema como deve ser instalado. |
| 29 | 29 | ||
| 30 | - * flask | ||
| 31 | - pip install flask | ||
| 32 | - * assetgen | ||
| 33 | - pip install assetgen | ||
| 34 | - * config | ||
| 35 | - pip install config | ||
| 36 | - * tavutil | ||
| 37 | - pip install tavutil | ||
| 38 | - | ||
| 39 | * node.js | 30 | * node.js |
| 40 | apt-get install python-software-properties python g++ make | 31 | apt-get install python-software-properties python g++ make |
| 41 | add-apt-repository ppa:chris-lea/node.js | 32 | add-apt-repository ppa:chris-lea/node.js |
| @@ -43,44 +34,25 @@ Esses são comandos exemplos, por favor verifique no seu sistema como deve ser i | @@ -43,44 +34,25 @@ Esses são comandos exemplos, por favor verifique no seu sistema como deve ser i | ||
| 43 | apt-get install nodejs | 34 | apt-get install nodejs |
| 44 | apt-get install npm | 35 | apt-get install npm |
| 45 | 36 | ||
| 46 | - * coffeescript | ||
| 47 | - npm install -g coffee-script | ||
| 48 | - | ||
| 49 | * sass | 37 | * sass |
| 50 | apt-get install ruby-full build-essential | 38 | apt-get install ruby-full build-essential |
| 51 | apt-get install rubygems | 39 | apt-get install rubygems |
| 52 | gem install sass | 40 | gem install sass |
| 53 | sass -v | 41 | sass -v |
| 54 | 42 | ||
| 55 | - * uglifyjs | ||
| 56 | - npm install -g uglify-js | ||
| 57 | - (Debian ou Ubuntu: apt-get install node-uglify) | ||
| 58 | * zlib | 43 | * zlib |
| 59 | 44 | ||
| 45 | +## Para criar o ambiente de desenvolvimento execute: | ||
| 60 | 46 | ||
| 61 | -Para profiling é necessário além dos acima: | ||
| 62 | - | ||
| 63 | - * werkzeug | ||
| 64 | - | ||
| 65 | -Para testes headless é necessário também: | ||
| 66 | - | ||
| 67 | - * mocha | ||
| 68 | - npm install mocha | ||
| 69 | - | ||
| 70 | - * chai | ||
| 71 | - npm install chai | 47 | +> make venv |
| 72 | 48 | ||
| 73 | - * chai-jq | ||
| 74 | - npm install chai-jq | 49 | +## Para profiling é necessário além dos acima: |
| 75 | 50 | ||
| 76 | - * ejs | ||
| 77 | - npm install ejs | 51 | + * werkzeug |
| 78 | 52 | ||
| 79 | - * express | ||
| 80 | - npm install express | 53 | +E execute o |
| 81 | 54 | ||
| 82 | - * zombie | ||
| 83 | - npm install zombie | 55 | +> make profile |
| 84 | 56 | ||
| 85 | ## Usando vagrant: | 57 | ## Usando vagrant: |
| 86 | 58 | ||
| @@ -94,15 +66,19 @@ cd /vagrant/ | @@ -94,15 +66,19 @@ cd /vagrant/ | ||
| 94 | 66 | ||
| 95 | Execute o comando: | 67 | Execute o comando: |
| 96 | 68 | ||
| 97 | -> ./build.sh _profile_ | 69 | +> make run |
| 98 | 70 | ||
| 99 | -Se não for especificado nenhum _profile_ o profile _default_ será selecionado. | 71 | +O profile selecionado será o contido em _app/profile_ |
| 100 | 72 | ||
| 101 | ## Testes da barra | 73 | ## Testes da barra |
| 102 | 74 | ||
| 103 | Execute o comando: | 75 | Execute o comando: |
| 104 | 76 | ||
| 105 | -> mocha | 77 | +> make teste |
| 78 | + | ||
| 79 | +Para gerar um teste em XUNIT execute | ||
| 80 | + | ||
| 81 | +> make testReport | ||
| 106 | 82 | ||
| 107 | # Requisitos da Barra | 83 | # Requisitos da Barra |
| 108 | ---- | 84 | ---- |
app/barrabrasil.py
| @@ -58,10 +58,10 @@ def barra(): | @@ -58,10 +58,10 @@ def barra(): | ||
| 58 | resposta.headers['Last-Modified'] = data | 58 | resposta.headers['Last-Modified'] = data |
| 59 | return resposta | 59 | return resposta |
| 60 | 60 | ||
| 61 | -#if __name__ == '__main__': | ||
| 62 | -# import webbrowser | ||
| 63 | -# webbrowser.open("http://127.0.0.1:5000/",new=1) | ||
| 64 | -# app.run(host='0.0.0.0', debug=True) | 61 | +if __name__ == '__main__': |
| 62 | + import webbrowser | ||
| 63 | + webbrowser.open("http://127.0.0.1:5000/",new=1) | ||
| 64 | + app.run(host='0.0.0.0', debug=True) | ||
| 65 | #webbrowser.open("https://127.0.0.1:5000/",new=2) | 65 | #webbrowser.open("https://127.0.0.1:5000/",new=2) |
| 66 | #app.run(debug=False,ssl_context=ctx) | 66 | #app.run(debug=False,ssl_context=ctx) |
| 67 | 67 |
app/profile.py
| @@ -4,4 +4,6 @@ from barrabrasil import app | @@ -4,4 +4,6 @@ from barrabrasil import app | ||
| 4 | 4 | ||
| 5 | app.config['PROFILE'] = True | 5 | app.config['PROFILE'] = True |
| 6 | app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions = [30]) #30 que mais demoraram | 6 | app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions = [30]) #30 que mais demoraram |
| 7 | -app.run(debug = True) | 7 | +import webbrowser |
| 8 | +webbrowser.open("http://127.0.0.1:5000/",new=1) | ||
| 9 | +app.run(host='0.0.0.0', debug=True) |
build.sh
| @@ -4,7 +4,7 @@ if [ -n "$1" ] | @@ -4,7 +4,7 @@ if [ -n "$1" ] | ||
| 4 | then | 4 | then |
| 5 | profile=$1 | 5 | profile=$1 |
| 6 | else | 6 | else |
| 7 | - profile='default' | 7 | + profile=$(cat app/profile | awk 'FNR == 1 {print $3}') |
| 8 | fi | 8 | fi |
| 9 | 9 | ||
| 10 | if test -d "recipes/$profile" | 10 | if test -d "recipes/$profile" |
| @@ -15,9 +15,11 @@ then | @@ -15,9 +15,11 @@ then | ||
| 15 | touch profile | 15 | touch profile |
| 16 | echo 'profile :' $profile > profile | 16 | echo 'profile :' $profile > profile |
| 17 | echo 'date : "'$(date -R)'"'>> profile | 17 | echo 'date : "'$(date -R)'"'>> profile |
| 18 | - mkdir templates/$profile | 18 | + if test ! -d "templates/$profile" |
| 19 | + then | ||
| 20 | + mkdir templates/$profile | ||
| 21 | + fi | ||
| 19 | cp templates/$profile/* static/ #Copiando enquanto a barra é estática. | 22 | cp templates/$profile/* static/ #Copiando enquanto a barra é estática. |
| 20 | - python barrabrasil.py | ||
| 21 | else | 23 | else |
| 22 | - echo "Error. Profile $1 does not exist." | 24 | + echo "Erro. O profile '$profile' não existe." |
| 23 | fi | 25 | fi |
| @@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
| 1 | +# Makefile | ||
| 2 | +run: build | ||
| 3 | + venv/bin/python app/barrabrasil.py | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +profile: build | ||
| 7 | + venv/bin/python app/profile.py | ||
| 8 | + | ||
| 9 | +build: venv | ||
| 10 | + sh ./build.sh | ||
| 11 | + | ||
| 12 | +venv: venv/bin/activate | ||
| 13 | +venv/bin/activate: requirements.txt package.json | ||
| 14 | + test -d .env || virtualenv --no-site-packages venv | ||
| 15 | + venv/bin/pip install -Ur requirements.txt | ||
| 16 | + touch venv/bin/activate | ||
| 17 | + npm install | ||
| 18 | + | ||
| 19 | +testReport: | ||
| 20 | + npm run testReport | ||
| 21 | + | ||
| 22 | +teste: | ||
| 23 | + npm test | ||
| 24 | + | ||
| 25 | + | ||
| 26 | + | ||
| 27 | + |
| @@ -0,0 +1,25 @@ | @@ -0,0 +1,25 @@ | ||
| 1 | +{ | ||
| 2 | +"name": "BarraBrasil", | ||
| 3 | +"description": "Barra oficial do governo federal brasileiro", | ||
| 4 | +"version": "2.1.3", | ||
| 5 | +"engines": { | ||
| 6 | +"node": "~0.10" | ||
| 7 | +}, | ||
| 8 | +"dependencies": { | ||
| 9 | +"jsdom": "3.1.2", | ||
| 10 | +"uglifyjs": "*", | ||
| 11 | +"coffee-script": "*", | ||
| 12 | +"express": "*", | ||
| 13 | +"chai": "*", | ||
| 14 | +"chai-jq": "*", | ||
| 15 | +"mocha": "*", | ||
| 16 | +"zombie": "*", | ||
| 17 | +"ejs": "*" | ||
| 18 | +}, | ||
| 19 | +"optionalDependencies": {}, | ||
| 20 | +"scripts": { | ||
| 21 | +"testReport": "./node_modules/.bin/mocha --timeout 30000 --recursive -R xunit test/ > test-reports.xml", | ||
| 22 | +"test": "./node_modules/.bin/mocha --timeout 30000 --recursive test/" | ||
| 23 | +} | ||
| 24 | +} | ||
| 25 | + |
recipes/default/assets.json
recipes/default/compile.sh
| 1 | #!/bin/sh | 1 | #!/bin/sh |
| 2 | -assetgen ./barra-brasil-1.yaml | ||
| 3 | -assetgen ./barra-brasil-2.yaml | ||
| 4 | -assetgen ./footer-brasil-1.yaml | ||
| 5 | -assetgen ./footer-brasil-2.yaml | ||
| 6 | -assetgen ./barra-brasil-final.yaml | 2 | +export PATH=$PATH:../../node_modules/.bin/ |
| 3 | +../../venv/bin/assetgen ./barra-brasil-1.yaml | ||
| 4 | +../../venv/bin/assetgen ./barra-brasil-2.yaml | ||
| 5 | +../../venv/bin/assetgen ./footer-brasil-1.yaml | ||
| 6 | +../../venv/bin/assetgen ./footer-brasil-2.yaml | ||
| 7 | +../../venv/bin/assetgen ./barra-brasil-final.yaml | ||
| 7 | 8 |