Vlastní zpracování

Pokud jméno cíle začíná znakem mínus, nelze jej zapsat na příkazový řádek. ANT by si myslel, že je to parametr. Lze to využít pro interní cíle, na nichž jiné cíle závisí.

<!-- Slides for Ant -->
<target name='-init-slides-ant'>
  <prepare-slides destdir='${ant.slides}'/>
</target>

<target name='-uptodate-ant'>
  <slides-uptodate property='ant.slides.uptodate'
                   source='ant.xml'
                   destdir='${ant.slides}'/>
</target>

<target name='slides-ant'
        depends='-init-slides-ant,-uptodate-ant'
        description='Slides for Ant'
        unless='ant.slides.uptodate'>
  <make-slides source='ant.xml'
               destdir='${ant.slides}'/>
</target>

<!-- Slides for Java -->
<target name='-init-slides-java'>
  <prepare-slides destdir='${java.slides}'/>
</target>

<target name='-uptodate-java'>
  <slides-uptodate property='java.slides.uptodate'
                   source='java.xml'
                   destdir='${java.slides}'/>
</target>

<target name='slides-java'
        depends='-init-slides-java,-uptodate-java'
        description='Slides for Java'
        unless='java.slides.uptodate'>
  <make-slides source='java.xml'
               destdir='${java.slides}'/>
</target>

<!-- Main targets -->
<target name='veryclean' depends='clean'
        description='Clean everything including the slides directories'>
  <fail unless='primary.computer'
        message='This task can only be used on the primary computer!'/>
  <delete dir='${slides.dir}'/>
</target>

<target name='all'
        depends='slides-ant,slides-java'
        description='Make all slides'/>