2009-10-26 76 views
1

我想簡化我的主要構建腳本,並且希望能夠將某些常見的ant任務作爲庫重用,但我也希望它們可以作爲一個包輕鬆使用。在沒有解壓縮的情況下包含ant build xml內聯jar文件?

例如,我有一個任務,它設置了我需要構建各種項目的Flex環境變量。我可以(並且目前)通過源代碼控制中另一個位置的相對路徑包含這些腳本。但是我想做的是製作一個可下載的包,通過包含所有這些通用任務的常青藤可以抓取。

一個jar似乎是最自然的解決方案,因爲這是可以從java(使用類加載器來訪問jar中的文件),但我似乎無法在Ant中找到「本機」方式獲取xml文件。

總之,我想做的事:

<import file="some.jar!bootstrap.xml"> 

但是,這並不工作。

有沒有辦法做到這一點?任何其他關於製作一個ant腳本庫的建議都會非常感謝。

回答

1

從我所瞭解的你試圖從你的jar中提取包含更多ant任務的文件,然後告訴ant來執行這些提取文件中的任務。由於這些文件是靜態的,所以你最好在你的jar中創建實際的java任務定義並在你的ant構建文件中聲明它們。但是,如果您不想這樣做,只需使用Unzip ant任務將資源從jar中提取到文件系統上,然後使用Ant任務執行提取的文件。

+0

感謝您的回覆,我不想提取文件。我的意思是我可以,但這幾乎會打敗任務共享的目的,因爲會有一堆樣板來提取任務。我正在尋找直接從jar文件內嵌的ant任務,沒有解壓縮。 – 2009-10-26 23:40:37

+1

Ant中的Ant任務非常明確地處理文件,而不是資源或流。您最好的選擇是提取文件或創建您自己的可以使用資源的Ant任務版本。 – Jherico 2009-10-27 00:34:35

1

IIRC在Ant中正在進行的工作支持此功能,但它在任何已發佈的版本中都不受支持。

+0

事實上,進一步的研究表明,它是一個功能計劃(或至少談到)爲1.8 ..希望它會成功。 – 2009-10-28 01:11:54

相關問題