diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-05 23:27:33 +0100 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-05 23:27:33 +0100 |
commit | 254c4886d58979eebd0e352f4d16e391736f2a33 (patch) | |
tree | 8feca0cc1caa5177dd52a7b9b2dfd63502c941fd /src/net/sf/antcontrib/cpptasks/trolltech/UserInterfaceCompiler.java | |
parent | ef6f25ba42792d2d811fd6826c0dd528ad77b1e9 (diff) | |
download | cpptasks-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/trolltech/UserInterfaceCompiler.java')
-rw-r--r-- | src/net/sf/antcontrib/cpptasks/trolltech/UserInterfaceCompiler.java | 347 |
1 files changed, 0 insertions, 347 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/trolltech/UserInterfaceCompiler.java b/src/net/sf/antcontrib/cpptasks/trolltech/UserInterfaceCompiler.java deleted file mode 100644 index cc4cf3b..0000000 --- a/src/net/sf/antcontrib/cpptasks/trolltech/UserInterfaceCompiler.java +++ /dev/null @@ -1,347 +0,0 @@ -/* - * - * 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. - */ -package net.sf.antcontrib.cpptasks.trolltech; - -import java.io.File; -import java.util.Vector; - -import net.sf.antcontrib.cpptasks.CCTask; -import net.sf.antcontrib.cpptasks.OptimizationEnum; -import net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler; -import net.sf.antcontrib.cpptasks.compiler.CommandLineCompilerConfiguration; -import net.sf.antcontrib.cpptasks.compiler.LinkType; -import net.sf.antcontrib.cpptasks.compiler.Linker; -import net.sf.antcontrib.cpptasks.compiler.Processor; -import net.sf.antcontrib.cpptasks.compiler.ProgressMonitor; -import net.sf.antcontrib.cpptasks.gcc.LdLinker; -import net.sf.antcontrib.cpptasks.parser.Parser; -import net.sf.antcontrib.cpptasks.VersionInfo; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.types.Environment; - -/** - * Adapter for the Trolltech Qt UIC Compiler. - * - * @author Curt Arnold - */ -public final class UserInterfaceCompiler - extends CommandLineCompiler { - /** - * Singleton instance. - */ - private static final UserInterfaceCompiler INSTANCE = new - UserInterfaceCompiler( - false, null); - - /** - * Gets singleton instance of compiler. - * @return MetaObjectCompiler singleton instance - */ - public static UserInterfaceCompiler getInstance() { - return INSTANCE; - } - - /** - * Constructor. - * @param newEnvironment boolean establish an new environment. - * @param env Environment environment. - */ - private UserInterfaceCompiler(final boolean newEnvironment, - final Environment env) { - super("uic", "-version", new String[] {".ui"} - , new String[0], ".h", false, null, newEnvironment, env); - } - - /** - * Add arguments for debug, etc. - * @param args Vector command argument list - * @param debug boolean build for debug if true - * @param multithreaded boolean build for multithreading if true - * @param exceptions boolean enable exceptions if true - * @param linkType LinkType output and runtime type - * @param rtti Boolean enable run-time type identification if true - * @param optimization OptimizationEnum optimization - */ - protected void addImpliedArgs(final Vector args, - final boolean debug, - final boolean multithreaded, - final boolean exceptions, - final LinkType linkType, - final Boolean rtti, - final OptimizationEnum optimization) { - } - - /** - * Add arguments for specified warning level. - * @param args Vector command line arguments - * @param level int warning level value - */ - protected void addWarningSwitch(final Vector args, final int level) { - } - - /** - * Change enviroment (deprecated). - * @param newEnvironment boolean use new environment. - * @param env Environment environment - * @return Processor modified processor - */ - public Processor changeEnvironment(final boolean newEnvironment, - final Environment env) { - return this; - } - - /** - * The include parser for C will work just fine, but we didn't want to - * inherit from CommandLineCCompiler. - * @param source source file to be parsed - * @return parser - */ - protected Parser createParser(final File source) { - return new UserInterfaceParser(); - } - - /** - * Gets number of command line arguments per input file. - * @return int number of command line arguments per input file. - */ - protected int getArgumentCountPerInputFile() { - return 3; - } - - /** - * Gets output file names. - * @param inputFile String input file name - * @param versionInfo version info, not used by this compiler. - * @return String[] output file names - */ - public String[] getOutputFileNames(final String inputFile, - final VersionInfo versionInfo) { - // - // if a recognized input file - // - String baseName = getBaseOutputName(inputFile); - return new String[] { - baseName + ".h", - baseName + ".cpp", - "moc_" + baseName + ".cpp"}; - } - - /** - * Gets input file arguments. - * @param outputDir File output directory - * @param filename String input file name. - * @param index int argument index, - * 0 to getNumberOfArgumentsPerInputFile() -1 - * @return String input file argument - */ - protected String getInputFileArgument(final File outputDir, - final String filename, - final int index) { - switch (index) { - case 0: - return "-o"; - - case 1: - String outputFileName = getOutputFileNames(filename, null)[0]; - return new File(outputDir, outputFileName) - .toString(); - - case 2: - return filename; - - default: - return null; - } - } - - /** - * Gets maximum length of command line. - * @return int maximum length of command line - */ - public int getMaximumCommandLength() { - return 1024; - } - - /** - * Gets maximum number of input files processed per command. - * @return int maximum number of input files processed per command. - */ - protected int getMaximumInputFilesPerCommand() { - return 1; - } - - /** - * Gets include directory switch. - * @param includeDir String include directory - * @return String command switch to add specified directory to search path - */ - protected String getIncludeDirSwitch(final String includeDir) { - return ""; - } - - /** - * Gets switch to define preprocessor macro. - * @param buffer StringBuffer command line argument - * @param define String macro name - * @param value String macro value, may be null. - */ - protected void getDefineSwitch(final StringBuffer buffer, - final String define, - final String value) { - } - - /** - * Gets switch to undefine preprocessor macro. - * @param buffer StringBuffer command line argument - * @param define String macro name - */ - protected void getUndefineSwitch(final StringBuffer buffer, - final String define) { - } - - /** - * Gets standard include paths. - * @return File[] standard include paths - */ - protected File[] getEnvironmentIncludePath() { - return new File[0]; - } - - /** - * Gets linker associated with this type. - * @param type LinkType linker, returns ld. - * @return Linker - */ - public Linker getLinker(final LinkType type) { - return LdLinker.getInstance(); - } - - /** - * Compiles an .ui file into the corresponding .h, .cpp and moc_*.cpp files. - * @param task current cc task - * @param outputDir output directory - * @param sourceFiles source files - * @param args command line arguments that appear before input files - * @param endArgs command line arguments that appear after input files - * @param relentless if true, do not stop at first compilation error - * @param config compiler configuration - * @param monitor progress monitor - */ - public void compile(final CCTask task, - final File outputDir, - final String[] sourceFiles, - final String[] args, - final String[] endArgs, - final boolean relentless, - final CommandLineCompilerConfiguration config, - final ProgressMonitor monitor) { - - BuildException exc = null; - String[] thisSource = new String[1]; - String[] uicCommand = new String[args.length + endArgs.length + 4]; - uicCommand[0] = "uic"; - String[] uicImplCommand = new String[args.length + endArgs.length + 6]; - uicImplCommand[0] = "uic"; - String[] mocCommand = new String[args.length + endArgs.length + 4]; - mocCommand[0] = "moc"; - for (int i = 0; i < args.length; i++) { - uicCommand[i + 1] = args[i]; - uicImplCommand[i + 1] = args[i]; - mocCommand[i + i] = args[i]; - } - uicCommand[args.length + 1] = "-o"; - uicImplCommand[args.length + 1] = "-o"; - mocCommand[args.length + 1] = "-o"; - - int uicIndex = args.length + 4; - int uicImplIndex = args.length + 6; - int mocIndex = args.length + 4; - for (int i = 0; i < endArgs.length; i++) { - uicCommand[uicIndex++] = endArgs[i]; - uicImplCommand[uicImplIndex++] = endArgs[i]; - mocCommand[mocIndex++] = endArgs[i]; - } - for (int j = 0; j < sourceFiles.length; j++) { - uicIndex = args.length + 2; - uicImplIndex = args.length + 2; - mocIndex = args.length + 2; - String[] outputFileNames = getOutputFileNames(sourceFiles[j], null); - - uicCommand[uicIndex++] = outputFileNames[0]; - uicCommand[uicIndex++] = sourceFiles[j]; - - uicImplCommand[uicImplIndex++] = outputFileNames[1]; - uicImplCommand[uicImplIndex++] = "-impl"; - uicImplCommand[uicImplIndex++] = outputFileNames[0]; - uicImplCommand[uicImplIndex++] = sourceFiles[j]; - - mocCommand[mocIndex++] = outputFileNames[2]; - mocCommand[mocIndex++] = outputFileNames[0]; - - int retval = runCommand(task, outputDir, uicCommand); - if (retval == 0) { - retval = runCommand(task, outputDir, uicImplCommand); - if (retval == 0) { - retval = runCommand(task, outputDir, mocCommand); - } - } - if (monitor != null) { - thisSource[0] = sourceFiles[j]; - monitor.progress(thisSource); - } - // - // if the process returned a failure code and - // we aren't holding an exception from an earlier - // interation - if (retval != 0 && exc == null) { - // - // construct the exception - // - exc = new BuildException(this.getCommand() - + " failed with return code " + retval, task - .getLocation()); - // - // and throw it now unless we are relentless - // - if (!relentless) { - throw exc; - } - } - } - // - // if the compiler returned a failure value earlier - // then throw an exception - if (exc != null) { - throw exc; - } - } - - /** - * Get total command line length due to the input file. - * @param outputDir File output directory - * @param inputFile String input file - * @return int characters added to command line for the input file. - */ - protected int getTotalArgumentLengthForInputFile( - final File outputDir, - final String inputFile) { - String arg1 = getInputFileArgument(outputDir, inputFile, 1); - String arg2 = getInputFileArgument(outputDir, inputFile, 2); - return arg1.length() + arg2.length() + 4; - } -} |