public final class DevStudioProjectWriter extends java.lang.Object implements ProjectWriter
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
version
Visual Studio version.
|
Constructor and Description |
---|
DevStudioProjectWriter(java.lang.String versionArg)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private CommandLineCompilerConfiguration |
getBaseCompilerConfiguration(java.util.Hashtable targets)
Gets the first recognized compiler from the
compilation targets.
|
private java.io.File[] |
getSources(java.util.List sourceList)
Get alphabetized array of source files.
|
private boolean |
isGroupMember(java.lang.String filter,
java.io.File candidate)
Returns true if the file has an extension that appears in the group filter.
|
private static java.lang.String |
toProjectName(java.lang.String name) |
private static void |
writeComments(java.io.Writer writer,
java.util.List comments) |
private void |
writeCompileOptions(java.io.Writer writer,
boolean isDebug,
java.lang.String baseDir,
CommandLineCompilerConfiguration compilerConfig)
Writes compiler options.
|
private void |
writeConfig(java.io.Writer writer,
boolean isDebug,
java.util.List dependencies,
java.lang.String basePath,
CommandLineCompilerConfiguration compilerConfig,
TargetInfo linkTarget,
java.util.Hashtable targets) |
private void |
writeLinkOptions(java.io.Writer writer,
boolean isDebug,
java.util.List dependencies,
java.lang.String basePath,
TargetInfo linkTarget,
java.util.Hashtable targets)
Writes link options.
|
private void |
writeMessage(java.io.Writer writer,
java.lang.String projectName,
java.lang.String targtype)
Writes "This is not a makefile" warning.
|
void |
writeProject(java.io.File fileName,
CCTask task,
ProjectDef projectDef,
java.util.List files,
java.util.Hashtable targets,
TargetInfo linkTarget)
Writes a project definition file.
|
private void |
writeSource(java.io.Writer writer,
java.lang.String basePath,
java.io.File groupMember)
Writes the entry for one source file in the project.
|
private void |
writeWorkspace(java.io.Writer writer,
ProjectDef project,
java.lang.String projectName,
java.io.File dspFile) |
private static void |
writeWorkspaceProject(java.io.Writer writer,
java.lang.String projectName,
java.lang.String projectFile,
java.util.List dependsOn) |
public DevStudioProjectWriter(java.lang.String versionArg)
versionArg
- String Visual Studio version.private static java.lang.String toProjectName(java.lang.String name)
public void writeProject(java.io.File fileName, CCTask task, ProjectDef projectDef, java.util.List files, java.util.Hashtable targets, TargetInfo linkTarget) throws java.io.IOException
writeProject
in interface ProjectWriter
fileName
- File name base, writer may append appropriate extensiontask
- cc task for which to write projectprojectDef
- project elementfiles
- source filestargets
- compilation targetslinkTarget
- link targetjava.io.IOException
- if error writing project fileprivate void writeConfig(java.io.Writer writer, boolean isDebug, java.util.List dependencies, java.lang.String basePath, CommandLineCompilerConfiguration compilerConfig, TargetInfo linkTarget, java.util.Hashtable targets) throws java.io.IOException
java.io.IOException
private static void writeWorkspaceProject(java.io.Writer writer, java.lang.String projectName, java.lang.String projectFile, java.util.List dependsOn) throws java.io.IOException
java.io.IOException
private void writeWorkspace(java.io.Writer writer, ProjectDef project, java.lang.String projectName, java.io.File dspFile) throws java.io.IOException
java.io.IOException
private boolean isGroupMember(java.lang.String filter, java.io.File candidate)
filter
- String group filtercandidate
- File fileprivate void writeSource(java.io.Writer writer, java.lang.String basePath, java.io.File groupMember) throws java.io.IOException
writer
- Writer writerbasePath
- String base path for projectgroupMember
- File project source filejava.io.IOException
- if error writing project fileprivate java.io.File[] getSources(java.util.List sourceList)
sourceList
- list of source filesprivate void writeMessage(java.io.Writer writer, java.lang.String projectName, java.lang.String targtype) throws java.io.IOException
writer
- Writer writerprojectName
- String project nametargtype
- String target typejava.io.IOException
- if error writing projectprivate CommandLineCompilerConfiguration getBaseCompilerConfiguration(java.util.Hashtable targets)
targets
- compilation targetsprivate void writeCompileOptions(java.io.Writer writer, boolean isDebug, java.lang.String baseDir, CommandLineCompilerConfiguration compilerConfig) throws java.io.IOException
writer
- Writer writerisDebug
- true if debug.baseDir
- String base directorycompilerConfig
- compiler configurationjava.io.IOException
- if error on writing projectprivate void writeLinkOptions(java.io.Writer writer, boolean isDebug, java.util.List dependencies, java.lang.String basePath, TargetInfo linkTarget, java.util.Hashtable targets) throws java.io.IOException
writer
- Writer writerbasePath
- String base pathdependencies
- project dependencies, used to suppress explicit linking.linkTarget
- TargetInfo link targettargets
- Hashtable all targetsjava.io.IOException
- if unable to write to project fileprivate static void writeComments(java.io.Writer writer, java.util.List comments) throws java.io.IOException
java.io.IOException