2012-05-10 58 views
4

我試圖創建使用ant task爲我需要創建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 

我有這樣的目錄結構的rpm包中的所有文件和子目錄在我的構建過程中創建,但使用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> 
+0

結帳:http://stackoverflow.com/questions/449983/create-rpm-package-from-ant-script-under-windows –

回答

1

您只需write in java一個Ant任務落實,你將提供作爲參數輸入目錄,並要寫入的spec文件的路徑。

我發現它更好,更易於在java中擁有可重用的ant任務,而不是擁有巨大的ant xml文件。

20
<dirset id="dist.contents" dir="${nativePackageDir}" includes="*"/> 
<property name="prop.dist.contents" refid="dist.contents"/> 
<echo>${prop.dist.contents}</echo> 

使用dirset,而不是文件集應該解決您的問題。

+3

這應該是選擇的答案。 –