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
void
addArguments(String[] arguments)
add an argument to a command line; do nothing if the arg is null or empty string
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

addArguments

public void addArguments(String[] arguments)
add an argument to a command line; do nothing if the arg is null or empty string
Parameters:

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-2008 Apache Software Foundation. All Rights Reserved.