package org.freemarker.docgen; import java.io.File; import java.util.TimeZone; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; /** * Ant task "interface" to {@link Transform}. * * <p>Usage example: *<pre> <project ... xmlns:docgen="http://freemarker.org/docgen"> <taskdef resource="org/freemarker/docgen/antlib.properties" uri="http://freemarker.org/docgen" classpath="<i>DOCGEN_HOME</i>/lib/docgen.jar" /> <target ...> <!-- If you want to ensure that the destination directory is empty: --> <mkdir dir="<i>DEST_DIR</i>" /> <delete includeEmptyDirs="true"> <fileset dir="<i>DEST_DIR</i>" includes="**<!-- -->/*" defaultexcludes="no" /> </delete> <b><docgen:transform <!-- -->srcdir="<i>SRC_DIR</i>" destdir="<i>DEST_DIR</i>" offline="<i>OFFLINE</i>" /></b> </target> </project> </pre> */ public final class TransformAntTask extends Task { private Transform transform = new Transform(); { transform.setPrintProgress(true); } public void setDestDir(File value) { transform.setDestinationDirectory(value.getAbsoluteFile()); } public void setSrcDir(File value) { transform.setSourceDirectory(value); } public void setShowEditoralNotes(boolean value) { transform.setShowEditoralNotes(value); } public void setValidate(boolean value) { transform.setValidate(value); } public void setTimeZone(String timeZone) { transform.setTimeZone(TimeZone.getTimeZone(timeZone)); } public void setGenerateEclipseToC(boolean value) { transform.setGenerateEclipseToC(value); } public Boolean getOffline() { return transform.getOffline(); } public void setOffline(Boolean offline) { transform.setOffline(offline); } @Override public void execute() { try { transform.execute(); } catch (Exception e) { e.printStackTrace(); throw new BuildException(e); } } }