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.comhttp://twitter.com/renatobellia
Você precisa ser um membro de Spring Brasil User Group para adicionar comentários!
Entrar em Spring Brasil User Group