DO NOT REPLY [Bug 19301] New: - junitreport fails

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19301

junitreport fails

   Summary: junitreport fails
   Product: Ant
   Version: 1.5.3
  Platform: Other
OS/Version: Other
Status: NEW
  Severity: Normal
  Priority: Other
 Component: Optional Tasks
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


With Xalan Java 2.2.D11:
[junitreport] jar:file:/C:/Programs/Ant/lib/optional.jar!/org/apache/tools/ant/t
askdefs/optional/junit/xsl/junit-frames.xsl; Line 134; Column 74; java.lang.refl
ect.InvocationTargetException

With Xalan Java 2.5.D1:
BUILD FAILED
file:C:/Documents%20and%20Settings/Eric/My%20Documents/Projects/Expasy/build.xml
:299: Errors while applying transformations: java.lang.StackOverflowError


DO NOT REPLY [Bug 19301] - junitreport fails

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19301

junitreport fails





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 00:52 ---
Created an attachment (id=6002)
The test result file that causes junitreport to fail.


DO NOT REPLY [Bug 19280] - add the ability to echo the classpath

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19280

add the ability to echo the classpath

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID



--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 06:36 ---
If you want to echo the classpath used in javac as a quick check, ant -verbose
should work.

For more advanced cases, go the define outside of task and echo route.


DO NOT REPLY [Bug 19285] - Invalid path when using javac with fork=true

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19285

Invalid path when using javac with fork=true





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 06:41 ---
Could you give us a complete output (of the javac task, you can snip the rest)
from ant -debug please?


DO NOT REPLY [Bug 19293] - jar task does not remove obsolete entries

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19293

jar task does not remove obsolete entries





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 06:43 ---
If you want to remove the files that are no longer present, simply set update to
false.


DO NOT REPLY [Bug 19249] - javadoc @doclet.ins equivalent

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19249

javadoc @doclet.ins equivalent

[EMAIL PROTECTED] changed:

   What|Removed |Added

   Severity|Major   |Enhancement



--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 06:50 ---
If you really already have all your packages listed in doclet.ins you are not
going to gain anything by using javadoc instead of exec - well, javadoc
doesn't need the javadoc executable in the PATH, but that's pretty much all.

You must give javadoc at leas one source file or package name to chew upon
as it really has been invented for a more dynamic system than yours.  This also
is a workaround for you, simply give it a single source file you will want to
have docced anyway.

You can pass your @doclet.ins via the additionalparam attribute.


Re: antlib

2003-04-25 Thread Stefan Bodewig
On Thu, 24 Apr 2003, Costin Manolache [EMAIL PROTECTED] wrote:

 Look - adding roles concept to ant, and adding antlib are 2
 separate issues.

I tend to agree - that's why I proposed to get antlib into the main
trunk with support for types and tasks only.  At least for starters.

If you want a custom mapper you can do so right now with a data type
and refid.  The same is not true for filter readers, conditions or
selectors.  But I feel that enabling that would inevitably lead us to
the more general polymorphism discussion and this is what I wanted to
avoid 8-).

Stefan


Re: antlib

2003-04-25 Thread Stefan Bodewig
On Thu, 24 Apr 2003, Dominique Devienne [EMAIL PROTECTED] wrote:

 So how do *you* propose we plug in custom implementations of all the
 things mentioned above, if not with roles?

That other thing we discuss and discuss over and over again without
getting anywhere 8-)

Polymorphism.

Stefan


Re: antlib

2003-04-25 Thread peter reilly
On Friday 25 April 2003 08:31, Stefan Bodewig wrote:
 On Thu, 24 Apr 2003, Costin Manolache [EMAIL PROTECTED] wrote:
  Look - adding roles concept to ant, and adding antlib are 2
  separate issues.
+1

 I tend to agree - that's why I proposed to get antlib into the main
 trunk with support for types and tasks only.  At least for starters.

 If you want a custom mapper you can do so right now with a data type
 and refid.  The same is not true for filter readers, conditions or
 selectors.  But I feel that enabling that would inevitably lead us to

Not quite true for filter readers.

In CVS HEAD, FilterChain has a currently (deliberate) undocumented feature of
implementing DynamicConfigurator. The implementation looks up the
name in the types and if present and if the bean implements ChainableReader
it is used as a ChainableReader.

This is used to support ScriptFilter. Script reader is an optional
ChainableReader which depends on the presence of BSF and thus cannot
be implemented in the same way as the other built-in ChainableReaders.

 the more general polymorphism discussion and this is what I wanted to
 avoid 8-).

I have implemented a generalization of  FilterChain's 
usage of DynamicConfigurator  in IntrospectionHelper.
This extends the introspection support to include methods of the form:

public void dynamicElement(type name);

So in my local ant build the relavant part of FilterChain.java is

public void dynamicElement(ChainableReader reader) {
filterReaders.addElement(reader);
}

and of ConditionBase.java

public void dynamicElement(Condition condition) {
conditions.addElement(condition);
}



As regards using roles:
(note: Roles in the antlib proposal are not completely implemented,ie.
 there is no condition, mapper or filter implementation so
 my comments may be correct).

Roles in the proposal provide three features:

1) they provide a way of limiting the scope of the tag. I assume that
this is meant to be used by introspection in the same way as
the  dynamicElement method above.
2) As a consequence of 1), the same identifier by be used to
point to different classes.
3) they provide an optional adaptor to allow classes that do not support
a requred interface.

These features may be implemented in different ways, for example:

typedef could be extended to have an implements attribute:

typedef name=and classname=o.a.t.ant.taskdefs.conditions.And
  implements=o.a.t.ant.taskdefs.conditions.Condition/

and may then only be used in beans that have the method:
 public void dynamicElement(Condition condition)  

if the class did not implement the condition, a proxy class could be defined:
typedef name=diskfull classname=acme.disk.DiskFull
  implements=o.a.t.ant.taskdefs.conditions.Condition
  proxy=acme.ant.ConditionAdaptor/

or one could have a class that defines adaptors:
a new task may define adaptors:

adaptor classname=o.a.t.ant.taskdefs.conditions.Condition
  proxy=acme.ant.ConditionAdaptor/



My feeling is that roles are not needed to support dynamic conditions,
filters ...,
in fact I do not think that typedef is needed:

loadclasses classpathref=${acme.ant.jars}/

condition property=disk.danger.level
 acme.disk.DiskFull percent=70 filesystem=/tmp/
/condition

I see typedef/taskdef as providing alaises for java beans.

Peter.



DO NOT REPLY [Bug 19285] - Invalid path when using javac with fork=true

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19285

Invalid path when using javac with fork=true





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 09:38 ---
Created an attachment (id=6007)
ant -debug output for javac


Re: antlib

2003-04-25 Thread Stefan Bodewig
On Fri, 25 Apr 2003, peter reilly [EMAIL PROTECTED] wrote:

 I have implemented a generalization of FilterChain's usage of
 DynamicConfigurator in IntrospectionHelper.  This extends the
 introspection support to include methods of the form:

Yes, that's one way to implement it.  The tricky part starts if you
want to support polymorphism for more than one nested element.

Say class PathThatIgnoresBuildSysclassPathToTrickGump extends Path
and you want to use it in javac which has several nested elements
that are Paths.

My, will I ever by able to keep focused on one thread at a time 8-)

 2) As a consequence of 1), the same identifier by be used to point
 to different classes.

I see

manifest as data type - the one you'd use for refid usage - is
implemented by a different class than the manifest task.  Luckily we
never declared a data-type named manifest.

 3) they provide an optional adaptor to allow classes that do not
 support a requred interface.

This may be out of scope for antlib and in scope for the polymorphism
debate.

 My feeling is that roles are not needed to support dynamic
 conditions, filters ..., in fact I do not think that typedef is
 needed:

I agree.  At least no formal definition of a role.

Stefan


Re: polymorphism (was Re: antlib)

2003-04-25 Thread peter reilly
On Friday 25 April 2003 10:42, Stefan Bodewig wrote:
 Yes, that's one way to implement it.  The tricky part starts if you
 want to support polymorphism for more than one nested element.

true.
The problem exists in CVS HEAD for TokenFilter, it can take
TokenFilter.Filter and TokenFilter.Tokenizer objects. Suppose
an  object implements both interfaces?. The current code
just treats it as a TokenFilter.Filter.


 Say class PathThatIgnoresBuildSysclassPathToTrickGump extends Path
 and you want to use it in javac which has several nested elements
 that are Paths.
I do not see the problem here: suppose Path implements 
  dynamicElement(Path path)

one could do:
javac
   classpath
   PathThatIgnoresBuildSysclassPathToTrickGump
pathelement path=${classpath}/
   /PathThatIgnoresBuildSysclassPathToTrickGump
   /classpath
/javac

Peter


Re: polymorphism (was Re: antlib)

2003-04-25 Thread Stefan Bodewig
On Fri, 25 Apr 2003, peter reilly [EMAIL PROTECTED] wrote:

 I do not see the problem here: suppose Path implements 
   dynamicElement(Path path)
 
 one could do:
 javac
classpath
PathThatIgnoresBuildSysclassPathToTrickGump
 pathelement path=${classpath}/
/PathThatIgnoresBuildSysclassPathToTrickGump
/classpath
 /javac

I don't want to use it as nested element of classpath, but as nested
element of javac.

Take classfileset/zipfileset and dependset as another example
(where you can trick me ;-).

I want to be able to be able to use classfileset as srcfileset and
zipfileset as targetfileset - or the other way around.

Stefan


RE: antlib

