--- src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java (revision 609533) +++ src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java (working copy) @@ -32,6 +32,7 @@ import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; +import org.apache.tools.ant.taskdefs.XSLTProcess; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.util.DOMElementWriter; import org.apache.tools.ant.util.FileUtils; @@ -75,9 +76,24 @@ /** the default file name: TESTS-TestSuites.xml */ public static final String DEFAULT_FILENAME = "TESTS-TestSuites.xml"; + /** The xslt parameter name for communicating the log base directory */ + private static final String LOG_DIR_PARAM = "log.dir"; + + /** The xslt parameter name for communicating the log file prefix */ + private static final String LOG_PREFIX_PARAM = "log.prefix"; + + /** The xslt parameter name for communicating the log file suffix */ + private static final String LOG_SUFFIX_PARAM = "log.suffix"; + /** the current generated id */ protected int generatedId = 0; + private String logDir; + + private String logPrefix; + + private String logSuffix; + /** * text checked for in tests, {@value} */ @@ -116,6 +132,33 @@ } /** + * Specify the basedir for log files. + * + * @param value + */ + public void setLogdir(String value) { + logDir = value; + } + + /** + * Specify a prefix for log files + * + * @param value + */ + public void setLogprefix(String value) { + logPrefix = value; + } + + /** + * Specify a prefix for log files + * + * @param value + */ + public void setLogsuffix(String value) { + logSuffix = value; + } + + /** * Set the destination directory where the results should be written. If not * set if will use {@link #DEFAULT_DIR}. When given a relative directory * it will resolve it from the project directory. @@ -154,6 +197,26 @@ while (e.hasMoreElements()) { AggregateTransformer transformer = (AggregateTransformer) e.nextElement(); + + XSLTProcess.Param p; + if (logDir != null) { + p = transformer.createParam(); + p.setName(LOG_DIR_PARAM); + p.setExpression(logDir); + } + + if (logPrefix != null) { + p = transformer.createParam(); + p.setName(LOG_PREFIX_PARAM); + p.setExpression(logPrefix); + } + + if (logSuffix != null) { + p = transformer.createParam(); + p.setName(LOG_SUFFIX_PARAM); + p.setExpression(logSuffix); + } + transformer.setXmlDocument(rootElement.getOwnerDocument()); transformer.transform(); } --- src/etc/junit-frames.xsl (revision 609533) +++ src/etc/junit-frames.xsl (working copy) @@ -32,6 +32,9 @@ --> Unit Test Results. + + + @@ -396,6 +399,14 @@ + + +