Class CBuilderXProjectWriter
- java.lang.Object
-
- net.sf.antcontrib.cpptasks.borland.CBuilderXProjectWriter
-
- All Implemented Interfaces:
ProjectWriter
public final class CBuilderXProjectWriter extends java.lang.Object implements ProjectWriter
Writes a CBuilderX 1.0 project file.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CBuilderXProjectWriter.PropertyWriter
Utility class to generate property elements.
-
Constructor Summary
Constructors Constructor Description CBuilderXProjectWriter()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
getActivePlatform(CCTask task)
Gets active platform.private CommandLineCompilerConfiguration
getBaseCompilerConfiguration(java.util.Hashtable targets)
Gets the first recognized compiler from the compilation targets.private java.lang.String
getBuildType(CCTask task)
Gets build type from link target.private java.lang.String
getWin32Toolset(CommandLineCompilerConfiguration compilerConfig)
private void
writeCompileOptions(java.lang.String baseDir, CBuilderXProjectWriter.PropertyWriter writer, CommandLineCompilerConfiguration compilerConfig)
Writes elements corresponding to compilation options.private void
writeIlinkArgs(CBuilderXProjectWriter.PropertyWriter writer, java.lang.String linkID, java.lang.String[] args)
Writes ilink32 linker options to project file.private void
writeLdArgs(CBuilderXProjectWriter.PropertyWriter writer, java.lang.String linkID, java.lang.String[] preArgs)
Writes ld linker options to project file.private void
writeLinkOptions(java.lang.String baseDir, CBuilderXProjectWriter.PropertyWriter writer, TargetInfo linkTarget)
Writes elements corresponding to link options.void
writeProject(java.io.File fileName, CCTask task, ProjectDef projectDef, java.util.List sources, java.util.Hashtable targets, TargetInfo linkTarget)
Writes a project definition file.
-
-
-
Method Detail
-
writeProject
public void writeProject(java.io.File fileName, CCTask task, ProjectDef projectDef, java.util.List sources, java.util.Hashtable targets, TargetInfo linkTarget) throws java.io.IOException, org.xml.sax.SAXException
Writes a project definition file.- Specified by:
writeProject
in interfaceProjectWriter
- Parameters:
fileName
- project name for file, should has .cbx extensiontask
- cc task for which to write projectprojectDef
- project elementsources
- source filestargets
- compilation targetslinkTarget
- link target- Throws:
java.io.IOException
- if I/O errororg.xml.sax.SAXException
- if XML serialization error
-
getBuildType
private java.lang.String getBuildType(CCTask task)
Gets build type from link target.- Parameters:
task
- CCTask current task- Returns:
- String build type
-
getActivePlatform
private java.lang.String getActivePlatform(CCTask task)
Gets active platform.- Parameters:
task
- CCTask cc task- Returns:
- String platform identifier
-
getWin32Toolset
private java.lang.String getWin32Toolset(CommandLineCompilerConfiguration compilerConfig)
-
getBaseCompilerConfiguration
private CommandLineCompilerConfiguration getBaseCompilerConfiguration(java.util.Hashtable targets)
Gets the first recognized compiler from the compilation targets.- Parameters:
targets
- compilation targets- Returns:
- representative (hopefully) compiler configuration
-
writeCompileOptions
private void writeCompileOptions(java.lang.String baseDir, CBuilderXProjectWriter.PropertyWriter writer, CommandLineCompilerConfiguration compilerConfig) throws org.xml.sax.SAXException
Writes elements corresponding to compilation options.- Parameters:
baseDir
- String base directorywriter
- PropertyWriter property writercompilerConfig
- representative configuration- Throws:
org.xml.sax.SAXException
- if I/O error or illegal content
-
writeLinkOptions
private void writeLinkOptions(java.lang.String baseDir, CBuilderXProjectWriter.PropertyWriter writer, TargetInfo linkTarget) throws org.xml.sax.SAXException
Writes elements corresponding to link options.- Parameters:
baseDir
- String base directorywriter
- PropertyWriter property writerlinkTarget
- TargetInfo link target- Throws:
org.xml.sax.SAXException
- if I/O error or illegal content
-
writeLdArgs
private void writeLdArgs(CBuilderXProjectWriter.PropertyWriter writer, java.lang.String linkID, java.lang.String[] preArgs) throws org.xml.sax.SAXException
Writes ld linker options to project file.- Parameters:
writer
- PropertyWriter property writerlinkID
- String linker identifierpreArgs
- String[] linker arguments- Throws:
org.xml.sax.SAXException
- thrown if unable to write option
-
writeIlinkArgs
private void writeIlinkArgs(CBuilderXProjectWriter.PropertyWriter writer, java.lang.String linkID, java.lang.String[] args) throws org.xml.sax.SAXException
Writes ilink32 linker options to project file.- Parameters:
writer
- PropertyWriter property writerlinkID
- String linker identifierpreArgs
- String[] linker arguments- Throws:
org.xml.sax.SAXException
- thrown if unable to write option
-
-