2011-06-20 62 views
3

有沒有辦法運行一個ant構建,這樣你就可以得到構建會做什麼的輸出,但卻沒有真正做到呢?有沒有辦法'測試運行'螞蟻構建?

也就是說,它會列出所有將被提交給系統的命令,輸出所有文件集的擴展等

當我搜索「蟻族」和「測試」,我用ant獲得壓倒性的命中運行測試。任何建議,實際上測試螞蟻構建文件?

+0

您的主題是混亂......不清楚你在問什麼 – skaffman

+0

@skaffman:謝謝......我一定有一個腦屁。 ..主題對我沒有任何意義, – Dancrumb

回答

0

這在理論上和實踐上是不可能的。從理論上講,如果沒有真正運行它,你無法有意義地測試一個程序(基本上是暫停問題)。

實際上,由於單獨的ant任務經常依賴於彼此的輸出,所以這對於絕大多數的Ant腳本來說是毫無意義的。他們中的大多數人編譯一些源代碼並從類文件中構建JAR - 但是如果編譯器沒有真正運行,那麼JAR的文件集將包含什麼內容?

測試Ant腳本的正確方法是定期運行它,但在測試系統上,可能是可以輕鬆恢復到原始狀態的VM映像。

+1

原始海報想要運行螞蟻,但不是螞蟻啓動的程序。這在理論上是可能的,並且「make -n」在實踐中是可能的。可悲的是,它似乎沒有與螞蟻。 –

+0

@Andy Balaam:make -n可以產生有意義的輸出,因爲makefile包含顯式的依賴關係。螞蟻相關性大部分是隱含的,所以它不能做同樣的事情。 –

3

看來,你正在尋找一個「空轉」。

我把它搜索了一下,發現沒有證據表明這是supoorted。

繼承人該功能一個Bugzilla請求,解釋事情有點: https://issues.apache.org/bugzilla/show_bug.cgi?id=35464

+0

謝謝!對於我的生活,我找不到一個合適的短語......幹奔跑是完美的,我會看看bugzilla和,如果沒有更多的位置已經做出了迴應,將在接下來的一兩天內接受此事。 – Dancrumb

0

這裏有一個問題:你的目標#1構建了一堆東西,然後是目標#2複製它。

您在測試模式下運行您的Ant腳本,它僞裝成執行目標#1。現在它的目標是#2,沒有什麼可以複製的。目標#2應該返回什麼?當你的螞蟻目標中有ifunless子句時,事情會變得更加混亂。

我知道Make有一個命令行參數,它告訴它在沒有構建的情況下運行,但我從來沒有發現它有用。也許這就是爲什麼Ant沒有一個。

螞蟻有一個-k參數告訴它繼續前進,如果失敗了。你可能會覺得很有用。

0

正如邁克爾已經說過,這就是測試系統 - 虛擬機進來handy-針對

我從螞蟻的書籤=>若干年前一些所謂的「虛擬螞蟻」工具已經公佈,我從來沒有嘗試過。所以,不要把它當成小費,但因爲某個人聽到的

從網站說什麼=

「隨着Virtual Ant你不再需要讓你的手髒XML創建或編輯Ant構建腳本。在類似於Windows資源管理器的完全虛擬化環境中工作,並在虛擬文件系統上運行您的任務,以便實時查看它們所做的工作,而不會影響您的真實文件系統*實際的Ant構建腳本是在後臺生成的。「

嗯,聽起來好得令人難以置信;-)

..無影響你的真實文件系統..可能是你問什麼!?
他們提供了一個30天試用許可證,所以你贏了」沒有錢,但只有時間看看..

相關問題