Ant copy não exclue arquivos do fileset

Oba,

Estou com uma taskzinha xarope aqui no ant … estou copiando todos os arquivos de uma package do diretório de source para o bin …

Depois de compilar eu quero copiar tudo menos o build.xml, o Manifest.mf e todos os arquivos .java (source).

O problema é que tem hora que ele copia o build.xml e tem hora que copia o build.xml e o Manifest.mf … nunca copia os .javA (certo) … e sempre copia os gifs & cia (certo tb).

Ideias?

<target name="util.compile-main"> <javac sourcepath="" srcdir="${src.home}" destdir="${build.home}" classpathref="applications.classpath" executable="${javac.home}" fork="true"> <include name="**/${base.path}/util/*.java"/> </javac> <copy todir="${build.home}/${base.path}/util"> <fileset dir="${src.home}/${base.path}/util"> <not><filename name="**/build.xml"/></not> <not><filename name="**/Manifest.mf"/></not> <not><filename name="*.java"/></not> <filename name="*.*" /> </fileset> </copy> </target>

aeee … niguem pra dar um chutinho? :frowning:

[quote=“smota”]Oba,

Estou com uma taskzinha xarope aqui no ant … estou copiando todos os arquivos de uma package do diretório de source para o bin …

Depois de compilar eu quero copiar tudo menos o build.xml, o Manifest.mf e todos os arquivos .java (source).

O problema é que tem hora que ele copia o build.xml e tem hora que copia o build.xml e o Manifest.mf … nunca copia os .javA (certo) … e sempre copia os gifs & cia (certo tb).

Ideias?

<target name="util.compile-main"> <javac sourcepath="" srcdir="${src.home}" destdir="${build.home}" classpathref="applications.classpath" executable="${javac.home}" fork="true"> <include name="**/${base.path}/util/*.java"/> </javac> <copy todir="${build.home}/${base.path}/util"> <fileset dir="${src.home}/${base.path}/util"> <not><filename name="**/build.xml"/></not> <not><filename name="**/Manifest.mf"/></not> <not><filename name="*.java"/></not> <filename name="*.*" /> </fileset> </copy> </target>[/quote]

Cara, vc fez uma coisinha meio bizarra ! <not> Nunca tinha visto isso no Ant antes.

Mas bem, eu tenho utilizado com sucesso a cláusula <exclude> dentro do fileset, em conjunto com <include>. Tenta isso e boa sorte.

Tenta algo assim:

...
<fileset dir="${src.home}/${base.path}/util">
   <exclude name="**/build.xml"/>
   <exclude name="**/Manifest.mf"/>
   <exclude name="*.java"/>
</fileset>
...

:splat:

Assim funfou … peguei mal com o ant agora … pra que varias maneiras de fazer uma coisa se só uma funciona? :x

valeu mesmo.