net.sf.antcontrib.cpptasks
Class CUtil

java.lang.Object
  |
  +--net.sf.antcontrib.cpptasks.CUtil

public class CUtil
extends java.lang.Object

Some utilities used by the CC and Link tasks.

Author:
Adam Murdoch

Inner Class Summary
static class CUtil.StringArrayBuilder
          A class that splits a white-space, comma-separated list into a String array.
 
Constructor Summary
CUtil()
           
 
Method Summary
static void addAll(java.util.Vector dest, java.lang.Object[] src)
          Adds the elements of the array to the given vector
static int checkDirectoryArray(java.lang.String[] names)
          Checks a array of names for non existent or non directory entries and nulls them out.
static java.lang.String getBasename(java.io.File file)
          Extracts the basename of a file, removing the extension, if present
static java.io.File getExecutableLocation(java.lang.String exeName)
          Gets the parent directory for the executable file name using the current directory and system executable path
static java.lang.String getParentPath(java.lang.String path)
          Extracts the parent of a file
static java.io.File[] getPathFromEnvironment(java.lang.String envVariable, java.lang.String delim)
          Returns an array of File for each existing directory in the specified environment variable
static java.lang.String getRelativePath(java.lang.String canonicalBase, java.io.File targetFile)
          Returns a relative path for the targetFile relative to the base directory.
static boolean isActive(org.apache.tools.ant.Project p, java.lang.String ifCond, java.lang.String unlessCond)
           
static java.io.File[] parsePath(java.lang.String path, java.lang.String delim)
          Parse a string containing directories into an File[]
static int runCommand(CCTask task, java.io.File workingDir, java.lang.String[] cmdline)
          This method is exposed so test classes can overload and test the arguments without actually spawning the compiler
static boolean sameList(java.lang.Object[] a, java.lang.Object[] b)
          Compares the contents of 2 arrays for equaliy.
static boolean sameList(java.util.Vector v, java.lang.Object[] a)
          Compares the contents of an array and a Vector for equality.
static boolean sameSet(java.lang.Object[] a, java.util.Vector b)
          Compares the contents of an array and a Vector for set equality.
static java.lang.String[] toArray(java.util.Vector src)
          Converts a vector to a string array.
static java.lang.String xmlAttribEncode(java.lang.String attrValue)
          Replaces any embedded quotes in the string so that the value can be placed in an attribute in an XML file
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CUtil

public CUtil()
Method Detail

toArray

public static java.lang.String[] toArray(java.util.Vector src)
Converts a vector to a string array.

addAll

public static void addAll(java.util.Vector dest,
                          java.lang.Object[] src)
Adds the elements of the array to the given vector

getBasename

public static java.lang.String getBasename(java.io.File file)
Extracts the basename of a file, removing the extension, if present

getParentPath

public static java.lang.String getParentPath(java.lang.String path)
Extracts the parent of a file

sameSet

public static boolean sameSet(java.lang.Object[] a,
                              java.util.Vector b)
Compares the contents of an array and a Vector for set equality. Assumes input array and vector are sets (i.e. no duplicate entries)

sameList

public static boolean sameList(java.lang.Object[] a,
                               java.lang.Object[] b)
Compares the contents of 2 arrays for equaliy.

sameList

public static boolean sameList(java.util.Vector v,
                               java.lang.Object[] a)
Compares the contents of an array and a Vector for equality.

getRelativePath

public static java.lang.String getRelativePath(java.lang.String canonicalBase,
                                               java.io.File targetFile)
Returns a relative path for the targetFile relative to the base directory.
Parameters:
canonicalBase - base directory as returned by File.getCanonicalPath()
targetFile - target file
Returns:
relative path of target file. Returns targetFile if there were no commonalities between the base and the target

xmlAttribEncode

public static java.lang.String xmlAttribEncode(java.lang.String attrValue)
Replaces any embedded quotes in the string so that the value can be placed in an attribute in an XML file
Parameters:
attrValue - value to be expressed
Returns:
equivalent attribute literal

getPathFromEnvironment

public static java.io.File[] getPathFromEnvironment(java.lang.String envVariable,
                                                    java.lang.String delim)
Returns an array of File for each existing directory in the specified environment variable
Parameters:
envVariable - environment variable name such as "LIB" or "INCLUDE"
delim - delimitor used to separate parts of the path, typically ";" or ":"
Returns:
array of File's for each part that is an existing directory

getExecutableLocation

public static java.io.File getExecutableLocation(java.lang.String exeName)
Gets the parent directory for the executable file name using the current directory and system executable path
Parameters:
exeName - Name of executable such as "cl.exe"
Returns:
parent directory or null if not located

parsePath

public static java.io.File[] parsePath(java.lang.String path,
                                       java.lang.String delim)
Parse a string containing directories into an File[]
Parameters:
path - path string, for example ".;c:\something\include"
delim - delimiter, typically ; or :

checkDirectoryArray

public static int checkDirectoryArray(java.lang.String[] names)
Checks a array of names for non existent or non directory entries and nulls them out.
Returns:
Count of non-null elements

runCommand

public static int runCommand(CCTask task,
                             java.io.File workingDir,
                             java.lang.String[] cmdline)
                      throws org.apache.tools.ant.BuildException
This method is exposed so test classes can overload and test the arguments without actually spawning the compiler

isActive

public static boolean isActive(org.apache.tools.ant.Project p,
                               java.lang.String ifCond,
                               java.lang.String unlessCond)
                        throws org.apache.tools.ant.BuildException


Copyright © 2001-2002 Ant-Contrib project. All Rights Reserved.