2012-04-03 11 views
26

Sto aggiungendo un'attività per distribuire i file di guerra su Tomcat .. l'unica cosa che l'operazione deve fare è copiare il file di guerra nella posizione TOMCAT.Modo convenzionale di copiare i file in Gradle - utilizzare il metodo Copia o copia?

Ci sono 2 modi in cui posso pensare di implementarlo ... ma essendo nuovo al gradle, non sono abbastanza sicuro di cosa sia più convenzionale/giusto (o se sia importante).

task myCopy(type: Copy) 

    myCopy.configure { 
     from('source') 
     into('target') 
     include('*.war') 
    } 

o

task myCopy{ 
    doLast{ 
    copy { 
     from 'source' 
     into 'target' 
     include '*.war' 
    } 
    } 

} 

risposta

33

Nella maggior parte dei casi (compreso questo), il compito Copy è la scelta migliore. Tra le altre cose, ti fornirà un controllo automatico aggiornato. Il metodo copy si riferisce a situazioni in cui (per qualche motivo) è necessario eseguire il billing su un'attività esistente e non è possibile utilizzare un'attività separata per la copia.

Il codice per il vostro compito Copy può essere semplificata:

task myCopy(type: Copy) { 
    from('source') 
    into('target') 
    include('*.war') 
} 
+0

Grazie ... ho capito i vantaggi del controllo automatico up-to-date, quali sono gli altri vantaggi? – vicsz

+1

Stile migliore (un'attività dovrebbe fare una cosa e dovrebbe essere esplicita al riguardo), migliore configurabilità (ad esempio da uno script di generazione padre e/o usando una regola di configurazione). –

+0

Per qualche motivo questa attività non viene eseguita per impostazione predefinita. –

Problemi correlati