Gradleからマイナス文字を含んだAntタスクを呼び出す

約一年振りって、、、それは昨年もやったよ(大汗)ということで、今年もやってきました、G* Advent Calendar 2013。6日目は私です。

Antを使っていた方がGradleに移行する際に何が便利か、というとAntのタスクをそのまま呼び出せることだと思います。
昔作ってそのまま使っていた為に、Gradleのプラグインにするにもソースが見つからないとか、開発者がもう居ないとか(汗)の場合でも安心ですね。

さて、AntのタスクはXMLで定義しますので、タスク名にマイナス文字が含まれたものを定義できてしまいます。このようなAntタスクをGradleから呼び出すには、どうしたら良いでしょうか。
例えば、"foo-bar"タスクを呼び出す際には、Antなら次の様に書きます。

これをGradleから呼び出す為に、次の様に書くとエラーになります。

ant.foo-bar(user: 'Toby55@新潟')

Gradleのスクリプト(Groovy)では、マイナス文字は演算子として扱われますので、そのまま書くことができません。

では、どうやって呼び出すかというと、文字列をクォートで囲んで次の様に書きます。

ant.'foo-bar'(user: 'Toby55@新潟')

まぁ気付けば簡単な話なのですが、ハマりやすい所ではあります。

次はid:nobusueさん*1です。

*1:何と昨年と同じ!