1. Méthode globale
Créé pour la portée du projet, c'est-à-dire globalement disponible pour le projet, vous pouvez appeler project.myMethod(p1, p2) n'importe où dans votre script de construction avec l'équivalent de 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'
}
},
]
Méthode d'appel :
hg.clone('path/to/repo')