Começando

De Stoq Wiki
Ir para: navegação, pesquisa

Dependências

Primeiro, você deve ter todas as dependências instaladas.

No Ubuntu, rode o seguinte:

   sudo apt-get install python python-gtk2 python-zopeinterface python-psycopg2 python-imaging \
     python-reportlab postgresql postgresql-client python-dateutil python-mako python-gudev \
     python-poppler python-webkit python-twisted-core python-twisted-web librsvg2-common python-xlwt \
     gettext intltool git git-review python-setuptools pep8 pyflakes python-mock pylint python-storm

Obtendo o código fonte do Stoq

O jeito mais fácil é utilizar Repo instructions, ou caso preferir, o depreciado Stoq plugin for git.

Ele vai fazer um download do código fonte do stoq, stoqdrivers e kiwi, e ajudá-lo a configurar as variáveis de ambiente e outras coisas que o Stoq necessita para rodar perfeitamente:

Configurando o postgresql

Você pode configurar o postgresql de várias formas. A mais fácil é apenas criar um novo usuário de banco de dados. Para ser compatível com o wizard, você deve criar um usuário com o mesmo nome de usuário que o seu.

Em um sistema Debian/Ubuntu, você pode realizar isso com:

 sudo -u postgres createuser -dPs $USER


Para outros sistemas, apenas dê um su/ sudo para o usuário do postgres e rode createuser -ds

Configurando o Stoq

Após criar o usuário, você precisa criar um stoq.conf inicial. Isso é simples de se fazer utilizar o wizard de instalação do Stoq. Ele vai rodar automaticamente se você nunca utilizou o Stoq antes ou você possui uma pasta ~/.stoq vazia.

Starting stoq

Então, você já pode inicializar o Stoq:

 stoq

Opções de desenvolvedor:

 --sql = mostra todos os comandos sql
 --debug = roda no pdb e habilita algumas ferramentas de debug

Administrando a base de dados

stoqdbadmin contém um par de comandos que irão ajudar no desenvolvimento e administração da sua base de dados Stoq.

Utilize -v para uma saída mais verbosa.

shell

Cria um shell para a base de dados onde você pode executar comandos SQL.

console

Cria um console python com um ambiente Stoq totalmente configurado onde você pode manipular objetos de domínio.

updateschema

Atualiza o esquema da base de dados para a última versão.

Utilize a opção -b para evitar criar um backup.

init

Cria uma nova base de dados.

Utilize a opção -e para criar uma base de exemplos, a qual ajudara nos testes de desenvolvimento.

Isso também é utilizado para remover a base existente, quando você precisa reseta-la por alguma razão. Mas, tenha cuidado.

Agora, quando você terminar aqui, dê uma olhada na Documentação e comece a aprender sobre como os diferentes componentes do Stoq estão relacionados.

Working with Git

Submitting patches

  • Crie uma conta no Gerrit
  • Adicione a sua chave ssh
  • Change-Id

O gerrit adiciona um hook de commit (em .git/hooks/commit-msg) para adicionar um linha contendo o Change-Id que será utilizado para identificar uma mudança no gerrit mesmo que o SHA-1 do commit do git mude. O gerrit não irá adicionar um Change-Id se um já existir no commit.

Algumas vezes você precisa remover o Change-Id manualmente, por exemplo quando você trocou o branch que você enviou o patch. Ex: Primeiramente ele iria entrar no branch release-1, mas agora a mudança precisa ser enviada para o branch release-2.

  • Enviando um patch

Se você estiver utilizando o repo (Repo instructions), basta rodar o comando:

 $ repo upload

Se você utilizar a integração git-stoq, você terá um branch chamado review. Você pode simplesmente fazer:

 $ git review

para enviar o patch.

Isto é o mesmo que fazer (em uma forma mais verbosa):

 $ git push ssh://gerrit.async.com.br:29418/stoq.git HEAD:refs/for/master

Isto envia o seu os commits na sua árvore de trabalho atual (HEAD) para revisão (refs/for) no branch master (/master)

  • git commit --amend

Se você precisar atualizar um patch que já foi enviado para revisão, você pode fazer um "amend" no no commit anterior. Isto é feito para ter certeza que o Change-Id é o mesmo.

Remember to git add all the modified files or add the -a flag to git commit (all files) Lembre-se de adicionar todos os arquivos modificados ou adicionar uma flag -a no comando git commit.

  • atualizar para revisão

Se você precisar atualizar um patch no gerrit, simplesmente envie-o de novo com 'git review'.

  • Gerrit: botão de rebase

Se um patch que você dependia mudou de alguma forma, talvez você precise fazer um rebase nele. Isso pode ser feito baixando o patch e rodando rebase normalmente.

Alternativamen te você pode apenas clicar no botão rebase na interface do gerrit e ele fará isso para você.

Enviando o código

  • Assim que o código passar em todos os testes (assim a flag verified for setada) e um revisor aprovar o código, ele será integrado automáticamente. Alguém tem que clicar no botão 'submit' para isso acontecer.