在ANT构建中复制任务之前,重命名文件



我是蚂蚁构建文件的新手。目前,我获得了构建文件列表:

a.cls
b.cls
c.cls

但是在我的本地我必须在同一目录中运行在文件上:

a-meta.cls
b-meta.cls
c-meta.cls

此处meta关键字保持一致。我正在使用以下build.xml文件。我不确定在实际复制文件之前如何重命名文件名。我尝试了replacemapper和其他antlib任务。但没有帮助。

<project name="test" default="compile">
    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="lib/ant-contrib-1.0b3.jar"/>
        </classpath>
    </taskdef>
    <loadfile property="file" srcfile="filesToMove.txt"/> <!-- these are the list of files, i mentioned earlier -->
    <target name="compile">
        <echo>${file}</echo> <!-- here i have to rename file name to include -meta -->
        <copy file="./classes/${file}" tofile="./src/classes/${file}" overwrite="true"/>
    </target>
</project>

在移动文件之前如何重命名。

它的解决方案是替换.cls以找到名称,然后附加-meta.html。如下(问题中的某些部分与以前的版本相比,更改了某些部分)

<project name="test" default="compile">
    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="lib/ant-contrib-1.0b3.jar"/>
        </classpath>
    </taskdef>
    <loadfile property="file" srcfile="filesToMove.txt"/> <!-- these are the list of files, i mentioned earlier -->
    <target name="compile">
        <echo>${file}</echo> <!-- here i have to rename file name to include -meta -->
        <copy file="./classes/${file}" tofile="./src/classes/${file}" overwrite="true"/>
        <for param="file">
            <path>
                <fileset dir="./" includes="*.cls"/>
            </path>
            <sequential>
                <basename file="@{file}" property="@{file}" suffix=".md"/>
                <echo message=" ${@{file}}"/>
                <copy file="${@{file}}-meta.cls" toDir="test"/>
            </sequential>
        </for> 
    </target>
</project>

相关内容

  • 没有找到相关文章

最新更新