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 |