La migrazione da Maven a Gradle non è facile come da Ant a Maven (almeno al momento). Puoi facilmente reuse Ant scripts e renderli cittadini di prima classe nella tua build Gradle. Esiste un'attività nello Gradle roadmap per deep import of Maven builds.
Finora ho eseguito la migrazione di due build Maven aziendali a Gradle. Entrambi erano progetti multi-modulo usando plugin Maven standard. Ho praticamente riscritto le build in modo gradle che richiede almeno una certa conoscenza di Gradle. In base alla mia esperienza, puoi facilmente ottenere la stessa build anche in Gradle. Gradle in realtà non ti inscatola qui ed è abbastanza flessibile. Lungo il percorso potresti trovarti a dover scrivere un plugin personalizzato che non esiste ancora, a seconda di quali plugin Maven stai usando. Tuttavia, c'è già uno wide breath of plugins là fuori. Finora non ho ancora incontrato un vero e proprio posto di blocco. Anche se la documentazione di Gradle è piuttosto buona, potresti trovarti a leggere molti post sul forum di Gradle per trovare la soluzione a uno dei tuoi problemi. Alcune delle funzioni standard di Maven non sono supportate immediatamente, ad es. uno scope provided
o WAR inplace. Tuttavia, ci sono modi semplici per aggirarlo. Non ho usato repository Artifactory. Quelli che ho affrontato erano repository Nexus. Per quanto ne so i ragazzi Gradle hanno un buon supporto per Artifactory però. Modifica: JFrog fornisce uno Artifactory Gradle plugin.
Un buon modo per iniziare è utilizzare lo strumento di migrazione Maven2Gradle che consente di generare uno script Gradle dal build Maven. Personalmente, non l'ho ancora usato. Ho sviluppato il Gradle costruito fianco a fianco con la build Maven che non ha causato alcun problema. Maven ha emesso l'output sotto target
, Gradle sotto build
. Assicurati di preparare la tua squadra per il cambiamento. Lascia che provino la build di Gradle e familiarizzi con lo strumento.
Una volta completata la migrazione, sarete molto contenti della manutenibilità e dell'estensibilità della vostra build. È molto semplice aggiungere una logica di compilazione personalizzata e sarete grati di aver lasciato XML-land. In termini di prestazioni, non farai un passo indietro. La funzione di build incrementale fa il suo lavoro molto bene.
fonte
2011-10-11 00:46:02
Il Gradle Il plugin war ora (ad esempio in Gradle 1.0-milestone-6) supporta due configurazioni aggiuntive: compileProvided e runtimeProvided. –
Sfortunatamente, questo non aiuta se il tuo progetto non applica il plugin WAR. Dovresti comunque definire la tua configurazione 'provided'. Questo è ancora discusso controveramente nella comunità di Gradle, ad es. guarda questo [biglietto JIRA] (http://issues.gradle.org/browse/GRADLE-784). –