やりたいこと
Gradleで依存関係を設定して2つのタスクを1つにまとめるで依存関係を使ったが
個人的には、タスクから別のタスクを呼び出す方がしっくり来る感じがする。
なので試してみる。
試行錯誤1
タスクの呼び出し箇所
task deploy { downloadZip unzip }
結果
gradle deploy :deploy UP-TO-DATE BUILD SUCCESSFUL Total time: 5.351 secs
downloadZip、unzipタスクは呼ばれていない
試行錯誤2
task deploy { downloadZip() unzip() }
結果
FAILURE: Build failed with an exception. * Where: Build file 'C:\workspace\Gradle_SandBox\AnotherTask\build.gradle' line: 28 * What went wrong: A problem occurred evaluating root project 'AnotherTask'. > Could not find method downloadZip() for arguments [] on root project 'AnotherTask'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 5.063 secs
ググった結果
サンプルにもリファレンスにもそれっぽいのがない。
ググったら、こんなのがあった。
How to call a task from another task
The truth is that we don't officially support calling tasks programmatically. Instead you are supposed to use task dependencies whenever possible. That said, I think task.execute() should work, but as you mentioned it won't execute dependent tasks.
tasks.タスク名.execute()でいけるみたいだが、これあかんやつや。
実行結果
. │ build.gradle │ ├─.gradle │ └─1.8 │ └─taskArtifacts │ cache.properties │ cache.properties.lock │ fileHashes.bin │ fileSnapshots.bin │ outputFileStates.bin │ taskArtifacts.bin │ └─build ├─quickstart │ webapp-quickstart.war │ └─tmp ├─downloadZip │ quickstart.zip │ └─expandedArchives └─quickstart.zip_5udnrbl91abhenrt86vsk3262d └─quickstart webapp-quickstart.war
環境
------------------------------------------------------------ Gradle 1.8 ------------------------------------------------------------ Build time: 2013-09-24 07:32:33 UTC Build number: none Revision: 7970ec3503b4f5767ee1c1c69f8b4186c4763e3d Groovy: 1.8.6 Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013 Ivy: 2.2.0 JVM: 1.7.0_45 (Oracle Corporation 24.45-b08) OS: Windows 7 6.1 amd64
添削歓迎
ここ間違ってるよ
こうした方がよくないか?
こういうことなんじゃないかな。
この環境だとこうなるよ
などなど
方法は、コメント、はてブ、Twitter @orange_clover宛 で、お願いします。
Gradle Effective Implementation Guide
- 作者: Hubert Klein Ikkink
- 出版社/メーカー: Packt Publishing
- 発売日: 2012/10/25
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
- 作者: Benjamin Muschko
- 出版社/メーカー: Manning Pubns Co
- 発売日: 2013/12/28
- メディア: ペーパーバック
- この商品を含むブログを見る
- 作者: Tim Berglund
- 出版社/メーカー: O'Reilly Media
- 発売日: 2013/07/16
- メディア: Kindle版
- この商品を含むブログを見る
Building and Testing with Gradle
- 作者: Tim Berglund,Matthew McCullough
- 出版社/メーカー: O'Reilly Media
- 発売日: 2011/07/06
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 392回
- この商品を含むブログ (154件) を見る