Spring Brasil User Group

Fortalecendo a comunidade Spring no Brasil

Durante a demo de Roo no Spring Casual Class cometi um erro, ao executar o Roo Shell em um diretório diferente do que havia sido planejado. Conclusão, os artefatos do Roo foram criados onde eu não queria. Ao perceber o erro saí do Roo Shell, mudei para o diretório correto e avisei: "Vamos ter um replay dos comandos", aproveitando a oportunidade para reforçar como é realmente rápido construir software com o Roo Shell.


Do meio da platéia surgiu: "Não vai me dizer que o Roo tem um comando de replay ?". Tem sim - eu poderia ter utilizado o arquivo log.roo e o comando script. Na ocasião preferi fazer tudo de novo pelo Roo Shell, mas comentei brevemente a respeito do "replay". Esse recurso, na minha opinião, é um dos mais valiosos, e tem me ajudado bastante durante os projetos, e em minha curva de aprendizado com o Roo. Vamos tratar disso, e aproveitar para deixar registrado o exemplo que utilizei durante o Spring Casual Class.

Toda vez que executamos comandos pelo Roo Shell ganhamos de graça um histórico, gravado no arquivo log.roo, que fica na raiz do projeto. Esse arquivo pode ser utilizado com base para repetir comandos executados anteriormente (no mesmo projeto ou em outro projeto). A receita é a seguinte:
1 - Crie uma cópia do arquivo log.roo com outro nome, mantendo a extensão, e salve na raiz do projeto onde deve ser executado.
2 - Edite o arquivo, removendo comandos que não interessam e renomeando campos e classes, conforme a necessidade. Também podemos acrescentar novos comandos.
3 - Abra o Roo Shell e execute: script <nome do arquivo de historico>

Os comandos serão executados em seu projeto e o arquivo log.roo será atualizado com esses últimos comandos.

Faça a experiência:
1 - Crie um diretório qualquer
2 - Salve o conteúdo abaixo nesse diretório com o nome de arquivo casualclass.roo
3 - No diretório execute o Roo Shell e em seguida: script casualclass.roo


project --topLevelPackage globalcode.casualclass
persistence setup --database HYPERSONIC_IN_MEMORY --provider HIBERNATE
entity --class ~.model.Assunto
field string --fieldName descricao --sizeMin 5 --sizeMax 40 --notNull
field date --fieldName melhorData --type java.util.Date --persistenceType JPA_DATE --notNull --future
finder list --class ~.model.Assunto
finder add findAssuntoesByDescricaoLike
controller all --package ~.web
perform eclipse
quit



Detalhe: O Roo Shell embutido no STS 2.3.0 não gera entradas no log.roo. A previsão é que isso seja implementado no STS 2.3.1. Por enquanto eu vou de Roo Shell no terminal de comandos...

Boa semana e boa produtividade a todos !

Renato Bellia
http://notasingleshot.blogspot.com
http://twitter.com/renatobellia

Exibições: 16

Tags: roo

Comentar

Você precisa ser um membro de Spring Brasil User Group para adicionar comentários!

Entrar em Spring Brasil User Group

Comentário de Yara M. H. Senger em 8 março 2010 às 18:15
Que motivação em aprender e compartilhar. Não paro de ver posts, tweets, videos, ppts. Show de bola!

© 2012   Criado por Dr. Spock.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço