[Patch] DefaultRmicAdapter style changes

2004-12-13 Thread Kev Jackson
- added javadoc
- minor tweaks
Index: DefaultRmicAdapter.java
===
RCS file: 
/home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java,v
retrieving revision 1.34
diff -u -r1.34 DefaultRmicAdapter.java
--- DefaultRmicAdapter.java 8 Oct 2004 11:09:46 -   1.34
+++ DefaultRmicAdapter.java 13 Dec 2004 03:58:32 -
@@ -37,31 +37,54 @@
 
 private Rmic attributes;
 private FileNameMapper mapper;
-private static final Random rand = new Random();
+private static final Random RAND = new Random();
 public static final String RMI_STUB_SUFFIX = _Stub;
 public static final String RMI_SKEL_SUFFIX = _Skel;
 public static final String RMI_TIE_SUFFIX = _Tie;
 
+/**
+ * Default constructor
+ */
 public DefaultRmicAdapter() {
 }
 
-public void setRmic(Rmic attributes) {
+/**
+ * Sets Rmic attributes
+ * @param attributes
+ */
+public void setRmic(final Rmic attributes) {
 this.attributes = attributes;
 mapper = new RmicFileNameMapper();
 }
 
+/**
+ * Get the Rmic attributes
+ * @return the attributes as a Rmic taskdef
+ */
 public Rmic getRmic() {
 return attributes;
 }
 
+/**
+ * Gets the stub class suffix
+ * @return the stub suffix quot;_Stubquot;
+ */
 protected String getStubClassSuffix() {
 return RMI_STUB_SUFFIX;
 }
 
+/**
+ * Gets the skeleton class suffix
+ * @return the skeleton suffix quot;_Skelquot;
+ */
 protected String getSkelClassSuffix() {
 return RMI_SKEL_SUFFIX;
 }
 
+/**
+ * Gets the tie class suffix
+ * @return the tie suffix quot;_Tiequot;
+ */
 protected String getTieClassSuffix() {
 return RMI_TIE_SUFFIX;
 }
@@ -81,13 +104,15 @@
  *   interfaces and _*_getStubClassSuffix for non-interfaces (and
  *   determine the interface and create _*_Stub from that)./li
  * /ul
+ * @return a codeFileNameMapper/code
  */
 public FileNameMapper getMapper() {
 return mapper;
 }
 
 /**
- * The CLASSPATH this rmic process will use.
+ * Gets the CLASSPATH this rmic process will use.
+ * @return the classpath
  */
 public Path getClasspath() {
 return getCompileClasspath();
@@ -95,6 +120,7 @@
 
 /**
  * Builds the compilation classpath.
+ * @return the classpath
  */
 protected Path getCompileClasspath() {
 Path classpath = new Path(attributes.getProject());
@@ -122,15 +148,14 @@
 }
 
 /**
- * setup rmic argument for rmic.
+ * Setup rmic argument for rmic.
  */
 protected Commandline setupRmicCommand() {
 return setupRmicCommand(null);
 }
 
 /**
- * setup rmic argument for rmic.
- *
+ * Setup rmic argument for rmic.
  * @param options additional parameters needed by a specific
  *implementation.
  */
@@ -204,6 +229,7 @@
 /**
  * Logs the compilation parameters, adds the files to compile and logs the
  * quot;niceSourceListquot;
+ * @param cmd the commandline args
  */
 protected void logAndAddFilesToCompile(Commandline cmd) {
 Vector compileList = attributes.getCompileList();
@@ -212,12 +238,13 @@
Project.MSG_VERBOSE);
 
 StringBuffer niceSourceList = new StringBuffer(File);
-if (compileList.size() != 1) {
+int cListSize = compileList.size(); 
+if (cListSize != 1) {
 niceSourceList.append(s);
 }
 niceSourceList.append( to be compiled:);
 
-for (int i = 0; i  compileList.size(); i++) {
+for (int i = 0; i  cListSize; i++) {
 String arg = (String) compileList.elementAt(i);
 cmd.createArgument().setValue(arg);
 niceSourceList.append( + arg);
@@ -284,7 +311,7 @@
  * This is supposed to make Ant always recompile the
  * class, as a file of that name should not exist.
  */
-String[] target = new String[] {name + .tmp. + rand.nextLong()};
+String[] target = new String[] {name + .tmp. + RAND.nextLong()};
 
 if (!attributes.getIiop()  !attributes.getIdl()) {
 // JRMP with simple naming convention

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

[Patch] FileUtils to use own close method

2004-12-13 Thread kj
-FileUtils now uses close to close inputstreams inside itself

-added new private method to use java.nio memory mapped files for
contentEquals method (this implementation doesn't care how large the
files are, it simply tries to map the entire file, perhaps it would be
better to check file size first and to use the older contentEquals when
files are large).

Kev
Index: FileUtils.java
===
RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/util/FileUtils.java,v
retrieving revision 1.77
diff -u -r1.77 FileUtils.java
--- FileUtils.java	11 Dec 2004 22:43:04 -	1.77
+++ FileUtils.java	13 Dec 2004 06:29:00 -
@@ -22,18 +22,22 @@
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.OutputStream;
 import java.io.OutputStreamWriter;
+import java.io.RandomAccessFile;
 import java.io.Reader;
 import java.io.Writer;
-import java.io.OutputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
 import java.text.CharacterIterator;
 import java.text.DecimalFormat;
 import java.text.StringCharacterIterator;
@@ -41,12 +45,13 @@
 import java.util.Stack;
 import java.util.StringTokenizer;
 import java.util.Vector;
+
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.filters.util.ChainReaderHelper;
+import org.apache.tools.ant.launch.Locator;
 import org.apache.tools.ant.taskdefs.condition.Os;
 import org.apache.tools.ant.types.FilterSetCollection;
-import org.apache.tools.ant.launch.Locator;
 
 /**
  * This class also encapsulates methods which allow Files to be
@@ -819,15 +824,16 @@
 Stack s = new Stack();
 s.push(root);
 StringTokenizer tok = new StringTokenizer(path, File.separator);
+int stackSize = s.size();
 while (tok.hasMoreTokens()) {
 String thisToken = tok.nextToken();
 if (..equals(thisToken)) {
 continue;
 } else if (...equals(thisToken)) {
-if (s.size()  2) {
-throw new BuildException(Cannot resolve path  + orig);
-} else {
+if (stackSize  2) {
 s.pop();
+} else {
+throw new BuildException(Cannot resolve path  + orig);
 }
 } else { // plain component
 s.push(thisToken);
@@ -835,7 +841,7 @@
 }
 
 StringBuffer sb = new StringBuffer();
-for (int i = 0; i  s.size(); i++) {
+for (int i = 0; i  stackSize; i++) {
 if (i  1) {
 // not before the filesystem root and not after it, since root
 // already contains one
@@ -993,7 +999,18 @@
 // different size =false
 return false;
 }
-
+
+/* If we have Java = 1.4, we can use NIO
+ * This buffer comparison simply maps the entire file into memory,
+ * it's not concerned with memory usage - for large files this
+ * may cause problems 
+ */
+if (JavaEnvUtils.getJavaVersion().equals(JavaEnvUtils.JAVA_1_4)
+||JavaEnvUtils.getJavaVersion().equals(JavaEnvUtils.JAVA_1_5)
+) {
+return bufferEquals(f1, f2);
+}
+
 InputStream in1 = null;
 InputStream in2 = null;
 try {
@@ -1012,21 +1029,39 @@
 }
 return true;
 } finally {
-if (in1 != null) {
-try {
-in1.close();
-} catch (IOException e) {
-// ignore
-}
-}
-if (in2 != null) {
-try {
-in2.close();
-} catch (IOException e) {
-// ignore
-}
+close(in1);
+close(in2);
+}
+}
+
+/**
+ * Uses java.nio packages to compare the contents of two files.
+ * Each file is read into memory and a byte buffer is created.
+ * As soon as a byte is different the method returns.
+ * @param f1 the first file to compare
+ * @param f2 the file to compare with
+ * @return true if files are identical, false otherwise
+ * @throws FileNotFoundException
+ * @throws IOException
+ */
+private boolean bufferEquals(File f1, File f2) throws FileNotFoundException, IOException {
+FileChannel compareeChannel = new RandomAccessFile(f1, r).getChannel();
+FileChannel comparerChannel = new RandomAccessFile(f2, r).getChannel();
+
+ByteBuffer 

AW: [GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Jan . Materne
I think Peter has tested that before, so is there something to do with Gump?

Jan


http://cvs.apache.org/viewcvs.cgi/ant/src/testcases/org/apache/tools/ant/uti
l/
ClasspathUtilsTest.java   
- 2 days  
- peterreilly  
- with the bugzilla change 30161 it is not necessary to place
Path.systemClasspat... 

Testcase: testOnlyOneInstance(org.apache.tools.ant.util.ClasspathUtilsTest):
FAILED
Should be only one and not 3
jar:file:/home/gump/workspaces2/public/workspace/ant/build/lib/ant.jar!/org/
apache/tools/ant/taskdefs/defaults.properties
jar:file:/home/gump/workspaces2/public/workspace/ant/dist/lib/ant.jar!/org/a
pache/tools/ant/taskdefs/defaults.properties
jar:file:/home/gump/workspaces2/public/workspace/ant/bootstrap/lib/ant.jar!/
org/apache/tools/ant/taskdefs/defaults.properties
junit.framework.AssertionFailedError: Should be only one and not 3
jar:file:/home/gump/workspaces2/public/workspace/ant/build/lib/ant.jar!/org/
apache/tools/ant/taskdefs/defaults.properties
jar:file:/home/gump/workspaces2/public/workspace/ant/dist/lib/ant.jar!/org/a
pache/tools/ant/taskdefs/defaults.properties
jar:file:/home/gump/workspaces2/public/workspace/ant/bootstrap/lib/ant.jar!/
org/apache/tools/ant/taskdefs/defaults.properties
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.assertTrue(Assert.java:20)
at
org.apache.tools.ant.util.ClasspathUtilsTest.testOnlyOneInstance(ClasspathUt
ilsTest.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)


DO NOT REPLY [Bug 32632] - pattern / nested patternset in filterset

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32632.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32632


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |




--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 08:29 ---
(In reply to comment #1)
 You can do this with multiple copy tasks.

I can use multiple coüpy tasks only, if I am the one, who defines the fileset.
Unfortunately, I'm not. The fileset is an artifact, exported by another module.

The documentation of filtersets says copy operations will typically corrupt
binary files. But there's no straight forward way to avoid that. Imagine you
write a deploy target, that copies filesets to a deployment directory and
thereby weaves the configuration into the deployables. From the perspective of
the target, filesets are logical units. The target should be unconcerned about
the fileset's internals.

.. just wanted to state my thoughts. I won't reopen the issue again.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32631] - allow includes / excludes for fileset references

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32631.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32631





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 08:45 ---
(In reply to comment #3)
 the future it might be possible to provide such a task to obtain a cloned
 fileset instance (possibly of any Cloneable object).

Yes, that's the proper solution. Is this enhancement already planned /
scheduled. I can't find the related issue. Thanks!!

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32649] - ant-produced jar files don't match those produced by java.util.jar.JarOutputStream

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32649.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32649





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 09:55 ---
Just a quick note - please do not post links to confidential files into the
Apache bugzilla. The copyright at the top of this file does not make it suitable
for us to look at. Sorry. I had to quickly turn away before I turned to a pillar
of salt.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/repository HttpRepository.java

2004-12-13 Thread bodewig
bodewig 2004/12/13 00:59:42

  Modified:src/main/org/apache/tools/ant/taskdefs/repository
HttpRepository.java
  Log:
  Make Jikes happy - shadowing of url
  
  Revision  ChangesPath
  1.5   +2 -2  
ant/src/main/org/apache/tools/ant/taskdefs/repository/HttpRepository.java
  
  Index: HttpRepository.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/repository/HttpRepository.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HttpRepository.java   1 Dec 2004 22:48:37 -   1.4
  +++ HttpRepository.java   13 Dec 2004 08:59:42 -  1.5
  @@ -99,8 +99,8 @@
*/
   public void setBaseDir(File basedir) {
   try {
  -URL url=basedir.toURL();
  -setUrl(url.toExternalForm());
  +URL u = basedir.toURL();
  +setUrl(u.toExternalForm());
   } catch (MalformedURLException e) {
   throw new BuildException(e);
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/ssh ScpFromMessage.java ScpToMessage.java

2004-12-13 Thread bodewig
bodewig 2004/12/13 01:06:19

  Modified:src/main/org/apache/tools/ant/taskdefs/optional ANTLR.java
   src/main/org/apache/tools/ant/taskdefs/optional/jdepend
JDependTask.java
   src/main/org/apache/tools/ant/taskdefs/optional/script
ScriptDef.java
   src/main/org/apache/tools/ant/taskdefs/optional/ssh
ScpFromMessage.java ScpToMessage.java
  Log:
  Make Jikes happy - shadowing and some non-static private finals
  
  Revision  ChangesPath
  1.41  +10 -10
ant/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
  
  Index: ANTLR.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- ANTLR.java28 Jun 2004 21:51:59 -  1.40
  +++ ANTLR.java13 Dec 2004 09:06:18 -  1.41
  @@ -47,7 +47,7 @@
   private CommandlineJava commandline = new CommandlineJava();
   
   /** the file to process */
  -private File target;
  +private File targetFile;
   
   /** where to output the result */
   private File outputDirectory;
  @@ -97,7 +97,7 @@
*/
   public void setTarget(File target) {
   log(Setting target to:  + target.toString(), Project.MSG_VERBOSE);
  -this.target = target;
  +this.targetFile = target;
   }
   
   /**
  @@ -262,19 +262,19 @@
   //TODO: use ANTLR to parse the grammar file to do this.
   File generatedFile = getGeneratedFile();
   boolean targetIsOutOfDate =
  -target.lastModified()  generatedFile.lastModified();
  +targetFile.lastModified()  generatedFile.lastModified();
   boolean superGrammarIsOutOfDate  = superGrammar != null
(superGrammar.lastModified()  
generatedFile.lastModified());
   if (targetIsOutOfDate || superGrammarIsOutOfDate) {
   if (targetIsOutOfDate) {
  -log(Compiling  + target +  as it is newer than 
  +log(Compiling  + targetFile +  as it is newer than 
   + generatedFile, Project.MSG_VERBOSE);
   } else if (superGrammarIsOutOfDate) {
  -log(Compiling  + target +  as  + superGrammar
  +log(Compiling  + targetFile +  as  + superGrammar
   +  is newer than  + generatedFile, 
Project.MSG_VERBOSE);
   }
   populateAttributes();
  -commandline.createArgument().setValue(target.toString());
  +commandline.createArgument().setValue(targetFile.toString());
   
   log(commandline.describeCommand(), Project.MSG_VERBOSE);
   int err = run(commandline.getCommandline());
  @@ -332,13 +332,13 @@
   }
   
   private void validateAttributes() throws BuildException {
  -if (target == null || !target.isFile()) {
  -throw new BuildException(Invalid target:  + target);
  +if (targetFile == null || !targetFile.isFile()) {
  +throw new BuildException(Invalid target:  + targetFile);
   }
   
   // if no output directory is specified, used the target's directory
   if (outputDirectory == null) {
  -setOutputdirectory(new File(target.getParent()));
  +setOutputdirectory(new File(targetFile.getParent()));
   }
   if (!outputDirectory.isDirectory()) {
   throw new BuildException(Invalid output directory:  + 
outputDirectory);
  @@ -348,7 +348,7 @@
   private File getGeneratedFile() throws BuildException {
   String generatedFileName = null;
   try {
  -BufferedReader in = new BufferedReader(new FileReader(target));
  +BufferedReader in = new BufferedReader(new 
FileReader(targetFile));
   String line;
   while ((line = in.readLine()) != null) {
   int extendsIndex = line.indexOf( extends );
  
  
  
  1.33  +12 -12
ant/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java
  
  Index: JDependTask.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- JDependTask.java  23 Apr 2004 16:56:20 -  1.32
  +++ JDependTask.java  13 Dec 2004 09:06:19 -  1.33
  @@ -474,9 +474,9 @@
   // of sourcespath.  The code is currently the same - you
   // need class files in a directory to use this - jar files
   // coming soon
  -String[] classesPath = getClassespath().list();
  -for (int i = 0; i  

Re: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/repository HttpRepository.java

2004-12-13 Thread Stefan Bodewig
On 13 Dec 2004, [EMAIL PROTECTED] wrote:

   -URL url=basedir.toURL();
   -setUrl(url.toExternalForm());
   +URL u = basedir.toURL();
   +setUrl(u.toExternalForm());

why not setUrl(fileUtils.getFileURL(baseDir));?

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Patch] FileUtils to use own close method

2004-12-13 Thread Stefan Bodewig
On Mon, 13 Dec 2004, kj [EMAIL PROTECTED] wrote:

 -added new private method to use java.nio memory mapped files

Ant is JDK 1.2 compatible, which means we can't use NIO for core
functionality (at least not without falling back to reflection).

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Stefan Bodewig
On Mon, 13 Dec 2004, Jan Materne [EMAIL PROTECTED] wrote:

 so is there something to do with Gump?

Yes.  test-ant has three versions of ant.jar (those of bootstrap-ant,
ant and dist-ant) on the CLASSPATH.

I'll skip the test in Gump and then (try to) fix Gump since I don't
think there should be more than one ant.jar be present.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32649] - ant-produced jar files don't match those produced by java.util.jar.JarOutputStream

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32649.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32649





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 11:02 ---
Conor's comment scared me so much that I didn't dare to follow your link 8-)

From the local file header snippets you send, it seems as if Solaris expects
the entry for META-INF/ to contain an extra field with a header ID of 0xcafe and
no additional content.  Can you get somebody to confirm this without breaching
any NDAs?

Other differences I see is jar uses DEFLATED for directories, Ant uses STORE -
could you ask your secret sources whether this is significant?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AW: [GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Jan . Materne
Hhm if I read the descriptor [1] in the right way, we have

test-ant 
  depends on project: dist-ant
  runs: run-tests -- dump-info,compile-tests,probe-offline
  - compile-tests (creates test2-antlib.jar; depends on build)
  - build (compiles the sources)
If only a jar defines something new to CLASSPATH, here isnt any added.

dist-ant
  depends on project: ant
  jar: ant.jar -- seems to be the duplicate from ant
  
ant
  depends on project: bootstrap-ant
  jar: ant.jar -- any differences to bootstrap? I would think so, but
would have
 to check.  

bootstrap-ant
  no dependencies
  calls the bootstrap shell script
  jar: ant.jar  
  

Please correct me, so I can start learning Gump ;)


Jan

[1] http://cvs.apache.org/viewcvs.cgi/gump/project/ant.xml?view=markup

 -Ursprüngliche Nachricht-
 Von: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 Gesendet am: Montag, 13. Dezember 2004 10:46
 An: [EMAIL PROTECTED]
 Betreff: Re: [EMAIL PROTECTED]: Project test-ant (in module ant) failed
 
 On Mon, 13 Dec 2004, Jan Materne [EMAIL PROTECTED] wrote:
 
  so is there something to do with Gump?
 
 Yes.  test-ant has three versions of ant.jar (those of bootstrap-ant,
 ant and dist-ant) on the CLASSPATH.
 
 I'll skip the test in Gump and then (try to) fix Gump since I don't
 think there should be more than one ant.jar be present.
 
 Stefan
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


cvs commit: ant build.xml

2004-12-13 Thread bodewig
bodewig 2004/12/13 02:11:31

  Modified:.build.xml
  Log:
  Temporarily skip test that fail in Gump because of a Gump bug
  
  Revision  ChangesPath
  1.444 +8 -0  ant/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/ant/build.xml,v
  retrieving revision 1.443
  retrieving revision 1.444
  diff -u -r1.443 -r1.444
  --- build.xml 7 Dec 2004 09:10:39 -   1.443
  +++ build.xml 13 Dec 2004 10:11:31 -  1.444
  @@ -588,6 +588,10 @@
   available property=jsch.present
  classname=com.jcraft.jsch.Session
  classpathref=classpath/
  +
  +condition property=running.in.gump
  +  isset property=gump.merge/
  +/condition
 /target
   
   
  @@ -1599,6 +1603,10 @@
   
 !-- test needs special setup --
 exclude name=${optional.package}/ssh/ScpTest.java/
  +
  +  !-- test fails in Gump --
  +  exclude name=${ant.package}/util/ClasspathUtilsTest.java
  +   if=running.in.gump/
   /fileset
 /batchtest
   /junit
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Stefan Bodewig
On Mon, 13 Dec 2004, Jan Materne [EMAIL PROTECTED] wrote:

 Hhm if I read the descriptor [1] in the right way, we have

You do.  But the dependency on dist-ant shouldn't drag along the jars
from ant and bootstrap-ant.  Well, yes, it does, because of the
inherit=all.

I'll try to fix the inheritance logic inside the descriptor, it's not
Gump's fault.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Gump Integration Build
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project test-ant has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 7 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- test-ant :  Java based build tool


Full details are available at:
http://brutus.apache.org/gump/public/ant/test-ant/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Failed with reason build failed



The following work was performed:
http://brutus.apache.org/gump/public/ant/test-ant/gump_work/build_ant_test-ant.html
Work Name: build_ant_test-ant (Type: Build)
Work ended in a state of : Failed
Elapsed: 6 mins 21 secs
Command Line: java -Djava.awt.headless=true 
-Xbootclasspath/p:/usr/local/gump/public/workspace/xml-xerces2/java/build/xercesImpl.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar:/usr/local/gump/public/workspace/xml-xalan/java/build/xalan-unbundled.jar:/usr/local/gump/public/workspace/xml-xalan/java/build/serializer.jar
 org.apache.tools.ant.Main 
-Dgump.merge=/home/gump/workspaces2/public/gump/work/merge.xml 
-Dbuild.sysclasspath=only -Dtest.haltonfailure=false 
-Dant.home=/usr/local/gump/public/workspace/ant/dist run-tests 
[Working Directory: /usr/local/gump/public/workspace/ant]
CLASSPATH: 

DO NOT REPLY [Bug 32649] - ant-produced jar files don't match those produced by java.util.jar.JarOutputStream

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32649.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32649





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 11:43 ---
Stefan, well there's no real reason to be concerned, it's just the class,
JarOutputStream, from src.zip, I think. It does say SUN CONFIDENTIAL, but I
guess you can look at it.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32649] - ant-produced jar files don't match those produced by java.util.jar.JarOutputStream

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32649.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32649





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 11:50 ---
Unless I ever wanted to contribute to CLASSPATH or Kaffe, that is.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AW: [GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Jan . Materne
Just think about why three times ant.jar:


test-ant
  depend project=dist-ant inherit=all/

http://gump.apache.org/metadata/project.html sais
  For both script and ant based builds, any jars defined by the 
  specified project as outputs are added to the CLASSPATH prior 
  to invoking the build operation, unless you nest a noclasspath 
  element into the depend element. 
therefore all jars of dist-ant are on the classpath for test-ant.
-- dist-ant: jar name=lib/ant.jar id=ant/   OK

inherit=all
Other choices are all which will copy all dependencies [...] into the list
of jars 
exported by this project.
So we have to see at dist-ant: 

dist-ant
  depend project=ant inherit=all/
  jar name=lib/ant.jar id=ant/ -- already discussed


ant
  depend project=bootstrap-ant/
  jar name=lib/ant.jar id=ant/ -- earned by inherit=all

bootstrap-ant
  jar name=lib/ant.jar/ -- earned by standard depend behaviour (see
above)



But three times the ant.jar is registered with id=ant. Why all three are
given to test-ant? Shouldnt the id be overriden?


Jan








 -Ursprüngliche Nachricht-
 Von: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 Gesendet am: Montag, 13. Dezember 2004 11:15
 An: [EMAIL PROTECTED]
 Betreff: Re: [EMAIL PROTECTED]: Project test-ant (in module ant) failed
 
 On Mon, 13 Dec 2004, Jan Materne [EMAIL PROTECTED] wrote:
 
  Hhm if I read the descriptor [1] in the right way, we have
 
 You do.  But the dependency on dist-ant shouldn't drag along the jars
 from ant and bootstrap-ant.  Well, yes, it does, because of the
 inherit=all.
 
 I'll try to fix the inheritance logic inside the descriptor, it's not
 Gump's fault.
 
 Stefan
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


Re: [GUMP@brutus]: Project test-ant (in module ant) failed

2004-12-13 Thread Stefan Bodewig
On Mon, 13 Dec 2004, Jan Materne [EMAIL PROTECTED] wrote:

 But three times the ant.jar is registered with id=ant. Why all three
 are given to test-ant? Shouldnt the id be overriden?

Because ids are only unique for the same project and
bootstrap-ant, ant and dist-ant are different projects.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Bootclasspath and external compiles (was Re: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/compilers Jikes.java)

2004-12-13 Thread Stefan Bodewig
On 10 Dec 2004, [EMAIL PROTECTED] wrote:

+// this is a quick hack to make things work in a
+// Gump/Kaffe/Jikes combo.  I promise I'll explain it later -
+// and add a real solution as well

This is the first part of the promise.

Gump currently places Xerces and various other stuff that can also
be found in the JDK onto the bootclasspath to ensure it uses the
latest versions.

When Ant invokes an external compiler, it may pass the CLASSPATH
it have been invoked with (depending on build.sysclasspath and
includenantruntime), but it never passes the bootclasspath, so it
swallows whatever is there.

In the Gump/Jikes combination this means, Xerces is no longer on
the classpath when Jikes runs.

I think Ant's behavior is wrong and thus propose the following
changes (that I'll perform unless you tell me I'm wrong):

* If includejavaruntime is true in javac, add the full
  bootclasspath of the current VM.

* If build.sysclasspath has the value only (i.e. ignore all
  classpath defintions in the build file, use the system), add the
  full bootclasspath of the current VM.

In both cases, if the external compiler supports -bootclasspath,
add it there - otherwise add it to -classpath.

This would apply to javac but also to rmic.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: New repository task

2004-12-13 Thread Stefan Bodewig
On Wed, 8 Dec 2004, Matt Benson [EMAIL PROTECTED] wrote:
 --- Stefan Bodewig [EMAIL PROTECTED] wrote:

 So I suppose that chain of events would suggest that the answer to
 your question is yes, though finally understood makes the Ant
 committers sound like a bunch of dinosaurs.  ;)
 
 No, I'm not saying that.
 
 Were you answering your own question there?

Nope, I probably didn't want to make it sounds as if the Ant
committers were a bunch dinosaurs ;-)

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: About macrodef in the trenches

2004-12-13 Thread Stefan Bodewig
On Fri, 10 Dec 2004, Peter Reilly [EMAIL PROTECTED] wrote:

 1) this attribute is good.
  however, it is only really usefull in combination with the
  iftrue attribute, or with ant-contrib if task

Agreed.  Or IOW, I don't think it is that useful without an if-task
like structure.

 2) a default value for the element is good. The default value should
 be in the declaration, but it is ok to have it the body of the
 macrodef.

+1 for having it in the declaration.

 3) this sounds good if a little stange initially.

Agreed on both counts (sounds useful and strange).

4) I don't like since I don't want to see the @{...} constructs leak
out of the macrodef body at all.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32667] New: - setting proxypassword and proxyuser in setProxy task does not work

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32667.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32667

   Summary: setting proxypassword  and proxyuser in setProxy task
does not work
   Product: Ant
   Version: 1.6.2
  Platform: All
OS/Version: Linux
Status: NEW
  Keywords: PatchAvailable
  Severity: major
  Priority: P2
 Component: Optional Tasks
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


The setProxy task sets the properties http.proxyUser and http.proxyPassword
in order to provide user and password for proxy authentication.
With JDK 1.4.2_0x on Linux this does not work (I think this is also reported in
Suns bug database. In JDK 1.3 it seems to work). The workaround with using the
Authenticator class works on this platform. Following the javadoc, it should be
usable since JDK 1.2.


diff -rb ./src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java
../apache-ant-1.6.2/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java
25a26
 import java.net.*;
196a198,199
 Authenticator.setDefault(
new HttpAuthenticateProxy( proxyUser, proxyPassword ));
221a225,226
 Authenticator.setDefault(
new HttpAuthenticateProxy( proxyUser, proxyPassword ));
240a246,261
   public class HttpAuthenticateProxy extends Authenticator
  {
  String user, password;

  public HttpAuthenticateProxy( String user, String password )
 {
 this.user = user;
 this.password = password;
 }

  protected PasswordAuthentication getPasswordAuthentication()
 {
 return new PasswordAuthentication(
user, password.toCharArray());
 }
  }
246c267
 + (proxyHost != null ? proxyHost : '')
---
 + proxyUser + : + proxyPassword + @ + (proxyHost != null ?
proxyHost : '')

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32632] - pattern / nested patternset in filterset

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32632.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32632





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 16:52 ---
It still sounds as though you could work around this using multiple copy
operations if you had the ability to use an existing fileset as a template for a
more-specific fileset, per your other bug report, correct?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Replace.java

2004-12-13 Thread mbenson
mbenson 2004/12/13 08:01:18

  Modified:src/main/org/apache/tools/ant/taskdefs Replace.java
  Log:
  Random spelling and javadoc changes.
  
  Revision  ChangesPath
  1.58  +64 -66ant/src/main/org/apache/tools/ant/taskdefs/Replace.java
  
  Index: Replace.java
  ===
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Replace.java,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- Replace.java  12 Dec 2004 21:22:19 -  1.57
  +++ Replace.java  13 Dec 2004 16:01:18 -  1.58
  @@ -73,14 +73,14 @@
   private FileUtils fileUtils = FileUtils.newFileUtils();
   
   /**
  - * an inline string to use as the replacement text
  + * An inline string to use as the replacement text.
*/
   public class NestedString {
   
   private StringBuffer buf = new StringBuffer();
   
   /**
  - * the text of the element
  + * The text of the element.
*
* @param val the string to add
*/
  @@ -109,8 +109,8 @@
   private StringBuffer outputBuffer = new StringBuffer();
   
   /**
  - * validate the filter's configuration
  - * @throws BuildException if any part is invalid
  + * Validate the filter's configuration.
  + * @throws BuildException if any part is invalid.
*/
   public void validate() throws BuildException {
   //Validate mandatory attributes
  @@ -173,16 +173,16 @@
   }
   
   /**
  - * Set the token to replace
  - * @param token token
  + * Set the token to replace,
  + * @param token codeString/code token.
*/
   public void setToken(String token) {
   this.token = token;
   }
   
   /**
  - * Get the string to search for
  - * @return current token
  + * Get the string to search for.
  + * @return current codeString/code token.
*/
   public String getToken() {
   return token;
  @@ -190,16 +190,16 @@
   
   /**
* The replacement string; required if codepropertycode
  - * is not set
  - * @param value value to replace
  + * is not set.
  + * @param value codeString/code value to replace.
*/
   public void setValue(String value) {
   this.value = value;
   }
   
   /**
  - * Get replacements string
  - * @return replacement or null
  + * Get replacement codeString/code.
  + * @return replacement or null.
*/
   public String getValue() {
   return value;
  @@ -208,7 +208,7 @@
   /**
* Set the name of the property whose value is to serve as
* the replacement value; required if codevalue/code is not set.
  - * @param property propname
  + * @param property property name.
*/
   public void setProperty(String property) {
   this.property = property;
  @@ -216,8 +216,8 @@
   
   /**
* Get the name of the property whose value is to serve as
  - * the replacement value;
  - * @return property or null
  + * the replacement value.
  + * @return property or null.
*/
   public String getProperty() {
   return property;
  @@ -235,7 +235,7 @@
   /**
* Sets the input buffer for this filter.
* The filter expects from the component providing the input that 
data
  - * is only addded by that component to the end of this StringBuffer.
  + * is only added by that component to the end of this StringBuffer.
* This StringBuffer will be modified by this filter, and expects 
that
* another component will only apped to this StringBuffer.
* @param input The input for this filter.
  @@ -250,7 +250,7 @@
* received data, when the token is split over the old and the 
new
* part.
* @return true if some data has been made available in the
  - * outputBuffer.
  + * output buffer.
*/
   boolean process() {
   if (inputBuffer.length()  token.length()) {
  @@ -294,7 +294,7 @@
   }
   
   /**
  - * Class reading a file in small chuncks, and presenting these chuncks in
  + * Class reading a file in small chunks, and presenting these chunks in
* a StringBuffer. Compatible with the Replacefilter.
* @since 1.7
*/
  @@ -334,7 +334,7 @@
* @return true when the end of the file has not been reached.
* @throws IOException When the file cannot be read from.
*/
  -boolean readChunck() throws IOException {
 

DO NOT REPLY [Bug 32668] New: - Main class still uses deprecated configureProject method

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32668.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32668

   Summary: Main class still uses deprecated configureProject method
   Product: Ant
   Version: 1.6.2
  Platform: PC
OS/Version: Windows 2000
Status: NEW
  Severity: normal
  Priority: P2
 Component: Core
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


The comment for org.apache.tools.ant.Main says that if you want to invoke Ant
programmatically you should see the source code of this class to see how it
manipulates the Ant project classes.  The main class uses the deprecated
configureProject method though, which does not make it a good example for
someone wanting to see how to invoke Ant programmatically.  This code should use
the non-static parse method instead.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant ProjectHelper.java

2004-12-13 Thread peterreilly
peterreilly2004/12/13 08:43:51

  Modified:src/main/org/apache/tools/ant ProjectHelper.java
  Log:
  remove deprecated tag from ProjectHelper#configureProject()
  it has been used for a long time, and one cannot just
  replace it with the non-static parse method, without
  setting the ant.projectHelper reference.
  PR: 32668
  Reported by:  Nell Gawor
  
  Revision  ChangesPath
  1.114 +0 -1  ant/src/main/org/apache/tools/ant/ProjectHelper.java
  
  Index: ProjectHelper.java
  ===
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/ProjectHelper.java,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- ProjectHelper.java24 May 2004 15:09:55 -  1.113
  +++ ProjectHelper.java13 Dec 2004 16:43:51 -  1.114
  @@ -80,7 +80,6 @@
* @param buildFile An XML file giving the project's configuration.
*  Must not be codenull/code.
*
  - * @deprecated Use the non-static parse method
* @exception BuildException if the configuration is invalid or cannot
*   be read
*/
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32668] - Main class still uses deprecated configureProject method

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32668.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32668


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |1.7




--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 17:47 ---
I have removed deprecated tag from ProjectHelper#configureProject()
  It has been used for a long time, and one cannot just
  replace it with the non-static parse method, without
  setting the ant.projectHelper reference.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32216] - Using parse method of ProjectHelper causes import to fail

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32216.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32216


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 OS/Version||All
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 17:49 ---
You need to set the reference ant.projectHelper as well.
I have removed the deprecated tag for the static method.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32631] - allow includes / excludes for fileset references

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32631.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32631





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 18:22 ---
I will look into this.  We should be able to come up with something at least for
fileset, if not for all Cloneables.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Patch] removed deprecated methods and changed variable scope (private-protected) ProjectHelperImpl

2004-12-13 Thread Peter Reilly
Jesse Glick wrote:
Peter Reilly wrote:
OK, I agree that all fields *should* be private, but in these
cases, the fields are in inner classes (I never declare more than
one class in a source file, so I'm not sure that all of these are
inner classes, but bear with me), so the visibility of the field is
restricted to the Class that the inner class is in correct?  And as
such it is actually private to other classes even if it's
declared protected.

Yes you are correct about the visiblity, however it is not necessary
to do this (even if eclipse does whine!).

1. The issue is not so much one particular compiler whining (e.g. PMD 
also displays the same warning, I think), as that you really are 
bloating the bytecode a bit by forcing use of a generated accessor 
method.
Ah, I see. I though that the warning was only an eclipse specific thing.
Since checkstyle does not whine about protected fields in private 
classes, I suppose that
it is ok to do use protected fields in this case.

Peter
2. What about using package-private access? It should remove the need 
for a generated accessor, since the legitimate uses (within the same 
*.java) are certainly within the same package; yet the field does not 
become visible to clients of the Ant API such as custom tasks 
(unless they are super-evil and declare themselves to be in some Ant 
package).

The problem is that there will be a big pile of good protected
keywords when one is looking for bad protected keywords, the rule
no protected fields is easier to follow than no protected fields,
except where eclipse whines!

Do you really look for the keyword protected as such? Wouldn't it be 
better to examine actual Javadoc, which filters out everything from 
private nested classes, for example?

-J.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


DO NOT REPLY [Bug 8510] - shutdown hook does not fire in forked java task under JDK1.4

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=8510.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=8510





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 18:55 ---
The writing to std output/error for forked processes are handled by
thread objects reading the relativent streams. At shutdown time
these threads may be stopped before they have finished reading their
stream - so it is a timing and flushing behaviour dependent what
is actually written to the console.

This timing issue should not effect closing the connection to an SMPP
server. Maybe you could use the write to file techinque to debug your
problem. (Surely the connection should be closed automatticlly by the
OS when the ant process ends?)

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/rmic DefaultRmicAdapter.java

2004-12-13 Thread peterreilly
peterreilly2004/12/13 09:56:15

  Modified:src/main/org/apache/tools/ant/taskdefs/rmic
DefaultRmicAdapter.java
  Log:
  checkstyle changes
  Obtained from: Kevin Jackson
  
  Revision  ChangesPath
  1.35  +41 -9 
ant/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java
  
  Index: DefaultRmicAdapter.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- DefaultRmicAdapter.java   8 Oct 2004 11:09:46 -   1.34
  +++ DefaultRmicAdapter.java   13 Dec 2004 17:56:15 -  1.35
  @@ -37,31 +37,57 @@
   
   private Rmic attributes;
   private FileNameMapper mapper;
  -private static final Random rand = new Random();
  +private static final Random RAND = new Random();
  +/** suffix denoting a stub file */
   public static final String RMI_STUB_SUFFIX = _Stub;
  +/** suffix denoting a skel file */
   public static final String RMI_SKEL_SUFFIX = _Skel;
  +/** suffix denoting a tie file */
   public static final String RMI_TIE_SUFFIX = _Tie;
   
  +/**
  + * Default constructor
  + */
   public DefaultRmicAdapter() {
   }
   
  -public void setRmic(Rmic attributes) {
  +/**
  + * Sets Rmic attributes
  + * @param attributes the rmic attributes
  + */
  +public void setRmic(final Rmic attributes) {
   this.attributes = attributes;
   mapper = new RmicFileNameMapper();
   }
   
  +/**
  + * Get the Rmic attributes
  + * @return the attributes as a Rmic taskdef
  + */
   public Rmic getRmic() {
   return attributes;
   }
   
  +/**
  + * Gets the stub class suffix
  + * @return the stub suffix quot;_Stubquot;
  + */
   protected String getStubClassSuffix() {
   return RMI_STUB_SUFFIX;
   }
   
  +/**
  + * Gets the skeleton class suffix
  + * @return the skeleton suffix quot;_Skelquot;
  + */
   protected String getSkelClassSuffix() {
   return RMI_SKEL_SUFFIX;
   }
   
  +/**
  + * Gets the tie class suffix
  + * @return the tie suffix quot;_Tiequot;
  + */
   protected String getTieClassSuffix() {
   return RMI_TIE_SUFFIX;
   }
  @@ -81,13 +107,15 @@
*   interfaces and _*_getStubClassSuffix for non-interfaces (and
*   determine the interface and create _*_Stub from that)./li
* /ul
  + * @return a codeFileNameMapper/code
*/
   public FileNameMapper getMapper() {
   return mapper;
   }
   
   /**
  - * The CLASSPATH this rmic process will use.
  + * Gets the CLASSPATH this rmic process will use.
  + * @return the classpath
*/
   public Path getClasspath() {
   return getCompileClasspath();
  @@ -95,6 +123,7 @@
   
   /**
* Builds the compilation classpath.
  + * @return the classpath
*/
   protected Path getCompileClasspath() {
   Path classpath = new Path(attributes.getProject());
  @@ -122,17 +151,18 @@
   }
   
   /**
  - * setup rmic argument for rmic.
  + * Setup rmic argument for rmic.
  + * @return the command line
*/
   protected Commandline setupRmicCommand() {
   return setupRmicCommand(null);
   }
   
   /**
  - * setup rmic argument for rmic.
  - *
  + * Setup rmic argument for rmic.
* @param options additional parameters needed by a specific
*implementation.
  + * @return the command line
*/
   protected Commandline setupRmicCommand(String[] options) {
   Commandline cmd = new Commandline();
  @@ -204,6 +234,7 @@
   /**
* Logs the compilation parameters, adds the files to compile and logs 
the
* quot;niceSourceListquot;
  + * @param cmd the commandline args
*/
   protected void logAndAddFilesToCompile(Commandline cmd) {
   Vector compileList = attributes.getCompileList();
  @@ -212,12 +243,13 @@
  Project.MSG_VERBOSE);
   
   StringBuffer niceSourceList = new StringBuffer(File);
  -if (compileList.size() != 1) {
  +int cListSize = compileList.size();
  +if (cListSize != 1) {
   niceSourceList.append(s);
   }
   niceSourceList.append( to be compiled:);
   
  -for (int i = 0; i  compileList.size(); i++) {
  +for (int i = 0; i  cListSize; i++) {
   String arg = (String) compileList.elementAt(i);
   cmd.createArgument().setValue(arg);
   niceSourceList.append( + arg);
  @@ -284,7 +316,7 @@
* This is supposed to make Ant always recompile the
* class, as a file of that 

Re: [Patch] DefaultRmicAdapter style changes

2004-12-13 Thread Peter Reilly
Commited, thanks.
Peter
Kev Jackson wrote:
- added javadoc
- minor tweaks

Index: DefaultRmicAdapter.java
===
RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java,v
retrieving revision 1.34
diff -u -r1.34 DefaultRmicAdapter.java
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: ant build.xml

2004-12-13 Thread Peter Reilly
Thanks,
I had meant to place a warning on the test that it may fail in gump.
Peter
[EMAIL PROTECTED] wrote:
bodewig 2004/12/13 02:11:31
 Modified:.build.xml
 Log:
 Temporarily skip test that fail in Gump because of a Gump bug
 
 Revision  ChangesPath
 1.444 +8 -0  ant/build.xml
 
 Index: build.xml
 ===
 RCS file: /home/cvs/ant/build.xml,v
 retrieving revision 1.443
 retrieving revision 1.444
 diff -u -r1.443 -r1.444
 --- build.xml	7 Dec 2004 09:10:39 -	1.443
 +++ build.xml	13 Dec 2004 10:11:31 -	1.444
 @@ -588,6 +588,10 @@
  available property=jsch.present
 classname=com.jcraft.jsch.Session
 classpathref=classpath/
 +
 +condition property=running.in.gump
 +  isset property=gump.merge/
 +/condition
/target
  
  
 @@ -1599,6 +1603,10 @@
  
!-- test needs special setup --
exclude name=${optional.package}/ssh/ScpTest.java/
 +
 +  !-- test fails in Gump --
 +  exclude name=${ant.package}/util/ClasspathUtilsTest.java
 +   if=running.in.gump/
  /fileset
/batchtest
  /junit
 
 
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Bootclasspath and external compiles (was Re: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/compilers Jikes.java)

2004-12-13 Thread Peter Reilly
Does this need to be done for other forked tasks - junit, java for example?
Petet
Stefan Bodewig wrote:
On 10 Dec 2004, [EMAIL PROTECTED] wrote:
+// this is a quick hack to make things work in a
+// Gump/Kaffe/Jikes combo.  I promise I'll explain it later -
+// and add a real solution as well
This is the first part of the promise.
Gump currently places Xerces and various other stuff that can also
be found in the JDK onto the bootclasspath to ensure it uses the
latest versions.
When Ant invokes an external compiler, it may pass the CLASSPATH
it have been invoked with (depending on build.sysclasspath and
includenantruntime), but it never passes the bootclasspath, so it
swallows whatever is there.
In the Gump/Jikes combination this means, Xerces is no longer on
the classpath when Jikes runs.
I think Ant's behavior is wrong and thus propose the following
changes (that I'll perform unless you tell me I'm wrong):
* If includejavaruntime is true in javac, add the full
 bootclasspath of the current VM.
* If build.sysclasspath has the value only (i.e. ignore all
 classpath defintions in the build file, use the system), add the
 full bootclasspath of the current VM.
In both cases, if the external compiler supports -bootclasspath,
add it there - otherwise add it to -classpath.
This would apply to javac but also to rmic.
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional XMLValidateTask.java

2004-12-13 Thread peterreilly
peterreilly2004/12/13 10:51:55

  Modified:.WHATSNEW
   src/main/org/apache/tools/ant/taskdefs/optional
XMLValidateTask.java
  Log:
  URL#getFile does not output a nice filename
  for files with spaces, and absolute windows filenames.
  So use the FileUtils#fromURI() instead.
  PR: 32508
  
  Revision  ChangesPath
  1.694 +3 -0  ant/WHATSNEW
  
  Index: WHATSNEW
  ===
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.693
  retrieving revision 1.694
  diff -u -r1.693 -r1.694
  --- WHATSNEW  10 Dec 2004 15:18:57 -  1.693
  +++ WHATSNEW  13 Dec 2004 18:51:55 -  1.694
  @@ -178,6 +178,9 @@
 twice - if the resource is in the project classpath and if the classloader 
is requested
 with a null path.
   
  +* XMLValidate used URL#getFile rather than the ant method FileUtils#fromURI
  +  Bugzilla report 32508
  +
   Changes from Ant 1.6.1 to Ant 1.6.2
   ===
   
  
  
  
  1.45  +17 -15
ant/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java
  
  Index: XMLValidateTask.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- XMLValidateTask.java  1 Dec 2004 22:49:02 -   1.44
  +++ XMLValidateTask.java  13 Dec 2004 18:51:55 -  1.45
  @@ -19,8 +19,6 @@
   import java.io.File;
   import java.io.FileInputStream;
   import java.io.IOException;
  -import java.net.MalformedURLException;
  -import java.net.URL;
   import java.util.Vector;
   
   import org.apache.tools.ant.AntClassLoader;
  @@ -59,7 +57,7 @@
   /**
* helper for path - URI and URI - path conversions.
*/
  -private static FileUtils fu = FileUtils.newFileUtils();
  +private static final FileUtils FILE_UTILS = FileUtils.newFileUtils();
   
   protected static final String INIT_FAILED_MSG =
   Could not start xml validation: ;
  @@ -455,7 +453,7 @@
   log(Validating  + afile.getName() + ... , 
Project.MSG_VERBOSE);
   errorHandler.init(afile);
   InputSource is = new InputSource(new FileInputStream(afile));
  -String uri = fu.toURI(afile.getAbsolutePath());
  +String uri = FILE_UTILS.toURI(afile.getAbsolutePath());
   is.setSystemId(uri);
   xmlReader.parse(is);
   } catch (SAXException ex) {
  @@ -546,18 +544,22 @@
   private String getMessage(SAXParseException e) {
   String sysID = e.getSystemId();
   if (sysID != null) {
  -try {
  -int line = e.getLineNumber();
  -int col = e.getColumnNumber();
  -return new URL(sysID).getFile()
  -+ (line == -1
  -? 
  -: (: + line + (col == -1 ?  : (: + col
  -+ : 
  -+ e.getMessage();
  -} catch (MalformedURLException mfue) {
  -// ignore and just return exception message
  +String name = sysID;
  +if (sysID.startsWith(file:)) {
  +try {
  +name = FILE_UTILS.fromURI(sysID);
  +} catch (Exception ex) {
  +// if this is not a valid file: just use the uri
  +}
   }
  +int line = e.getLineNumber();
  +int col = e.getColumnNumber();
  +return  name
  ++ (line == -1
  +   ? 
  +   : (: + line + (col == -1 ?  : (: + col
  ++ : 
  ++ e.getMessage();
   }
   return e.getMessage();
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional XMLValidateTask.java

2004-12-13 Thread peterreilly
peterreilly2004/12/13 10:52:17

  Modified:.Tag: ANT_16_BRANCH WHATSNEW
   src/main/org/apache/tools/ant/taskdefs/optional Tag:
ANT_16_BRANCH XMLValidateTask.java
  Log:
  sync
  
  Revision  ChangesPath
  No   revision
  No   revision
  1.503.2.148 +3 -0  ant/WHATSNEW
  
  Index: WHATSNEW
  ===
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.503.2.147
  retrieving revision 1.503.2.148
  diff -u -r1.503.2.147 -r1.503.2.148
  --- WHATSNEW  10 Dec 2004 15:20:10 -  1.503.2.147
  +++ WHATSNEW  13 Dec 2004 18:52:17 -  1.503.2.148
  @@ -79,6 +79,9 @@
 twice - if the resource is in the project classpath and if the classloader 
is requested
 with a null path.
   
  +* XMLValidate used URL#getFile rather than the ant method FileUtils#fromURI
  +  Bugzilla report 32508
  +
   Changes from Ant 1.6.1 to Ant 1.6.2
   ===
   
  
  
  
  No   revision
  No   revision
  1.36.2.6  +17 -15
ant/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java
  
  Index: XMLValidateTask.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java,v
  retrieving revision 1.36.2.5
  retrieving revision 1.36.2.6
  diff -u -r1.36.2.5 -r1.36.2.6
  --- XMLValidateTask.java  2 Jun 2004 21:13:18 -   1.36.2.5
  +++ XMLValidateTask.java  13 Dec 2004 18:52:17 -  1.36.2.6
  @@ -19,8 +19,6 @@
   import java.io.File;
   import java.io.FileInputStream;
   import java.io.IOException;
  -import java.net.MalformedURLException;
  -import java.net.URL;
   import java.util.Vector;
   
   import org.apache.tools.ant.AntClassLoader;
  @@ -59,7 +57,7 @@
   /**
* helper for path - URI and URI - path conversions.
*/
  -private static FileUtils fu = FileUtils.newFileUtils();
  +private static final FileUtils FILE_UTILS = FileUtils.newFileUtils();
   
   protected static final String INIT_FAILED_MSG =
   Could not start xml validation: ;
  @@ -455,7 +453,7 @@
   log(Validating  + afile.getName() + ... , 
Project.MSG_VERBOSE);
   errorHandler.init(afile);
   InputSource is = new InputSource(new FileInputStream(afile));
  -String uri = fu.toURI(afile.getAbsolutePath());
  +String uri = FILE_UTILS.toURI(afile.getAbsolutePath());
   is.setSystemId(uri);
   xmlReader.parse(is);
   } catch (SAXException ex) {
  @@ -545,18 +543,22 @@
   private String getMessage(SAXParseException e) {
   String sysID = e.getSystemId();
   if (sysID != null) {
  -try {
  -int line = e.getLineNumber();
  -int col = e.getColumnNumber();
  -return new URL(sysID).getFile()
  -+ (line == -1
  -? 
  -: (: + line + (col == -1 ?  : (: + col
  -+ : 
  -+ e.getMessage();
  -} catch (MalformedURLException mfue) {
  -// ignore and just return exception message
  +String name = sysID;
  +if (sysID.startsWith(file:)) {
  +try {
  +name = FILE_UTILS.fromURI(sysID);
  +} catch (Exception ex) {
  +// if this is not a valid file: just use the uri
  +}
   }
  +int line = e.getLineNumber();
  +int col = e.getColumnNumber();
  +return  name
  ++ (line == -1
  +   ? 
  +   : (: + line + (col == -1 ?  : (: + col
  ++ : 
  ++ e.getMessage();
   }
   return e.getMessage();
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32508] - Incorrect error output from validate task using -emacs flag

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32508.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32508


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |1.6.3




--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 19:52 ---
Thanks for the test example.
I have found the problem and it is in CVS
and will be in the next release of ANT.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/src/main/org/apache/tools/ant RuntimeConfigurable.java

2004-12-13 Thread mbenson
mbenson 2004/12/13 11:12:36

  Modified:src/main/org/apache/tools/ant RuntimeConfigurable.java
  Log:
  Remove unnecessary empty Hashtable instantiations,
  LOC bumming and Javadoc fixes.
  
  Revision  ChangesPath
  1.55  +19 -36
ant/src/main/org/apache/tools/ant/RuntimeConfigurable.java
  
  Index: RuntimeConfigurable.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/RuntimeConfigurable.java,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- RuntimeConfigurable.java  27 Sep 2004 09:03:17 -  1.54
  +++ RuntimeConfigurable.java  13 Dec 2004 19:12:36 -  1.55
  @@ -40,6 +40,9 @@
*/
   public class RuntimeConfigurable implements Serializable {
   
  +/** Empty Hashtable. */
  +private static final Hashtable EMPTY_HASHTABLE = new Hashtable(0);
  +
   /** Name of the element to configure. */
   private String elementTag = null;
   
  @@ -183,11 +186,8 @@
* @since Ant 1.6
*/
   public Hashtable getAttributeMap() {
  -if (attributeMap != null) {
  -return new Hashtable(attributeMap);
  -} else {
  -return new Hashtable(1);
  -}
  +return (attributeMap == null)
  +? EMPTY_HASHTABLE : new Hashtable(attributeMap);
   }
   
   /**
  @@ -208,9 +208,7 @@
*  Must not be codenull/code.
*/
   public void addChild(RuntimeConfigurable child) {
  -if (children == null) {
  -children = new ArrayList();
  -}
  +children = (children == null) ? new ArrayList() : children;
   children.add(child);
   }
   
  @@ -232,11 +230,8 @@
* @since Ant 1.6
*/
   public Enumeration getChildren() {
  -if (children != null) {
  -return Collections.enumeration(children);
  -} else {
  -return new CollectionUtils.EmptyEnumeration();
  -}
  +return (children == null) ? new CollectionUtils.EmptyEnumeration()
  +: Collections.enumeration(children);
   }
   
   /**
  @@ -246,14 +241,8 @@
*Should not be codenull/code.
*/
   public void addText(String data) {
  -if (data.length() == 0) {
  -return;
  -}
  -if (characters != null) {
  -characters.append(data);
  -} else {
  -characters = new StringBuffer(data);
  -}
  +characters = (characters == null)
  +? new StringBuffer(data) : characters.append(data);
   }
   
   /**
  @@ -347,7 +336,6 @@
   if (proxyConfigured) {
   return;
   }
  -
   // Configure the object
   Object target = (wrappedObject instanceof TypeAdapter)
   ? ((TypeAdapter) wrappedObject).getProxy() : wrappedObject;
  @@ -396,8 +384,7 @@
   
   Enumeration e = getChildren();
   while (e.hasMoreElements()) {
  -RuntimeConfigurable child
  -= (RuntimeConfigurable) e.nextElement();
  +RuntimeConfigurable child = (RuntimeConfigurable) 
e.nextElement();
   if (child.wrappedObject instanceof Task) {
   Task childTask = (Task) child.wrappedObject;
   childTask.setRuntimeConfigurableWrapper(child);
  @@ -416,11 +403,9 @@
* For TaskContainers, we simply skip configuration here.
*/
   String tag = child.getElementTag().toLowerCase(Locale.US);
  -if (configureChildren
  - ih.supportsNestedElement(tag)) {
  +if (configureChildren  ih.supportsNestedElement(tag)) {
   child.maybeConfigure(p);
  -ProjectHelper.storeChild(p, target, child.wrappedObject,
  - tag);
  +ProjectHelper.storeChild(p, target, child.wrappedObject, 
tag);
   }
   }
   
  @@ -443,9 +428,9 @@
   
   /**
* Apply presets, attributes and text are set if not currently set.
  - * nested elements are prepended.
  + * Nested elements are prepended.
*
  - * @param r a codeRuntimeConfigurable/code value
  + * @param r a codeRuntimeConfigurable/code value.
*/
   public void applyPreSet(RuntimeConfigurable r) {
   // Attributes
  @@ -458,11 +443,10 @@
   }
   }
   // poly type
  -if (r.polyType != null  polyType == null) {
  -polyType = r.polyType;
  -}
   
  -// Children (this is a shadow of unknownElement#children)
  +polyType = (polyType == null) ? r.polyType : polyType;
  +
  +// Children (this is a shadow of UnknownElement#children)
   if (r.children != null) {
   List newChildren = new ArrayList();
   

Re: Adding a new Condition

2004-12-13 Thread Peter Reilly
Hi Golan,
Thanks for the condition.
To contribute to ant, one should always try the
[EMAIL PROTECTED] list to show new tasks.
and user@ant.apache.org to test for user
interest.
A new task/type may get into ant or into
an associated project (like ant-contrib), new tasks
outside of core file activity will be difficult to add.
A new condition has been added to ant cvs recently
which will cover your condition (at least the single
file case)
isfileselected file=x.txt
   containsregexp expression=[4-6]\.[0-9]/
/isfileselected
However, containsregexp does not allow all the options
provided by your condition, and its documentation is
a little lacking, so I think that it would be nice to
enchance the containsregexp selector and fix its
documentation.
Also, isfileselected could allow a fileset as nested element
in the same way as your condition, maybe with an attribute,
like number selected, or amount=some, all, any.
Peter
Golan Derazon wrote:
Peter hi,
I have written a new condition - fileregexp.
ReplaceRegExp is a directory based condition that checks whether a given
regular expression pattern is matched in a selected file or set of files.
The condition was created to enable waiting for an expression in a file. For
example, when waiting for an application to start in many cases it is easy
to wait for a specific message in the application's log file. 
It's the first time I contribute to an apache project and I'm not sure how
to proceed.
If I understood correctly the next stage is to discuss the proposal in a
wider forum.
Please instruct.
Thank,
___ 
Golan Derazon,  [EMAIL PROTECTED]
direct 972 - 3 - 5399780  fax 972 -3 -5331617   
www.mercury.com http://www.mercury.com/ 

__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__


FileRegExp
  Description
ReplaceRegExp is a directory based condition that checks the whether a 
given regular expression pattern is matched in a selected file or set 
of files.
Condition was created to enable waiting for an expression in a file. 
For example, when waiting for an application to start
in many cases it is easy to wait for a specific message in the 
application's log file.

Similar to regexp type mappers 
../CoreTypes/mapper.html#regexp-mapper this task needs a supporting 
regular expression library and an implementation of 
|org.apache.tools.ant.util.regexp.Regexp|. See details below 
#implementation.

  Parameters
*Attribute* 	*Description* 	*Required*
file 	file in which the regular expression should be matched 	Yes if 
no nested fileset is used
match 	The regular expression pattern to match in the file(s) 	Yes
  	  	 
flags 	The flags to use when matching the regular expression. For more 
information, consult the Perl5 syntax
g : Global replacement. Replace all occurences found
i : Case Insensitive. Do not consider case in the match
m : Multiline. Treat the string as multiple lines of input, using ^ 
and $ as the start or end of any line, respectively, rather than 
start or end of string.
s : Singleline. Treat the string as a single line of input, using . 
to match any character, including a newline, which normally, it would 
not match.
	No
  	  	No
encoding 	The encoding of the file. 	No - defaults to default JVM 
encoding

  Examples
condition property=myProperty value=true
 fileregexp match=regexptomatch file=fileToLookForMatch.txt 
flags=i/
/condition

Creates the property myProperty and sets its value to true if 
regexptomatch is matched in  fileToLookForMatch.txt.

  Choice of regular expression implementation
Ant comes with wrappers for the java.util.regex package of JDK 1.4 
http://java.sun.com/j2se/1.4/docs/api/java/util/regex/package-summary.html, 
jakarta-regexp http://jakarta.apache.org/regexp/ and jakarta-ORO 
http://jakarta.apache.org/oro/, See installation dependencies 
../install.html#librarydependencies concerning the supporting libraries.

The system property |ant.regexp.regexpimpl| governs which regular 
expression implementation will be chosen. Possible values for this 
property are :

* org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp
* org.apache.tools.ant.util.regexp.JakartaOroRegexp
* org.apache.tools.ant.util.regexp.JakartaRegexpRegexp
It can also be another implementation of the interface 
|org.apache.tools.ant.util.regexp.Regexp|. If |ant.regexp.regexpimpl| 
is not defined, ant checks in the order Jdk14Regexp, JakartaOroRegexp, 
JakartaRegexp for the availability of the corresponding library. The 
first of these 3 which is found will be used.

There are cross-platform issues for matches related to line 
terminator. For example if you use $ to anchor your regular expression 
on the 

Ant and updated PVCS tasks

2004-12-13 Thread ed . wittmann
Hi there -

I'm using the pvcs tasks in ant, and whilst searching about I found a 
posting here:

http://marc.theaimsgroup.com/?l=ant-devm=99667939904467w=2

that added some functionality changes to the PVCS task in ant.

I did a look-see through the code, and found it to be more flexible than 
the existing ant pvcs task. Is there a specific reason this stuff was 
never included? I used it to get ant to play nice with stuff I'm doing in 
PVCS 8.0, so I'm glad I found it.

I also found a sourceforge site that deals with some changes for PVCS 7.5 
(and onwards, perhaps) but it hasn't been touched in a while and the 
documentation is incomplete.

I realize this posting was a long time ago, so if it's a dead subject, 
please let me know.

I emailed Andrew May, but I don't even know if that email address is still 
valid, hence I emailed this list.

Thanks!

Edward Wittmann



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant WHATSNEW

2004-12-13 Thread jkf
jkf 2004/12/13 11:56:55

  Modified:.WHATSNEW
  Log:
  PR: 32566
  Updated whatsnew for modified replace
  
  Revision  ChangesPath
  1.695 +5 -0  ant/WHATSNEW
  
  Index: WHATSNEW
  ===
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.694
  retrieving revision 1.695
  diff -u -r1.694 -r1.695
  --- WHATSNEW  13 Dec 2004 18:51:55 -  1.694
  +++ WHATSNEW  13 Dec 2004 19:56:55 -  1.695
  @@ -36,6 +36,11 @@
   * manifest was not printing warnings about invalid manifest elements.
 Bugzilla report 32190
   
  +* replace got out of memory on large files (part of report 32566). 
  +  replace can now handle files as long as there is enough disk space
  +  is available.
  +
  +
   Other changes:
   --
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant WHATSNEW

2004-12-13 Thread jkf
jkf 2004/12/13 12:02:24

  Modified:.WHATSNEW
  Log:
  typo
  
  Revision  ChangesPath
  1.696 +1 -1  ant/WHATSNEW
  
  Index: WHATSNEW
  ===
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.695
  retrieving revision 1.696
  diff -u -r1.695 -r1.696
  --- WHATSNEW  13 Dec 2004 19:56:55 -  1.695
  +++ WHATSNEW  13 Dec 2004 20:02:23 -  1.696
  @@ -38,7 +38,7 @@
   
   * replace got out of memory on large files (part of report 32566). 
 replace can now handle files as long as there is enough disk space
  -  is available.
  +  available.
   
   
   Other changes:
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Adding a new Condition

2004-12-13 Thread Golan Derazon
Thanks for the fast and detailed reply.
It looks like the 'containsregexp' selector answers
my needs.
I will look into making the enhancements you suggested.



___  
Golan Derazon,  [EMAIL PROTECTED]
direct 972 - 3 - 5399780  fax 972 -3 -5331617
www.mercury.com  
 

-Original Message-
From: Peter Reilly [mailto:[EMAIL PROTECTED] 
Sent: Monday, December 13, 2004 9:27 PM
To: Golan Derazon; Ant Developers List
Subject: Re: Adding a new Condition

Hi Golan,

Thanks for the condition.
To contribute to ant, one should always try the [EMAIL PROTECTED] list to
show new tasks.
and user@ant.apache.org to test for user interest.

A new task/type may get into ant or into an associated project (like
ant-contrib), new tasks outside of core file activity will be difficult to
add.

A new condition has been added to ant cvs recently which will cover your
condition (at least the single file case) isfileselected file=x.txt
containsregexp expression=[4-6]\.[0-9]/ /isfileselected

However, containsregexp does not allow all the options provided by your
condition, and its documentation is a little lacking, so I think that it
would be nice to enchance the containsregexp selector and fix its
documentation.


Also, isfileselected could allow a fileset as nested element in the same
way as your condition, maybe with an attribute, like number selected, or
amount=some, all, any.

Peter


Golan Derazon wrote:

Peter hi,

I have written a new condition - fileregexp.

ReplaceRegExp is a directory based condition that checks whether a 
given regular expression pattern is matched in a selected file or set of
files.
The condition was created to enable waiting for an expression in a 
file. For example, when waiting for an application to start in many 
cases it is easy to wait for a specific message in the application's log
file. 

It's the first time I contribute to an apache project and I'm not sure 
how to proceed.
If I understood correctly the next stage is to discuss the proposal in 
a wider forum.
Please instruct.

Thank,
 
___
Golan Derazon,  [EMAIL PROTECTED]
direct 972 - 3 - 5399780  fax 972 -3 -5331617  
www.mercury.com http://www.mercury.com/  
 



__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__


 --
 --


 FileRegExp


   Description

 ReplaceRegExp is a directory based condition that checks the whether a 
 given regular expression pattern is matched in a selected file or set 
 of files.
 Condition was created to enable waiting for an expression in a file. 
 For example, when waiting for an application to start in many cases it 
 is easy to wait for a specific message in the application's log file.

 Similar to regexp type mappers
 ../CoreTypes/mapper.html#regexp-mapper this task needs a supporting 
 regular expression library and an implementation of
 |org.apache.tools.ant.util.regexp.Regexp|. See details below
 #implementation.


   Parameters

 *Attribute*   *Description*   *Required*
 file  file in which the regular expression should be matched  Yes if 
 no nested fileset is used
 match The regular expression pattern to match in the file(s)  Yes

 flags The flags to use when matching the regular expression. For
more 
 information, consult the Perl5 syntax
 g : Global replacement. Replace all occurences found i : Case 
 Insensitive. Do not consider case in the match m : Multiline. Treat 
 the string as multiple lines of input, using ^
 and $ as the start or end of any line, respectively, rather than 
 start or end of string.
 s : Singleline. Treat the string as a single line of input, using . 
 to match any character, including a newline, which normally, it would 
 not match.
   No
   No
 encoding  The encoding of the file.   No - defaults to default JVM

 encoding


   Examples

 condition property=myProperty value=true
  fileregexp match=regexptomatch file=fileToLookForMatch.txt 
 flags=i/
 /condition

 Creates the property myProperty and sets its value to true if 
 regexptomatch is matched in  fileToLookForMatch.txt.


   Choice of regular expression implementation

 Ant comes with wrappers for the java.util.regex package of JDK 1.4 
 http://java.sun.com/j2se/1.4/docs/api/java/util/regex/package-summary
 .html, jakarta-regexp http://jakarta.apache.org/regexp/ and 
 jakarta-ORO http://jakarta.apache.org/oro/, See installation 
 dependencies ../install.html#librarydependencies concerning the 
 supporting libraries.

 The system property |ant.regexp.regexpimpl| governs which regular 
 expression implementation will be chosen. Possible values for this 
 property are :

  

DO NOT REPLY [Bug 32566] - OutOfMemory if filesize are greater than 7 MB

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32566.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32566





--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 22:08 ---
The problem on the replace task has been reproduced and fixed on the current
development version.

I've not been able to reproduce the error on the copy tasks. Not even using 3
jdk's, 2 of wich contain the unpacked documentation. (19597 files according to
the copy task) The windows java executable size remained just under 24 MB.

?xml version=1.0?

project name=copy-test basedir=c:\ default=test
target name=test
copy todir=jdk_copy
fileset dir=.
include name=jdk*/**/
/fileset
/copy
/target
/project


test:
 [copy] Copying 19597 files to C:\jdk_copy
 [copy] Copied 1543 empty directories to 6 empty directories under C:\jdk_co
py

BUILD SUCCESSFUL
This was 617 MB of data.

Have you used a filter, input encoding or output encoding? (And have you used
the -Xmx2048m as ANT_OPTS?)

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 32566] - OutOfMemory if filesize are greater than 7 MB

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32566.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32566


[EMAIL PROTECTED] changed:

   What|Removed |Added

 AssignedTo|[EMAIL PROTECTED]  |[EMAIL PROTECTED]




-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/xdocs contributors.xml

2004-12-13 Thread jkf
jkf 2004/12/13 14:20:19

  Modified:xdocscontributors.xml
  Log:
  Sync with the html file (yes I know it should be the other way around)
  
  Revision  ChangesPath
  1.32  +6 -1  ant/xdocs/contributors.xml
  
  Index: contributors.xml
  ===
  RCS file: /home/cvs/ant/xdocs/contributors.xml,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- contributors.xml  21 Nov 2004 18:22:37 -  1.31
  +++ contributors.xml  13 Dec 2004 22:20:19 -  1.32
  @@ -232,7 +232,12 @@
   bArun Jamwal/b
   br/
   /p
  -
  +p
  +bMartijn (J.M.) Kruithof/b (ant at kruithof xs4all nl)
  +br/
  +Martijn Kruithof is a system engineer working with and on Java products 
  +in a telecommunication network setting.
  +/p
   p
   bArnout J. Kuiper/b (ajkuiper at planet.nl)
   br/
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: ant/docs faq.html

2004-12-13 Thread jkf
jkf 2004/12/13 14:51:19

  Modified:xdocsfaq.xml
   docs faq.html
  Log:
  PR: 32640
  Updated FAQ with a reference to the manual for developing new tasks (and some 
more).
  Bonus: some typo fixes.
  
  Revision  ChangesPath
  1.65  +19 -3 ant/xdocs/faq.xml
  
  Index: faq.xml
  ===
  RCS file: /home/cvs/ant/xdocs/faq.xml,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- faq.xml   21 Sep 2004 12:07:11 -  1.64
  +++ faq.xml   13 Dec 2004 22:51:19 -  1.65
  @@ -247,7 +247,7 @@
   
   faq id=adding-external-tasks
 questionHow do I add an external task that Iapos;ve written to the
  -  page quot;External Tools and Taskquot;?/question
  +  page quot;External Tools and Tasksquot;?/question
 answer
   
   pJoin and post a message to the dev or user mailing
  @@ -279,6 +279,22 @@
   The procedure to add it is the same. The file to patch is a
   
href=http://cvs.apache.org/viewcvs.cgi/~checkout~/ant/xdocs/projects.xml;this/a
   document. The syntax of that file is the same./p
  +
  +  /answer
  +/faq
  +
  +faq id=create-extensions
  +  questionHow do I create new tasks?/question
  +  answer
  +pApart from a lot of information on using Ant, the 
  +a href=manual/index.htmlManual/a also contains information 
  +on how to extend Ant with new tasks. This information 
  +can be found under quot;Developing with Antquot;./p
  +
  +pChances are that someone else already created the task you
  +want to create, it may be wise to see 
  +a href=external.htmlExternal Tools and Tasks/a and
  +a href=projects.htmlRelated Projects/a first./p
 /answer
   /faq
   
  @@ -473,7 +489,7 @@
   
   pNote: codelt;antcallgt;/code tasks do emnot/em pass
   property changes back up to the environment they were called
  -from, so you wouldapos;nt be able to, for example, set a
  +from, so you wouldnapos;t be able to, for example, set a
   coderesult/code property in the codecond-if-3/code target,
   then do
   codelt;echo message=quot;result is ${result}quot;/gt;/code
  @@ -770,7 +786,7 @@
 answer
   
   pWhen codeant/code loads properties from an external
  -file it dosnapos;t touch the value of properties, trailing blanks
  +file it doesnapos;t touch the value of properties, trailing blanks
   will not be trimmed for example./p
   
   pIf the value represents a file path, like a jar needed to
  
  
  
  1.112 +19 -4 ant/docs/faq.html
  
  Index: faq.html
  ===
  RCS file: /home/cvs/ant/docs/faq.html,v
  retrieving revision 1.111
  retrieving revision 1.112
  diff -u -r1.111 -r1.112
  --- faq.html  18 Nov 2004 12:22:19 -  1.111
  +++ faq.html  13 Dec 2004 22:51:19 -  1.112
  @@ -212,7 +212,10 @@
 /a/li
   lia href=#adding-external-tasks
 How do I add an external task that I've written to the
  -  page External Tools and Task?
  +  page External Tools and Tasks?
  +  /a/li
  +lia href=#create-extensions
  +  How do I create new tasks?
 /a/li
   lia href=#passing-cli-args
 How do I pass parameters from the command line to my
  @@ -646,7 +649,7 @@
   p class=faq
 a name=adding-external-tasks/a
 How do I add an external task that I've written to the
  -  page External Tools and Task?
  +  page External Tools and Tasks?
   /p
 pJoin and post a message to the dev or user mailing
   list (one list is enough), including the following
  @@ -673,6 +676,18 @@
   The procedure to add it is the same. The file to patch is a 
href=http://cvs.apache.org/viewcvs.cgi/~checkout~/ant/xdocs/projects.xml;this/a
   document. The syntax of that file is the same./p
   p class=faq
  +  a name=create-extensions/a
  +  How do I create new tasks?
  +/p
  +  pApart from a lot of information on using Ant, the 
  +a href=manual/index.htmlManual/a also contains information 
  +on how to extend Ant with new tasks. This information 
  +can be found under Developing with Ant./p
  +pChances are that someone else already created the 
task you
  +want to create, it may be wise to see 
  +a href=external.htmlExternal Tools and Tasks/a and
  +a href=projects.htmlRelated Projects/a first./p
  +p class=faq
 a name=passing-cli-args/a
 How do I pass parameters from the command line to my
   build file?
  @@ -869,7 +884,7 @@
   /pre

DO NOT REPLY [Bug 32640] - FAQ should link to develop.html

2004-12-13 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32640.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32640


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2004-12-13 23:52 ---
Thanks for the suggestion, added a somewhat more elaborate FAQ entry.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]