我是蚂蚁构建文件的新手。目前,我获得了构建文件列表:
a.cls
b.cls
c.cls
但是在我的本地我必须在同一目录中运行在文件上:
a-meta.cls
b-meta.cls
c-meta.cls
此处meta
关键字保持一致。我正在使用以下build.xml文件。我不确定在实际复制文件之前如何重命名文件名。我尝试了replace
,mapper
和其他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>