在Ant中进行复制时显示日志中的警报消息

时间:2013-01-29 15:39:17

标签: ant

fromfolder=xxxone.txt
tofolder=yyy具有one.txt个相同的文件

在使用ant执行复制操作时,如果找到相同的文件名,则会在日志中显示已存在的文件one.txt等警告消息,不应覆盖该文件。

 <target name="copyPublicHtml" description="Copy Public_html to output directory" >
     <touch>
     <fileset dir="../html"/>
    </touch>

       <copy todir="../html" failonerror="on" verbose="on" overwrite="false"> 
            <fileset dir="../src">           
       </copy>
  </target>

1 个答案:

答案 0 :(得分:0)

您可以使用groovy task通过文件进行迭代:

  <target name="copyPublicHtml" depends="init" description="Copy Public_html to output directory">
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

    <fileset id="srcFiles" dir="src"/>

    <groovy>
      project.references.srcFiles.each {
        def src = new File(it.toString())
        def trg = new File("html", src.name)

        if (trg.exists()) {
          project.log "File already exists: ${trg}"
        }

        ant.copy(file:it, todir:"html", verbose:"true", overwrite:"false")
      }
    </groovy>
  </target>