2003-04-25 Thread Jose Alberto Fernandez

 From: Costin Manolache [mailto:[EMAIL PROTECTED]
 
 Erik Hatcher wrote:
 
  
  But the current one does not support adding other components like
  conditions, mappers, filters, and selectors.
 
 Does ant support this ? 
 
 And what do you mean does not support adding ? It can add 
 any component
 ( as datatype for example), and nothing stops you from using 
 any datatype as
 anything you want ( condition, mapper, filter or selector ).
 

The big difference is the way ANT currently treats a core 
condition/mapper/filter
from one defined by a user. If I look at a build file the syntax are completely
different, not only that but in some cases the name of attributes changes for 
the
same class depending on whether I use the core syntax or the syntax for
user defined implementations.

And it is not only the things above, it is also the vendor specific elements of
things like ejbjar jspc and others. I would like those classes reemplemented
using roles and scatter the vendor specific code to the wind (to te vendors) 
where
it belongs (on their own release cycle).

To me the whole point of antlib is that it will make core code and 3rd party 
maintained
components completely indistinguishable from the point of view of the build 
writer,
no priviledges to anyone.

Jose Alberto


RE: antlib

2003-04-25 Thread Jose Alberto Fernandez
Peter,

this is exactly my point. For every new thingy that we add we now need to go and
modify IntrospectionHelper or something to make special allowances for it.

It is bloating the core like mad and in my opinion it is crazy. We need a 
unified
way to treat this things no matter what the things are. Ant's engine core should
not need to know anything about anything.

In an ideal world, we should have an engine core with no reference to any 
task/type
or its implementing classes and a core-antlib which provides the classes and 
definintions
for all the task/types/conditions/selectors/mappers that define core java.

We could even have separate release cycles for it.

THAT is the potential for antlib (and it is not polimorphish).

Jose Alberto

 -Original Message-
 From: peter reilly [mailto:[EMAIL PROTECTED]
 Sent: 25 April 2003 10:30
 To: Ant Developers List
 Subject: Re: antlib
 
 
 On Friday 25 April 2003 08:31, Stefan Bodewig wrote:
  On Thu, 24 Apr 2003, Costin Manolache [EMAIL PROTECTED] wrote:
   Look - adding roles concept to ant, and adding antlib are 2
   separate issues.
 +1
 
  I tend to agree - that's why I proposed to get antlib into the main
  trunk with support for types and tasks only.  At least for starters.
 
  If you want a custom mapper you can do so right now with a data type
  and refid.  The same is not true for filter readers, conditions or
  selectors.  But I feel that enabling that would inevitably 
 lead us to
 
 Not quite true for filter readers.
 
 In CVS HEAD, FilterChain has a currently (deliberate) 
 undocumented feature of
 implementing DynamicConfigurator. The implementation looks up the
 name in the types and if present and if the bean implements 
 ChainableReader
 it is used as a ChainableReader.
 
 This is used to support ScriptFilter. Script reader is an optional
 ChainableReader which depends on the presence of BSF and thus cannot
 be implemented in the same way as the other built-in ChainableReaders.
 
  the more general polymorphism discussion and this is what I 
 wanted to
  avoid 8-).
 
 I have implemented a generalization of  FilterChain's 
 usage of DynamicConfigurator  in IntrospectionHelper.
 This extends the introspection support to include methods of the form:
 
 public void dynamicElement(type name);
 
 So in my local ant build the relavant part of FilterChain.java is
 
 public void dynamicElement(ChainableReader reader) {
 filterReaders.addElement(reader);
 }
 
 and of ConditionBase.java
 
 public void dynamicElement(Condition condition) {
 conditions.addElement(condition);
 }
 
 
 
 As regards using roles:
 (note: Roles in the antlib proposal are not completely implemented,ie.
  there is no condition, mapper or filter implementation so
  my comments may be correct).
 
 Roles in the proposal provide three features:
 
 1) they provide a way of limiting the scope of the tag. I assume that
 this is meant to be used by introspection in the same way as
 the  dynamicElement method above.
 2) As a consequence of 1), the same identifier by be used to
 point to different classes.
 3) they provide an optional adaptor to allow classes that do 
 not support
 a requred interface.
 
 These features may be implemented in different ways, for example:
 
 typedef could be extended to have an implements attribute:
 
 typedef name=and classname=o.a.t.ant.taskdefs.conditions.And
   implements=o.a.t.ant.taskdefs.conditions.Condition/
 
 and may then only be used in beans that have the method:
  public void dynamicElement(Condition condition)  
 
 if the class did not implement the condition, a proxy class 
 could be defined:
 typedef name=diskfull classname=acme.disk.DiskFull
   implements=o.a.t.ant.taskdefs.conditions.Condition
   proxy=acme.ant.ConditionAdaptor/
 
 or one could have a class that defines adaptors:
 a new task may define adaptors:
 
 adaptor classname=o.a.t.ant.taskdefs.conditions.Condition
   proxy=acme.ant.ConditionAdaptor/
 
 
 
 My feeling is that roles are not needed to support dynamic conditions,
 filters ...,
 in fact I do not think that typedef is needed:
 
 loadclasses classpathref=${acme.ant.jars}/
 
 condition property=disk.danger.level
  acme.disk.DiskFull percent=70 filesystem=/tmp/
 /condition
 
 I see typedef/taskdef as providing alaises for java beans.
 
 Peter.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 


RE: polymorphism (was Re: antlib)

2003-04-25 Thread Jose Alberto Fernandez
 From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 
 
 On Fri, 25 Apr 2003, peter reilly [EMAIL PROTECTED] wrote:
 
  I do not see the problem here: suppose Path implements 
dynamicElement(Path path)
  
  one could do:
  javac
 classpath
 PathThatIgnoresBuildSysclassPathToTrickGump
  pathelement path=${classpath}/
 /PathThatIgnoresBuildSysclassPathToTrickGump
 /classpath
  /javac
 
 I don't want to use it as nested element of classpath, but as nested
 element of javac.
 
 Take classfileset/zipfileset and dependset as another example
 (where you can trick me ;-).
 
 I want to be able to be able to use classfileset as srcfileset and
 zipfileset as targetfileset - or the other way around.
 

Actually, peter trick may give us a hint on an easy way to achieve polimorphism.
We just need to provide a way on the basic core type implementations to delegate
all calls to a nested object (similar to what we do for refids).

With that and the roles we would get alot of functionality almost free of charge
and without any changes to the core engine (but roles of course).

Jose Alberto


Re: antlib

2003-04-25 Thread peter reilly
On Friday 25 April 2003 12:24, Jose Alberto Fernandez wrote:
 Peter,

 this is exactly my point. For every new thingy that we add we now need to
 go and modify IntrospectionHelper or something to make special allowances
 for it.

The dynamicelement addition to IntrospectionHelper is general and new thingies
can be added without affecting core ant.


 It is bloating the core like mad and in my opinion it is crazy. We need a
 unified way to treat this things no matter what the things are. Ant's
 engine core should not need to know anything about anything.

Dynamicelement has the potential to remove code (e.g. all the
addNAME methods to conditionbase, selectorbase, and filterchain). The
only problem is name clashes.


 In an ideal world, we should have an engine core with no reference to any
 task/type or its implementing classes and a core-antlib which provides the
 classes and definintions for all the
 task/types/conditions/selectors/mappers that define core java.

This can be done with dynamicelement, except for name clashes and mapper
(which does not use sub-elements for different filenamemappers).

Peter.

Ps: I am including mods to IntrospectionHelper.java and 
  DynamicElementHelper.java
Index: IntrospectionHelper.java
===
RCS file: /home/cvspublic/ant/src/main/org/apache/tools/ant/IntrospectionHelper.java,v
retrieving revision 1.55
diff -u -r1.55 IntrospectionHelper.java
--- IntrospectionHelper.java	15 Apr 2003 17:23:15 -	1.55
+++ IntrospectionHelper.java	25 Apr 2003 12:14:09 -
@@ -61,6 +61,7 @@
 import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.Locale;
+import org.apache.tools.ant.helper.DynamicElementHelper;
 import org.apache.tools.ant.types.EnumeratedAttribute;
 import org.apache.tools.ant.types.Path;
 
@@ -114,6 +115,11 @@
 private Class bean;
 
 /**
+ * The dynamic elements implemented by this class
+ */
+private DynamicElementHelper dynamicElementHelper = null;
+
+/**
  * Helper instances we've already created (Class to IntrospectionHelper).
  */
 private static Hashtable helpers = new Hashtable();
@@ -199,9 +205,10 @@
 nestedTypes = new Hashtable();
 nestedCreators = new Hashtable();
 nestedStorers = new Hashtable();
+dynamicElementHelper = new DynamicElementHelper(bean);
 
 this.bean = bean;
