package org.testng; import java.io.File; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.testng.junit.JUnitDirectoryConverter; /** * @author Andy.Glover * */ public class JUnitConverterTask extends Task { private File m_sourceDirectory; private File m_outputDirectory; private boolean m_useAnnotations; private String[] m_groups; public JUnitConverterTask() { super(); } @Override public void execute() throws BuildException { this.validate(); final JUnitDirectoryConverter convertor = new JUnitDirectoryConverter( m_sourceDirectory, m_outputDirectory, null, m_useAnnotations, m_groups); final int result = convertor.convert(); if (result > -1) { this.log(result + " files generated"); } else { //this could be better this.log("There were errors in file generation"); } } private void validate() throws BuildException { if (this.m_outputDirectory == null || this.m_outputDirectory.equals("")) { throw new BuildException("OutputDir must have a value"); } if (this.m_sourceDirectory == null || this.m_sourceDirectory.equals("")) { throw new BuildException("SourceDir must have a value"); } } @Override public void init() throws BuildException { super.init(); m_useAnnotations = true; } /** * Setter for report's output directory * @param outputDirectory */ public void setOutputDir(final File outputDirectory) { m_outputDirectory = outputDirectory; } public void setGroups(String groups) { m_groups = groups.split("[ ,]"); } /** * @param sourceDirectory */ public void setSourceDir(final File sourceDirectory) { m_sourceDirectory = sourceDirectory; } /** * @param annotations */ public void setAnnotations(final boolean annotations) { m_useAnnotations = annotations; } }