1. グローバルメソッド
プロジェクト スコープ用に作成されているため、プロジェクトでグローバルに利用可能であり、ビルド スクリプトのどこからでも myMethod(p1, p2) と同等の project.myMethod(p1, p2) を呼び出すことができます。
ext.myMethod = { param1, param2 ->
// Method body here
}
ext.hg = [
cloneOrPull: { source, dest, branch ->
if (!dest.isDirectory())
hg.clone(source, dest, branch)
else
hg.pull(dest)
hg.update(dest, branch)
},
clone: { source, dest, branch ->
dest.mkdirs()
exec {
commandLine 'hg', 'clone', '--noupdate', source, dest.absolutePath
}
},
pull: { dest ->
exec {
workingDir dest.absolutePath
commandLine 'hg', 'pull'
}
},
]
呼び出し方法:
hg.clone('path/to/repo')