From: Adam M. <ada...@us...> - 2002-01-11 00:34:28
|
Update of /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/types In directory usw-pr-cvs1:/tmp/cvs-serv24372 Modified Files: LibrarySet.java Log Message: Fixed reference handling in <libset> Index: LibrarySet.java =================================================================== RCS file: /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/types/LibrarySet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** LibrarySet.java 2002/01/09 06:37:28 1.2 --- LibrarySet.java 2002/01/11 00:34:25 1.3 *************** *** 88,117 **** /** ! * Returns the library path for this set. */ ! public Path getLibpath() { if ( isReference() ) { ! LibrarySet lib = (LibrarySet)getCheckedRef(LibrarySet.class, "LibrarySet"); ! return lib.getLibpath(); ! } ! else { ! return libpath; } - } - /** - * Returns the library names for this set. - */ - public String[] getLibNames() - { - return libnames; - } - - /** - * Sets the library names. - */ - public void setLibs(CUtil.StringArrayBuilder libs) - { libnames = libs.getValue(); } --- 88,99 ---- /** ! * Sets the library names. */ ! public void setLibs(CUtil.StringArrayBuilder libs) { if ( isReference() ) { ! throw noChildrenAllowed(); } libnames = libs.getValue(); } *************** *** 134,137 **** --- 116,123 ---- public void addConfiguredFileset(FileSet fileset) { + if ( isReference() ) { + throw noChildrenAllowed(); + } + filesets.addElement(fileset); } *************** *** 146,150 **** public void setRefid(Reference r) throws BuildException { ! if ( libnames.length > 0 || libpath.size() > 0 ) { throw tooManyAttributes(); } --- 132,136 ---- public void setRefid(Reference r) throws BuildException { ! if ( libnames.length > 0 || libpath.size() > 0 || filesets.size() > 0 ) { throw tooManyAttributes(); } *************** *** 169,177 **** SimpleLinkConfig config) { // Locate the libraries given by name ! String[] libNames = getLibNames(); ! String[] path = getLibpath().list(); ! for ( int j = 0; j < libNames.length; j++ ) { ! String libName = libNames[j]; File lib = linker.findLibrary(path, libName); if ( lib != null ) { --- 155,173 ---- SimpleLinkConfig config) { + LibrarySet libset = getEffectiveLibrarySet(); + libset.doAddLibraries(linker, linkInputFiles, config); + } + + /** + * Does the work of adding libraries. + */ + private void doAddLibraries(Linker linker, + Vector linkInputFiles, + SimpleLinkConfig config) + { // Locate the libraries given by name ! String[] path = libpath.list(); ! for ( int j = 0; j < libnames.length; j++ ) { ! String libName = libnames[j]; File lib = linker.findLibrary(path, libName); if ( lib != null ) { *************** *** 202,205 **** --- 198,214 ---- linkInputFiles.addElement(file); } + } + } + + /** + * Returns the effective library set for this library set. + */ + private LibrarySet getEffectiveLibrarySet() + { + if ( isReference() ) { + return (LibrarySet)getCheckedRef(LibrarySet.class, "LibrarySet"); + } + else { + return this; } } |