org.apache.tools.ant.taskdefs.optional.dotnet

Class NetCommand


public class NetCommand
extends java.lang.Object

This is a helper class to spawn net commands out. In its initial form it contains no .net specifics, just contains all the command line/exe construction stuff. However, it may be handy in future to have a means of setting the path to point to the dotnet bin directory; in which case the shared code should go in here.

Version:
0.5

Field Summary

protected Commandline
commandLine
what is the command line
protected Execute
executable
executable
protected boolean
failOnError
flag to control action on execution trouble
protected Task
owner
owner project
protected String
program
actual program to invoke
protected String
title
title of the command
protected boolean
traceCommandLine
trace flag

Constructor Summary

NetCommand(Task owner, String title, String program)
constructor

Method Summary

void
addArgument(String argument)
add an argument to a command line; do nothing if the arg is null or empty string
void
addArgument(String argument1, String argument2)
concatenate two strings together and add them as a single argument, but only if argument2 is non-null and non-zero length
int
getAutomaticResponseFileThreshold()
getter for threshold
boolean
getFailFailOnError()
query fail on error flag
boolean
isUseResponseFile()
getter
protected void
logError(String msg)
error text log
protected void
logVerbose(String msg)
verbose text log
protected void
prepareExecutor()
set up the command sequence..
void
runCommand()
Run the command using the given Execute instance.
int
scanOneFileset(DirectoryScanner scanner, Hashtable filesToBuild, long outputTimestamp)
scan through one fileset for files to include
void
setAutomaticResponseFileThreshold(int automaticResponseFileThreshold)
set threshold for automatically using response files -use 0 for off
void
setDirectory(File directory)
set the directory to run from, if the default is inadequate
void
setFailOnError(boolean b)
set fail on error flag
void
setTraceCommandLine(boolean b)
turn tracing on or off
void
setUseResponseFile(boolean useResponseFile)
set this to true to always use the response file

Field Details

commandLine

protected Commandline commandLine
what is the command line


executable

protected Execute executable
executable


failOnError

protected boolean failOnError
flag to control action on execution trouble


owner

protected Task owner
owner project


program

protected String program
actual program to invoke


title

protected String title
title of the command


traceCommandLine

protected boolean traceCommandLine
trace flag

Constructor Details

NetCommand

public NetCommand(Task owner,
                  String title,
                  String program)
constructor

Parameters:
owner - owner task
title - (for logging/errors)
program - app we are to run

Method Details

addArgument

public void addArgument(String argument)
add an argument to a command line; do nothing if the arg is null or empty string

Parameters:
argument - The feature to be added to the Argument attribute


addArgument

public void addArgument(String argument1,
                        String argument2)
concatenate two strings together and add them as a single argument, but only if argument2 is non-null and non-zero length

Parameters:
argument1 - The first argument
argument2 - The second argument


getAutomaticResponseFileThreshold

public int getAutomaticResponseFileThreshold()
getter for threshold

Returns:
0 for disabled, or a threshold for enabling response files


getFailFailOnError

public boolean getFailFailOnError()
query fail on error flag

Returns:
The failFailOnError value


isUseResponseFile

public boolean isUseResponseFile()
getter

Returns:
response file state


logError

protected void logError(String msg)
error text log

Parameters:
msg - message to display as an error


logVerbose

protected void logVerbose(String msg)
verbose text log

Parameters:
msg - string to add to log if verbose is defined for the build


prepareExecutor

protected void prepareExecutor()
set up the command sequence..


runCommand

public void runCommand()
            throws BuildException
Run the command using the given Execute instance.

Throws:
BuildException - if something goes wrong and the failOnError flag is true


scanOneFileset

public int scanOneFileset(DirectoryScanner scanner,
                          Hashtable filesToBuild,
                          long outputTimestamp)
scan through one fileset for files to include

Parameters:
scanner -
filesToBuild -
outputTimestamp - timestamp to compare against

Returns:
#of files out of date


setAutomaticResponseFileThreshold

public void setAutomaticResponseFileThreshold(int automaticResponseFileThreshold)
set threshold for automatically using response files -use 0 for off

Parameters:
automaticResponseFileThreshold -


setDirectory

public void setDirectory(File directory)
set the directory to run from, if the default is inadequate

Parameters:
directory -


setFailOnError

public void setFailOnError(boolean b)
set fail on error flag

Parameters:
b - fail flag -set to true to cause an exception to be raised if the return value != 0


setTraceCommandLine

public void setTraceCommandLine(boolean b)
turn tracing on or off

Parameters:
b - trace flag


setUseResponseFile

public void setUseResponseFile(boolean useResponseFile)
set this to true to always use the response file

Parameters:
useResponseFile -


Copyright B) 2000-2005 Apache Software Foundation. All Rights Reserved.