2010-07-12 99 views
1

我正在使用Ant構建一個文件集。我只想將文件包含在特定日期後修改的文件集中。 (見下文)使用Ant日期屬性?

理想情況下,我希望下面的datetime值是某種等於構建文件的創建日期的屬性。例如。我只想要包含在創建構建文件後修改的文件集中的文件,我不能使用靜態字符串,因爲此構建文件將由多個開發人員在Subversion中檢出。

<fileset dir="some-files"> 
    <date datetime="07/12/2010 12:00 AM" when="after"/> 
</fileset> 

回答

1

你可以用你的財產文件之一的Date svn keyword,所以你的財產將是這樣的:

file.mod.date=$LastChangedDate$ 

一旦你設置了svn:關鍵字在你的屬性文件屬性(見svn propset命令),承諾你的變化檢查出屬性文件將導致你的財產看起來像這樣:

file.mod.date=$LastChangedDate: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006) $ 

現在你有一個螞蟻屬性與日期裏面,有a couple of ways子字符串屬性,所以你可以使用原始日期。

+0

我想知道我是否可以使用這種技術直接將日期添加到構建文件中? – tinny 2010-07-12 09:12:12

+0

@tinny,沒有什麼能阻止你做這個''。只要確保在你想要關閉svn關鍵字的文件上添加適當的'svn propset'即可。 – krock 2010-07-12 23:40:23

1

對不起,我不能在此刻進行測試,但好像你可以這樣做:

<fileset dir="${some-dir}"> 
    <depend targetdir="${basedir}"> 
     <mergemapper to="${ant.file}"/> 
    </depend> 
</fileset> 

未經測試,我不知道確切的交互是什麼dependmergemapper之間,但希望你能明白...

+0

只是注意到原來的問題:「......只想創建構建文件後修改的文件集中包含的文件......」depend'選擇器使用修改時間,而不是創建時間。 – kschneid 2010-07-12 16:55:28