2011-09-09 102 views
0

有什麼辦法根據文件內容從ant文件集中排除文件嗎?Ant根據內容排除文件

我們也有測試服務器,其中代碼的文件混在一起已經由CMS生成的文件。 通常,這些文件被放置在不同的文件夾中,但存在真實代碼文件位於生成代碼中間的風險。

分化生成的文件的唯一方法是打開文件,看看它的內容。如果文件包含關鍵字,則應排除該關鍵字。

有誰知道使用Ant執行這個辦法?

從普里特僧伽提供的答案,Ishould使用filterchain。但是,我在這裏錯過了一步。

比方說,我加載排除的文本文件來執行:

<loadfile property="exclusions" srcFile="exclusions.txt" /> 

但我不知道如何將它融入我的最新副本任務:

<copy todir="${test.dir}"> 
    <fileset dir="${src.dir}"> 

    </fileset> 
</copy> 

我試着添加以下排除文件集,但它不會做任何事情:

<exclude name="${exclusions}"/> 

我敢肯定我錯過了一個簡單的樂步......

+0

你說的是基於內容的排斥,但在這裏,你的例子不包括基於文件擴展名。那麼是哪一個呢? – Cata

+0

@Cata:對不起,我很困惑。我正在嘗試添加基於內容的排除。這裏的文件擴展名是已經存在的排除。 – Jaepetto

回答

1

看一看在notcontains選擇一個filterchain

not選擇包含你正在試圖做的正是相當多的例子。

<copy todir="${test.dir}"> 
    <fileset dir="${src.dir}"> 
    <not> 
     <contains text="your-keyword-here"/> 
    </not> 
    </fileset> 
</copy> 

另外還有containsregexp selector如果您的排除標準是比較複雜的,這可能是有用的。

有一個load more selectors你可以用它來改善你的選擇,如果需要的話。

+0

謝謝馬特!這正是我所期待的。 – Jaepetto