["Foo", "Bar", "Buz"].each { name -> task "build$name" << { println "$name" } } これで gradle tasks をすると,以下のように出てきます. 実行したら,こんな感じになります. 上記の例では配列で Foo, Bar, Buz を宣言していましたが,設定ファイルなどで定義して,環境ごとの設定ファイルを見るディレクトリを指定する,といった使い方が出来そうです. 動的に定義したタスク間の依存 動的に定義したタスクの間で依存を定義することも出来ます. task common { println 'common' } ["Foo", "Bar", "Buz"].each { name -> task "copy$name"(type: Copy) { from "src/$name/resources" into