-
+
 Method[] methods = bean.getMethods();
 for (int i = 0; i  methods.length; i++) {
 final Method m = methods[i];
@@ -534,6 +541,15 @@
 public Object createElement(Project project, Object parent,
 String elementName) throws BuildException {
 NestedCreator nc = (NestedCreator) nestedCreators.get(elementName);
+
+if (nc == null) {
+Object nestedElement = dynamicElementHelper.createDynamicElement(
+project, parent, elementName);
+if (nestedElement != null) {
+return nestedElement;
+}
+}
+
 if (nc == null  parent instanceof DynamicConfigurator) {
 DynamicConfigurator dc = (DynamicConfigurator) parent;
 Object nestedElement = dc.createDynamicElement(elementName);
@@ -578,7 +594,8 @@
  */
 public boolean supportsNestedElement(String elementName) {
 return nestedCreators.containsKey(elementName) ||
-DynamicConfigurator.class.isAssignableFrom(bean);
+DynamicConfigurator.class.isAssignableFrom(bean) ||
+dynamicElementHelper.hasDynamicMethods();
 }
 
 /**
// {ANT Apache Software License}
package org.apache.tools.ant.helper;

import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;

import java.util.Vector;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DynamicConfigurator;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.RuntimeConfigurable;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.TaskAdapter;
import org.apache.tools.ant.UnknownElement;

/**
 * p
 * This class is used to help in handling dynamic elements.
 * The idea is to allow easy custom extensions
 * and to extend the traditional ant bean reflection to call setters
 * methods, or add/create methods, with all the magic type conversion
 * it does.
 * /p
 * p
 * The dynamic element classes will be defined by lt;typedef/gt;
 * or b(to be decided)/b by lt;taskdef/gt;
 * /p
 * p
 * User classes (tasks or datatypes) have methods
 * codedynamicElement(class or interface)/code
 * /p
 * p
 * This class is currently used by DynamicElementTask, but
 * may in the future be used by ant core IntrospectionHelper.
 * /p
 * p
 * An example: Suppose one had a task buildpath that resolved
 * paths using custom resolvers that implement a BuildPathResolver
 * interface.
 * /p
 * pre
 *  lt;typedef name=tahoeresolver
 *classname=acme.resolvers.TahoeResolver
 *

Broken link on src-dist download page

2003-04-25 Thread Jan . Materne
I don´t know where that content is stored. But on
http://ant.apache.org/srcdownload.cgi the link to the
1.5.3.1 version of Ant source distribution is broken.

.zip archive: apache-ant-1.5.3-1-src.zip [PGP] [MD5] 

Link for the zip goes to 

http://apache.serveftp.org/apache-site/dist/ant/source/apache-ant-1.5.3-src.
zip
but must go to 

http://apache.serveftp.org/apache-site/dist/ant/source/apache-ant-1.5.3-1-sr
c.zip
(missing the -1 suffix for the update).


Jan Matèrne


DO NOT REPLY [Bug 19301] - junitreport fails

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19301

junitreport fails





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 12:51 ---
I tracked down the problem to the JS-escape template, which produces a 
StackOverFlowError with Xalan 2.5D1 if the string parameter passed to the 
template is too long, as can easily happen when processing the java.class.path 
property. Not sure where the real limit is, all I know is that 7952 characters 
is too much :-)

A temporary fix is to simply skip any long values and display them as '...' 
instead:

  xsl:when test=string-length($string)  1000
xsl:text.../xsl:text
  /xsl:when


cvs commit: ant/xdocs bindownload.xml srcdownload.xml

2003-04-25 Thread bodewig
bodewig 2003/04/25 06:17:26

  Modified:docs bindownload.html srcdownload.html
   xdocsbindownload.xml srcdownload.xml
  Log:
  Fix broken link
  
  Revision  ChangesPath
  1.30  +1 -1  ant/docs/bindownload.html
  
  Index: bindownload.html
  ===
  RCS file: /home/cvs/ant/docs/bindownload.html,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- bindownload.html  16 Apr 2003 15:22:35 -  1.29
  +++ bindownload.html  25 Apr 2003 13:17:26 -  1.30
  @@ -210,7 +210,7 @@
 Current Release of Ant
   /h3
   pCurrently, Apache Ant 1.5.3 is the best available 
version, see the
  -a href=[preferred]/ant/README.htmlrelease notes/a. /p
  +a href=[preferred]/ant/README.htmlrelease notes/a./p
   div class=warning
   div class=labelNote/div
   div class=contentAn updated version of Ant 1.5.3 has been released on 
17-April-2003 and may not be available on all 
  
  
  
  1.29  +1 -1  ant/docs/srcdownload.html
  
  Index: srcdownload.html
  ===
  RCS file: /home/cvs/ant/docs/srcdownload.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- srcdownload.html  16 Apr 2003 15:22:35 -  1.28
  +++ srcdownload.html  25 Apr 2003 13:17:26 -  1.29
  @@ -218,7 +218,7 @@
   /div
   ul
   licode.zip/code archive: 
  -a 
href=[preferred]/ant/source/apache-ant-1.5.3-src.zipapache-ant-1.5.3-1-src.zip/a
 
  +a 
href=[preferred]/ant/source/apache-ant-1.5.3-1-src.zipapache-ant-1.5.3-1-src.zip/a
 
   [a 
href=http://www.apache.org/dist/ant/source/apache-ant-1.5.3-1-src.zip.asc;PGP/a]
   [a 
href=http://www.apache.org/dist/ant/source/apache-ant-1.5.3-1-src.zip.md5;MD5/a]/li
   
  
  
  
  1.15  +1 -1  ant/xdocs/bindownload.xml
  
  Index: bindownload.xml
  ===
  RCS file: /home/cvs/ant/xdocs/bindownload.xml,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- bindownload.xml   16 Apr 2003 15:22:35 -  1.14
  +++ bindownload.xml   25 Apr 2003 13:17:26 -  1.15
  @@ -60,7 +60,7 @@
   section name=Current Release of Ant
   
   pCurrently, Apache Ant 1.5.3 is the best available version, see the
  -a href=[preferred]/ant/README.htmlrelease notes/a. /p
  +a href=[preferred]/ant/README.htmlrelease notes/a./p
   
   div class=warning
   div class=labelNote/div
  
  
  
  1.13  +1 -1  ant/xdocs/srcdownload.xml
  
  Index: srcdownload.xml
  ===
  RCS file: /home/cvs/ant/xdocs/srcdownload.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- srcdownload.xml   16 Apr 2003 15:22:35 -  1.12
  +++ srcdownload.xml   25 Apr 2003 13:17:26 -  1.13
  @@ -69,7 +69,7 @@
   
   ul
   licode.zip/code archive: 
  -a 
href=[preferred]/ant/source/apache-ant-1.5.3-src.zipapache-ant-1.5.3-1-src.zip/a
 
  +a 
href=[preferred]/ant/source/apache-ant-1.5.3-1-src.zipapache-ant-1.5.3-1-src.zip/a
 
   [a 
href=http://www.apache.org/dist/ant/source/apache-ant-1.5.3-1-src.zip.asc;PGP/a]
   [a 
href=http://www.apache.org/dist/ant/source/apache-ant-1.5.3-1-src.zip.md5;MD5/a]/li
   
  
  
  


Re: Broken link on src-dist download page

2003-04-25 Thread Stefan Bodewig
On Fri, 25 Apr 2003, Jan Materne [EMAIL PROTECTED] wrote:

 I don´t know where that content is stored.

xdocs/srcdownload.xml

 But on http://ant.apache.org/srcdownload.cgi the link to the 1.5.3.1
 version of Ant source distribution is broken.

Yep, only one of them, though.  Fixed now.

Thanks!

Stefan


AW: Broken link on src-dist download page

2003-04-25 Thread Jan . Materne
 -Ursprüngliche Nachricht-
 Von: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 Gesendet am: Freitag, 25. April 2003 15:20
 An: [EMAIL PROTECTED]
 Betreff: Re: Broken link on src-dist download page
 
 On Fri, 25 Apr 2003, Jan Materne [EMAIL PROTECTED] wrote:
 
  I don´t know where that content is stored.
 
 xdocs/srcdownload.xml

Ah, yes. Found :-)

 
  But on http://ant.apache.org/srcdownload.cgi the link to the 1.5.3.1
  version of Ant source distribution is broken.
 
 Yep, only one of them, though.  Fixed now.
 
 Thanks!

Of course! 


Jan


Re: polymorphism (was Re: antlib)

2003-04-25 Thread Stefan Bodewig
On Fri, 25 Apr 2003, peter reilly [EMAIL PROTECTED] wrote:

 On Friday 25 April 2003 11:54, Stefan Bodewig wrote:

 I don't want to use it as nested element of classpath, but as
 nested element of javac.
 Why

because it feels more natural?

 and how (from an xml point-of-view)?

One of the questions that usually get us stuck 8-)

classpath ant:type=PathThatIgnoresBuildSysclassPathToTrickGump

or

PathThatIgnoresBuildSysclassPathToTrickGump ant:element=classpath

are alternatives (without any claim for completeness) with quite
different consequences when it comes to the implementation side of
things.

Neither would require any formal definition of roles.

Stefan


Re: polymorphism (was Re: antlib)

2003-04-25 Thread Stefan Bodewig
On Fri, 25 Apr 2003, Jose Alberto Fernandez
[EMAIL PROTECTED] wrote:

 Actually, peter trick may give us a hint on an easy way to achieve
 polimorphism.

 We just need to provide a way on the basic core type implementations
 to delegate all calls to a nested object (similar to what we do for
 refids).

Easy from the implementation side, but is it intuitive for the user to
write?

copy ...
  fileset
classfileset ...
  /fileset
/copy

condition
  condition
true/
  /condition
/condition

In simple non-ambiguos cases like the above this could be without the
trick.

copy ...
  classfileset ...
/copy

condition
  true/
/condition

Stefan


RE: antlib

2003-04-25 Thread Costin Manolache
Jose Alberto Fernandez wrote:

 Peter,
 
 this is exactly my point. For every new thingy that we add we now need to
 go and modify IntrospectionHelper or something to make special allowances
 for it.
 
 It is bloating the core like mad and in my opinion it is crazy. We need a
 unified way to treat this things no matter what the things are. Ant's
 engine core should not need to know anything about anything.

Fine - but do this in core, not in antlib.

Antlib needs to load whatever ant supports. Not to define new things. 

I don't have any problem with polymorphism ( or roles ). Nobody said they
shouldn't be added. My only comment is that the implementation of
polymorphism shouldn't be tied with antlib, and I would preffer a solution
that would simplify the core - i.e. interfaces or something like that, that 
would allow us to treat all components as components at the low level.

An unified way to treat all the sub-types should be defined and implemented 
as part of the core. 

We can wait with antlib ( the part that loads whatever-things-ant-supports)
until polymorphism is defined, but I would preffer having antlib included
in ant sooner.

Costin


 
 In an ideal world, we should have an engine core with no reference to any
 task/type or its implementing classes and a core-antlib which provides the
 classes and definintions for all the
 task/types/conditions/selectors/mappers that define core java.
 
 We could even have separate release cycles for it.
 
 THAT is the potential for antlib (and it is not polimorphish).
 
 Jose Alberto
 
 -Original Message-
 From: peter reilly [mailto:[EMAIL PROTECTED]
 Sent: 25 April 2003 10:30
 To: Ant Developers List
 Subject: Re: antlib
 
 
 On Friday 25 April 2003 08:31, Stefan Bodewig wrote:
  On Thu, 24 Apr 2003, Costin Manolache [EMAIL PROTECTED] wrote:
   Look - adding roles concept to ant, and adding antlib are 2
   separate issues.
 +1
 
  I tend to agree - that's why I proposed to get antlib into the main
  trunk with support for types and tasks only.  At least for starters.
 
  If you want a custom mapper you can do so right now with a data type
  and refid.  The same is not true for filter readers, conditions or
  selectors.  But I feel that enabling that would inevitably
 lead us to
 
 Not quite true for filter readers.
 
 In CVS HEAD, FilterChain has a currently (deliberate)
 undocumented feature of
 implementing DynamicConfigurator. The implementation looks up the
 name in the types and if present and if the bean implements
 ChainableReader
 it is used as a ChainableReader.
 
 This is used to support ScriptFilter. Script reader is an optional
 ChainableReader which depends on the presence of BSF and thus cannot
 be implemented in the same way as the other built-in ChainableReaders.
 
  the more general polymorphism discussion and this is what I
 wanted to
  avoid 8-).
 
 I have implemented a generalization of  FilterChain's
 usage of DynamicConfigurator  in IntrospectionHelper.
 This extends the introspection support to include methods of the form:
 
 public void dynamicElement(type name);
 
 So in my local ant build the relavant part of FilterChain.java is
 
 public void dynamicElement(ChainableReader reader) {
 filterReaders.addElement(reader);
 }
 
 and of ConditionBase.java
 
 public void dynamicElement(Condition condition) {
 conditions.addElement(condition);
 }
 
 
 
 As regards using roles:
 (note: Roles in the antlib proposal are not completely implemented,ie.
  there is no condition, mapper or filter implementation so
  my comments may be correct).
 
 Roles in the proposal provide three features:
 
 1) they provide a way of limiting the scope of the tag. I assume that
 this is meant to be used by introspection in the same way as
 the  dynamicElement method above.
 2) As a consequence of 1), the same identifier by be used to
 point to different classes.
 3) they provide an optional adaptor to allow classes that do
 not support
 a requred interface.
 
 These features may be implemented in different ways, for example:
 
 typedef could be extended to have an implements attribute:
 
 typedef name=and classname=o.a.t.ant.taskdefs.conditions.And
   implements=o.a.t.ant.taskdefs.conditions.Condition/
 
 and may then only be used in beans that have the method:
  public void dynamicElement(Condition condition)
 
 if the class did not implement the condition, a proxy class
 could be defined:
 typedef name=diskfull classname=acme.disk.DiskFull
   implements=o.a.t.ant.taskdefs.conditions.Condition
   proxy=acme.ant.ConditionAdaptor/
 
 or one could have a class that defines adaptors:
 a new task may define adaptors:
 
 adaptor classname=o.a.t.ant.taskdefs.conditions.Condition
   proxy=acme.ant.ConditionAdaptor/
 
 
 
 My feeling 

Re: polymorphism (was Re: antlib)

2003-04-25 Thread peter reilly
On Friday 25 April 2003 14:30, Stefan Bodewig wrote:

 because it feels more natural?


 classpath ant:type=PathThatIgnoresBuildSysclassPathToTrickGump

 or

 PathThatIgnoresBuildSysclassPathToTrickGump ant:element=classpath

I see. This is an interesting idea, whether is more natural is debatable ;-).

A thing to note is that ant: assumes that an xml namespace is set-up,
... xmlns:ant=...

Another similar idea could be:
classpath implementationClass=acme.ant.TrickGump ... 
 are alternatives (without any claim for completeness) with quite
 different consequences when it comes to the implementation side of
 things.

One of the consequences is that Javac's public method createClasspath()
may need to be modified.


Peter



cvs commit: ant/proposal/xdocs/dvsl task.dvsl

2003-04-25 Thread jesse
jesse   2003/04/25 07:09:11

  Modified:proposal/xdocs/lib xdoclet-apache-module-1.2b3-dev.jar
   proposal/xdocs/dvsl task.dvsl
  Log:
  Generate attribute requirements
  
  Revision  ChangesPath
  1.2   +103 -92   
ant/proposal/xdocs/lib/xdoclet-apache-module-1.2b3-dev.jar
  
Binary file
  
  
  1.5   +40 -7 ant/proposal/xdocs/dvsl/task.dvsl
  
  Index: task.dvsl
  ===
  RCS file: /home/cvs/ant/proposal/xdocs/dvsl/task.dvsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- task.dvsl 14 Feb 2003 20:37:23 -  1.4
  +++ task.dvsl 25 Apr 2003 14:09:11 -  1.5
  @@ -54,7 +54,7 @@
 #set( $project = 
$node.selectSingleNode(document('xdocs/stylesheets/project.xml')/project ) )
 #if ($node.name().equals(task))
   #set( $title = #capitalize($attrib.name) Task )
  -#set( $summary = $node.short-description )
  +#set( $summary = $node.short-description )   
 #end
   
   html
  @@ -105,7 +105,7 @@
 !-- Applying task/long-description --
   #**#$context.applyTemplates(long-description)
   #*  *##end
  -#* *#$context.applyTemplates(structure/attributes)
  +#* *#$context.applyTemplates(structure/attribute-groups)
   #* *#$context.applyTemplates(structure/elements)
   #* *#$context.applyTemplates(external/section)
   #**##end
  @@ -154,6 +154,16 @@
   #end
   
   #*
  +Macro to format a table body cell that spans multiple rows
  +*#
  +#macro( tdmr $text $rows  )
  +td bgcolor=$table-td-bg valign=top align=left rowspan=$rows
  +  font color=#00 size=-1 
face=arial,helvetica,sanserif$text/font
  +/td
  +#end
  +
  +
  +#*
   Macro to format a section banner
   *#
   #macro( section $anchor $name )
  @@ -215,19 +225,18 @@
   #*
   Process top level attributes
   *#
  -#match( structure/attributes )
  +#match( structure/attribute-groups )
   !-- Start Attributes --
   table border=0 cellspacing=0 cellpadding=2 width=100%
 trtdnbsp;/td/tr
  -
  -#*  *##section(attributes Parameters)
  -
  +#*  *##section(attributes Parameters) 
 trtdblockquote
   table
 tr
   #*  *##th(Attribute)
   #*  *##th(Description)
   #*  *##th(Type)
  +#*  *##th(Requirement)
 /tr
   #**#$context.applyTemplates(*)
   /table
  @@ -238,14 +247,29 @@
   #end
   
   #*
  +Process attribute group
  +*#
  +#match( structure/attribute-groups/attribute-group )
  +!-- Attribute Group --
  +#set ($attributeGroup = $attrib.description)
  +#set ($numGroups = $node.selectNodes(attribute).size())
  +#set ($inGroup = true)
  +#**#$context.applyTemplates(*)
  +#end
  +
  +#*
   Process a single attribute
   *#
  -#match( attribute )
  +#match( structure/attribute-groups/attribute-group/attribute )
   !-- Attribute --
   tr
   #**##td($attrib.name)
   #**##td($node.description)
   #**##td($attrib.briefType)
  +#if ($inGroup)
  +#**##tdmr($attributeGroup $numGroups)
  +#set ($inGroup = false)
  +#end
   /tr
   #end
   
  @@ -383,6 +407,15 @@
   $context.applyTemplates(*)
 /td/tr
   /table
  +#end
  +
  +#*
  + *  process a the requirement groups
  + *#
  +#match( requirement-group )
  +#if ($regGroup == $attrib.name)
  +#*  *#$attrib.description
  +#end
   #end
   
   #match( source )
  
  
  


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

2003-04-25 Thread jesse
jesse   2003/04/25 07:11:16

  Modified:src/main/org/apache/tools/ant/taskdefs Property.java
  Log:
  Add some new @tags for xdocs
  
  Revision  ChangesPath
  1.61  +38 -23ant/src/main/org/apache/tools/ant/taskdefs/Property.java
  
  Index: Property.java
  ===
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Property.java,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- Property.java 18 Apr 2003 23:40:22 -  1.60
  +++ Property.java 25 Apr 2003 14:11:16 -  1.61
  @@ -99,6 +99,9 @@
* @author a href=mailto:[EMAIL PROTECTED]Sam Ruby/a
* @author a href=mailto:[EMAIL PROTECTED]Glenn McAllister/a
* @since Ant 1.1
  + *
  + * @ant.attribute.group name=name  description=One of these, when 
using the name attribute
  + * @ant.attribute.group name=nonamedescription=One of these, when not 
using the name attribute
*/
   public class Property extends Task {
   
  @@ -134,7 +137,7 @@
   }
   
   /**
  - * sets the name of the property to set.
  + * The name of the property to set.
* @param name property name
*/
   public void setName(String name) {
  @@ -152,14 +155,18 @@
* current platforms conventions). Otherwise it is taken as a path
* relative to the project's basedir and expanded.
* @param location path to set
  + *
  + * @ant.attribute group=name
*/
   public void setLocation(File location) {
   setValue(location.getAbsolutePath());
   }
   
   /**
  - * Sets the value of the property.
  + * The value of the property.
* @param value value to assign
  + *
  + * @ant.attribute group=name
*/
   public void setValue(String value) {
   this.value = value;
  @@ -170,8 +177,10 @@
   }
   
   /**
  - * the filename of a property file to load.
  - [EMAIL PROTECTED] file filename
  + * Filename of a property file to load.
  + * @param file filename
  + *
  + * @ant.attribute group=noname
*/
   public void setFile(File file) {
   this.file = file;
  @@ -208,6 +217,8 @@
* Only yields reasonable results for references
* PATH like structures or properties.
* @param ref reference
  + *
  + * @ant.attribute group=name
*/
   public void setRefid(Reference ref) {
   this.ref = ref;
  @@ -218,8 +229,10 @@
   }
   
   /**
  - * the resource name of a property file to load
  + * The resource name of a property file to load
* @param resource resource on classpath
  + *
  + * @ant.attribute group=noname
*/
   public void setResource(String resource) {
   this.resource = resource;
  @@ -230,23 +243,25 @@
   }
   
   /**
  -* the prefix to use when retrieving environment variables.
  -* Thus if you specify environment=quot;myenvquot;
  -* you will be able to access OS-specific
  -* environment variables via property names quot;myenv.PATHquot; or
  -* quot;myenv.TERMquot;.
  -* p
  -* Note that if you supply a property name with a final
  -* quot;.quot; it will not be doubled. ie 
environment=quot;myenv.quot; will still
  -* allow access of environment variables through quot;myenv.PATHquot; 
and
  -* quot;myenv.TERMquot;. This functionality is currently only 
implemented
  -* on select platforms. Feel free to send patches to increase the number 
of platforms
  -* this functionality is supported on ;).br
  -* Note also that properties are case sensitive, even if the
  -* environment variables on your operating system are not, e.g. it
  -* will be ${env.Path} not ${env.PATH} on Windows 2000.
  -* @param env prefix
  -*/
  + * Prefix to use when retrieving environment variables.
  + * Thus if you specify environment=quot;myenvquot;
  + * you will be able to access OS-specific
  + * environment variables via property names quot;myenv.PATHquot; or
  + * quot;myenv.TERMquot;.
  + * p
  + * Note that if you supply a property name with a final
  + * quot;.quot; it will not be doubled. ie 
environment=quot;myenv.quot; will still
  + * allow access of environment variables through quot;myenv.PATHquot; 
and
  + * quot;myenv.TERMquot;. This functionality is currently only 
implemented
  + * on select platforms. Feel free to send patches to increase the number 
of platforms
  + * this functionality is supported on ;).br
  + * Note also that properties are case sensitive, even if the
  + * environment variables on your operating system are not, e.g. it
  + * will be ${env.Path} not ${env.PATH} on Windows 2000.
  + * @param env prefix
  + *
  + * @ant.attribute group=noname
  + */
   public void setEnvironment(String env) {

cvs commit: ant build.xml

2003-04-25 Thread jesse
jesse   2003/04/25 07:16:47

  Modified:.build.xml
  Log:
  Add 2 new @tags that should be ignored by javadoc
  
  Revision  ChangesPath
  1.371 +2 -0  ant/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/ant/build.xml,v
  retrieving revision 1.370
  retrieving revision 1.371
  diff -u -r1.370 -r1.371
  --- build.xml 23 Apr 2003 15:57:42 -  1.370
  +++ build.xml 25 Apr 2003 14:16:47 -  1.371
  @@ -1353,6 +1353,8 @@
 tag name=todo description=To do: scope=all/
 tag name=ant.task enabled=false description=Task: 
scope=types/
 tag name=ant.datatype enabled=false description=Data type: 
scope=types/
  +  tag name=ant.attribute enabled=false description=Attribute: 
scope=types/
  +  tag name=ant.element enabled=false description=Nested element: 
scope=types/
 group title=Apache Ant Core packages=org.apache.tools.ant*/
 group title=Core Tasks packages=org.apache.tools.ant.taskdefs*/
 group title=Core Types packages=org.apache.tools.ant.types*/
  
  
  


Re: polymorphism (was Re: antlib)

2003-04-25 Thread peter reilly
On Friday 25 April 2003 14:34, Stefan Bodewig wrote:
 On Fri, 25 Apr 2003, Jose Alberto Fernandez

 In simple non-ambiguos cases like the above this could be without the
 trick.

 copy ...
   classfileset ...
 /copy

 condition
   true/
 /condition

This is exactly what dynamicElement is for. For example:
as ConditionBase has dynamicElement(Condition c) and 
as IfTask extends ConditionBase, and OutOfDate implements Condition,
the following works with my build:

if
  outofdate
targetfiles path=build.xml/
sourcefiles path=build.xml/
  /outofdate
  else
echo message=build.xml is not outofdate/
  /else
/if

Peter.



cvs commit: ant build.xml

2003-04-25 Thread jesse
jesse   2003/04/25 07:21:35

  Modified:.build.xml
  Log:
  1 more @tag to ignore
  
  Revision  ChangesPath
  1.372 +1 -0  ant/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/ant/build.xml,v
  retrieving revision 1.371
  retrieving revision 1.372
  diff -u -r1.371 -r1.372
  --- build.xml 25 Apr 2003 14:16:47 -  1.371
  +++ build.xml 25 Apr 2003 14:21:35 -  1.372
  @@ -1354,6 +1354,7 @@
 tag name=ant.task enabled=false description=Task: 
scope=types/
 tag name=ant.datatype enabled=false description=Data type: 
scope=types/
 tag name=ant.attribute enabled=false description=Attribute: 
scope=types/
  +  tag name=ant.attribute.group enabled=false description=Attribute 
group: scope=types/
 tag name=ant.element enabled=false description=Nested element: 
scope=types/
 group title=Apache Ant Core packages=org.apache.tools.ant*/
 group title=Core Tasks packages=org.apache.tools.ant.taskdefs*/
  
  
  


DO NOT REPLY [Bug 19323] - user-defined sequential class requires lower case nested tasks

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19323

user-defined sequential class requires lower case nested tasks





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 14:24 ---
Fails in Ant 1.6, too:

Ant-Home:  c:\seu\ant16.1
Java-Home: c:\seu\jdk14
Buildfile: build.xml

fail:
  [Prattle] hello

BUILD FAILED
C:\temp\build.xml:8: Could not create task or type of type: prattle.

Ant could not find the task or a class this task relies upon.

This is common and has a number of causes; the usual
...

--- Ant diagnostics report ---
Apache Ant version 1.6alpha compiled on April 15 2003

---
 Implementation Version (JDK1.2+ only)
---
core tasks : 1.5.9
optional tasks : 1.5.9
...
---
 System properties
---
java.vm.version : 1.4.0_01-b03
os.name : Windows 2000
...


Sorry, but I can´t find any hint in the sources ...


[PATCH] docs/manual/install.html: src-distribution directory stru cture documented

2003-04-25 Thread Jan . Materne
Title: [PATCH] docs/manual/install.html: src-distribution directory structure documented





I have documented the directory structure of the source distribution.
Maybe it´s worth to be added?


Attached the diff-file and the whole html.



Jan Matèrne


 install.html.diff  install.html 





Re: cvs commit: ant/proposal/xdocs/dvsl task.dvsl

2003-04-25 Thread Erik Hatcher
Got patches to the antdoclet stuff you'd like me to commit on the  
XDoclet codebase?

Nice work (having not run it yet myself, just browsing the commit  
messages)!

Erik
On Friday, April 25, 2003, at 10:09  AM, [EMAIL PROTECTED] wrote:
jesse   2003/04/25 07:09:11
  Modified:proposal/xdocs/lib xdoclet-apache-module-1.2b3-dev.jar
   proposal/xdocs/dvsl task.dvsl
  Log:
  Generate attribute requirements
  Revision  ChangesPath
  1.2   +103 -92
ant/proposal/xdocs/lib/xdoclet-apache-module-1.2b3-dev.jar

Binary file
  1.5   +40 -7 ant/proposal/xdocs/dvsl/task.dvsl
  Index: task.dvsl
  ===
  RCS file: /home/cvs/ant/proposal/xdocs/dvsl/task.dvsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- task.dvsl	14 Feb 2003 20:37:23 -	1.4
  +++ task.dvsl	25 Apr 2003 14:09:11 -	1.5
  @@ -54,7 +54,7 @@
 #set( $project =  
$node.selectSingleNode(document('xdocs/stylesheets/project.xml')/ 
project ) )
 #if ($node.name().equals(task))
   #set( $title = #capitalize($attrib.name) Task )
  -#set( $summary = $node.short-description )
  +#set( $summary = $node.short-description )
 #end

   html
  @@ -105,7 +105,7 @@
 !-- Applying task/long-description --
   #**#$context.applyTemplates(long-description)
   #*  *##end
  -#* *#$context.applyTemplates(structure/attributes)
  +#* *#$context.applyTemplates(structure/attribute-groups)
   #* *#$context.applyTemplates(structure/elements)
   #* *#$context.applyTemplates(external/section)
   #**##end
  @@ -154,6 +154,16 @@
   #end
   #*
  +Macro to format a table body cell that spans multiple rows
  +*#
  +#macro( tdmr $text $rows  )
  +td bgcolor=$table-td-bg valign=top align=left  
rowspan=$rows
  +  font color=#00 size=-1  
face=arial,helvetica,sanserif$text/font
  +/td
  +#end
  +
  +
  +#*
   Macro to format a section banner
   *#
   #macro( section $anchor $name )
  @@ -215,19 +225,18 @@
   #*
   Process top level attributes
   *#
  -#match( structure/attributes )
  +#match( structure/attribute-groups )
   !-- Start Attributes --
   table border=0 cellspacing=0 cellpadding=2 width=100%
 trtdnbsp;/td/tr
  -
  -#*  *##section(attributes Parameters)
  -
  +#*  *##section(attributes Parameters)
 trtdblockquote
   table
 tr
   #*  *##th(Attribute)
   #*  *##th(Description)
   #*  *##th(Type)
  +#*  *##th(Requirement)
 /tr
   #**#$context.applyTemplates(*)
   /table
  @@ -238,14 +247,29 @@
   #end

   #*
  +Process attribute group
  +*#
  +#match( structure/attribute-groups/attribute-group )
  +!-- Attribute Group --
  +#set ($attributeGroup = $attrib.description)
  +#set ($numGroups = $node.selectNodes(attribute).size())
  +#set ($inGroup = true)
  +#**#$context.applyTemplates(*)
  +#end
  +
  +#*
   Process a single attribute
   *#
  -#match( attribute )
  +#match( structure/attribute-groups/attribute-group/attribute )
   !-- Attribute --
   tr
   #**##td($attrib.name)
   #**##td($node.description)
   #**##td($attrib.briefType)
  +#if ($inGroup)
  +#**##tdmr($attributeGroup $numGroups)
  +#set ($inGroup = false)
  +#end
   /tr
   #end
  @@ -383,6 +407,15 @@
   $context.applyTemplates(*)
 /td/tr
   /table
  +#end
  +
  +#*
  + *  process a the requirement groups
  + *#
  +#match( requirement-group )
  +#if ($regGroup == $attrib.name)
  +#*  *#$attrib.description
  +#end
   #end
   #match( source )

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




Bug 13655: proper retrncode for ant.bat

2003-04-25 Thread Simon Law
Hello,

I sent a patch in to fix this bug about two months ago and have
yet to hear any response.  Is there something I did wrong?  How can I
get this checked in?

Simon

N.B.  Please CC me on replies.


Re: cvs commit: ant/proposal/xdocs/dvsl task.dvsl

2003-04-25 Thread Stefan Bodewig
On Fri, 25 Apr 2003, Erik Hatcher [EMAIL PROTECTED]
wrote:

 stuff you'd like me to commit on the XDoclet codebase?

OK, my snippage isn't fair, I know 8-)

How about Jira Issue XJD-21, Gump would really benefit from it 8-)

Stefan


Re: cvs commit: ant/proposal/xdocs/dvsl task.dvsl

2003-04-25 Thread Jesse Stockall
On Fri, 2003-04-25 at 10:29, Erik Hatcher wrote:
 Got patches to the antdoclet stuff you'd like me to commit on the  
 XDoclet codebase?

Yes.

I've checked in a binary in the proposal tree, but Gump wont use it, so
I need to get them into XDoclet's CVS tree.

How much work wuld be involved in moving the antdoclet module to Ant's
CVS tree?

 Nice work (having not run it yet myself, just browsing the commit  
 messages)!
 

Have a look here for a sample
http://www.magma.ca/~stockall/property.html


-- 
Jesse Stockall [EMAIL PROTECTED]



RE: antlib

2003-04-25 Thread Jose Alberto Fernandez
 From: Costin Manolache [mailto:[EMAIL PROTECTED]
 
 
 Fine - but do this in core, not in antlib.
 

But this are changes to core. Granted they are comming as part of the bundle
but they are not in antlib.

What it is in antlib is a way to declare these roles and I am 100% with you
that we should be able to declare them with a task of their owm that can be
used in the buildfile directly. Fine with me.

 Antlib needs to load whatever ant supports. Not to define new things. 
 
 I don't have any problem with polymorphism ( or roles ). 
 Nobody said they
 shouldn't be added. My only comment is that the implementation of
 polymorphism shouldn't be tied with antlib, and I would 
 preffer a solution
 that would simplify the core - i.e. interfaces or something 
 like that, that 
 would allow us to treat all components as components at the low level.
 

Well this is exactly what I am trying to achieve, and I think the it does.
Roles ARE interfaces not strings. The names of the roles are just
syntactic sugar to simplify declarations.

 An unified way to treat all the sub-types should be defined 
 and implemented 
 as part of the core. 
 

100% with you.

 We can wait with antlib ( the part that loads 
 whatever-things-ant-supports)
 until polymorphism is defined, but I would preffer having 
 antlib included
 in ant sooner.
 

Sounds good.

Jose Alberto


DO NOT REPLY [Bug 19284] - Jar files created by Ant 1.5.3 are not viewable by WinZip

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19284

Jar files created by Ant 1.5.3 are not viewable by WinZip





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 15:00 ---
This is the original author of the question.

I downloaded the source and built Ant-1.5.3.1 this morning.  I am able to view 
the Jars using Winzip.

Thanks to everyone who responded to my question.  It's very nice to have have a 
group such as this to bounce ideas off.


RE: polymorphism (was Re: antlib)

2003-04-25 Thread Wannheden, Knut
This discussion starts to get interesting.  Just a few thoughts...

 
  because it feels more natural?
 
 
  classpath ant:type=PathThatIgnoresBuildSysclassPathToTrickGump
 
  or
 
  PathThatIgnoresBuildSysclassPathToTrickGump 
 ant:element=classpath
 
 I see. This is an interesting idea, whether is more natural 
 is debatable ;-).
 

It'd be natural to people who've worked with XML Schema Instance documents,
where you'd write something like:

   classpath xsi:type=my:somekindofpath/

Maybe the XML Namespace like notation of my:somekindofpath could mean that
somekindofpath is a task/type defined in antlib my.  But also something
like

   my:somekindofpath/

by itself (not nested in another task) could be made possible.  In both
cases Ant would have to use the somekindofpath task in the antlib
registered as my (or actually the URI which my is a prefix for).

 A thing to note is that ant: assumes that an xml namespace 
 is set-up,
 ... xmlns:ant=...
 

The way described namespaces could be used to denote antlibs.

But again, I guess these ideas are both about antlib and roles (and even
about the use of namespaces).

 Another similar idea could be:
 classpath implementationClass=acme.ant.TrickGump ... 
  are alternatives (without any claim for completeness) with quite
  different consequences when it comes to the implementation side of
  things.
 
 One of the consequences is that Javac's public method 
 createClasspath()
 may need to be modified.
 

Yes, the addXXX() methods are probably way easier to deal with.

--
knut


DO NOT REPLY [Bug 14849] - JProbe tasks: executables cannot be found with JProbe 4.0.1

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14849

JProbe tasks: executables cannot be found with JProbe 4.0.1

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |



--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 16:21 ---
Hi Stefan,
I built the ant_20030425102107.tar.gz nightly snapshot and tested all three 
tasks with JProbe 4.0.2.
jpcoverage/ and jpcovreport/ seem OK.

However, there is still a small bug in CovMerge.java :

in createParamFile(), you put the tofile file into the temporary paramfile:

// last file is the output snapshot
pw.println(getProject().resolveFile(tofile.getPath()));

The output file has to be the last argument on the command line (it's not 
optional) and cannot be put into the paramfile. Otherwise Jprobe will complain:

[jpcovmerge] Missing arguments


I paste the commandline help:

C:\Program Files\JProbe Suite 4.0.2\binjpcovmerge.exe
jpcovmerge [-v] [-paramfile=file] snapshot file1 file2 ... output

Merge multiple snapshots:

-paramfile=file A file containing a list of files to be merged
These files are inserted in the list at the point
where the -paramfile option is located

-v  Verbose mode for displaying diagnostic information

Best regards,
Jan


DO NOT REPLY [Bug 13222] - [PATCH] ClearCase mklabel and mklbtype tasks

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13222

[PATCH] ClearCase mklabel and mklbtype tasks

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE



--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 16:27 ---


*** This bug has been marked as a duplicate of 17408 ***


Re: polymorphism (was Re: antlib)

2003-04-25 Thread peter reilly
On Friday 25 April 2003 16:45, Wannheden, Knut wrote:

 It'd be natural to people who've worked with XML Schema Instance documents,
 where you'd write something like:

classpath xsi:type=my:somekindofpath/

 Maybe the XML Namespace like notation of my:somekindofpath could mean
 that somekindofpath is a task/type defined in antlib my.  But also
 something like

my:somekindofpath/

 by itself (not nested in another task) could be made possible.  In both
 cases Ant would have to use the somekindofpath task in the antlib
 registered as my (or actually the URI which my is a prefix for).

  A thing to note is that ant: assumes that an xml namespace
  is set-up,
  ... xmlns:ant=...

 The way described namespaces could be used to denote antlibs.

 But again, I guess these ideas are both about antlib and roles (and even
 about the use of namespaces).
Yes four different items.
I have been thinking about using namespaces with antlibs like this:

project
   .. init properies .../
   use xmlns:antcontrib=antlib:${ant-contrib.jar}
xmlns:antelope=antlib:${antelope.jar}

target name=test
   antelope:if
 
   /antelope:if
   antcontrib:foreach ...
/target
/use

/project


  Another similar idea could be:
  classpath implementationClass=acme.ant.TrickGump ...
 
   are alternatives (without any claim for completeness) with quite
   different consequences when it comes to the implementation side of
   things.
 
  One of the consequences is that Javac's public method
  createClasspath()
  may need to be modified.

 Yes, the addXXX() methods are probably way easier to deal with.

Yes, Introspection should allow constructors having Project as a parameter.



DO NOT REPLY [Bug 18581] - ClearCase ChangeLog Task

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18581

ClearCase ChangeLog Task





--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 16:58 ---
Can somebody who has already contributed to the other ClearCase tasks review
this and see:
* if there is a use-case;
* if it works as stated;
* if you are willing to support this at a later stage.


RE: antlib

2003-04-25 Thread Costin Manolache
Jose Alberto Fernandez wrote:

 From: Costin Manolache [mailto:[EMAIL PROTECTED]
 
 
 Fine - but do this in core, not in antlib.
 
 
 But this are changes to core. Granted they are comming as part of the
 bundle but they are not in antlib.

All I ask is to do the changes in the core separately.

Costin



Re: antlib

2003-04-25 Thread Erik Hatcher
On Friday, April 25, 2003, at 01:25  PM, Costin Manolache wrote:
All I ask is to do the changes in the core separately.
+1
I'm in agreement with you on the order of events, Costin, 100%.  
antlib with tasks/datatypes is fair game to migrate into HEAD, then 
core changes to make the other components work as pluggable pieces, 
then refactoring antlib to support it.

I also agree with the use of interfaces (not just marker ones, per se) 
for distinguishing what components are used for.  Again, its cool that 
Ant supports making lightweight tasks, but I think it should be more 
rigid in the future and mandating components implement a particular 
interface.  Most of us at least extend Task when writing tasks, I 
suspect, too.  :)

Erik


Re: cvs commit: ant/proposal/xdocs/dvsl task.dvsl

2003-04-25 Thread Erik Hatcher
On Friday, April 25, 2003, at 10:41  AM, Jesse Stockall wrote:
On Fri, 2003-04-25 at 10:29, Erik Hatcher wrote:
Got patches to the antdoclet stuff you'd like me to commit on the
XDoclet codebase?
Yes.
I've committed the patches to XDoclet's CVS that you sent to me.  Let 
me know if there are any issues or I missed anything.

I will work on migrating the antdoclet stuff to Ant's CVS next, and 
removing it from XDoclet's codebase.

Erik


Re: antlib

2003-04-25 Thread peter reilly
On Friday 25 April 2003 18:32, Erik Hatcher wrote:
 On Friday, April 25, 2003, at 01:25  PM, Costin Manolache wrote:
  All I ask is to do the changes in the core separately.

 +1

+1
 I'm in agreement with you on the order of events, Costin, 100%.
 antlib with tasks/datatypes is fair game to migrate into HEAD, then

with xml or with properties?

 core changes to make the other components work as pluggable pieces,
 then refactoring antlib to support it.

+1
 I also agree with the use of interfaces (not just marker ones, per se)
 for distinguishing what components are used for.  Again, its cool that
 Ant supports making lightweight tasks, but I think it should be more
 rigid in the future and mandating components implement a particular
 interface.  Most of us at least extend Task when writing tasks, I
 suspect, too.  :)
+1

Peter


Re: antlib

2003-04-25 Thread Erik Hatcher
On Friday, April 25, 2003, at 01:39  PM, peter reilly wrote:
I'm in agreement with you on the order of events, Costin, 100%.
antlib with tasks/datatypes is fair game to migrate into HEAD, then
with xml or with properties?
I don't care.  :))
So take that as a +0 on either - for the time being.  I think XML is 
the right choice, personally, but its of little concern to me.

Erik


Re: Antlib descriptor

2003-04-25 Thread Erik Hatcher
On Friday, April 25, 2003, at 01:39  PM, Costin Manolache wrote:
New thread.
+1 :)
However I'm more convinced than ever that the XML should use a subset 
of
ant, and reuse the same processing infrastructure. I.e. not another 
parser
or rules.
I'll defer commenting on this until I ponder it more and see what 
others say about it.

