Pergunta

Quero excluir todos os diretórios e subdiretórios sob um diretório raiz que contêm "TMP" em seus nomes. Isso também deve incluir quaisquer arquivos .svn. Meu primeiro palpite é usar

<delete>
    <dirset dir="${root}">
          <include name="**/*tmp*" />
    </dirset>
</delete>

Isso não parece funcionar, pois você não pode nidificar um dirset em um delete marcação.

Esta é uma abordagem correta ou devo fazer outra coisa?

  • versão da formiga == 1.6.5.
  • versão java == 1.6.0_04
Foi útil?

Solução

Aqui está a resposta que funcionou para mim:

<delete includeemptydirs="true">
    <fileset dir="${root}" defaultexcludes="false">
       <include name="**/*tmp*/**" />
    </fileset>
</delete>

Eu tive uma complicação adicional que eu precisava para remover .svn diretórios também. Com defaultexcludes, .* Os arquivos estavam sendo excluídos e, portanto, os diretórios vazios não estavam realmente vazios e, portanto, não estavam sendo removidos.

O atributo includeemptydirs (obrigado, Flicken, XL-Plüschhase) Ativa a direita ** Wildcard para combinar com a corda vazia.

Outras dicas

tentar:

<delete includeemptydirs="true">
    <fileset dir="${root}">
          <include name="**/*tmp*/*" />
    </fileset>
</delete>

Obrigado Flicken!

Eu só queria acrescentar que a parte da solução que funcionou para mim estava anexando /** até o final do caminho de incluir. Eu tentei o seguinte para excluir os diretórios do Eclipse.

<delete includeemptydirs="true">
    <fileset dir="${basedir}" includes"**/.settings">
</delete>

Mas não funcionou até que eu mudei para o seguinte:

<delete includeemptydirs="true">
    <fileset dir="${basedir}" includes"**/.settings/**">
</delete>

Por algum motivo anexando /** Para o caminho, exclui os arquivos no diretório correspondente, todos os arquivos em todos os subdiretos, subdiretos e diretórios correspondentes. Anexando /* Somente exclui arquivos no diretório correspondente, mas não excluirá o diretório correspondente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top