org.apache.tools.ant.taskdefs.optional
Class NetRexxC

java.lang.Object
  |
  +--org.apache.tools.ant.ProjectComponent
        |
        +--org.apache.tools.ant.Task
              |
              +--org.apache.tools.ant.taskdefs.MatchingTask
                    |
                    +--org.apache.tools.ant.taskdefs.optional.NetRexxC
All Implemented Interfaces:
SelectorContainer

public class NetRexxC
extends MatchingTask

Compiles NetRexx source files. This task can take the following arguments:

Of these arguments, the srcdir argument is required.

When this task executes, it will recursively scan the srcdir looking for NetRexx source files to compile. This task makes its compile decision based on timestamp.

Before files are compiled they and any other file in the srcdir will be copied to the destdir allowing support files to be located properly in the classpath. The reason for copying the source files before the compile is that NetRexxC has only two destinations for classfiles:

  1. The current directory, and,
  2. The directory the source is in (see sourcedir option)


Nested Class Summary
static class NetRexxC.TraceAttr
           
static class NetRexxC.VerboseAttr
           
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
NetRexxC()
           
 
Method Summary
 void execute()
          Executes the task - performs the actual compiler call.
 void init()
          init-Method sets defaults from Properties.
 void setBinary(boolean binary)
          Set whether literals are treated as binary, rather than NetRexx types
 void setClasspath(java.lang.String classpath)
          Set the classpath used for NetRexx compilation
 void setComments(boolean comments)
          Set whether comments are passed through to the generated java source.
 void setCompact(boolean compact)
          Set whether error messages come out in compact or verbose format.
 void setCompile(boolean compile)
          Set whether the NetRexx compiler should compile the generated java code Valid true values are "on" or "true".
 void setConsole(boolean console)
          Set whether or not messages should be displayed on the 'console' Valid true values are "on" or "true".
 void setCrossref(boolean crossref)
          Whether variable cross references are generated
 void setDecimal(boolean decimal)
          Set whether decimal arithmetic should be used for the netrexx code.
 void setDestDir(java.io.File destDirName)
          Set the destination directory into which the NetRexx source files should be copied and then compiled.
 void setDiag(boolean diag)
          Whether diagnostic information about the compile is generated
 void setExplicit(boolean explicit)
          Sets whether variables must be declared explicitly before use.
 void setFormat(boolean format)
          Whether the generated java code is formatted nicely or left to match NetRexx line numbers for call stack debugging
 void setJava(boolean java)
          Whether the generated java code is produced Valid true values are "on" or "true".
 void setKeep(boolean keep)
          Sets whether the generated java source file should be kept after compilation.
 void setLogo(boolean logo)
          Whether the compiler text logo is displayed when compiling
 void setReplace(boolean replace)
          Whether the generated .java file should be replaced when compiling Valid true values are "on" or "true".
 void setSavelog(boolean savelog)
          Sets whether the compiler messages will be written to NetRexxC.log as well as to the console Valid true values are "on" or "true".
 void setSourcedir(boolean sourcedir)
          Tells the NetRexx compiler to store the class files in the same directory as the source files.
 void setSrcDir(java.io.File srcDirName)
          Set the source dir to find the source Java files.
 void setStrictargs(boolean strictargs)
          Tells the NetRexx compiler that method calls always need parentheses, even if no arguments are needed, e.g.
 void setStrictassign(boolean strictassign)
          Tells the NetRexx compile that assignments must match exactly on type
 void setStrictcase(boolean strictcase)
          Specifies whether the NetRexx compiler should be case sensitive or not
 void setStrictimport(boolean strictimport)
          Sets whether classes need to be imported explicitly using an import statement.
 void setStrictprops(boolean strictprops)
          Sets whether local properties need to be qualified explicitly using this Valid true values are "on" or "true".
 void setStrictsignal(boolean strictsignal)
          Whether the compiler should force catching of exceptions by explicitly named types
 void setSuppressDeprecation(boolean suppressDeprecation)
          Tells whether we should filter out any deprecation-messages of the compiler out.
 void setSuppressExceptionNotSignalled(boolean suppressExceptionNotSignalled)
          Whether the task should suppress the "FooException is in SIGNALS list but is not signalled within the method", which is sometimes rather useless.
 void setSuppressMethodArgumentNotUsed(boolean suppressMethodArgumentNotUsed)
          Whether the task should suppress the "Method argument is not used" in strictargs-Mode, which can not be suppressed by the compiler itself.
 void setSuppressPrivatePropertyNotUsed(boolean suppressPrivatePropertyNotUsed)
          Whether the task should suppress the "Private property is defined but not used" in strictargs-Mode, which can be quite annoying while developing.
 void setSuppressVariableNotUsed(boolean suppressVariableNotUsed)
          Whether the task should suppress the "Variable is set but not used" in strictargs-Mode.
 void setSymbols(boolean symbols)
          Sets whether debug symbols should be generated into the class file Valid true values are "on" or "true".
 void setTime(boolean time)
          Asks the NetRexx compiler to print compilation times to the console Valid true values are "on" or "true".
 void setTrace(NetRexxC.TraceAttr trace)
           
 void setTrace(java.lang.String trace)
          Turns on or off tracing and directs the resultant trace output Valid values are: "trace", "trace1", "trace2" and "notrace".
 void setUtf8(boolean utf8)
          Tells the NetRexx compiler that the source is in UTF8 Valid true values are "on" or "true".
 void setVerbose(NetRexxC.VerboseAttr verbose)
          Whether lots of warnings and error messages should be generated
 void setVerbose(java.lang.String verbose)
          Whether lots of warnings and error messages should be generated
 
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NetRexxC