Erik and few others seem to believe that the XML vocabulary doesn't 
matter,
and anything can be generated by xdoclet and processed. If this is the 
case
- then using ant syntax in the antlib descriptor would be as good as
another syntax.
Well, again, don't stretch my thoughts on this too far.  I meant it 
didn't matter *now*, in terms of getting it migrated to HEAD and having 
it in a place handy for all of us to work with and evolve it.  It does 
matter though.

- maybe we want antlibs to have some initialization. This can be 
easily done
by allowing more ant elements in the descriptor
- maybe we'll want to allow antlib to declare targets - that could be 
used
in depends or antcall ( target name=foo
depends=myAntLib:antlibTarget/ ).
Wow ok, still pondering
Again - those are just examples, there are a lot of things that could 
be
done easily. Even if you don't need any of this - it would be nice to
not have to repeat the long and painfull evolution of the main xml
processor.
It'll take some thinking and convincing for me to see why antlib needs 
descriptors that get processed like Ant build files.  Something as 
simple as Digester would seem to do the trick (bootstrap craziness?!)  
but as I said, I want to see what others think and let myself consider 
your idea a bit more.

Erik


Re: Antlib descriptor

2003-04-25 Thread Costin Manolache
Erik Hatcher wrote:

 - maybe we want antlibs to have some initialization. This can be
 easily done
 by allowing more ant elements in the descriptor
 - maybe we'll want to allow antlib to declare targets - that could be
 used
 in depends or antcall ( target name=foo
 depends=myAntLib:antlibTarget/ ).
 
 Wow ok, still pondering

