[Apache --- Ant]DIY Ant Task II --- a little more difficult

build.xml:

<project name="AntTest" default="main" basedir=".">

 <property name="classpath" value="${basedir}/bin"/>
 <property environment="env" />
 <echo message="Number of processors = ${env.NUMBER_OF_PROCESSORS}" />
 <echo message="ANT_HOME = ${env.ANT_HOME}"/>
 <echo message="ITS_HOME = ${env.ITS_HOME}" />
 
 <target name="init">
    <tstamp>
        <format property="TODAY" pattern="yyyy-MM-dd hh:mm aa" />
    </tstamp>
 <taskdef name="simpletask" classname="org.xxx.anttest.SimpleTask" classpath="${classpath}" />
 <taskdef name="proctask" classname="org.xxx.anttest.FileProcTask" classpath="${classpath}"/>

 </target>

 <target name="simpletask" depends="init" >
  <simpletask path="${env.ANT_HOME}:build/output" />
 </target>
 
 <target name="proctask" depends="init">
  <echo message="Current Time is: ${TODAY}"></echo>
  <proctask  dir="${basedir}">
   <include name="**/*.java"/>
  </proctask>
 </target>

 <target name="main" depends="proctask" />

</project>

 

Source:

package org.xxx.anttest;

import java.io.File;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.MatchingTask;

public class FileProcTask extends MatchingTask {
    private File dir;
    public void setDir (File dir) {
    this.dir = dir;
    }
    public void execute() throws BuildException {
    if (dir == null) {
    throw new BuildException("dir must be specified");
    }
    log("dir = " + dir, Project.MSG_DEBUG);
    DirectoryScanner ds = getDirectoryScanner(dir);
    String[] files = ds.getIncludedFiles();
    for (int i = 0; i < files.length; i++) {
    log("file: " + files[i]);
    }
    dir = null;
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值