Utilisation de tâches Ant existantes avec Gradle
Gradle est un système de build innovant fournissant un cycle de vie à la demande, une syntaxe programmatique avec le langage Groovy et une gestion des dépendances très avancée grâce à Ivy.
Il s’agit d’un système de build complet pouvant remplacer complètement Maven. Néanmoins, il est beaucoup plus judicieux de ne pas utiliser Gradle comme une alternative, mais de l’intégrer à une infrastructure Maven existante. Par exemple, on peut adosser Gradle à un gestionnaire de repository Maven pour récupérer et déployer des artefacts.
De même, Ant est un système de build robuste, très documenté et disposant d’un très grand nombre de fonctionnalités existantes. Par exemple, voici l’utilisation de la tâche Axis-wsdl2java pour générer les stubs Java à partir d’un fichier WebService WSDL.
-
createTask(‘generate-stub’){
-
ant {
-
def wsdl2java_classpath = path {
-
fileset(dir: ‘lib’) {
-
include(name: ‘*.jar’)
-
}
-
}
-
taskdef( name: ‘axis-wsdl2java’,
-
classname: ‘org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask’,
-
classpath: wsdl2java_classpath )
-
‘axis-wsdl2java’( output:“generated”, verbose:“true” , url:“Exemple.wsdl”)
-
}
-
}
Gradle est capable de réutiliser toute tâche Ant existante sans aucun développement supplémentaire. Et quel plaisir de pouvoir invoquer la tâche par programmation, sans XML! Ainsi, comme dans le cas de Maven, il ne faut pas utiliser Gradle comme une alternative à Ant, mais comme un système de build complémentaire.