CVS: junit-ant-tests/src/org/junit/build JUnitBuildTarget.java, NONE, 1.1

David Saff <[email protected]> Thu, 05 Jul 2007 13:58:28 -0700
Newsgroups gmane.comp.java.junit.devel
Message-ID <[email protected]>
Update of /cvsroot/junit/junit-ant-tests/src/org/junit/build
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3239/src/org/junit/build

Added Files:
	JUnitBuildTarget.java 
Log Message:
initial check-in

--- NEW FILE: JUnitBuildTarget.java ---
/**
 * 
 */
package org.junit.build;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;

import org.apache.tools.ant.DefaultLogger;
import org.apache.tools.ant.Project;
import org.junit.tests.antfile.JUnitBuildXmlTest;

public class JUnitBuildTarget {
	private Project project;
	private String targetName;
	private String javadocpackages;
	private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

	private JUnitBuildTarget(Project project, String targetName,
			String javadocpackages) {
		this.project = project;
		this.targetName = targetName;
		this.javadocpackages = javadocpackages;
	}

	public void run() throws IOException {
		setProperties();
	
		project.addBuildListener(logger());
		project.executeTarget(targetName);
	}
	
	// TODO (Jul 4, 2007 2:56:50 PM):  These constants should be here?


	private void setProperties() {
		project.setUserProperty("dist", JUnitBuildXmlTest.ANT_DIST);
		project.setProperty("javadocdir", JUnitBuildXmlTest.ANT_DIST + "/ant-unit-java-docs");
		project.setProperty("javadoczip", JUnitBuildXmlTest.TEST_JAVA_DOC_ZIP);
		project.setProperty("javadocpackages", javadocpackages);
		project.setProperty("binjar", JUnitBuildXmlTest.TEST_JAR_FILE);
		project.setProperty("srcjar", JUnitBuildXmlTest.TEST_SRC_JAR_FILE);
		project.setProperty("hamcrestsrc", JUnitBuildXmlTest.TEST_HAMCREST_SRC);
	}

	private DefaultLogger logger() {
		DefaultLogger logger = new DefaultLogger();
		PrintStream printStream = new PrintStream(outputStream);
		logger.setOutputPrintStream(printStream);
		logger.setErrorPrintStream(printStream);
		logger.setMessageOutputLevel(Project.MSG_DEBUG);
		return logger;
	}

	public static JUnitBuildTarget createTarget(Project project, String string) {
		return new JUnitBuildTarget(project, string, "org.junit");
	}

	public String getLog() {
		return outputStream.toString();
	}
}

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/