Domanda

Sto usando uno snippet di codice groovy in un file build ant. All'interno del codice groovy sto cercando di fare riferimento a un set di file che è stato definito al di fuori della parte groovy, in questo modo:

<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>

Quando eseguo questo, ricevo il seguente messaggio di errore:

Buildfile: build.xml

listSourceFiles:   
   [groovy]

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

Cosa mi sto perdendo?

È stato utile?

Soluzione

Secondo il Groovy Ant Task documentazione, uno dei vincoli per l'attività groovy è l'attuale AntBuilder , ant .

Quindi, modificando il tuo script per eliminare la definizione di "formica" in conflitto, l'ho fatto funzionare senza errori:

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top