Class ProcessorDef

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
net.sf.antcontrib.cpptasks.ProcessorDef
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
CompilerDef, LinkerDef

public abstract class ProcessorDef extends org.apache.tools.ant.types.DataType
An abstract compiler/linker definition.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Boolean
    if true, targets will be built for debugging
    private org.apache.tools.ant.types.Environment
     
    private org.apache.tools.ant.types.Reference
    Reference for "extends" processor definition
    private String
    Name of property that must be present or definition will be ignored.
    private boolean
    if true, processor definition inherits values from containing cc element
    private Boolean
     
    protected boolean
     
    private Processor
    Processor.
    private final Vector
    Collection of or contained by definition
    private final Vector
    Collection of or contained by definition
    private Boolean
    if true, all targets will be unconditionally rebuilt
    private final Vector
    Collection of contained by definition
    private String
    Name of property that if present will cause definition to be ignored.

    Fields inherited from class org.apache.tools.ant.types.DataType

    checked, ref

    Fields inherited from class org.apache.tools.ant.ProjectComponent

    description, location, project
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Adds a or
    protected void
    Adds a or
    void
    addEnv(org.apache.tools.ant.types.Environment.Variable var)
    Add an environment variable to the launched process.
    void
    Adds a source file set.
    protected static Boolean
    booleanValueOf(boolean val)
    Returns the equivalent Boolean object for the specified value Equivalent to Boolean.valueOf in JDK 1.4
    createConfiguration(CCTask task, LinkType linkType, ProcessorDef baseDef, TargetDef targetPlatform, VersionInfo versionInfo)
    Creates a configuration
    Prepares list of processor arguments ( compilerarg, linkerarg ) that are active for the current project settings.
    Prepares list of processor arguments ( compilerarg, linkerarg) that are active for the current project settings.
    boolean
    getDebug(ProcessorDef[] defaultProviders, int index)
    Gets boolean indicating debug build
    protected final ProcessorDef[]
    Creates an chain of objects which provide default values in descending order of significance.
    Gets the ProcessorDef specified by the extends attribute
    final boolean
    Gets the inherit attribute.
    boolean
     
    protected Processor
    Obtains the appropriate processor (compiler, linker)
    protected Processor
    Obtains the appropriate processor (compiler, linker) based on the LinkType.
    boolean
    getRebuild(ProcessorDef[] defaultProviders, int index)
    Gets a boolean value indicating whether all targets must be rebuilt regardless of dependency analysis.
    boolean
    Returns true if the processor definition contains embedded file set definitions
    boolean
    Determine if this def should be used.
    void
    setClassname(String className)
    Sets the class name for the adapter.
    void
    setDebug(boolean debug)
    If set true, all targets will be built for debugging.
    void
    Sets a description of the current data type.
    void
    setExtends(org.apache.tools.ant.types.Reference extendsRef)
    Specifies that this element extends the element with id attribute with a matching value.
    void
    Sets an id that can be used to reference this element.
    void
    setIf(String propName)
    Sets the property name for the 'if' condition.
    void
    setInherit(boolean inherit)
    If inherit has the default value of true, defines, includes and other settings from the containing cc element will be inherited.
    void
    setLibtool(boolean libtool)
    Set use of libtool.
    void
    setNewenvironment(boolean newenv)
    Do not propagate old environment when new environment variables are specified.
    protected void
    Sets the processor
    void
    setRebuild(boolean rebuild)
    If set true, all targets will be unconditionally rebuilt.
    void
    setRefid(org.apache.tools.ant.types.Reference ref)
    Specifies that this element should behave as if the content of the element with the matching id attribute was inserted at this location.
    void
    setUnless(String propName)
    Set the property name for the 'unless' condition.
    void
    This method calls the FileVistor's visit function for every file in the processors definition

    Methods inherited from class org.apache.tools.ant.types.DataType

    checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes, toString

    Methods inherited from class org.apache.tools.ant.ProjectComponent

    getDescription, getLocation, getProject, log, log, setLocation, setProject

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • debug

      private Boolean debug
      if true, targets will be built for debugging
    • env

      private org.apache.tools.ant.types.Environment env
    • extendsRef

      private org.apache.tools.ant.types.Reference extendsRef
      Reference for "extends" processor definition
    • ifProp

      private String ifProp
      Name of property that must be present or definition will be ignored. May be null.
    • inherit

      private boolean inherit
      if true, processor definition inherits values from containing cc element
    • libtool

      private Boolean libtool
    • newEnvironment

      protected boolean newEnvironment
    • processor

      private Processor processor
      Processor.
    • processorArgs

      private final Vector processorArgs
      Collection of or contained by definition
    • processorParams

      private final Vector processorParams
      Collection of or contained by definition
    • rebuild

      private Boolean rebuild
      if true, all targets will be unconditionally rebuilt
    • srcSets

      private final Vector srcSets
      Collection of contained by definition
    • unlessProp

      private String unlessProp
      Name of property that if present will cause definition to be ignored. May be null.
  • Constructor Details

  • Method Details

    • booleanValueOf

      protected static Boolean booleanValueOf(boolean val)
      Returns the equivalent Boolean object for the specified value Equivalent to Boolean.valueOf in JDK 1.4
      Parameters:
      val - boolean value
      Returns:
      Boolean.TRUE or Boolean.FALSE
    • addConfiguredProcessorArg

      protected void addConfiguredProcessorArg(CommandLineArgument arg) throws NullPointerException, org.apache.tools.ant.BuildException
      Adds a or
      Parameters:
      arg - command line argument, must not be null
      Throws:
      NullPointerException - if arg is null
      org.apache.tools.ant.BuildException - if this definition is a reference
    • addConfiguredProcessorParam

      protected void addConfiguredProcessorParam(ProcessorParam param) throws NullPointerException, org.apache.tools.ant.BuildException
      Adds a or
      Parameters:
      param - command line argument, must not be null
      Throws:
      NullPointerException - if arg is null
      org.apache.tools.ant.BuildException - if this definition is a reference
    • addEnv

      public void addEnv(org.apache.tools.ant.types.Environment.Variable var)
      Add an environment variable to the launched process.
    • addFileset

      public void addFileset(ConditionalFileSet srcSet) throws org.apache.tools.ant.BuildException
      Adds a source file set. Files in these set will be processed by this configuration and will not participate in the auction.
      Parameters:
      srcSet - Fileset identifying files that should be processed by this processor
      Throws:
      org.apache.tools.ant.BuildException - if processor definition is a reference
    • createConfiguration

      public ProcessorConfiguration createConfiguration(CCTask task, LinkType linkType, ProcessorDef baseDef, TargetDef targetPlatform, VersionInfo versionInfo)
      Creates a configuration
      Parameters:
      baseDef - reference to def from containing cc element, may be null
      Returns:
      configuration
    • getActiveProcessorArgs

      public CommandLineArgument[] getActiveProcessorArgs()
      Prepares list of processor arguments ( compilerarg, linkerarg ) that are active for the current project settings.
      Returns:
      active compiler arguments
    • getActiveProcessorParams

      public ProcessorParam[] getActiveProcessorParams()
      Prepares list of processor arguments ( compilerarg, linkerarg) that are active for the current project settings.
      Returns:
      active compiler arguments
    • getDebug

      public boolean getDebug(ProcessorDef[] defaultProviders, int index)
      Gets boolean indicating debug build
      Parameters:
      defaultProviders - array of ProcessorDef's in descending priority
      index - index to first element in array that should be considered
      Returns:
      if true, built targets for debugging
    • getDefaultProviders

      protected final ProcessorDef[] getDefaultProviders(ProcessorDef baseDef)
      Creates an chain of objects which provide default values in descending order of significance.
      Parameters:
      baseDef - corresponding ProcessorDef from CCTask, will be last element in array unless inherit = false
      Returns:
      default provider array
    • getExtends

      public ProcessorDef getExtends() throws org.apache.tools.ant.BuildException
      Gets the ProcessorDef specified by the extends attribute
      Returns:
      Base ProcessorDef, null if extends is not specified
      Throws:
      org.apache.tools.ant.BuildException - if reference is not same type object
    • getInherit

      public final boolean getInherit()
      Gets the inherit attribute. If the inherit value is true, this processor definition will inherit default values from the containing cc element.
      Returns:
      if true then properties from the containing element are used.
    • getLibtool

      public boolean getLibtool()
    • getProcessor

      protected Processor getProcessor()
      Obtains the appropriate processor (compiler, linker)
      Returns:
      processor
    • getProcessor

      protected Processor getProcessor(LinkType linkType)
      Obtains the appropriate processor (compiler, linker) based on the LinkType.
      Returns:
      processor
    • getRebuild

      public boolean getRebuild(ProcessorDef[] defaultProviders, int index)
      Gets a boolean value indicating whether all targets must be rebuilt regardless of dependency analysis.
      Parameters:
      defaultProviders - array of ProcessorDef's in descending priority
      index - index to first element in array that should be considered
      Returns:
      true if all targets should be rebuilt.
    • hasFileSets

      public boolean hasFileSets()
      Returns true if the processor definition contains embedded file set definitions
      Returns:
      true if processor definition contains embedded filesets
    • isActive

      public boolean isActive() throws org.apache.tools.ant.BuildException, IllegalStateException
      Determine if this def should be used. Definition will be active if the "if" variable (if specified) is set and the "unless" variable (if specified) is not set and that all reference or extended definitions are active
      Returns:
      true if processor is active
      Throws:
      IllegalStateException - if not properly initialized
      org.apache.tools.ant.BuildException - if "if" or "unless" variable contains suspicious values "false" or "no" which indicates possible confusion
    • setClassname

      public void setClassname(String className) throws org.apache.tools.ant.BuildException
      Sets the class name for the adapter. Use the "name" attribute when the tool is supported.
      Parameters:
      className - full class name
      Throws:
      org.apache.tools.ant.BuildException
    • setDebug

      public void setDebug(boolean debug) throws org.apache.tools.ant.BuildException
      If set true, all targets will be built for debugging.
      Parameters:
      debug - true if targets should be built for debugging
      Throws:
      org.apache.tools.ant.BuildException - if processor definition is a reference
    • setDescription

      public void setDescription(String desc)
      Sets a description of the current data type.
      Overrides:
      setDescription in class org.apache.tools.ant.ProjectComponent
    • setExtends

      public void setExtends(org.apache.tools.ant.types.Reference extendsRef) throws org.apache.tools.ant.BuildException
      Specifies that this element extends the element with id attribute with a matching value. The configuration will be constructed from the settings of this element, element referenced by extends, and the containing cc element.
      Parameters:
      extendsRef - Reference to the extended processor definition.
      Throws:
      org.apache.tools.ant.BuildException - if this processor definition is a reference
    • setId

      public void setId(String id)
      Sets an id that can be used to reference this element.
      Parameters:
      id - id
    • setIf

      public void setIf(String propName)
      Sets the property name for the 'if' condition. The configuration will be ignored unless the property is defined. The value of the property is insignificant, but values that would imply misinterpretation ("false", "no") will throw an exception when evaluated.
      Parameters:
      propName - name of property
    • setInherit

      public void setInherit(boolean inherit) throws org.apache.tools.ant.BuildException
      If inherit has the default value of true, defines, includes and other settings from the containing cc element will be inherited.
      Parameters:
      inherit - new value
      Throws:
      org.apache.tools.ant.BuildException - if processor definition is a reference
    • setLibtool

      public void setLibtool(boolean libtool)
      Set use of libtool. If set to true, the "libtool " will be prepended to the command line
      Parameters:
      libtool - If true, use libtool.
    • setNewenvironment

      public void setNewenvironment(boolean newenv)
      Do not propagate old environment when new environment variables are specified.
    • setProcessor

      protected void setProcessor(Processor processor) throws org.apache.tools.ant.BuildException, NullPointerException
      Sets the processor
      Parameters:
      processor - processor, may not be null.
      Throws:
      org.apache.tools.ant.BuildException - if ProcessorDef is a reference
      NullPointerException - if processor is null
    • setRebuild

      public void setRebuild(boolean rebuild) throws org.apache.tools.ant.BuildException
      If set true, all targets will be unconditionally rebuilt.
      Parameters:
      rebuild - if true, rebuild all targets.
      Throws:
      org.apache.tools.ant.BuildException - if processor definition is a reference
    • setRefid

      public void setRefid(org.apache.tools.ant.types.Reference ref)
      Specifies that this element should behave as if the content of the element with the matching id attribute was inserted at this location. If specified, no other attributes or child content should be specified, other than "if", "unless" and "description".
      Overrides:
      setRefid in class org.apache.tools.ant.types.DataType
      Parameters:
      ref - Reference to other element
    • setUnless

      public void setUnless(String propName)
      Set the property name for the 'unless' condition. If named property is set, the configuration will be ignored. The value of the property is insignificant, but values that would imply misinterpretation ("false", "no") of the behavior will throw an exception when evaluated.
      Parameters:
      propName - name of property
    • visitFiles

      public void visitFiles(FileVisitor visitor)
      This method calls the FileVistor's visit function for every file in the processors definition
      Parameters:
      visitor - object whose visit method is called for every file