2012-07-24 39 views
0

,在Makefile中,我會簡單地指定如何處理ant中最簡單的依賴動作?

.a.b: 
    do_something_with_a $< --output=$*.b 

如何做到這些的螞蟻?我在任何文檔中都沒有看到它,並且無法使它與ant一起工作。

對於那些不知道make的人來說,第一部分指定了兩種文件,那些擴展名爲.a和擴展名爲.b的文件。此外,它指定了bs依賴於as,例如,如果filename.b不存在或者比filename.a更舊,則應該應用命令規則。命令規則指定使用參數「filename.a」和「--output == filename.b」爲每個這樣的文件名調用「do_something_with_a」命令。

我會用ant-1.8.4測試你的解決方案,並接受第一個工作。文件位置可以指定。

+1

螞蟻有一個關於構建的完全不同的哲學。它只跟蹤目標之間的依賴關係,但不跟蹤文件。文件依賴關係(如「* .java」到「* .class」)由task-plugins處理。更好地適應新的哲學,編寫適當的插件,否則你將一步一步地進入痛苦的很長一段路。 (在那裏,這樣做) – 2012-07-24 08:44:11

+0

那麼,編寫ant-plugins來處理依賴關係會是一個很好的文檔呢? – rwst 2012-07-24 08:48:44

+1

頁面http://ant.apache.org/manual/。從那裏或者「用Ant開發」 - >「編寫你自己的任務」和/或(root) - >教程 - >編寫任務。同樣在「用Ant開發」中,通過「Ant任務指南」(您可以在其中找到「做自己的依賴項檢查」)和「爲擴展設計的任務」快速瀏覽,我猜你會重用MatchingTask。 – 2012-07-24 09:03:21

回答

0

這個抽象依賴在ant中是不可能的。