groovy inside ant: comment accéder aux refids de grooy définis par les balises ant

StackOverflow https://stackoverflow.com/questions/225063

  •  03-07-2019
  •  | 
  •  

Question

J'utilise un extrait de code groovy dans un fichier de compilation ant. Dans le code groovy, j'essaie de référencer un ensemble de fichiers défini en dehors de la partie groovy, comme suit:

<target name="listSourceFiles" >
    <fileset id="myfileset" dir="${my.dir}">
         <patternset refid="mypatterns"/>
    </fileset>
    <groovy>
        def ant = new AntBuilder()

        scanner = ant.fileScanner {
            fileset(refid:"myfileset")
        }

    ...
    </groovy>
</target>

Lorsque j'exécute cette opération, le message d'erreur suivant s'affiche:

Buildfile: build.xml

listSourceFiles:   
   [groovy]

BUILD FAILED
d:\workspace\Project\ant\build.xml:13:
Reference myfileset not found.

Qu'est-ce qui me manque?

Était-ce utile?

La solution

Conformément à la de la tâche Groovy Ant . La documentation, l’une des liaisons de la tâche groovy est l'actuel AntBuilder , ant .

Si vous avez modifié votre script pour qu'il supprime le conflit 'ant', je l'ai exécuté sans erreur:

<project name="groovy-build" default="listSourceFiles">

<taskdef name="groovy"
         classname="org.codehaus.groovy.ant.Groovy"/>

<patternset id="mypatterns">
  <include name="../*.groovy"/>
</patternset>
<target name="listSourceFiles" >
    <fileset id="myfileset" dir="${my.dir}">
         <patternset refid="mypatterns"/>
    </fileset>
    <groovy>
        scanner = ant.fileScanner {
            fileset(refid:"myfileset")
        }
    </groovy>
</target>
</project>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top