public NetRexxC()
Method Detail

setBinary

public void setBinary(boolean binary)
Set whether literals are treated as binary, rather than NetRexx types


setClasspath

public void setClasspath(java.lang.String classpath)
Set the classpath used for NetRexx compilation


setComments

public void setComments(boolean comments)
Set whether comments are passed through to the generated java source. Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false


setCompact

public void setCompact(boolean compact)
Set whether error messages come out in compact or verbose format. Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false


setCompile

public void setCompile(boolean compile)
Set whether the NetRexx compiler should compile the generated java code Valid true values are "on" or "true". Anything else sets the flag to false. The default value is true. Setting this flag to false, will automatically set the keep flag to true.


setConsole

public void setConsole(boolean console)
Set whether or not messages should be displayed on the 'console' Valid true values are "on" or "true". Anything else sets the flag to false. The default value is true.


setCrossref

public void setCrossref(boolean crossref)
Whether variable cross references are generated


setDecimal

public void setDecimal(boolean decimal)
Set whether decimal arithmetic should be used for the netrexx code. Binary arithmetic is used when this flag is turned off. Valid true values are "on" or "true". Anything else sets the flag to false. The default value is true.


setDestDir

public void setDestDir(java.io.File destDirName)
Set the destination directory into which the NetRexx source files should be copied and then compiled.


setDiag

public void setDiag(boolean diag)
Whether diagnostic information about the compile is generated


setExplicit

public void setExplicit(boolean explicit)
Sets whether variables must be declared explicitly before use. Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setFormat

public void setFormat(boolean format)
Whether the generated java code is formatted nicely or left to match NetRexx line numbers for call stack debugging


setJava

public void setJava(boolean java)
Whether the generated java code is produced Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setKeep

public void setKeep(boolean keep)
Sets whether the generated java source file should be kept after compilation. The generated files will have an extension of .java.keep, not .java Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setLogo

public void setLogo(boolean logo)
Whether the compiler text logo is displayed when compiling


setReplace

public void setReplace(boolean replace)
Whether the generated .java file should be replaced when compiling Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setSavelog