Please - don't take this as we should do this. It may be the worst idea
ever.

What I'm trying to say is that a lot of things we might want later will
be simpler, and we won't have to bloat the antlib SAX processor to implement 
such features. 

I'm sure there are some valid uses cases and extensions that we may add - 
even if those 2 use cases are completely wrong. It is very unlikely antlib
will never change.



 Again - those are just examples, there are a lot of things that could
 be
 done easily. Even if you don't need any of this - it would be nice to
 not have to repeat the long and painfull evolution of the main xml
 processor.
 
 It'll take some thinking and convincing for me to see why antlib needs
 descriptors that get processed like Ant build files.  Something as
 simple as Digester would seem to do the trick (bootstrap craziness?!)
 but as I said, I want to see what others think and let myself consider
 your idea a bit more.

- consistency. I think it would be a bad idea to use Digester in antlib and 
another mechanism in ProjectHelper. Plus digester would add dependencies on
beanutils, collections - we already have introspection code. I can accept
replacing ProjectHelper with Digester - but I would like we use the same
mechanism.

- same kind of extensibility as ant. It may not be perfect - but at least
will be consistent and most people understand it.

- We can just use the same ( or almost ) code for taskdef, roles and
whatever else we want to allow to be defined in antlib.

- very easy to implement ( minor changes in ProjectHelper to parse antlib
at top and restrict the childs ). Actually, antlib could be a task ( so
antlib elements could be used in a build file - another stupid idea ), and
we can just change PH to start with a different root.

