2013-02-14 84 views
2

我創建一個自定義的Ant任務,其基於用戶的IO任務接收參數(像一個文件寫入/追加)登錄定製Ant任務

我想寫的任務,從而如果開發人員使用它在螞蟻任務運行它與-v-d標誌,將輸出更多,

我想知道核心螞蟻任務如何做到這一點。他們在打印到控制檯之前檢查輸出水平,還是僅使用java.util.logging.Logger

回答

1

請按照此tutorial

提取物:

集成TaskAdapter

我們班有無關螞蟻。它不擴展超類,並且不實現接口。螞蟻知道如何整合?通過名稱 約定:我們的類提供了一個帶簽名的方法public void execute()。此類由Ant的 org.apache.tools.ant.TaskAdapter包裝,該任務是一項任務,並使用反射 設置對該項目的引用並調用execute() 方法。

設置項目的引用?可能很有趣。 課程給了我們一些很好的能力:訪問螞蟻的日誌記錄設施 獲取和設置屬性等等。所以我們嘗試使用 類:

import org.apache.tools.ant.Project;

公共類的HelloWorld {

private Project project; 

public void setProject(Project proj) { 
    project = proj; 
} 

public void execute() { 
    String message = project.getProperty("ant.project.name"); 
    project.log("Here is project '" + message + "'.", Project.MSG_INFO); 
} } 

[...]

+0

我仍然不被說服教程,輸出是不是還格式正確無誤。消息仍然記錄在沒有任務名稱的情況下 – 2013-02-15 07:33:32