列出使用 ant 的所有文件和子目录

  • 本文关键字:文件 子目录 ant ant
  • 更新时间 :
  • 英文 :


我正在尝试使用ant task创建一个rpm包,为此我需要创建specfile,其中的所有文件名都将采用以下格式

%attr(0755, root, root) %dir dir1
%attr(0755, root, root) %dir dir1/dir2
%attr(0755, root, root) %dir dir1/dir2/dir3
%attr(0500, root, root) dir1/file1
%attr(0500, root, root) dir1/dir2/file1

我在构建过程中创建了这样的目录结构,但是使用ant我无法列出所有文件和目录,然后我可以将其写入specfile

以下是我尝试列出文件的内容,但它不区分文件和目录,此外我需要某种方法来迭代列表。

<fileset id="dist.contents" dir="${nativePackageDir}" includes="**"/>                                     |        
        <property name="prop.dist.contents" refid="dist.contents"/>                                               |  <target name="javaobject-library" depends="props">                                                             
        <echo>${prop.dist.contents}</echo>   
<dirset id="dist.contents" dir="${nativePackageDir}" includes="*"/> 
<property name="prop.dist.contents" refid="dist.contents"/>
<echo>${prop.dist.contents}</echo>

使用目录集而不是文件集应该可以解决您的问题。

你只需要在java中编写一个ant任务实现,你将向它提供输入目录和你想要写入的specfile的路径作为参数。

我发现在 java 中拥有可重用的 ant 任务比拥有巨大的 ant xml 文件更好、更易于管理。

相关内容

  • 没有找到相关文章

最新更新