Class ProjectDef

  • All Implemented Interfaces:
    java.lang.Cloneable

    public final class ProjectDef
    extends org.apache.tools.ant.types.DataType
    Requests the creation of an IDE project file. Experimental. Implementation status: msdev5, msdev6 and cbuilderx generate reasonable project files for simple projects, xcode and msdev7 and msdev71 capture source file lists and a few settings.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List comments
      List of comments.
      private java.util.List dependencies
      List of dependency definitions.
      private boolean failOnError
      Fail on error.
      private java.lang.String ifProp
      Name of property that must be present or definition will be ignored.
      private java.lang.String name
      Project name.
      private java.io.File objDir
      Object directory.
      private java.io.File outFile
      Project file name.
      private boolean overwrite
      Overwrite existing project file.
      private ProjectWriter projectWriter
      Project writer.
      private java.lang.String unlessProp
      Name of property that must be absent or definition will 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 
      Constructor Description
      ProjectDef()
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addComment​(CommentDef comment)
      Add comment for the generated project file.
      void addDependency​(DependencyDef dependency)
      Add a dependency definition to the project.
      void execute()
      Required by documentation generator.
      void execute​(CCTask task, java.util.List sources, java.util.Hashtable targets, TargetInfo linkTarget)
      Executes the task.
      java.util.List getComments()  
      java.util.List getDependencies()  
      java.lang.String getName()
      Get name.
      java.io.File getObjdir()
      Gets the object files directory.
      void getObjdir​(java.io.File oDir)
      Sets the directory used for object files.
      boolean getOverwrite()
      Gets whether an existing project file should be overwritten, default is true.
      boolean isActive()
      Determine if this def should be used.
      void setClassname​(java.lang.String className)
      Class name for a user-supplied project writer.
      void setFailonerror​(boolean value)
      Sets whether a failure to write the project file should cause the task to fail.
      void setIf​(java.lang.String propName)
      Sets the property name for the 'if' condition.
      void setName​(java.lang.String value)
      Set name.
      void setOutfile​(java.io.File outfile)
      Sets the name for the generated project file.
      void setOverwrite​(boolean value)
      Sets whether an existing project file should be overwritten, default is true.
      void setType​(ProjectWriterEnum value)
      Set project type.
      void setUnless​(java.lang.String propName)
      Set the property name for the 'unless' condition.
      • 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, setRefid, tooManyAttributes, toString
      • Methods inherited from class org.apache.tools.ant.ProjectComponent

        getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
      • Methods inherited from class java.lang.Object

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

      • ifProp

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

        private java.lang.String unlessProp
        Name of property that must be absent or definition will be ignored. May be null.
      • outFile

        private java.io.File outFile
        Project file name.
      • name

        private java.lang.String name
        Project name.
      • failOnError

        private boolean failOnError
        Fail on error.
      • overwrite

        private boolean overwrite
        Overwrite existing project file.
      • projectWriter

        private ProjectWriter projectWriter
        Project writer.
      • objDir

        private java.io.File objDir
        Object directory.
      • dependencies

        private java.util.List dependencies
        List of dependency definitions.
      • comments

        private java.util.List comments
        List of comments.
    • Constructor Detail

      • ProjectDef

        public ProjectDef()
        Constructor.
    • Method Detail

      • setType

        public void setType​(ProjectWriterEnum value)
        Set project type. Supported project formats
        cbuilderx Borland C++BuilderX
        msvc5 Microsoft Visual C++ 97
        msvc6 Microsoft Visual C++ 6
        msvc7 Microsoft Visual C++.NET
        msvc71 Microsoft Visual C++.NET 2003
        msvc8 Microsoft Visual C++ 2005
        msvc9 Microsoft Visual C++ 2008
        xcode Apple Xcode
        Parameters:
        value - new value
      • setOutfile

        public void setOutfile​(java.io.File outfile)
        Sets the name for the generated project file.
        Parameters:
        outfile - output file name
      • setFailonerror

        public void setFailonerror​(boolean value)
        Sets whether a failure to write the project file should cause the task to fail. Default is true.
        Parameters:
        value - new value
      • setOverwrite

        public void setOverwrite​(boolean value)
        Sets whether an existing project file should be overwritten, default is true. If false and the project file exists, the value of failonerror will determine if the task fails.
        Parameters:
        value - new value
      • getOverwrite

        public boolean getOverwrite()
        Gets whether an existing project file should be overwritten, default is true. If false and the project file exists, the value of failonerror will determine if the task fails.
        Returns:
        value
      • isActive

        public boolean isActive()
        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
      • setClassname

        public void setClassname​(java.lang.String className)
        Class name for a user-supplied project writer. Use the "type" attribute to specify built-in project writer implementations.
        Parameters:
        className - full class name
      • setIf

        public void setIf​(java.lang.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
      • setUnless

        public void setUnless​(java.lang.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
      • getName

        public java.lang.String getName()
        Get name.
        Returns:
        String name
      • setName

        public void setName​(java.lang.String value)
        Set name.
        Parameters:
        value - String name
      • execute

        public void execute​(CCTask task,
                            java.util.List sources,
                            java.util.Hashtable targets,
                            TargetInfo linkTarget)
        Executes the task. Compiles the given files.
        Parameters:
        task - cc task
        sources - source files (includes headers)
        targets - compilation targets
        linkTarget - link target
      • getObjdir

        public java.io.File getObjdir()
        Gets the object files directory.
        Returns:
        directory, may be null.
      • getObjdir

        public void getObjdir​(java.io.File oDir)
        Sets the directory used for object files. If not specified, the object files directory from cc task will be used.
        Parameters:
        oDir - object file directory.
      • addDependency

        public void addDependency​(DependencyDef dependency)
        Add a dependency definition to the project.
        Parameters:
        dependency - dependency.
      • getDependencies

        public java.util.List getDependencies()
      • addComment

        public void addComment​(CommentDef comment)
        Add comment for the generated project file.
        Parameters:
        comment - comment, may not be null.
      • getComments

        public java.util.List getComments()
      • execute

        public void execute()
        Required by documentation generator.