Há 2 dias comecei um projeto que o code-nome ainda é GBrails (Greenbox On Rails).
A inspiração/metáfora vem do RubyOnRails, que é uma ferramente bem produtiva, apesar de alguns problemas de deployment.
Vários, eu disse váaaaarios usuários questionam, as razões pelas quais o Greenbox roda tao “plugado” no Netbeans, há vários motivos, mas este questionamento comecou aqui mesmo na empresa, onde há pessoas que usam o InteliJ IDEA e o Eclipse.
Havia um projeto de um desenvolvedor do Greenbox de tornár o que há para o NetBeans, real para o Eclipse, infelizmente o foco dele teve que ser um pouco diferente.
Bom, resolvi então criar algumas coisas para o mundo Eclipse, pelo menos montar uma forma simples de usar o Greenbox, dentro desta IDE.
Greenbox OnRails - Requisitos
1 - Usuário faz o Download de zip ou tar.gz
2 - Decompacata numa pasta por exemplo /opt/java/gbrails
3 - A estrutura desta pasta deve ser:
-build.xml
-build.properties
-web [arquivos app web ]
-src [arquivos fonte ]
-lib [bibliotecas (*.jar)]
-gb.sh ou gb.bat [utiliário shellscript e cmd(win)]
-structure [ pasta contendo a estrutura do projeto com arquitetura JSF+Spring+hibernate]
-projects [pasta com o projeto com build.xml, libs, src, xmls e etc de base para projetos novos, use a como workspace no eclipse]
4 - Criando um projeto:
./gb.sh create-project locadora =>Resultado: Deve criar uma pasta com nome locadora na pasta projects
5 - Na pasta project/locadora/src/app/ crie uma classe chamada TipoPagamento.java, e copie o seguinte código:
@Greenbox(tableName="tipo_conta")
public class TipoConta {
@GreenboxField(primaryKey="yes",columnName="codigo",label="Codigo")
public Integer codigoConta;
@GreenboxField(columnName="nome",label="Nome da Conta") public String nomeConta;
6 - Agora execute ant gb-generate no seu projeto Eclipse
7 - Verifique Sources Gerados.
Basicamente, estes sao os passos do GBRails.
Basicamente o que fiz foi criar uma nova Task Ant que descente de Javac, e processar as anotacoes dentro desta task, executando os parsers dos templates velocity. O resultado está satisfatório. Uma feature que devo implementar, é um controle de comparacao, para have restrições para evitar geração duplicadas, como NAO acontece na task Javac, devido a um método especial da mesma[1].
Registrando mais uma vez, que quem quiser receber o beta para realizar testes, basta enviar um e-mail para edgar (em) summa-tech.com , que disponibilizarei um endereco para baixar esse EARLY-ACCESS, cheio de bugs para que vocês ajudem e colaborem com um projeto que pode BENEFICIAR bastante voces.
[]’s
Edgar
[1] protected void scanDir(File srcDir, File destDir, String[] files)


Entries (RSS)