net.sourceforge.cruisecontrol.builders
Class NantBuilder

java.lang.Object
  extended bynet.sourceforge.cruisecontrol.util.PerDayScheduleItem
      extended bynet.sourceforge.cruisecontrol.Builder
          extended bynet.sourceforge.cruisecontrol.builders.NantBuilder
All Implemented Interfaces:
java.lang.Comparable, java.io.Serializable

public class NantBuilder
extends Builder

See Also:
Serialized Form

Field Summary
protected static java.lang.String DEFAULT_LOGGER
           
 
Fields inherited from class net.sourceforge.cruisecontrol.util.PerDayScheduleItem
INVALID_NAME_OF_DAY, NOT_SET
 
Constructor Summary
NantBuilder()
           
 
Method Summary
 org.jdom.Element build(java.util.Map buildProperties)
          Build and return the results via xml.
 org.jdom.Element buildWithTarget(java.util.Map properties, java.lang.String buildTarget)
           
 Property createProperty()
           
 java.lang.String getLoggerClassName()
           
protected  org.jdom.Element getNantLogAsElement(java.io.File file)
           
protected  NantScript getNantScript()
           
 void setBuildFile(java.lang.String buildFile)
          Sets the name of the build file that NAnt will use.
 void setLoggerClassName(java.lang.String logger)
           
 void setNantWorkingDir(java.lang.String dir)
          Set the working directory where NAnt will be invoked.
 void setSaveLogDir(java.lang.String dir)
          Set the location to which the NAnt log will be saved before Cruise Control merges the file into its log.
 void setTarget(java.lang.String target)
          Set the Ant target(s) to invoke.
 void setTargetFramework(java.lang.String framework)
           
 void setTempFile(java.lang.String tempFileName)
          Set the name of the temporary file used to capture output.
 void setTimeout(long timeout)
           
 void setUseDebug(boolean debug)
           
 void setUseLogger(boolean useLogger)
          Sets whether NAnt will use the custom loggers.
 void setUseQuiet(boolean quiet)
           
protected  org.jdom.Element translateNantErrorElements(org.jdom.Element buildLogElement)
           
 void validate()
           
 
Methods inherited from class net.sourceforge.cruisecontrol.Builder
compareTo, getGroup, getMultiple, getTime, isValidDay, setGroup, setMultiple, setTime
 
Methods inherited from class net.sourceforge.cruisecontrol.util.PerDayScheduleItem
getDay, setDay
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_LOGGER

protected static final java.lang.String DEFAULT_LOGGER
See Also:
Constant Field Values
Constructor Detail

NantBuilder

public NantBuilder()
Method Detail

validate

public void validate()
              throws CruiseControlException
Overrides:
validate in class Builder
Throws:
CruiseControlException

build

public org.jdom.Element build(java.util.Map buildProperties)
                       throws CruiseControlException
Build and return the results via xml. Debug status can be determined from log4j category once we get all the logging in place.

Specified by:
build in class Builder
Throws:
CruiseControlException

buildWithTarget

public org.jdom.Element buildWithTarget(java.util.Map properties,
                                        java.lang.String buildTarget)
                                 throws CruiseControlException
Specified by:
buildWithTarget in class Builder
Throws:
CruiseControlException

getNantScript

protected NantScript getNantScript()

setSaveLogDir

public void setSaveLogDir(java.lang.String dir)
Set the location to which the NAnt log will be saved before Cruise Control merges the file into its log.

Parameters:
dir - the absolute path to the directory where the NAnt log will be saved or relative path to where you started CruiseControl

setNantWorkingDir

public void setNantWorkingDir(java.lang.String dir)
Set the working directory where NAnt will be invoked. This parameter gets set in the XML file via the nantWorkingDir attribute. The directory can be relative (to the cruisecontrol current working directory) or absolute.

Parameters:
dir - the directory to make the current working directory.

setTempFile

public void setTempFile(java.lang.String tempFileName)
Set the name of the temporary file used to capture output.

Parameters:
tempFileName -

setTarget

public void setTarget(java.lang.String target)
Set the Ant target(s) to invoke.

Parameters:
target - the target(s) name.

setBuildFile

public void setBuildFile(java.lang.String buildFile)
Sets the name of the build file that NAnt will use. The NAnt default is default.build, use this to override it.

Parameters:
buildFile - the name of the build file.

setUseLogger

public void setUseLogger(boolean useLogger)
Sets whether NAnt will use the custom loggers.

Parameters:
useLogger -

createProperty

public Property createProperty()

getNantLogAsElement

protected org.jdom.Element getNantLogAsElement(java.io.File file)
                                        throws CruiseControlException
Throws:
CruiseControlException

setUseDebug

public void setUseDebug(boolean debug)

setUseQuiet

public void setUseQuiet(boolean quiet)

getLoggerClassName

public java.lang.String getLoggerClassName()

setLoggerClassName

public void setLoggerClassName(java.lang.String logger)

setTargetFramework

public void setTargetFramework(java.lang.String framework)

translateNantErrorElements

protected org.jdom.Element translateNantErrorElements(org.jdom.Element buildLogElement)
                                               throws CruiseControlException
Throws:
CruiseControlException

setTimeout

public void setTimeout(long timeout)
Parameters:
timeout - The timeout to set.