net.sf.antcontrib.cpptasks.ide
Class ProjectDef

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by net.sf.antcontrib.cpptasks.ide.ProjectDef

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.

Author:
Curt Arnold

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, description, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
ProjectDef()
          Constructor.
 
Method Summary
 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, dieOnCircularReference, getCheckedRef, getDescription, getRefid, isChecked, isReference, noChildrenAllowed, setChecked, setDescription, setRefid, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, log, log, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.



Copyright 2001-2008 Ant-Contrib Project. All Rights Reserved.