public void setSavelog(boolean savelog)
Sets whether the compiler messages will be written to NetRexxC.log as well as to the console Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setSourcedir

public void setSourcedir(boolean sourcedir)
Tells the NetRexx compiler to store the class files in the same directory as the source files. The alternative is the working directory Valid true values are "on" or "true". Anything else sets the flag to false. The default value is true.


setSrcDir

public void setSrcDir(java.io.File srcDirName)
Set the source dir to find the source Java files.


setStrictargs

public void setStrictargs(boolean strictargs)
Tells the NetRexx compiler that method calls always need parentheses, even if no arguments are needed, e.g. aStringVar.getBytes vs. aStringVar.getBytes() Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setStrictassign

public void setStrictassign(boolean strictassign)
Tells the NetRexx compile that assignments must match exactly on type


setStrictcase

public void setStrictcase(boolean strictcase)
Specifies whether the NetRexx compiler should be case sensitive or not


setStrictimport

public void setStrictimport(boolean strictimport)
Sets whether classes need to be imported explicitly using an import statement. By default the NetRexx compiler will import certain packages automatically Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setStrictprops

public void setStrictprops(boolean strictprops)
Sets whether local properties need to be qualified explicitly using this Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setStrictsignal

public void setStrictsignal(boolean strictsignal)
Whether the compiler should force catching of exceptions by explicitly named types


setSymbols

public void setSymbols(boolean symbols)
Sets whether debug symbols should be generated into the class file Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setTime

public void setTime(boolean time)
Asks the NetRexx compiler to print compilation times to the console Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setTrace

public void setTrace(NetRexxC.TraceAttr trace)

setTrace

public void setTrace(java.lang.String trace)
Turns on or off tracing and directs the resultant trace output Valid values are: "trace", "trace1", "trace2" and "notrace". "trace" and "trace2"


setUtf8

public void setUtf8(boolean utf8)
Tells the NetRexx compiler that the source is in UTF8 Valid true values are "on" or "true". Anything else sets the flag to false. The default value is false.


setVerbose

public void setVerbose(NetRexxC.VerboseAttr verbose)
Whether lots of warnings and error messages should be generated


setVerbose

public void setVerbose(java.lang.String verbose)
Whether lots of warnings and error messages should be generated


setSuppressMethodArgumentNotUsed

public void setSuppressMethodArgumentNotUsed(boolean suppressMethodArgumentNotUsed)
Whether the task should suppress the "Method argument is not used" in strictargs-Mode, which can not be suppressed by the compiler itself. The warning is logged as verbose message, though.


setSuppressPrivatePropertyNotUsed

public void setSuppressPrivatePropertyNotUsed(boolean suppressPrivatePropertyNotUsed)
Whether the task should suppress the "Private property is defined but not used" in strictargs-Mode, which can be quite annoying while developing. The warning is logged as verbose message, though.


setSuppressVariableNotUsed

public void setSuppressVariableNotUsed(boolean suppressVariableNotUsed)
Whether the task should suppress the "Variable is set but not used" in strictargs-Mode. Be careful with this one! The warning is logged as verbose message, though.


setSuppressExceptionNotSignalled

public void setSuppressExceptionNotSignalled(boolean suppressExceptionNotSignalled)
Whether the task should suppress the "FooException is in SIGNALS list but is not signalled within the method", which is sometimes rather useless. The warning is logged as verbose message, though.


setSuppressDeprecation

public void setSuppressDeprecation(boolean suppressDeprecation)
Tells whether we should filter out any deprecation-messages of the compiler out.


init

public void init()
init-Method sets defaults from Properties. That way, when ant is called with arguments like -Dant.netrexxc.verbose=verbose5 one can easily take control of all netrexxc-tasks.

Overrides:
init in class Task

execute

public void execute()
             throws BuildException
Executes the task - performs the actual compiler call.

Overrides:
execute in class Task
Throws:
BuildException - if something goes wrong with the build


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