2016-04-17 17 views
1

私は非常に勉強していて、基本的な質問があります。gradle.buildのすべてのタスクをgradleで実行する理由

gradle.buildファイルにカスタムタスクを追加し、 "gradlw build"または "gradle clean"または他のgradleコマンドを呼び出すと、 はカスタムタスクを自動的に実行します。

これは、どのように動作するのですか?ビルドファイル内のすべてのタスクを実行しますか? タスクを手動で実行する方法はありますか?タスクを作成し、タスクの構成時、それはprintln 'hello'を実行するためのGradle指示

答えて

2
task foo { 
    println 'hello' 
} 

。 gradleはタスクを実行する必要があるかどうかを知る必要があるため、すべてのタスクは各ビルドで構成されます。タスクを作成し、タスクの実行時に、それはprintln 'hello'を実行するためのGradle伝え

task foo << { 
    println 'hello' 
} 

。そのため、コードは、明示的にタスクfooを実行するか、またはfooに依存するタスクを実行することを選択した場合にのみ実行されます。

それはおそらく、Gradleのは奇妙に行動し、あなたのコードは、問題とは何の関係もなかったことにされたと仮定して、あなたのコードを投稿しないことを選択した

task foo { 
    doLast { 
    println 'hello' 
    } 
} 

に相当します。これはちょうど推測ですが、2番目の正しいコードではなく最初の誤ったコードを使用した可能性があります。

+0

あなたは正しいです。私はこれら2つのタスク定義の違いを認識していませんでした。あなたの説明をありがとう。 – yuz

関連する問題