Class LibrarySet

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    SystemLibrarySet

    public class LibrarySet
    extends org.apache.tools.ant.types.DataType
    A set of library names. Libraries can also be added to a link by specifying them in a fileset. For most Unix-like compilers, libset will result in a series of -l and -L linker arguments. For Windows compilers, the library names will be used to locate the appropriate library files which will be added to the linkers input file list as if they had been specified in a fileset.
    Author:
    Mark A Russell mark_russell@csg_systems.com , Adam Murdoch, Curt Arnold
    • Field Summary

      • Fields inherited from class org.apache.tools.ant.types.DataType

        checked, ref
      • Fields inherited from class org.apache.tools.ant.ProjectComponent

        description, location, project
    • Constructor Summary

      Constructors 
      Constructor Description
      LibrarySet()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute()  
      java.lang.String getDataset()
      Gets the dataset.
      java.io.File getDir​(org.apache.tools.ant.Project project)  
      protected org.apache.tools.ant.types.FileSet getFileSet()  
      java.lang.String[] getLibs()  
      LibraryTypeEnum getType()
      Gets preferred library type
      boolean isActive​(org.apache.tools.ant.Project p)
      Returns true if the define's if and unless conditions (if any) are satisfied.
      void setCaseSensitive​(boolean isCaseSensitive)
      Sets case sensitivity of the file system.
      void setDataset​(java.lang.String dataset)
      Sets the dataset.
      void setDir​(java.io.File dir)
      Library directory.
      void setIf​(java.lang.String propName)
      Sets the property name for the 'if' condition.
      void setLibs​(CUtil.StringArrayBuilder libs)
      Comma-separated list of library names without leading prefixes, such as "lib", or extensions, such as ".so" or ".a".
      void setProject​(org.apache.tools.ant.Project project)  
      void setType​(LibraryTypeEnum type)
      Sets the preferred library type.
      void setUnless​(java.lang.String propName)
      Set the property name for the 'unless' condition.
      void visitLibraries​(org.apache.tools.ant.Project project, Linker linker, java.io.File[] libpath, FileVisitor visitor)  
      • Methods inherited from class org.apache.tools.ant.types.DataType

        checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes, toString
      • Methods inherited from class org.apache.tools.ant.ProjectComponent

        getDescription, getLocation, getProject, log, log, setDescription, setLocation
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • LibrarySet

        public LibrarySet()
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.tools.ant.BuildException
        Throws:
        org.apache.tools.ant.BuildException
      • getDataset

        public java.lang.String getDataset()
        Gets the dataset. Used on OS390 if the libs are in a dataset.
        Returns:
        Returns a String
      • getDir

        public java.io.File getDir​(org.apache.tools.ant.Project project)
      • getFileSet

        protected org.apache.tools.ant.types.FileSet getFileSet()
      • getLibs

        public java.lang.String[] getLibs()
      • getType

        public LibraryTypeEnum getType()
        Gets preferred library type
        Returns:
        library type, may be null.
      • isActive

        public boolean isActive​(org.apache.tools.ant.Project p)
        Returns true if the define's if and unless conditions (if any) are satisfied.
      • setCaseSensitive

        public void setCaseSensitive​(boolean isCaseSensitive)
        Sets case sensitivity of the file system. If not set, will default to the linker's case sensitivity.
        Parameters:
        isCaseSensitive - "true"|"on"|"yes" if file system is case sensitive, "false"|"off"|"no" when not.
      • setDataset

        public void setDataset​(java.lang.String dataset)
        Sets the dataset. Used on OS390 if the libs are in a dataset.
        Parameters:
        dataset - The dataset to set
      • setDir

        public void setDir​(java.io.File dir)
                    throws org.apache.tools.ant.BuildException
        Library directory.
        Parameters:
        dir - library directory
        Throws:
        org.apache.tools.ant.BuildException
      • setIf

        public void setIf​(java.lang.String propName)
        Sets the property name for the 'if' condition. The library set 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.
        Parameters:
        propName - property name
      • setLibs

        public void setLibs​(CUtil.StringArrayBuilder libs)
                     throws org.apache.tools.ant.BuildException
        Comma-separated list of library names without leading prefixes, such as "lib", or extensions, such as ".so" or ".a".
        Throws:
        org.apache.tools.ant.BuildException
      • setProject

        public void setProject​(org.apache.tools.ant.Project project)
        Overrides:
        setProject in class org.apache.tools.ant.ProjectComponent
      • setUnless

        public void setUnless​(java.lang.String propName)
        Set the property name for the 'unless' condition. If named property is set, the library set 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.
        Parameters:
        propName - name of property
      • setType

        public void setType​(LibraryTypeEnum type)
        Sets the preferred library type. Supported values "shared", "static", and "framework". "framework" is equivalent to "shared" on non-Darwin platforms.
      • visitLibraries

        public void visitLibraries​(org.apache.tools.ant.Project project,
                                   Linker linker,
                                   java.io.File[] libpath,
                                   FileVisitor visitor)
                            throws org.apache.tools.ant.BuildException
        Throws:
        org.apache.tools.ant.BuildException