2012-04-03 10 views
26

Ich füge eine Aufgabe hinzu, um Kriegsdateien zu Tomcat zu verteilen. Die einzige Aufgabe, die die Aufgabe tun muss, ist, die Kriegsdatei an den TOMCAT-Ort zu kopieren.Herkömmliche Methode zum Kopieren von Dateien in Gradle - Kopieren oder Kopieren?

Es gibt 2 Möglichkeiten, die ich vorstellen kann, dies zu implementieren .. aber neu zu groß zu sein, bin ich nicht ganz sicher, was konventioneller/richtig ist (oder wenn es sogar wichtig ist).

task myCopy(type: Copy) 

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

oder

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

} 

Antwort

33

In den meisten Fällen (einschließlich dieser), die Copy Aufgabe ist die bessere Wahl. Unter anderem ermöglicht es Ihnen eine automatische Überprüfung auf dem neuesten Stand. Die Methode copy ist für Situationen gedacht, in denen Sie (aus irgendeinem Grund) an eine vorhandene Aufgabe anknüpfen müssen und keine separate Aufgabe zum Kopieren verwenden können.

Der Code für Ihre Copy Aufgabe kann vereinfacht werden:

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

Dank ... ich die Vorteile der automatischen up-to-date Überprüfung verstehen, was sind die anderen Vorteile? – vicsz

+1

Besserer Stil (eine Aufgabe sollte eine Sache erledigen und sollte explizit sein), bessere Konfigurierbarkeit (z. B. von einem Eltern-Build-Skript und/oder einer Konfigurationsregel). –

+0

Aus irgendeinem Grund wird diese Aufgabe nicht standardmäßig ausgeführt. –

Verwandte Themen