Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 1004 invoked from network); 28 Jan 2005 23:18:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 28 Jan 2005 23:18:38 -0000 Received: (qmail 2238 invoked by uid 500); 28 Jan 2005 23:18:35 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 2177 invoked by uid 500); 28 Jan 2005 23:18:35 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 2144 invoked by uid 500); 28 Jan 2005 23:18:34 -0000 Received: (qmail 2129 invoked by uid 99); 28 Jan 2005 23:18:34 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 28 Jan 2005 15:18:34 -0800 Received: (qmail 718 invoked by uid 1365); 28 Jan 2005 23:18:33 -0000 Date: 28 Jan 2005 23:18:33 -0000 Message-ID: <20050128231833.717.qmail@minotaur.apache.org> From: stevel@apache.org To: ant-cvs@apache.org Subject: cvs commit: ant/lib libraries.properties X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N stevel 2005/01/28 15:18:32 Modified: . WHATSNEW fetch.xml src/main/org/apache/tools/ant/launch Launcher.java src/main/org/apache/tools/ant Diagnostics.java lib libraries.properties Log: diagnostics should list lib dir too. Refactored the constants in the launcher for better sharing. I worry about the hard coded file separator there (/), so replaced in the code, but left the constant in, in case someone was using it. Updated WHATSNEW. Added which.jar to the fetchables. Revision Changes Path 1.735 +9 -1 ant/WHATSNEW Index: WHATSNEW =================================================================== RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.734 retrieving revision 1.735 diff -u -r1.734 -r1.735 --- WHATSNEW 28 Jan 2005 09:38:37 -0000 1.734 +++ WHATSNEW 28 Jan 2005 23:18:32 -0000 1.735 @@ -60,7 +60,7 @@ Bugzilla Report 16539. * Added -nouserlib option to allow running ant without automatically loading - up ${user.dir}/.lib/ant. This is useful when compiling ant, and antlibs. + up ${user.home}/.lib/ant. This is useful when compiling ant, and antlibs. Modified the build.sh and build.bat to use the option. * Added -noclasspath option to allow running ant WITHOUT using CLASSPATH env @@ -90,6 +90,14 @@ * Add else attribute to the condition task, which specifies an optional alternate value to set the property to if the nested condition evaluates to false. Bugzilla report 33074. + +* Added condition, for inline scripted conditions + +* Added condition for exclusive-or combining of nested conditions. + +* Added selector for scripted file selection + +* ant -diagnostics lists contents of ${user.home}/.ant/lib Changes from Ant 1.6.2 to current Ant 1.6 CVS version ===================================================== 1.2 +15 -9 ant/fetch.xml Index: fetch.xml =================================================================== RCS file: /home/cvs/ant/fetch.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- fetch.xml 20 Jan 2005 23:10:19 -0000 1.1 +++ fetch.xml 28 Jan 2005 23:18:32 -0000 1.2 @@ -16,8 +16,8 @@ and installs them in a location that is accessible the next time Ant runs. You can choose three locations, by going -Ddest=LOCATION on the command line - -Ddest=user user lib dir ${user.home}/.ant/lib --Default-- - -Ddest=system ant lib dir ${ant.home}/lib + -Ddest=user user lib dir ${user.home}/.ant/lib + -Ddest=system ant lib dir ${ant.home}/lib --Default-- -Ddest=optional optional dir ${ant.home}/lib/optional (for Ant developers) You may also need to set proxy settings. This can be done on the command line, @@ -60,7 +60,10 @@ - + + + + @@ -68,10 +71,7 @@ - - - - + Unknown destination : ${dest} @@ -183,10 +183,16 @@ description="load bsf libraries" depends="init"> - + + + + + + depends="logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf,debugging" /> 1.27 +14 -2 ant/src/main/org/apache/tools/ant/launch/Launcher.java Index: Launcher.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/launch/Launcher.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- Launcher.java 25 Jan 2005 15:47:57 -0000 1.26 +++ Launcher.java 28 Jan 2005 23:18:32 -0000 1.27 @@ -38,11 +38,22 @@ /** The Ant Library Directory property */ public static final String ANTLIBDIR_PROPERTY = "ant.library.dir"; + public static final String ANT_PRIVATEDIR = ".ant"; + + /** + * The location of a per-user library directory + */ + public static final String ANT_PRIVATELIB = "lib"; + /** The location of a per-user library directory */ - public static final String USER_LIBDIR = ".ant/lib"; + public static final String USER_LIBDIR = ANT_PRIVATEDIR+"/"+ ANT_PRIVATELIB; /** The startup class that is to be run */ public static final String MAIN_CLASS = "org.apache.tools.ant.Main"; + /** + * system property with user home directory + */ + public static final String USER_HOMEDIR = "user.home"; /** * Entry point for starting command line Ant @@ -191,7 +202,8 @@ URL[] systemJars = Locator.getLocationURLs(antLibDir); File userLibDir - = new File(System.getProperty("user.home"), USER_LIBDIR); + = new File(System.getProperty(USER_HOMEDIR), + ANT_PRIVATEDIR + File.separatorChar + ANT_PRIVATELIB); URL[] userJars = noUserLib ? new URL[0] : Locator.getLocationURLs(userLibDir); 1.18 +48 -28 ant/src/main/org/apache/tools/ant/Diagnostics.java Index: Diagnostics.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/Diagnostics.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Diagnostics.java 22 Nov 2004 09:23:26 -0000 1.17 +++ Diagnostics.java 28 Jan 2005 23:18:32 -0000 1.18 @@ -17,6 +17,7 @@ package org.apache.tools.ant; import org.apache.tools.ant.util.LoaderUtils; +import org.apache.tools.ant.launch.Launcher; import javax.xml.parsers.SAXParserFactory; import javax.xml.parsers.SAXParser; @@ -95,20 +96,23 @@ return null; } File libDir = new File(home, "lib"); + return listJarFiles(libDir); + + } + + /** + * get a list of all JAR files in a directory + * @param libDir directory + * @return array of files (or null for no such directory) + */ + private static File[] listJarFiles(File libDir) { FilenameFilter filter = new FilenameFilter() { public boolean accept(File dir, String name) { return name.endsWith(".jar"); } }; - // listFiles is JDK 1.2+ method... - String[] filenames = libDir.list(filter); - if (filenames == null) { - return null; - } - File[] files = new File[filenames.length]; - for (int i = 0; i < filenames.length; i++) { - files[i] = new File(libDir, filenames[i]); - } + + File[] files = libDir.listFiles(filter); return files; } @@ -128,21 +132,8 @@ * '?.?' for JDK 1.0 or 1.1. */ private static String getImplementationVersion(Class clazz) { - try { - // Package pkg = clazz.getPackage(); - Method method = Class.class.getMethod("getPackage", new Class[0]); - Object pkg = method.invoke(clazz, (Object[]) null); - if (pkg != null) { - // pkg.getImplementationVersion(); - method = pkg.getClass().getMethod("getImplementationVersion", new Class[0]); - Object version = method.invoke(pkg, (Object[]) null); - return (String) version; - } - } catch (Exception e) { - // JDK < 1.2 should land here because the methods above don't exist. - return "?.?"; - } - return null; + Package pkg = clazz.getPackage(); + return pkg.getImplementationVersion(); } /** @@ -213,7 +204,7 @@ out.println(Main.getAntVersion()); out.println(); out.println("-------------------------------------------"); - out.println(" Implementation Version (JDK1.2+ only)"); + out.println(" Implementation Version "); out.println("-------------------------------------------"); out.println("core tasks : " + getImplementationVersion(Main.class)); @@ -231,7 +222,13 @@ out.println("-------------------------------------------"); out.println(" ANT_HOME/lib jar listing"); out.println("-------------------------------------------"); - doReportLibraries(out); + doReportAntHomeLibraries(out); + + out.println(); + out.println("-------------------------------------------"); + out.println(" USER_HOME/.ant/lib jar listing"); + out.println("-------------------------------------------"); + doReportUserHomeLibraries(out); out.println(); out.println("-------------------------------------------"); @@ -278,11 +275,34 @@ * Report the content of ANT_HOME/lib directory * @param out the stream to print the content to */ - private static void doReportLibraries(PrintStream out) { + private static void doReportAntHomeLibraries(PrintStream out) { out.println("ant.home: " + System.getProperty("ant.home")); File[] libs = listLibraries(); + printLibraries(libs, out); + } + + /** + * Report the content of ~/.ant/lib directory + * + * @param out the stream to print the content to + */ + private static void doReportUserHomeLibraries(PrintStream out) { + String home = System.getProperty(Launcher.USER_HOMEDIR); + out.println("user.home: " + home); + File libDir = new File(home, + Launcher.ANT_PRIVATEDIR+File.separator+Launcher.ANT_PRIVATELIB); + File[] libs=listJarFiles(libDir); + printLibraries(libs, out); + } + + /** + * list the libraries + * @param libs array of libraries (can be null) + * @param out output stream + */ + private static void printLibraries(File[] libs, PrintStream out) { if (libs == null) { - out.println("Unable to list libraries."); + out.println("No such directory."); return; } for (int i = 0; i < libs.length; i++) { 1.2 +1 -0 ant/lib/libraries.properties Index: libraries.properties =================================================================== RCS file: /home/cvs/ant/lib/libraries.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- libraries.properties 20 Jan 2005 23:10:19 -0000 1.1 +++ libraries.properties 28 Jan 2005 23:18:32 -0000 1.2 @@ -15,6 +15,7 @@ #rhino.version=1.5R5 oro.version=2.0.8 regexp.version=1.3 +which.version=1.0 xerces.version=2.6.2 xalan.version=2.5.1 xml-resolver.version=1.1 --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org