2011-09-30 3 views
7

Vorremmo generare progetti da un archetipo di Maven, ma lo troviamo un po 'semplicistico. Vorremmo fare quanto segue:Custom Maven Archetype o alternative alla generazione del progetto

  1. Avere un semplice punto di partenza. Non fare troppe domande.
  2. Consentire l'aggiornamento del progetto in un secondo momento (o durante la generazione originale) con funzionalità aggiuntive.
  3. Consentire l'aggiunta/eliminazione/aggiornamento delle funzionalità del progetto.
  4. Aggiornamento pom.xml, spring xml files, possibilmente altri file XML e file di proprietà.
  5. generazione di servizi Web stub da contratti, inclusi test unitari.
  6. generazione di progetti Eclipse/Intellij sarebbe bello.
  7. Qualche generazione di cose ragionevolmente complessa come la compilazione di namespaces/classes in Spring Interceptor sarebbe piacevole. Soprattutto se potesse generare detti valori.

Gli archetipi di Maven non sembrano supportare altro che effettuare scelte durante la generazione iniziale e aggiungere file in un secondo momento. Non vedo alcun supporto per la modifica dei file esistenti? Siamo in grado di generare servizi web stub tramite una normale generazione di maven, ma non sembra che sia in grado di eseguire plugin maven arbitrari durante l'archetipo: generare?

Se qualcuno conosce le risposte a uno dei precedenti, ci piace ascoltarlo. Inoltre, se qualcuno ha alternative per il set di funzionalità che stiamo cercando, vorremmo sapere su di loro.

risposta

0

Abbiamo fatto qualcosa del genere per il nostro progetto.

Abbiamo definito un plug-in dedicato che chiamerà esso stesso l'Archetype: generare plugin.

In questo modo possiamo contare su un Archetype: generare funzionalità (analisi e sostituzione automatica di parte delle classi generate ...).

Potete dare un'occhiata a questo progetto sul nostro SVN qui: http://websvn.ow2.org/listing.php?repname=weblab&path=%2Ftrunk%2FWebLabTools%2FMavenPlugins%2F&#.

Nota: che il codice è stato fatto da un tirocinante, si prega di essere gentile ;-)