- easier to maintain. I know we're all SAX experts, but we've seen a lot of
tricky aspects in ProjectHelper long evolution. This way we maintain a
single parser - and a single behavior.

- all the wonderful features that may be easily enabled ( if they prove to
not be very bad ideas ).

I can add more to the list.

Costin








RE: Antlib descriptor

2003-04-25 Thread Jose Alberto Fernandez
 From: Erik Hatcher [mailto:[EMAIL PROTECTED]
 
  - maybe we want antlibs to have some initialization. This can be 
  easily done
  by allowing more ant elements in the descriptor
  - maybe we'll want to allow antlib to declare targets - 
 that could be 
  used
  in depends or antcall ( target name=foo
  depends=myAntLib:antlibTarget/ ).
 
 Wow ok, still pondering
 
  Again - those are just examples, there are a lot of things 
 that could 
  be
  done easily. Even if you don't need any of this - it would 
 be nice to
  not have to repeat the long and painfull evolution of the main xml
  processor.
 
 It'll take some thinking and convincing for me to see why 
 antlib needs 
 descriptors that get processed like Ant build files.  Something as 
 simple as Digester would seem to do the trick (bootstrap 
 craziness?!)  
 but as I said, I want to see what others think and let myself 
 consider 
 your idea a bit more.
 

I am not too keen on having alive ANTS roaming in my classpath.

Jar files are passive things, in general having too many in your
classpath does not mean you will execute more stuff. I think that is nice
and autoinitializing jars (antlibs) sound way too scary at this point.

Jose Alberto


DO NOT REPLY [Bug 17040] - JUnit task report does not use the one defined by setName method

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17040

JUnit task report does not use the one defined by setName method

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |



--- Additional Comments From [EMAIL PROTECTED]  2003-04-25 19:01 ---
Stefan,

The failed test cases are being reported twice.  To avoid this, we need to 
add failedTests.put(test, test); in the addFailure section as below.

public void addFailure(Test test, AssertionFailedError t) {
addFailure(test, (Throwable) t);
failedTests.put(test, test); 
}

Sorry that this took long, as I haven't found a 1.6 build that worked for me.  
I simply took the source, and re-compiled it with the 1.5.1 environment to 
verify the bug.


RE: Antlib descriptor

2003-04-25 Thread Costin Manolache
Jose Alberto Fernandez wrote:

 I am not too keen on having alive ANTS roaming in my classpath.
 
 Jar files are passive things, in general having too many in your
 classpath does not mean you will execute more stuff. I think that is nice
 and autoinitializing jars (antlibs) sound way too scary at this point.

AFAIK the proposal doesn't implement autodiscovery - and we don't know if we
will get getResources(META-INF/antlib.xml ) or require explicit antlib


In any case - it is easy to give user explicit control.

In many systems libraries have a initialization mechanism. We may only allow
conditions for example - but I don't see anything fundamentally wrong with
this, that would guarantee we'll never want to do this. 

Same for allowing libraries to define fragments and targets - maybe today
most people thing it is a crazy idea, but one year from now we may find it
usefull. Of course, we could change the parser then - but we'll accumulate
a lot of behaviors that would make this difficult. 


Costin



RE: polymorphism (was Re: antlib)

2003-04-25 Thread Wannheden, Knut
 I have been thinking about using namespaces with antlibs like this:
 
 project
.. init properies .../
use xmlns:antcontrib=antlib:${ant-contrib.jar}
 xmlns:antelope=antlib:${antelope.jar}
 
   target name=test
antelope:if
  
/antelope:if
antcontrib:foreach ...
 /target
 /use
 
 /project
 

That is almost the same thing as I had in mind.  Although I've been thinking
about some slight variations to this, where no top-level element like use/
would be necessary.  The Jelly style would be:

project xmlns:antcontrib=antlib:${ant-contrib.jar}
 xmlns:antelope=antlib:${antelope.jar}
   .. init properies .../

   target name=test
antelope:if
  
/antelope:if
antcontrib:foreach ...
   /target

/project

Here target/ is still toplevel and the antlibs are loaded on project
initialization (or on demand).  But I'm not sure I like this automagical
loading.  Something inbetween would be this:

project
   .. init properies .../
   use resource=${ant-contrib.jar} ns=antlib:ant-contrib/
   use resource=${antelope.jar} ns=antlib:antelope/

   target name=test xmlns:antcontrib=antlib:ant-contrib
   xmlns:antelope=antlib:antelope
  antelope:if
  
  /antelope:if
  antcontrib:foreach ...
   /target

/project

which is slightly more verbose, but cleaner IMO.  Especially since the
antlib loading is explicit.

--
knut


cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/sos SOS.java SOSCheckin.java SOSCheckout.java SOSGet.java SOSLabel.java

2003-04-25 Thread jesse
jesse   2003/04/25 14:10:02

  Modified:src/main/org/apache/tools/ant/taskdefs/optional/sos SOS.java
SOSCheckin.java SOSCheckout.java SOSGet.java
SOSLabel.java
  Log:
  Fix the javadoc comments and add @ant.attribute tags for xdocs documentation 
generation
  
  Revision  ChangesPath
  1.14  +23 -15
ant/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java
  
  Index: SOS.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOS.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- SOS.java  10 Feb 2003 14:14:25 -  1.13
  +++ SOS.java  25 Apr 2003 21:10:02 -  1.14
  @@ -94,8 +94,9 @@
   protected Commandline commandLine;
   
   /**
  - * Flag to disable the cache when set;
  - * optional needed if SOSHOME is set as an environment variable., 
default false
  + * Flag to disable the cache when set.
  + * Required if SOSHOME is set as an environment variable.
  + * Defaults to false.
*
* @param  nocache  True to disable caching.
*/
  @@ -104,7 +105,7 @@
   }
   
   /**
  - * Flag that disables compression when set; optional, default false
  + * Flag to disable compression when set. Defaults to false.
*
* @param  nocompress  True to disable compression.
*/
  @@ -113,8 +114,8 @@
   }
   
   /**
  - * Set the directory where soscmd(.exe) is located;
  - * optional, soscmd must be on the path if omitted.
  + * The directory where soscmd(.exe) is located.
  + * soscmd must be on the path if omitted.
*
* @param  dir  The new sosCmd value
*/
  @@ -123,16 +124,18 @@
   }
   
   /**
  - * Set the SourceSafe username; required.
  + * The SourceSafe username.
*
* @param  username  The new username value
  + *
  + * @ant.attribute group=required
*/
   public final void setUsername(String username) {
   sosUsername = username;
   }
   
   /**
  - * Set the SourceSafe password; optional.
  + * The SourceSafe password.
*
* @param  password  The new password value
*/
  @@ -141,9 +144,11 @@
   }
   
   /**
  - * Set the SourceSafe project path; required.
  + * The SourceSafe project path.
*
* @param  projectpath  The new projectpath value
  + *
  + * @ant.attribute group=required
*/
   public final void setProjectPath(String projectpath) {
   if (projectpath.startsWith(SOSCmd.PROJECT_PREFIX)) {
  @@ -154,17 +159,18 @@
   }
   
   /**
  - * Set the path to the location of the ss.ini file;
  - * required.
  + * The path to the location of the ss.ini file.
*
* @param  vssServerPath  The new vssServerPath value
  + *
  + * @ant.attribute group=required
*/
   public final void setVssServerPath(String vssServerPath) {
   this.vssServerPath = vssServerPath;
   }
   
   /**
  - * The path to the SourceOffSite home directory
  + * Path to the SourceOffSite home directory.
*
* @param  sosHome  The new sosHome value
*/
  @@ -173,17 +179,19 @@
   }
   
   /**
  - * Sets the address and port of SourceOffSite Server,
  - * for example 192.168.0.1:.; required.
  + * The address and port of SourceOffSite Server,
  + * for example 192.168.0.1:.
*
* @param  sosServerPath  The new sosServerPath value
  + *
  + * @ant.attribute group=required
*/
   public final void setSosServerPath(String sosServerPath) {
   this.sosServerPath = sosServerPath;
   }
   
   /**
  - * Override the working directory and get to the specified path; 
optional.
  + * Override the working directory and get to the specified path.
*
* @param  path  The new localPath value
*/
  @@ -192,7 +200,7 @@
   }
   
   /**
  - * Enable verbose output; optional, default false
  + * Enable verbose output. Defaults to false.
*
* @param  verbose  True for verbose output.
*/
  
  
  
  1.11  +7 -87 
