summaryrefslogtreecommitdiff
path: root/src/net/sf/antcontrib/cpptasks/ide
diff options
context:
space:
mode:
authorMark Donszelmann <Mark.Donszelmann@gmail.com>2009-11-05 23:27:33 +0100
committerMark Donszelmann <Mark.Donszelmann@gmail.com>2009-11-05 23:27:33 +0100
commit254c4886d58979eebd0e352f4d16e391736f2a33 (patch)
tree8feca0cc1caa5177dd52a7b9b2dfd63502c941fd /src/net/sf/antcontrib/cpptasks/ide
parentef6f25ba42792d2d811fd6826c0dd528ad77b1e9 (diff)
downloadcpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.gz
cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.bz2
cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.xz
cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.zip
Reorganized source directories in line with cpptasks-1.0b5, for easier tracking
Diffstat (limited to 'src/net/sf/antcontrib/cpptasks/ide')
-rw-r--r--src/net/sf/antcontrib/cpptasks/ide/DebugDef.java127
-rw-r--r--src/net/sf/antcontrib/cpptasks/ide/ProjectDef.java330
-rw-r--r--src/net/sf/antcontrib/cpptasks/ide/ProjectWriter.java53
-rw-r--r--src/net/sf/antcontrib/cpptasks/ide/ProjectWriterEnum.java100
-rw-r--r--src/net/sf/antcontrib/cpptasks/ide/package.html27
5 files changed, 0 insertions, 637 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/ide/DebugDef.java b/src/net/sf/antcontrib/cpptasks/ide/DebugDef.java
deleted file mode 100644
index 8ddd04e..0000000
--- a/src/net/sf/antcontrib/cpptasks/ide/DebugDef.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
-*
-* Copyright 2004-2005 The Ant-Contrib project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package net.sf.antcontrib.cpptasks.ide;
-
-import java.io.File;
-
-import org.apache.tools.ant.types.Commandline;
-import org.apache.tools.ant.types.Environment;
-import org.apache.tools.ant.types.DataType;
-
-
-/**
-* Specifies a debugging configuration for a project.
-*
-* @author Curt Arnold
-*/
-public final class DebugDef
- extends DataType {
-
- /**
- * Working directory for debug runs.
- */
- private File dir;
- /**
- * Name of executable.
- */
- private String executable;
- /**
- * Environment used to hold environment variables.
- */
- private Environment env = new Environment();
- /**
- * Command line used to hold command line arguments.
- */
- private Commandline cmdl = new Commandline();
-
- /**
- * Constructor.
- *
- */
- public DebugDef() {
- }
-
-
- /**
- * Set the name of the executable program.
- * @param value the name of the executable program
- */
- public void setExecutable(final String value) {
- this.executable = value;
- }
-
- /**
- * Get the name of the executable program.
- * @return the name of the executable program, may be null.
- */
- public String getExecutable() {
- return executable;
- }
-
- /**
- * Set the working directory of the process.
- * @param d the working directory of the process
- */
- public void setDir(final File d) {
- this.dir = d;
- }
-
- /**
- * Get the working directory of the process.
- * @return the working directory of the process, may be null.
- */
- public File getDir() {
- return dir;
- }
-
- /**
- * Add an environment variable.
- *
- * @param var new environment variable
- */
- public void addEnv(final Environment.Variable var) {
- env.addVariable(var);
- }
-
- /**
- * Get the variable list as an array.
- * @return array of key=value assignment strings
- */
- public String[] getVariables() {
- return env.getVariables();
- }
-
-
- /**
- * Adds a command-line argument.
- *
- * @return new command line argument created
- */
- public Commandline.Argument createArg() {
- return cmdl.createArgument();
- }
-
- /**
- * Returns all arguments defined by <code>addLine</code>,
- * <code>addValue</code> or the argument object.
- * @return array of command line arguments, may be zero-length.
- */
- public String[] getArguments() {
- return cmdl.getArguments();
- }
-
-}
diff --git a/src/net/sf/antcontrib/cpptasks/ide/ProjectDef.java b/src/net/sf/antcontrib/cpptasks/ide/ProjectDef.java
deleted file mode 100644
index df0177c..0000000
--- a/src/net/sf/antcontrib/cpptasks/ide/ProjectDef.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- *
- * Copyright 2004-2006 The Ant-Contrib project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package net.sf.antcontrib.cpptasks.ide;
-
-import net.sf.antcontrib.cpptasks.CCTask;
-import net.sf.antcontrib.cpptasks.CUtil;
-import net.sf.antcontrib.cpptasks.TargetInfo;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.DataType;
-
-import java.io.File;
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-import java.util.List;
-
-/**
- * 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
- */
-public final class ProjectDef
- extends DataType {
- /**
- * Name of property that must be present or definition will be ignored. May
- * be null.
- */
- private String ifProp;
-
- /**
- * Name of property that must be absent or definition will be ignored. May
- * be null.
- */
- private String unlessProp;
-
- /**
- * Project file name.
- */
- private File outFile;
-
- /**
- * Project name.
- */
- private String name;
-
- /**
- * Fail on error.
- */
- private boolean failOnError = true;
-
- /**
- * Overwrite existing project file.
- */
- private boolean overwrite = true;
-
- /**
- * Project writer.
- */
- private ProjectWriter projectWriter;
-
- /**
- * Object directory.
- *
- */
- private File objDir;
-
- /**
- * Constructor.
- *
- */
- public ProjectDef() {
- }
-
- /**
- * Set project type.
- *
- *
- * <table width="100%" border="1"> <thead>Supported project formats </thead>
- * <tr>
- * <td>cbuilderx</td>
- * <td>Borland C++BuilderX</td>
- * </tr>
- * <tr>
- * <td>msvc5</td>
- * <td>Microsoft Visual C++ 97</td>
- * </tr>
- * <tr>
- * <td>msvc6</td>
- * <td>Microsoft Visual C++ 6</td>
- * </tr>
- * <tr>
- * <td>msvc7</td>
- * <td>Microsoft Visual C++.NET</td>
- * </tr>
- * <tr>
- * <td>msvc71</td>
- * <td>Microsoft Visual C++.NET 2003</td>
- * </tr>
- * <tr>
- * <td>msvc8</td>
- * <td>Microsoft Visual C++ 2005</td>
- * </tr>
- * <tr>
- * <td>xcode</td>
- * <td>Apple Xcode</td>
- * </tr>
- * </table>
- *
- * @param value new value
- */
- public void setType(final ProjectWriterEnum value) {
- projectWriter = value.getProjectWriter();
- }
-
- /**
- * Sets the name for the generated project file.
- *
- * @param outfile
- * output file name
- */
- public void setOutfile(final File outfile) {
- //
- // if file name was empty, skip link step
- //
- if (outfile == null || outfile.toString().length() > 0) {
- outFile = outfile;
- }
- }
-
- /**
- * Sets whether a failure to write the project file should cause the
- * task to fail. Default is true.
- *
- * @param value new value
- */
- public void setFailonerror(final boolean value) {
- failOnError = 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.
- *
- * @param value new value
- */
- public void setOverwrite(final boolean value) {
- overwrite = value;
- }
-
- /**
- * 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.
- *
- * @return value
- */
- public boolean getOverwrite() {
- return overwrite;
- }
-
- /**
- * 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
- *
- * @return true if processor is active
- */
- public boolean isActive() {
- Project project = getProject();
- if (!CUtil.isActive(project, ifProp, unlessProp)) {
- return false;
- }
- return true;
- }
-
- /**
- * Class name for a user-supplied project writer. Use the "type"
- * attribute to specify built-in project writer implementations.
- *
- * @param className
- * full class name
- *
- */
- public void setClassname(final String className) {
- Object proc = null;
- try {
- Class implClass = ProjectDef.class.getClassLoader().loadClass(
- className);
- try {
- Method getInstance = implClass.getMethod("getInstance",
- new Class[0]);
- proc = getInstance.invoke(null, new Object[0]);
- } catch (Exception ex) {
- proc = implClass.newInstance();
- }
- } catch (Exception ex) {
- throw new BuildException(ex);
- }
- projectWriter = (ProjectWriter) proc;
- }
-
- /**
- * 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.
- *
- * @param propName
- * name of property
- */
- public void setIf(final String propName) {
- ifProp = 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.
- *
- * @param propName
- * name of property
- */
- public void setUnless(final String propName) {
- unlessProp = propName;
- }
-
- /**
- * Get name.
- * @return String name
- */
- public String getName() {
- return name;
- }
-
- /**
- * Set name.
- * @param value String name
- */
- public void setName(final String value) {
- name = value;
- }
-
- /**
- * Executes the task. Compiles the given files.
- *
- * @param task cc task
- * @param sources source files (includes headers)
- * @param targets compilation targets
- * @param linkTarget link target
- */
- public void execute(final CCTask task,
- final List sources,
- final Hashtable targets,
- final TargetInfo linkTarget) {
- try {
- projectWriter.writeProject(outFile,
- task,
- this,
- sources,
- targets,
- linkTarget);
- } catch (BuildException ex) {
- if (failOnError) {
- throw ex;
- } else {
- task.log(ex.toString());
- }
- } catch (Exception ex) {
- if (failOnError) {
- throw new BuildException(ex);
- } else {
- task.log(ex.toString());
- }
- }
- }
-
- /**
- * Gets the object files directory.
- * @return directory, may be null.
- */
- public File getObjdir() {
- return objDir;
- }
- /**
- * Sets the directory used for object files. If not specified,
- * the object files directory from cc task will be used.
- * @param oDir object file directory.
- */
- public void getObjdir(final File oDir) {
- this.objDir = oDir;
- }
-
- /**
- * Required by documentation generator.
- */
- public void execute() {
- throw new org.apache.tools.ant.BuildException(
- "Not an actual task, but looks like one for documentation purposes");
- }
-
-}
diff --git a/src/net/sf/antcontrib/cpptasks/ide/ProjectWriter.java b/src/net/sf/antcontrib/cpptasks/ide/ProjectWriter.java
deleted file mode 100644
index c4c144d..0000000
--- a/src/net/sf/antcontrib/cpptasks/ide/ProjectWriter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *
- * Copyright 2002-2004 The Ant-Contrib project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package net.sf.antcontrib.cpptasks.ide;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Hashtable;
-import java.util.List;
-
-import net.sf.antcontrib.cpptasks.CCTask;
-import net.sf.antcontrib.cpptasks.TargetInfo;
-import org.xml.sax.SAXException;
-
-/**
- * Project writer interface.
- *
- * @author curta
- *
- */
-public interface ProjectWriter {
- /**
- * Write project definition file.
- * @param baseName File name base, writer may append appropriate extension
- * @param task task
- * @param projectDef project element
- * @param files source and header files
- * @param targets compilation targets
- * @param linkTarget link target
- * @throws IOException if I/O error is encountered
- * @throws SAXException if I/O error during XML serialization
- */
- void writeProject(final File baseName,
- final CCTask task,
- final ProjectDef projectDef,
- final List files,
- final Hashtable targets,
- final TargetInfo linkTarget)
- throws IOException, SAXException;
-}
diff --git a/src/net/sf/antcontrib/cpptasks/ide/ProjectWriterEnum.java b/src/net/sf/antcontrib/cpptasks/ide/ProjectWriterEnum.java
deleted file mode 100644
index e100dbc..0000000
--- a/src/net/sf/antcontrib/cpptasks/ide/ProjectWriterEnum.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *
- * Copyright 2004-2006 The Ant-Contrib project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package net.sf.antcontrib.cpptasks.ide;
-
-import net.sf.antcontrib.cpptasks.apple.XcodeProjectWriter;
-import net.sf.antcontrib.cpptasks.borland.CBuilderXProjectWriter;
-import net.sf.antcontrib.cpptasks.devstudio.DevStudioProjectWriter;
-import net.sf.antcontrib.cpptasks.devstudio.VisualStudioNETProjectWriter;
-import org.apache.tools.ant.types.EnumeratedAttribute;
-
-/**
- * Enumeration of supported project file generators.
- *
- * <table width="100%" border="1"> <thead>Supported project generators </thead>
- * <tr>
- * <td>cbuilderx</td>
- * <td>Borland C++BuilderX</td>
- * </tr>
- * <tr>
- * <td>msvc5</td>
- * <td>Microsoft Visual C++ 97</td>
- * </tr>
- * <tr>
- * <td>msvc6</td>
- * <td>Microsoft Visual C++ 6</td>
- * </tr>
- * <tr>
- * <td>msvc7</td>
- * <td>Microsoft Visual C++.NET</td>
- * </tr>
- * <tr>
- * <td>msvc71</td>
- * <td>Microsoft Visual C++.NET 2003</td>
- * </tr>
- * <tr>
- * <td>msvc8</td>
- * <td>Microsoft Visual C++ 2005</td>
- * </tr>
- * <tr>
- * <td>xcode</td>
- * <td>Apple Xcode</td>
- * </tr>
- * </table>
- *
- * @author Curt Arnold
- *
- */
-public final class ProjectWriterEnum
- extends EnumeratedAttribute {
- /**
- * Enumeration values.
- */
- private static String[] values = new String[] {
- "cbuilderx", "msvc5",
- "msvc6", "msvc7", "msvc71", "msvc8", "xcode"};
-
- /**
- * Project writers associated with enumeration values.
- */
- private static ProjectWriter[] writers = new ProjectWriter[] {
- new CBuilderXProjectWriter(), new DevStudioProjectWriter("5.00"),
- new DevStudioProjectWriter("6.00"),
- new VisualStudioNETProjectWriter("7.00", "TRUE", "FALSE"),
- new VisualStudioNETProjectWriter("7.10", "TRUE", "FALSE"),
- new VisualStudioNETProjectWriter("8.00", "true", "false"),
- new XcodeProjectWriter()};
-
- /**
- * Gets ProjectWriter associated with enumeration value.
- *
- * @return project writer
- */
- public ProjectWriter getProjectWriter() {
- return writers[this.getIndex()];
- }
-
- /**
- * Gets acceptible values for enumeration.
- *
- * @return acceptible values
- */
- public String[] getValues() {
- return (String[]) values.clone();
- }
-}
-
diff --git a/src/net/sf/antcontrib/cpptasks/ide/package.html b/src/net/sf/antcontrib/cpptasks/ide/package.html
deleted file mode 100644
index ed0de56..0000000
--- a/src/net/sf/antcontrib/cpptasks/ide/package.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<!--
-
-Copyright 2004 The Ant-Contrib project
-
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
- use this file except in compliance with the License. You may obtain a copy of
- the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- License for the specific language governing permissions and limitations under
- the License.
-
--->
-</head>
-<body bgcolor="white">
-
-IDE project file generation.
-</body>
-</html>
-