TaskのdependsOnメソッドを使って依存関係を定義している。なお、Projectのtaskメソッドは、定義したタスク自身を返す。
上記のビルドスクリプトを実行した結果は、以下の通り。
$ gradle -q second first second
$ gradle -q second first second
cmd /c
から呼び出す必要がある点に注意。Ultimately, XML is the wrong format for a build file.
Antでプログラムフローの制御ができない(できるとしても、あまりに面倒)のに嫌気がさし、AntからGroovyスクリプトを呼び出したりしているうちに辿り着いたのがGradleだったりするので、個人的には多いに共感できる。gradle tasks
を実行した結果は、以下の通り。helloタスクとhiタスクがgreetingというグループにまとめて表示されている。また、各タスクの説明も表示されている。> gradle -q tasks ------------------------------------------------------------ All tasks runnable from root project ------------------------------------------------------------ Greeting tasks -------------- hello - Say hello. hi - Say hi. (以下省略)
次に、任意のプロジェクトのbuild.gradleで、apply fromを使って上記のother.gradleを読み込む。ext.prop1 = 'value1'
> gradle -q testProperties value1
cygwin.bat
とする)し、pathを通しておきます。@echo off cd /D "%1" cmd /c ""C:\Program Files\Git\bin\sh.exe" --login -i"
cmd /K start cygwin "{path}"
>gradle -q -Ptest
null
true
>gradle -q
null
false
src
└─main
├─groovy
│ Greeting.groovy
│ GreetingTask.groovy
│
└─resources
└─META-INF
└─gradle-plugins
greeting.properties
Greeting.groovyは以下の通り。implementation-class=com.example.Greeting
apply plugin
する際に、この名前を使用する)。gradle build
すると、build/libs内にプラグインのjarファイルが作成される。さらに、gradle uploadArchives
で、このjarファイルがMavenのローカルリポジトリにデプロイされる。>gradle -q greet
Hello
>gradle -q hi
Hi
>gradle -q greet Hello >gradle -q hi Hi
>gradle -q hello Hello >gradle -q hi Hi