ant/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOSCheckin.java
  
  Index: SOSCheckin.java
  ===
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/sos/SOSCheckin.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SOSCheckin.java   18 Apr 2003 23:40:27 -  1.10
  +++ SOSCheckin.java   25 Apr 2003 21:10:02 -  1.11
  @@ -58,95 +58,16 @@
   /**
* Commits and unlocks files in Visual SourceSafe via a SourceOffSite server.
*
  - * p
  - * The following 

RE: polymorphism (was Re: antlib)

2003-04-25 Thread Costin Manolache
Wannheden, Knut wrote:

 project
.. init properies .../
use xmlns:antcontrib=antlib:${ant-contrib.jar}
 xmlns:antelope=antlib:${antelope.jar}
 
 target name=test
antelope:if
  
/antelope:if
antcontrib:foreach ...
 /target
 /use
 
 /project


Or even:
  antelope:if xmlns:antelope=antlib:${ant-contrib.jar} /


In any case - if ComponentHelper is used, it'll get
antlib:/path/to/ant-contrib.jar as first param and if as the second param
- and any helper in the chain can create the task.

I don't like passing the .jar very much - but that's probably the only 
way if we want to use META-INF/antlib.xml.

The alternative would be to use /net/sf/antcontrib/antlib.xml (i.e.
descriptor in a package ), and use antlib:net.sf.antcontrib as namespace.
Then getResource() can be used, and we don't have to worry about 
multiple jars providing META-INF/antlib.xml - which forces us to use the 
.jar file directly.


Costin



 
 
 That is almost the same thing as I had in mind.  Although I've been
 thinking about some slight variations to this, where no top-level element
 like use/
 would be necessary.  The Jelly style would be:
 
 project xmlns:antcontrib=antlib:${ant-contrib.jar}
  xmlns:antelope=antlib:${antelope.jar}
.. init properies .../
 
target name=test
 antelope:if
   
 /antelope:if
 antcontrib:foreach ...
/target
 
 /project
 
 Here target/ is still toplevel and the antlibs are loaded on project
 initialization (or on demand).  But I'm not sure I like this automagical
 loading.  Something inbetween would be this:
 
 project
.. init properies .../
use resource=${ant-contrib.jar} ns=antlib:ant-contrib/
use resource=${antelope.jar} ns=antlib:antelope/
 
target name=test xmlns:antcontrib=antlib:ant-contrib
xmlns:antelope=antlib:antelope
   antelope:if
   
   /antelope:if
   antcontrib:foreach ...
/target
 
 /project
 
 which is slightly more verbose, but cleaner IMO.  Especially since the
 antlib loading is explicit.
 
 --
 knut




RE: polymorphism (was Re: antlib)

2003-04-25 Thread Dominique Devienne
No need for parsing! Don't know about ClassLoader#getResources??? --DD

 -Original Message-
 From: Costin Manolache [mailto:[EMAIL PROTECTED]

 I don't like passing the .jar very much - but that's probably the only
 way if we want to use META-INF/antlib.xml.
 
 The alternative would be to use /net/sf/antcontrib/antlib.xml (i.e.
 descriptor in a package ), and use antlib:net.sf.antcontrib as
 namespace.
 Then getResource() can be used, and we don't have to worry about
 multiple jars providing META-INF/antlib.xml - which forces us to use the
 .jar file directly.