2013-02-14 77 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