2016-07-20 11 views
0

私は自分のプロジェクトからタスクを介して特定のモジュールをビルドし、テストを実行したかったのです。基本的には、タスクから "gradle:module:build"を実行したいと思います。タスクを含むモジュールを構築する

task thatBuildsTheModule() << { 
    ..... 
} 

task A() << { 
    ...... 
    tasks.thatBuidsTheModule.execute() 
    ...... 
} 

どうすればいいですか?

答えて

1

もうすぐです。 taskでexecuteを呼び出すことはお勧めしません。代わりに、タスクグラフを使用して、あなたのAタスクの依存ごビルダータスクを作成し、

// create builder task 
task thatBuildsTheModule << { 
    println "Hello $it.name" 
} 
// create our other task 
task anotherTask << { 
    println "Hello $it.name" 
} 
// make `anotherTask`'s execution depend on the execution of our builder task 
anotherTask.dependsOn thatBuildsTheModule 

今、私たちはただanotherTaskタスクを実行すると、我々はまた、thatBuildsTheModuleタスクを実行していることがわかります。この例ではanotherTaskをラベル

$ ./gradlew -q anotherTask 
Hello thatBuildsTheModule 
Hello anotherTask 
+0

ありがとう! また、タスクからモジュールを構築する方法はありますか?タスク内からビルドをどのように起動させるのですか? (基本的に "gradle:module:build"をタスクから実行する) – Javier

+0

タスクを他のタスクに依存させたいとします。 tasks( 'module')。tasks.findByName( 'build')。dependsOn anotherTask'は 'anotherTask'を実行すると':module:build'も実行します。 – JBirdVegas

+0

project( 'module')。tasks.findByName( 'build')。dependsOnはnullです。考えられる理由は何でしょうか? – Javier

関連する問題