Quel que soit l’outil de build, il est souvent utile de pouvoir spécifier un traitement par défaut. Les outils Ant et Gradle ont deux approches différentes.
Un script de build Ant définit un ensemble de cibles (targets). Chaque cible représente une étape du build, composée d’un ensemble de tâches.
<target name="init"> <echo message="Create the dist directory"/> <mkdir dir="${dist.dir}"/> </target>
En contraste, un script de build Gradle définit plus largement la notion de tâches (task). On ne parle donc plus de cibles mais uniquement de tâches composées d’un ensemble d’instructions.
task init << { println "Create the dist directory" new File(distDir).mkdirs() }
Traitement par défaut avec Ant
Pour invoquer un traitement par défaut avec Ant, nous utilisons l’attribut "default" de la balise <project>. Mais il n’est possible que de spécifier une seule cible par défaut. Ainsi pour spécifier l’invocation de deux cibles par défaut, nous sommes obliger de spécifier une cible intermédiaire.
<project name="test" default="t-default"> <property name="dist.dir" value="dist"/> <property name="doc.dir" value="${dist.dir}/doc"/> <target name="init"> <echo message="Create the dist directory"/> <mkdir dir="${dist.dir}"/> </target> <target name="initDoc"> <echo message="Create the doc directory"/> <mkdir dir="${doc.dir}"/> </target> <target name="t-default"> <antcall target="init"/> <antcall target="initDoc"/> </target> </project>
Traitement par défaut avec Gradle
Avec le builder Gradle, plus de flexibilité est donnée grâce à la possibilité de spécifier plusieurs tâches. En début de script, il faut spécifier l’élément "defaultTasks" avec la liste des tâches à invoquer par défaut.
defaultTasks 'init','initDoc' def distDir="dist" def docDir="${distDir}/doc" task init << { println "Create the dist directory" new File(distDir).mkdirs() } task initDoc << { println "Create the doc directory" new File(docDir).mkdirs() }

