Browse Source

Move scripts para pasta scripts (#1933)

* Aprimorando script check_migrations.sh para executa-lo de qualquer pasta do repositório

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Movendo script check_migrations.sh para a pasta scripts

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Atualizando caminho do arquivo check_migrations.sh em .travis.yml e hooks/pre-commit

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Modificando script fix_qa.sh para executar sempre na raiz do repositório

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Movendo script fix_qa.sh para a pasta scripts/django/

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Removendo caminho hard-coded do script redbaron

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adaptando script reset_all_migrations.sh. Sempre executará a partir da raiz do repositório

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adaptando script gerar_grafico_apps.sh

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Alterando scripts de QA para executar sempre na raiz do projeto

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Fix QA script auto reference

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>
pull/1942/head
Eliseu Egewarth 7 years ago
committed by Edward
parent
commit
a8084b7293
  1. 6
      .travis.yml
  2. 10
      scripts/django/check_migrations.sh
  3. 4
      scripts/django/check_qa.sh
  4. 2
      scripts/django/fix_qa.sh
  5. 3
      scripts/django/gerar_grafico_apps.sh
  6. 5
      scripts/django/reset_all_migrations.sh
  7. 5
      scripts/django/test_and_check_qa.sh
  8. 2
      scripts/hooks/pre-commit
  9. 14
      scripts/redbaron.py

6
.travis.yml

@ -1,7 +1,7 @@
language: python language: python
python: python:
- 3.4.3 - 3.5
services: services:
- postgresql - postgresql
@ -14,13 +14,13 @@ before_script:
- cp sapl/.env_test sapl/.env - cp sapl/.env_test sapl/.env
- psql -c "CREATE USER sapl WITH PASSWORD 'sapl'" -U postgres; - psql -c "CREATE USER sapl WITH PASSWORD 'sapl'" -U postgres;
- psql -c "CREATE DATABASE sapl OWNER sapl;" -U postgres - psql -c "CREATE DATABASE sapl OWNER sapl;" -U postgres
- ./check_migrations.sh - ./scripts/django/check_migrations.sh
script: script:
- ./manage.py migrate - ./manage.py migrate
- ./manage.py bower install - ./manage.py bower install
- py.test --create-db - py.test --create-db
# - ./test_and_check_qa.sh # - ./scripts/django/test_and_check_qa.sh
addons: addons:
hosts: hosts:

10
check_migrations.sh → scripts/django/check_migrations.sh

@ -11,13 +11,15 @@
# A chamada do django 1.10 INVERTE ISSO. # A chamada do django 1.10 INVERTE ISSO.
# #
# https://docs.djangoproject.com/en/1.10/ref/django-admin/#cmdoption-makemigrations-check # https://docs.djangoproject.com/en/1.10/ref/django-admin/#cmdoption-makemigrations-check
if python manage.py makemigrations --dry-run --exit > /dev/null; then
git_project_root=$(git rev-parse --show-toplevel)
if python ${git_project_root}/manage.py makemigrations --dry-run --exit > /dev/null; then
NC='\033[0m' NC='\033[0m'
RED='\033[0;31m' RED='\033[0;31m'
echo echo
echo -e "${RED}ALGUMAS ALTERAÇÕES EXIGEM MIGRAÇÃO.${NC}" echo -e "${RED}ALGUMAS ALTERAÇÕES EXIGEM MIGRAÇÃO.${NC}"
echo -e "${RED}RODE 'python manage.py makemigrations' ANTES DE SUBMETER SEU CÓDIGO...${NC}" echo -e "${RED}Execute o comando 'python manage.py makemigrations' ANTES DE SUBMETER SEU CÓDIGO...${NC}"
echo -e "${RED}lembre de adicionar os arquivos criados ao git com 'git add .' ou semelhante.${NC}" echo -e "${RED}Lembre de adicionar os arquivos criados ao git com 'git add <arquivo>' ou semelhante.${NC}"
echo echo
exit 1 exit 1
fi fi

4
check_qa.sh → scripts/django/check_qa.sh

@ -2,6 +2,10 @@
# Verifica se um breakpoint foi esquecido no código # Verifica se um breakpoint foi esquecido no código
me=`basename "$0"` me=`basename "$0"`
git_project_root=$(git rev-parse --show-toplevel)
cd ${git_project_root}
busca=`grep --color=auto --exclude=$me --exclude=ipython_log.py* -r -l "pdb.set_trace()" .` busca=`grep --color=auto --exclude=$me --exclude=ipython_log.py* -r -l "pdb.set_trace()" .`
if [ ! -z "$busca" ] if [ ! -z "$busca" ]

2
fix_qa.sh → scripts/django/fix_qa.sh

@ -8,5 +8,7 @@
# Uma forma simples de fazer isso é adicionando antes suas mudanças à # Uma forma simples de fazer isso é adicionando antes suas mudanças à
# "staging area" do git, com `git add .` e após usar o script `git diff`. # "staging area" do git, com `git add .` e após usar o script `git diff`.
git_project_root=$(git rev-parse --show-toplevel)
cd ${git_project_root}
isort --recursive --skip='migrations' --skip='templates' --skip='ipython_log.py*' . isort --recursive --skip='migrations' --skip='templates' --skip='ipython_log.py*' .
autopep8 --in-place --recursive . --exclude='migrations,ipython_log.py*' autopep8 --in-place --recursive . --exclude='migrations,ipython_log.py*'

3
scripts/gerar_grafico_apps.sh → scripts/django/gerar_grafico_apps.sh

@ -1,3 +1,6 @@
#!/bin/bash #!/bin/bash
git_project_root=$(git rev-parse --show-toplevel)
cd ${git_project_root}
python -c "from sapl.settings import SAPL_APPS; print(*[s.split('.')[-1] for s in SAPL_APPS])" | xargs -t ./manage.py graph_models -d -g -o zzz.png -l fdp python -c "from sapl.settings import SAPL_APPS; print(*[s.split('.')[-1] for s in SAPL_APPS])" | xargs -t ./manage.py graph_models -d -g -o zzz.png -l fdp

5
scripts/reset_all_migrations.sh → scripts/django/reset_all_migrations.sh

@ -3,6 +3,11 @@
# Sends all django migrations to the trash bin # Sends all django migrations to the trash bin
# Requires trash-cli. To install: # Requires trash-cli. To install:
# sudo apt-get install trash-cli # sudo apt-get install trash-cli
hash trash-put 2>/dev/null || { echo >&2 "I require trash-put but it's not installed. Aborting."; exit 1; }
git_project_root=$(git rev-parse --show-toplevel)
cd ${git_project_root}
find -name 00*.py | grep /migrations/ | xargs trash-put find -name 00*.py | grep /migrations/ | xargs trash-put
# Make all migrations from scratch # Make all migrations from scratch

5
test_and_check_qa.sh → scripts/django/test_and_check_qa.sh

@ -2,6 +2,9 @@
# QA checks: run this before every commit # QA checks: run this before every commit
git_project_root=$(git rev-parse --show-toplevel)
cd ${git_project_root}
py.test py.test
py.test --ds=sapl.crud.tests.settings sapl/crud/tests py.test --ds=sapl.crud.tests.settings sapl/crud/tests
./check_qa.sh ./scripts/django/check_qa.sh

2
scripts/hooks/pre-commit

@ -4,5 +4,5 @@
if git diff --cached --name-status | grep -q '^M.*models\.py$'; then if git diff --cached --name-status | grep -q '^M.*models\.py$'; then
# se a checagem de migrations falhar impedimos o commit # se a checagem de migrations falhar impedimos o commit
set -e set -e
./check_migrations.sh ./scripts/django/check_migrations.sh
fi fi

14
scripts/redbaron.py

@ -1,10 +1,14 @@
import os import os
import re import re
import subprocess
from redbaron import RedBaron from redbaron import RedBaron
from redbaron.nodes import EndlNode, ReturnNode, StringNode from redbaron.nodes import EndlNode, ReturnNode, StringNode
root = '/home/mazza/work/sapl' git_project_root = subprocess.Popen(
["git", "rev-parse", "--show-toplevel"],
stdout=subprocess.PIPE
).communicate()[0].decode('utf-8').replace('\n', '')
def ignorado(path, name): def ignorado(path, name):
@ -13,13 +17,13 @@ def ignorado(path, name):
'relatorios/templates.*', 'relatorios/templates.*',
'.*/migrations', '.*/migrations',
]: ]:
if re.match(os.path.join(root, pattern), path): if re.match(os.path.join(git_project_root, pattern), path):
return True return True
return name.startswith('ipython_log.py') or name == 'manage.py' return name.startswith('ipython_log.py') or name == 'manage.py'
filenames = [os.path.join(path, name) filenames = [os.path.join(path, name)
for path, subdirs, files in os.walk(root) for path, subdirs, files in os.walk(git_project_root)
for name in files for name in files
if name.endswith('.py') and not ignorado(path, name)] if name.endswith('.py') and not ignorado(path, name)]
@ -37,7 +41,7 @@ def build_red(filename):
def write(node): def write(node):
red = node.root red = node.git_project_root
with open(red.__filename__, "w") as source_code: with open(red.__filename__, "w") as source_code:
source_code.write(red.dumps()) source_code.write(red.dumps())
@ -82,7 +86,7 @@ def fix(n):
def local(node): def local(node):
res = '%s:%s' % (node.root.__filename__, res = '%s:%s' % (node.git_project_root.__filename__,
node.absolute_bounding_box.top_left.line) node.absolute_bounding_box.top_left.line)
os.system("echo '%s' | xclip -selection c" % res) os.system("echo '%s' | xclip -selection c" % res)
return res return res

Loading…
Cancel
Save