Pessoal,
Tenho hoje 3 projetos em VRaptor 4 e estou incomodado com a repetição de código que tenho nos 3.
EX: Toda a papagaiada de controle de acesso, sessão de usuário, interceptor, factories de hibernate/jpa, DAO's abstratos, utilitários etc.
Quando começo o projeto novo, são umas 25 classes que copio de um projeto para outro, alterando linhas pontuais de uma para outra.
O maior problema é que as vezes evoluo uma dessas classes, e com vários processos de evolução, rapidamente tenho 3 classes diferentes (uma em cada projeto) que deveriam ser iguais.
Resumindo, quero estruturar módulos dentro da minha organização para que esses componentes sejam compartilhados e reusáveis pela equipe de desenvolvimento.
Daí vem minha pergunta, gostaria de saber se alguém tem algo similar estruturado e como trabalha com isso. Pensei a principio em 2 opções:
- Módulos Maven estilo biblioteca. O maior drawback dessa abordagem é que ou eu teria que configurar um repositório maven privado para publicar as bibliotecas ou cada dev teria que instalar localmente todas as libs que o projeto depende.
- Módulos realmente independentes, com deploy independente, onde os recursos seriam disponibilizados como "serviços". Essa é complicada, pois tem alguns códigos que não encaixam como serviços.
- (Essa não sei se é possível). Diferentes projetos onde configuraria as dependências como propriedade do próprio projeto do eclipse.
Eu gostaria de compartilhar um POM parent com esses 3 projetos e qualquer outro módulo também. Qual seria a melhor abordagem? O maior problema é tudo código privado, então não posso enviar pra central do maven.
Obrigado,
Att.
--
Renato Resende Ribeiro de Oliveira
CTO - ProGolden Soluções Tecnológicas
MSc - Computer Science - Universidade Federal de Lavras
Skype:
renatorro.comp.ufla.brICQ: 669012672
Phone: +55 (31) 9823-9631
Conheça o PrêmioIdeia - Inovação Colaborativa na sua empresa!