[cp-patches] RFC: @filelist support for jar
Hi! While building OpenJDK b16 I noticed that jar does not support @ arguments. OpenJDK e.g. uses it to import the binary plug files. This patch adds support for @filelist, where the file filelist may only contain files and not options, as the spec says. Should I commit that (incomplete) patch? - twisti --- Index: tools/gnu/classpath/tools/jar/Main.java === RCS file: /cvsroot/classpath/classpath/tools/gnu/classpath/tools/jar/Main.java,v retrieving revision 1.9 diff -u -3 -p -r1.9 Main.java --- tools/gnu/classpath/tools/jar/Main.java 31 Jan 2007 17:05:34 - 1.9 +++ tools/gnu/classpath/tools/jar/Main.java 23 Jul 2007 18:31:19 - @@ -47,6 +47,8 @@ import gnu.classpath.tools.getopt.Parser import java.io.BufferedReader; import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.InputStreamReader; import java.io.IOException; import java.text.MessageFormat; @@ -102,14 +104,51 @@ public class Main public void notifyFile(String fileArgument) { Entry entry; + + if (fileArgument.charAt(0) == '@') +{ + BufferedReader br = null; + String filename; + + try +{ + br = +new BufferedReader(new FileReader(fileArgument.substring(1))); +} + catch (FileNotFoundException fnfe) +{ + System.err.println(fnfe); + System.exit(1); +} + + try +{ + while ((filename = br.readLine()) != null) +addEntry(filename); +} + catch (IOException ioe) +{ + ioe.printStackTrace(); +} +} + else +{ + addEntry(fileArgument); +} +} + +private final void addEntry(String filename) +{ + Entry entry; + if (changedDirectory != null) { - entry = new Entry(new File(changedDirectory, fileArgument), -fileArgument); + entry = new Entry(new File(changedDirectory, filename), +filename); changedDirectory = null; } else -entry = new Entry(new File(fileArgument)); +entry = new Entry(new File(filename)); entries.add(entry); } }
Re: [cp-patches] RFC: @filelist support for jar
Twisti == Christian Thalinger [EMAIL PROTECTED] writes: Twisti This patch adds support for @filelist, where the file filelist Twisti may only contain files and not options, as the spec says. Twisti Should I commit that (incomplete) patch? It looks good to me. What is incomplete about it? Tom
Re: [cp-patches] RFC: @filelist support for jar
On Tue, 2007-07-24 at 06:43 -0700, Tom Tromey wrote: Twisti == Christian Thalinger [EMAIL PROTECTED] writes: Twisti This patch adds support for @filelist, where the file filelist Twisti may only contain files and not options, as the spec says. Twisti Should I commit that (incomplete) patch? It looks good to me. What is incomplete about it? @files can include any arguments that are valid, not only files. Maybe you know how to get Java getopt to support that. - twisti
Re: [cp-patches] RFC: @filelist support for jar
Christian Thalinger writes: On Tue, 2007-07-24 at 06:43 -0700, Tom Tromey wrote: Twisti == Christian Thalinger [EMAIL PROTECTED] writes: Twisti This patch adds support for @filelist, where the file filelist Twisti may only contain files and not options, as the spec says. Twisti Should I commit that (incomplete) patch? It looks good to me. What is incomplete about it? @files can include any arguments that are valid, not only files. Maybe you know how to get Java getopt to support that. Hm, and can the @file contain @arguments? We seem to have a macro processor. Eww. :-) I guess you just once over the line recursively expanding @arguments until there are no more... Andrew.
Re: [cp-patches] RFC: @filelist support for jar
Twisti == Christian Thalinger [EMAIL PROTECTED] writes: Twisti @files can include any arguments that are valid, not only Twisti files. Maybe you know how to get Java getopt to support that. Ah. I am not sure there is a way from outside. But perhaps this could be an option on the option Parser itself. Then other programs could enable it as well. Tom
[cp-patches] Patch: FYI: PR java/32862
This fixes a couple bugs in EnumMap. One is that EnumMap.get() will return the empty slot object. Oops. This is PR java/32862. The other is that EnumMap.clone() calls new. This is only correct when a class (or clone itself) is final. I looked but did not see other instances of this bug in java.util. Tom Index: ChangeLog from Tom Tromey [EMAIL PROTECTED] PR java/32862: * java/util/EnumMap.java (get): Special case emptySlot. (clone): Rewrote. Index: java/util/EnumMap.java === RCS file: /cvsroot/classpath/classpath/java/util/EnumMap.java,v retrieving revision 1.4 diff -u -r1.4 EnumMap.java --- java/util/EnumMap.java 21 Dec 2006 13:02:50 - 1.4 +++ java/util/EnumMap.java 24 Jul 2007 15:24:10 - @@ -1,5 +1,5 @@ /* EnumMap.java - Map where keys are enum constants - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -140,7 +140,8 @@ EnumK e = (EnumK) key; if (e.getDeclaringClass() != enumClass) return null; -return store[e.ordinal()]; +V o = store[e.ordinal()]; +return o == emptySlot ? null : o; } public V put(K key, V value) @@ -387,8 +388,18 @@ public EnumMapK, V clone() { -/* This constructor provides this functionality */ -return new EnumMap(this); +EnumMapK, V result; +try + { + result = (EnumMapK, V) super.clone(); + } +catch (CloneNotSupportedException ignore) + { + // Can't happen. + result = null; + } +result.store = store.clone(); +return result; } }
[cp-testresults] FAIL: cacao build on Tue Jul 24 06:59:08 UTC 2007
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT java_lang_reflect_Constructor.lo -MD -MP -MF .deps/java_lang_reflect_Constructor.Tpo -c -o java_lang_reflect_Constructor.lo ../../../../cacao/src/native/vm/java_lang_reflect_Constructor.c; \ then mv -f .deps/java_lang_reflect_Constructor.Tpo .deps/java_lang_reflect_Constructor.Plo; else rm -f .deps/java_lang_reflect_Constructor.Tpo; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT java_lang_reflect_Constructor.lo -MD -MP -MF .deps/java_lang_reflect_Constructor.Tpo -c ../../../../cacao/src/native/vm/java_lang_reflect_Constructor.c -fPIC -DPIC -o .libs/java_lang_reflect_Constructor.o if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT java_lang_reflect_Method.lo -MD -MP -MF .deps/java_lang_reflect_Method.Tpo -c -o java_lang_reflect_Method.lo ../../../../cacao/src/native/vm/java_lang_reflect_Method.c; \ then mv -f .deps/java_lang_reflect_Method.Tpo .deps/java_lang_reflect_Method.Plo; else rm -f .deps/java_lang_reflect_Method.Tpo; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT java_lang_reflect_Method.lo -MD -MP -MF .deps/java_lang_reflect_Method.Tpo -c ../../../../cacao/src/native/vm/java_lang_reflect_Method.c -fPIC -DPIC -o .libs/java_lang_reflect_Method.o if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT java_util_concurrent_atomic_AtomicLong.lo -MD -MP -MF .deps/java_util_concurrent_atomic_AtomicLong.Tpo -c -o java_util_concurrent_atomic_AtomicLong.lo ../../../../cacao/src/native/vm/java_util_concurrent_atomic_AtomicLong.c; \ then mv -f .deps/java_util_concurrent_atomic_AtomicLong.Tpo .deps/java_util_concurrent_atomic_AtomicLong.Plo; else rm -f .deps/java_util_concurrent_atomic_AtomicLong.Tpo; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT java_util_concurrent_atomic_AtomicLong.lo -MD -MP -MF .deps/java_util_concurrent_atomic_AtomicLong.Tpo -c ../../../../cacao/src/native/vm/java_util_concurrent_atomic_AtomicLong.c -fPIC -DPIC -o .libs/java_util_concurrent_atomic_AtomicLong.o if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -O0 -g3 -MT sun_misc_Unsafe.lo -MD -MP -MF .deps/sun_misc_Unsafe.Tpo -c -o sun_misc_Unsafe.lo ../../../../cacao/src/native/vm/sun_misc_Unsafe.c; \ then mv -f .deps/sun_misc_Unsafe.Tpo .deps/sun_misc_Unsafe.Plo; else rm -f .deps/sun_misc_Unsafe.Tpo; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I../../../../cacao/src/native/vm -I../../.. -I../../../../cacao/src -I../../../../cacao/src/vm/jit/i386 -I../../../../cacao/src/vm/jit/i386/linux -I../../../src -D__I386__ -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L
[cp-testresults] FAIL: regressions for mauve-jamvm on Tue Jul 24 09:53:06 UTC 2007
Baseline from: Mon Jun 25 16:25:44 UTC 2007 Regressions: FAIL: java.beans.Expression.check FAIL: java.lang.Thread.sleep FAIL: javax.swing.JLabel.AccessibleJLabel.getIndexAtPoint FAIL: javax.swing.JLabel.getActionMap FAIL: javax.swing.JLabel.getInputMap FAIL: javax.swing.JLabel.setIconTextGap FAIL: javax.swing.JList.AccessibleJList.AccessibleJListChild.getAccessibleStateSet FAIL: javax.swing.JList.constructors FAIL: javax.swing.JMenu.getInputMap FAIL: javax.swing.JProgressBar.getPercentComplete FAIL: javax.swing.JProgressBar.setModel FAIL: javax.swing.JTable.TableRobot FAIL: javax.swing.JTable.constructors Improvements: PASS: java.lang.Character.unicode PASS: javax.swing.JTable.setColumnSelectionAllowed New fails: FAIL: javax.sound.sampled.AudioProperties Totals: PASS: 2910 XPASS: 0 FAIL: 205 XFAIL: 0 ___ Classpath-testresults mailing list Classpath-testresults@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-testresults
[cp-testresults] FAIL: regressions for mauve-gij on Tue Jul 24 10:47:32 UTC 2007
Baseline from: Tue Jul 10 13:36:38 UTC 2007 Regressions: FAIL: java.beans.Expression.check FAIL: java.lang.Thread.sleep Improvements: PASS: java.lang.Character.unicode PASS: javax.swing.event.InternalFrameEvent.constructor Totals: PASS: 2903 XPASS: 0 FAIL: 231 XFAIL: 0 ___ Classpath-testresults mailing list Classpath-testresults@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-testresults
[cp-testresults] FAIL: regressions for mauve-jamvm on Tue Jul 24 18:31:30 UTC 2007
Baseline from: Mon Jun 25 16:25:44 UTC 2007 Regressions: FAIL: gnu.javax.crypto.jce.TestOfCipherEngineInit FAIL: java.awt.Graphics.TestPaintGraphics FAIL: java.beans.Expression.check FAIL: javax.swing.JLabel.AccessibleJLabel.getIndexAtPoint FAIL: javax.swing.JLabel.getActionMap FAIL: javax.swing.JLabel.getInputMap FAIL: javax.swing.JLabel.setIconTextGap FAIL: javax.swing.JList.AccessibleJList.AccessibleJListChild.getAccessibleStateSet FAIL: javax.swing.JList.constructors FAIL: javax.swing.JMenu.getInputMap FAIL: javax.swing.JProgressBar.getPercentComplete FAIL: javax.swing.JProgressBar.setModel FAIL: javax.swing.JTable.TableRobot FAIL: javax.swing.JTable.constructors Improvements: PASS: java.lang.Character.unicode PASS: javax.swing.JTable.setColumnSelectionAllowed New fails: FAIL: javax.sound.sampled.AudioProperties Totals: PASS: 2909 XPASS: 0 FAIL: 206 XFAIL: 0 ___ Classpath-testresults mailing list Classpath-testresults@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-testresults
Re: Domain troubles
* Mark Wielaard: We seem to have some troubles with classpath.org domain. Do you need any help with resolving the issue? Is it some kind of billing problem?
Re: Domain troubles
Hi Florian, On Wed, 2007-07-25 at 00:27 +0200, Florian Weimer wrote: * Mark Wielaard: We seem to have some troubles with classpath.org domain. Do you need any help with resolving the issue? Is it some kind of billing problem? Thanks for the offer, but I am afraid there is nothing concrete that can be done except waiting and making the admin keep pinging the registrar (which is happening). It was a billing problem, we forgot to renew the domain on time. Since then it has been on CLIENT HOLD and has been purged from the .org root servers. We are trying to get the registrar (tucows reseller discountdomainregistry) to accept the renewal payment but they seem not have responded till now. If there is anything concrete to do I will let the list know. Sorry about the mess. Cheers, Mark
Re: Domain troubles (solved!)
Hi all, And we are back! Thanks to Brian we finally got classpath.org reinstated. Give it a couple of hours to propagate around the world. Cheers, Mark