2016-07-14 15 views
0

これら2つのタスクの違いは何ですか? ./gradlewタスクの出力には、その定義に< <のタスクのみが表示されます。上記グラデルタスク定義の意味は?

task greet(type: GreetingToFileTask) { 
    destination = { project.greetingFile } 
} 

task sayGreeting(dependsOn: greet) << { 
    println file(greetingFile).text 
} 

線はGradleのドキュメントからHere

答えて

1

<<あるタスク定義のtoLast構成要素へのショートカットです。私。次の2つの宣言は等価である:

task hello << { 
    println 'Hello world!' 
} 

と:

task hello { 
    doLast { 
     println 'Hello world!' 
    } 
} 

(Gradleのドキュメントhereから採取した例)。

最初のコードスニペットでは、タスクを定義してdestinationプロパティを設定するだけです。ただし、タスクは必要な場合にのみ実行されます。 2番目のコードスニペットで

、しかし、あなたが実際に(hereから引用)にかかわらず、実行対象のタスクを、常に構成フェーズ中に実行されるアクションを定義している:

Aタスクには設定とアクションの両方があります。 < <を使用する場合は、ショートカットを使用してアクションを定義するだけで になります。タスクの構成セクションの で定義されているコードは、どのタスクが対象になっていたかにかかわらず、ビルドの 構成フェーズで実行されます。

関連する問題