Re: Unit tests results with current head

2006-11-03 Thread Steve Cohen

Antoine Levy-Lambert wrote:



We should also move the starteam tasks to an antlib or or find another project wanting to have them so that we sometime reach the situation where an automated process (gump ?) could build a release candidate of ant legally on an ASF computer. 


Regards,

Antoine

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



Heh.  Starteam.  Those were my first contributions to Ant.  It's been about 3 
years since I last used StarTeam.  Did anyone ever come along to take that over? 
 I'm guessing not.



I don't know what's involved in making something into an Antlib, but I might 
have some time to devote to that.




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



Re: echo task documentation error

2006-10-31 Thread Steve Cohen

Dominique Devienne wrote:

 empty. If foo is empty by mistake, how will one troubleshoot this?
and not a blank line.  Undefined properties are echoed as literal 
text, not skipped.


I'm well aware of that ;-) That's why I wrote empty, not not
defined. As in empty string vs null string.

The proper way to output a line separator is by using
echo${line.separator}/echo. That this doesn't work in Maven is a
bug for Maven, not a feature of Ant.

AFAIK, *any* task output is prefixed by the task's name. A line
separator is output in my book ;-) I fail to see why it would be good
to make an exception for echo/ somehow.

Go ahead and fix the doc bug if you want. Strictly speaking this is
in keeping with BC; but this is yet another one of these little quirks
Ant is full of. --DD

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




I stand corrected, thanks.

I checked in the manual change.



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



Re: echo task documentation error

2006-10-30 Thread Steve Cohen

Dominique Devienne wrote:

unless someone comes up with a good reason
why this is a bug rather than a feature.


It's a bug if it doesn't prefix that line with [echo] in non-emacs mode.

echo/ is not much different from echo${foo}/echo with foo being
empty. If foo is empty by mistake, how will one troubleshoot this?
Sure, not a very good example, but still. Any task output should be
prefixed with the task name in non-emacs mode. --DD

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



This is the sort of input I wanted before I went off blindly changing 
documentation to match current behavior.


But your example isn't quite correct either.

echo${foo}/echo (with foo not defined)
will produce
[echo] ${foo}
and not a blank line.  Undefined properties are echoed as literal text, not 
skipped.

So, although the omission of the task tag may be unintended, I don't see it as 
quite as bad a thing as you do.  It is handy to be able to emit a totally blank 
line.  Although, to be perfectly consistent, we should probably define something 
like echo blank=true/ or some such to get that behavior rather than this

accidental thing.

My feeling for now is to simply update the doc to say (on echo.html, for the 
required column of the message attribute):


No. Text may also be included in a character section within this element. If 
neither is included a blank line will be emitted in the output.


leaving the question of the missing task label to be disposed of separately.

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



Re: echo task documentation error

2006-10-29 Thread Steve Cohen

Antoine Levy-Lambert wrote:

Hi Steve,

I think you are a committer too. Feel free to edit the documentation.

Regards,

Antoine

Steve Cohen wrote:

A very minor point:

The ant manual states that the echo task's message attribute is
required unless data is included in a character section within this
element.

This appears to be false.  I have by accident discovered that

echo/

has the effect of inserting a totally blank line into the output.  It
doesn't even show the normal [echo] prefix.  I don't know if this is
intentional, but it is actually quite useful.




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



You're right.  I have been quite inactive, but I can certainly do this.  That 
is, unless someone comes up with a good reason why this is a bug rather than a 
feature.


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



Re: AW: [VOTE] migrate to svn

2005-08-15 Thread Steve Cohen

+1
Matt Benson wrote:
Sorry I kept forgetting... 


Here's my +1.

-Matt

--- [EMAIL PROTECTED] wrote:



I´m just getting the results of the vote. But I´m
not sure which action from the bylaws
to use. An Adoption of New Codebase needs 2/3
majority of committers which we havent (~ 1/3).
Many committers havent voted, but we have consensus.

How to proceed?


Jan


+1
-
Bruce Atherton  pmc
Stephane Bailliez   pmc
Steve Loughran  pmc
Conor MacNeill  pmc 
Jan Materne pmc
Alexey Solofnenko   committer
Kev Jackson user

+0
-
Martijn Kruithofcommitter



PMC: 13 members
-
+1:  5  
+0:  0

-1:  0
no vote: 8

Committer: 13+6=19
-
+1:   6  
+0:   1

-1:   0
no vote: 12




-Ursprüngliche Nachricht-
Von: Antoine Levy-Lambert [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 3. August 2005 09:17

An: Ant Developers List
Betreff: Re: [VOTE] migrate to svn

+1
Antoine


--- Ursprüngliche Nachricht ---
Von: [EMAIL PROTECTED]
An: dev@ant.apache.org
Betreff: [VOTE] migrate to svn
Datum: Tue, 2 Aug 2005 14:40:46 +0200

Ok, I got some +1, but sooner is not a


timeframe you 

could really 


vote on - IMO :-) So I suggest:

   Migrate Ant from CVS to SVN on the weekend


of 13./14. 


August 2005.


That would be the first weekend after the


one-week voting timeframe.


After passing the vote we should add a note on


the homepage.



Let me start with +1

Jan





-


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]






-


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






__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


-
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]



FTP Connection as Referenced Object

2005-06-04 Thread Steve Cohen

Having spent a week thinking over the issues raised in this discussion:

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


I have come to the conclusion that the best place to start would be creating a 
connection as a referenceable object.  I'm trying to find a model to look at so 
that I can better understand the internal workings of this structure.  Looking 
over the classes in the o.a.t.a.types package tree I don't see any of them that 
stands out as being in any way a close analog of the FTP connection in terms of 
functionality or lifecycle.

Does anybody have a suggestion for me here?



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



Ant Logging isVerbose()?

2005-05-30 Thread Steve Cohen

In log4j, commons-logging, etc.  a common pattern is

if (isDebugEnabled()) {
   // some expensive string building to put message together
  log.debug(expensiveMessage);
}

The point is that without the isXXXEnabled(), the expensive string 
building must occur even if the most verbose logger activated is not 
verbose enough to cause the log message to be written.


I don't see such functionality in Ant and yet it seems to me like an 
obviously useful extension.  Has there been discussion before about this 
and a conscious decision not to do it?




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



Re: Ant Logging isVerbose()?

2005-05-30 Thread Steve Cohen

Stefan Bodewig wrote:

On Mon, 30 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:


In log4j, commons-logging, etc.  a common pattern is

if (isDebugEnabled()) {
   // some expensive string building to put message together
  log.debug(expensiveMessage);
}

I don't see such functionality in Ant



Because Ant doesn't have a way to determine isDebugEnabled().
XmlLogger, for example, logs everything and ignores the command line
switches.  So the only thing which would know it is the listeners
themselves.

Since the listener API doesn't expose the verbosity - and changing the
interface is no good idea either - I don't see how we could do it.

Stefan

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



Yeah, that's what I thought.  I found the BuildLogger interface with 
setters and no getters and couldn't see a way around that, without 
changing the interface, which of course, has problems of its own.


Oh well.

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



Re: cvs commit: ant/docs/manual/OptionalTasks ftp.html

2005-05-30 Thread Steve Cohen

Steve Loughran wrote:

[EMAIL PROTECTED] wrote:


scohen  2005/05/29 17:40:21

  Modified:src/testcases/org/apache/tools/ant/taskdefs/optional/net
FTPTest.java
   src/main/org/apache/tools/ant/taskdefs/optional/net 
FTP.java

   src/etc/testcases/taskdefs/optional/net ftp.xml
   docs/manual/OptionalTasks ftp.html
  Added:   src/main/org/apache/tools/ant/util Retryable.java
RetryHandler.java
  Log:
  Based on a patch submitted by Neeme Praks, allow support for a retry 
count on FTP transfers.  Some
  servers are unreliable for unknown - this allows for a retry count 
to be specified to accomodate work on such

  flaky servers.




nice. Are you doing any kind of back-off algorithm to deal with load 
problems? If so, add a bit of jitter to increase the randomness. (I 
remember an embedded system without back-off but not jitter failing to 
deal with the situation of an entire building with 120+ nodes having its 
power toggled...)


-steve

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



I'm not entirely sure what you mean.  By jitter, are you referring to 
varying the time delay?  I asked Neeme Praks why he didn't put in a time 
delay and he said he didn't need one.  In his use case, he simply sets 
it up to run forever, and that works for him.  Eventually it succeeds. 
But I wonder about this.  Sounds like it could be a tight loop that eats 
all processing under the wrong conditions.


And I'm not sure at all what you mean by a back-off algorithm.

So please elaborate.


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



How to write a JUnit test for this new functionality?

2005-05-29 Thread Steve Cohen
Neeme Praks has sent me an interesting patch that allows the ftp task 
to execute with a certain number of retries specified.  That is, it 
won't fail until the specified number of retries has passed.


I want to write some JUnit tests to test this patch.  My idea was to 
simulate failure by subclassing the FTP task class 
(o.a.t.a.taskdefs.optional.net.FTP) within the JUnit test with a version 
that allows setting a numberOfFailuresToSimulate member, and a modified 
transferFiles() method that would, if numberOfFailuresToSimulate  0, 
simply decrement this value by 1 and throw a dummy BuildException, 
otherwise, simply execute the regular transferFiles.  This seems like a 
good way to test Neeme's retry handler.  Then this can be tested with a 
build file that specifies the number of retry times, and the test can 
then illustrate what happens with this buildfile when numbers , , or 
== to the specified number of simulated failures occur.


To wit:

   private static class myRetryableFTP extends FTP {
   private int numberOfFailuresToSimulate;

   int getNumberOfFailuresToSimulate() {
   return numberOfFailuresToSimulate;
   }

   void setNumberOfFailuresToSimulate(int numberOfFailuresToSimulate) {
   this.numberOfFailuresToSimulate = numberOfFailuresToSimulate;
   }
  
   protected int transferFiles(FTPClient ftp, FileSet fs)

   throws IOException, BuildException
   {
   if (this.numberOfFailuresToSimulate  0) {
   this.numberOfFailuresToSimulate--;
   throw new BuildException(Simulated failure for testing);
   }
  
   return super.transferFiles(ftp, fs);

   }
   }

However, my knowledge of Ant internals is somewhat limited.  How can I 
tell an ant project in my test code that when it sees an ftp tag, it 
should delegate the performance of this task to myRetryableFTP, instead 
of to the standard FTP as it would normally do?  Is there an example of 
this sort of thing within the existing Ant test suite?





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



Re: How to write a JUnit test for this new functionality?

2005-05-29 Thread Steve Cohen

Stephane Bailliez wrote:

Steve Cohen wrote:

However, my knowledge of Ant internals is somewhat limited.  How can I 
tell an ant project in my test code that when it sees an ftp tag, it 
should delegate the performance of this task to myRetryableFTP, 
instead of to the standard FTP as it would normally do?  Is there an 
example of this sort of thing within the existing Ant test suite? .



project.addTaskDefinition(ftp, MyRetryableFtp.class) ?




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




Thanks.
I found something else that works, using ComponentHelper, but this seems 
simpler.


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



Re: installation instructions for ant under jpackage

2005-05-26 Thread Steve Cohen

Peter Reilly wrote:

Steve Loughran wrote:


Steve Cohen wrote:

There have been some comments on the jpackage.org mailing list to the 
effect that our manual doesn't really have correct installation 
instructions for that environment, although elsewhere on our site we 
do link to them.


I have rewritten the install manual page to add this content, but 
rather than commit it and then draw comments, I decided to post it on 
my own site temporarily for comment.  If there is none, I'll just 
commit it.




I had a quick read of the section - looks good. Perhaps you could mention
  ) that if ant has been installed by jpackage (at least the current 
versions), the env

variable ANT_HOME will be ignored,
  ) and that one can use the --noconfig
switch to ignore the jpackage installation.
Peter





It's nice.

I'm thinking of adding fetch.xml to the end user distro, as it can 
then pick up many of the optional extra jar files (the OSS ones). It 
needs tweaking to autoretrieve the maven task to do the downloads, 
which leads to a problem: the version of that task when ant1.7 ships 
will be less than the latest version by the end of the lifetime of the 
tool. Either we do hard code a version# into a shipped property file, 
or we provide some way of getting the latest version (property url off 
the ant  site to get the list of latest JARS for that version, perhaps)


-
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]



Good point!  Changes made to 
http://www.javactivity.org/jpackage/install.html#jpackage


As for future enhancements, we can update as they come in, I think.

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



Re: installation instructions for ant under jpackage

2005-05-26 Thread Steve Cohen

Peter Reilly wrote:

Steve Loughran wrote:


Steve Cohen wrote:

There have been some comments on the jpackage.org mailing list to the 
effect that our manual doesn't really have correct installation 
instructions for that environment, although elsewhere on our site we 
do link to them.


I have rewritten the install manual page to add this content, but 
rather than commit it and then draw comments, I decided to post it on 
my own site temporarily for comment.  If there is none, I'll just 
commit it.




I had a quick read of the section - looks good. Perhaps you could mention
  ) that if ant has been installed by jpackage (at least the current 
versions), the env

variable ANT_HOME will be ignored,
  ) and that one can use the --noconfig
switch to ignore the jpackage installation.
Peter





It's nice.

I'm thinking of adding fetch.xml to the end user distro, as it can 
then pick up many of the optional extra jar files (the OSS ones). It 
needs tweaking to autoretrieve the maven task to do the downloads, 
which leads to a problem: the version of that task when ant1.7 ships 
will be less than the latest version by the end of the lifetime of the 
tool. Either we do hard code a version# into a shipped property file, 
or we provide some way of getting the latest version (property url off 
the ant  site to get the list of latest JARS for that version, perhaps)


-
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]




Peter, what is fetch.xml?  Sounds interesting.

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



Re: installation instructions for ant under jpackage

2005-05-26 Thread Steve Cohen

Steve Loughran wrote:

Steve Cohen wrote:


what is fetch.xml?  Sounds interesting.



I thought you knew; you updated lib/libraries.properties like you did, 
that being the property file that drives it.


Actually, I grepped through the source for jakarta-commons and found 
libraries.properties that way.



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



installation instructions for ant under jpackage

2005-05-25 Thread Steve Cohen
There have been some comments on the jpackage.org mailing list to the 
effect that our manual doesn't really have correct installation 
instructions for that environment, although elsewhere on our site we do 
link to them.


I have rewritten the install manual page to add this content, but rather 
than commit it and then draw comments, I decided to post it on my own 
site temporarily for comment.  If there is none, I'll just commit it.


http://www.javactivity.org/jpackage/install.html#jpackage is the main 
link.  There's also an internal link a few lines above.  Otherwise, I 
kept the content the same.


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



Re: cvs commit: ant/src/etc/testcases/taskdefs/optional/net ftp.xml

2005-05-25 Thread Steve Cohen

Antoine Levy-Lambert wrote:

Hello Steve,

what about using a class derived from EnumeratedAttribute as type for 
timestampGranularity ?


Cheers,

Antoine

[EMAIL PROTECTED] wrote:


scohen  2005/05/22 11:48:42

 Modified:src/main/org/apache/tools/ant/taskdefs/optional/net 
FTP.java

  src/etc/testcases/taskdefs/optional/net ftp.xml
 Log:
 Add new timestampGranularity attribute to account for the typical 
case in PUT operations where the client

 is HH:mm:ss and the ftp server is HH:mm.
 

 





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




I'll take a look.

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



Re: cvs commit: ant/src/etc/testcases/taskdefs/optional/net ftp.xml

2005-05-25 Thread Steve Cohen
Antoine:  OK, I've taken a look.  Here is the problem, or maybe I don't 
understand EnumeratedAttribute fully.


In response to a suggestion of Steve Loughran the other day, I've 
implemented all of my new attributes with the convention that a value of 
 means Don't set the attribute - leave the default value in place. 
This was to accomodate Steve's suggestion of wanting property-file 
driven scripts.


Such a script would define
property name=timestampGranularity value=/
An optional property file could define

timestampGranularity=MINUTE

or

timestampGranularity=NONE.

If neither specified, the default to be used (whose value varies 
depending on the chosen action).


I'm having difficulty understanding how this convention would fit into 
the pattern of EnumeratedAttribute.  There may be such a way that I'm 
just not understanding.  I'm still open to whatever suggestions you 
might have on this score or alternative ideas to improve this code.


Steve Cohen wrote:

Antoine Levy-Lambert wrote:


Hello Steve,

what about using a class derived from EnumeratedAttribute as type for 
timestampGranularity ?


Cheers,

Antoine


...


I'll take a look.

-
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: Can Ant know ANT_HOME?

2005-05-23 Thread Steve Cohen

Stefan Bodewig wrote:

On Mon, 23 May 2005, Antoine Levy-Lambert [EMAIL PROTECTED] wrote:



we should add a line about in in the table explainning the different
system properties used by Ant.



Keep in mind that it is our wrapper script that sets the property.  If
you launch ant any other way (IDE, script of your own, embedded),
there is no guarantee that it will be defined.

Stefan

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



But that's precisely my use case.  In an environment where there is more 
than one way to launch ant, I sometimes get unexpected results.  In my 
case I've got a JPackage install, plus various trees of various versions 
of ant in various stages of development.  When something hasn't worked 
they way I want, I need to go see what ANT_HOME was defined as at the 
moment Ant launched.  I don't want to do anything with it, I just want 
to see how it was defined, without reading a lot of shell scripts trying 
to understand which path got me where I am.  In fact, knowing what 
ANT_HOME was eventually chosen makes it easier to follow the shell 
scripts.  If ANT_HOME is not defined, that also is worth knowing.


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



Re: [VOTE] Ant 1.6.5 release

2005-05-23 Thread Steve Cohen

Antoine Levy-Lambert wrote:

Hello,

I propose to release Ant 1.6.5 on Thursday, June 2nd.

This will be a pure bug fix release.


[] Yes

[] No

Let's begin with my +1

Cheers,

Antoine


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




+1

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



Re: [VOTE] Shut down the 1.6 branch after 1.6.5

2005-05-23 Thread Steve Cohen

Stefan Bodewig wrote:

Hi,

it's my strong belief that part of the reason the javah and move bugs
made it into 1.6.3 is that our branches are living too long.  The same
happened to 1.5.2 (which required 1.5.3 quickly) because the 1.5
branch lived to long (IMHO).

In my day-to-day Ant usage I use CVS HEAD, all the time, exclusively.
Sometimes I merge changes into the 1.6 branch without merging the unit
tests as well.  Sometimes I don't merge changes at all.  Sometimes I
forget to pull a change from the branch when it has been pulled from
HEAD ...

I bet, other committers have similar experiences.

It's not enough to say users don't beta-test our releases, in all
honesty, after X.Y.1 or maybe X.Y.2 we don't even alpha-test them
sufficiently ourselves.

This leads me to the subject of this vote.  Let's get rid of the
branch, stabelize CVS HEAD and release 1.7.0-beta in a reasonable
time-frame.

Cheers

Stefan

PS: I also intend to start a vote that branches shouldn't live as long
as the 1.5 and 1.6 branches did but we do new releases from HEAD more
quickly.  This will wait until this vote has been decided.

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




+1

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



Can Ant know ANT_HOME?

2005-05-22 Thread Steve Cohen
I am trying to write a simple build.xml for debugging Ant setups.  One 
of the things I would like to know is what ANT_HOME was defined as when 
Ant launched.  But this does not seem to be a predefined ant property.  
I naively thought that I could do

   property environment=env/
   echoANT_HOME=${env.ANT_HOME}/echo
this will not work unless ANT_HOME is predefined in the environment.  
The typical ant launch scripts will define ANT_HOME but not export it 
into the environment.


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



Re: Can Ant know ANT_HOME?

2005-05-22 Thread Steve Cohen

Alexey Solofnenko wrote:

Please use ${ant.home} property.

- Alexey.

On 5/22/05, Steve Cohen [EMAIL PROTECTED] wrote:


I am trying to write a simple build.xml for debugging Ant setups. One
of the things I would like to know is what ANT_HOME was defined as when
Ant launched. But this does not seem to be a predefined ant property.
I naively thought that I could do
property environment=env/
echoANT_HOME=${env.ANT_HOME}/echo
this will not work unless ANT_HOME is predefined in the environment.
The typical ant launch scripts will define ANT_HOME but not export it
into the environment.


Yes, I found that.  It's not documented, however.

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



Release Notes Link Broken

2005-05-21 Thread Steve Cohen
The release notes link on http://ant.apache.org/srcdownload.cgi, which 
points to http://mirrons.combose.com/apache/ant/README.html is broken.  
I get a 403 Forbidden error.  Is this where the link should point?


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



Re: Release Notes Link Broken

2005-05-21 Thread Steve Cohen

Antoine Levy-Lambert wrote:

Hello Steve,
the URL sounds correct in its syntax (README.html is on other mirrors also
under 
[root]/apache/ant/README.html.

I cannot open this mirrons.combose.com right now in my browser, it is not
found.

I guess you have a list of mirrors (from which to make the download) to
choose from in scrdownload.cgi

I would expect other mirrors in the USA/Canada not to have this problem.

The master ant distribution directory seems OK, so I am not too concerned,
may be it is just a problem with one of n mirrors.

Cheers,

Antoine



--- Ursprüngliche Nachricht ---
Von: Steve Cohen [EMAIL PROTECTED]
An: Ant Developers List dev@ant.apache.org
Betreff: Release Notes Link Broken
Datum: Sat, 21 May 2005 06:15:06 -0500

The release notes link on http://ant.apache.org/srcdownload.cgi, which 
points to http://mirrons.combose.com/apache/ant/README.html is broken.  
I get a 403 Forbidden error.  Is this where the link should point?





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



Why mirror this particular document at all?  Why not just keep it on the 
 Ant site?


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



Re: AW: cvs commit: ant/docs/manual/OptionalTasks ftp.html

2005-05-18 Thread Steve Cohen
[EMAIL PROTECTED] wrote:
Little test on IE6 and Firefox 1.0.4
html
body
And now test html:
pre
lt;html style=test
  lt;body
lt;/html
/pre
/body
/html
That works for me. You have to mask the  character. After that the
closing
sign is ignored, because no opening sign was there.
Jan

-Ursprüngliche Nachricht-
Von: Alexey N. Solofnenko [mailto:[EMAIL PROTECTED]
Gesendet am: Mittwoch, 18. Mai 2005 06:05
An: Ant Developers List
Betreff: Re: cvs commit: ant/docs/manual/OptionalTasks ftp.html
Actually, gt; is also not required.
- Alexey.
Steve Cohen wrote:

To be honest, I never thought about it.  The previous 
version of the 

page used them and I just assumed they were required, and 
followed the 

pattern with my new examples.  I didn't even assume, 
actually, I just 

followed the pattern unthinkingly.
But you're quite right.  The quot; are not necessary.  The 
lt; and 

gt;, however, are.  The source file is an html page.
We aren't seriously suggesting formatting these emails, are we?  To 
me, that makes no sense at all.  This is a cvs-generated diff.  
Modifying it would be incorrect, making the diff unusable 
as a patch, 

which is, I guess, why these emails include them.
I will, however, remove the unnecessary quot; marks.
--
--
--
/ Alexey N. Solofnenko
home: http://trelony.cjb.net/
/
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Right again.  I don't, however, think we should do this.  I don't think 
it adds anything in clarity and is rather ugly.

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


Re: FTP.isUpToDate()

2005-05-17 Thread Steve Cohen
Antoine Levy-Lambert wrote:
Do not worry if you are sure that the current behavior is buggy.
Cheers,
Antoine
Well, I went and logged a bug on the issue thinking that this might 
provoke a little more discussion.  Unfortunately, bugzilla seems to not 
have sent out an email about it, so it will get lost.  Does this happen 
often?

See http://issues.apache.org/bugzilla/show_bug.cgi?id=34941
Steve
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: ant/docs/manual/OptionalTasks ftp.html

2005-05-17 Thread Steve Cohen
Peter Reilly wrote:
Martin Gainty wrote:
Not to mention gt and other escaped characters

No,
Dominique was correctly compaining about the needless escaping of the
quote characters
Peter
Can the Ant mail server either parse the html escaped characters and 
insert the correct character representation -OR-
Reject the transmission altogether?
Vielen Danke,
Martin-

- Original Message - From: Dominique Devienne 
[EMAIL PROTECTED]
To: Ant Developers List dev@ant.apache.org
Sent: Monday, May 16, 2005 10:21 PM
Subject: Re: cvs commit: ant/docs/manual/OptionalTasks ftp.html

On 14 May 2005 13:14:15 -, [EMAIL PROTECTED] [EMAIL PROTECTED] 
wrote:

 +pre
 +  lt;ftp action=quot;getquot;
 +   server=quot;ftp.hypthetical.frquot;
 +   userid=quot;anonymousquot;
 +   password=quot;[EMAIL PROTECTED]quot;
 +   defaultDateFormatConfig=quot;d MMM quot;
 +   recentDateFormatConfig=quot;d MMM HH:mmquot;
 +   serverLanguageCodeConfig=quot;frquot;gt;
 + lt;fileset dir=quot;htdocs/manualquot;gt;
 +  lt;include name=quot;**/*.htmlquot;/gt;
 +lt;/filesetgt;
 +  lt;/ftpgt;
 +/pre

The quot; are not necessary, are they Steven?
Makes it a lot harder to read, no? --DD
-
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]


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

To be honest, I never thought about it.  The previous version of the 
page used them and I just assumed they were required, and followed the 
pattern with my new examples.  I didn't even assume, actually, I just 
followed the pattern unthinkingly.

But you're quite right.  The quot; are not necessary.  The lt; and 
gt;, however, are.  The source file is an html page.

We aren't seriously suggesting formatting these emails, are we?  To me, 
that makes no sense at all.  This is a cvs-generated diff.  Modifying it 
would be incorrect, making the diff unusable as a patch, which is, I 
guess, why these emails include them.

I will, however, remove the unnecessary quot; marks.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: FTP.isUpToDate()

2005-05-16 Thread Steve Cohen
Martijn Kruithof wrote:
Steve Cohen wrote:
In trying to bring over new commons-net timezone functionaility, I 
discover the following:

   protected boolean isUpToDate(FTPClient ftp, File localFile,
String remoteFile)
throws IOException, BuildException {
...
   if (this.action == SEND_FILES) {
   return remoteTimestamp + timeDiffMillis  localTimestamp;
   } else {
   return localTimestamp  remoteTimestamp + timeDiffMillis;
   }
   }
Off the top of my head, and given the general logic associated with 
the name of the method, can anyone think of a reason why the two 
greater-than signs in the above code should not be greater-than-or-equal?

In the test case I am developing from the new code, my first iteration 
didn't produce the expected results.  I expected one or two files to 
be gotten, not the entire directory of 300 files.  When I changed the 
's above to ='s, the code worked as expected.  Can anyone see 
something I'm missing?

Hi
Depends on what error is actually wanted. I'd expect
remoteTimestamp + timeDiff + (remote)granularity  localTimestamp - 
(local)granularity
when no risk is to be taken that the file is not copied while it should 
have been
or
remoteTimestamp + timeDiff - (remote)granularity = localTimestamp + 
(local)granularity
when no rist is to be taken that the file is copied while it should not 
have been.

When leaving out the granularity I'd say you are right an = should 
always be used.

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

I agree with you.  I suppose that with the current code, you can always 
fudge the granularities by summing them together as timediffmillis in 
the above code which is a settable parameter.

The case I have in mind is this:
ftp action = get
...
preservelastmodified=true
newer=true/
Repeating that twice in succession with the current code will ALWAYS 
result in fetching the entire fileset twice whether the source files
change or not.  This seems like an incorrect result, even a bug.

So I want to make this change.
But before I rush off and do that, I want, as a reality check, an idea 
of a use case that this change would break.  I can't think of one.

My thought is that anyone who would want to use this task with 
newer=true and preservelastmodified=false isn't going to care about 
granularity-based differences.  That person is simply using the task 
coarsely.  And anyone who would do it as in the above snippet would want 
= rather than .

Please, if someone can come up with a contradictory use case or other 
argument, lay it out here, otherwise I am going to make the change.

The only plausible argument I can think of is backward compatibility of 
existing scripts.  I am guessing that anyone who is trying to use the 
task precisely may already be adding or subtacting 1 in the 
timediffmillis to overcome this problem.

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


Re: [VOTE] include FTP task revisions in 1.6.4 release

2005-05-15 Thread Steve Cohen
Steve Cohen wrote:
Shall the newly added FTP task revisions be incorporated into release 
1.6.4?

I'm withdrawing this vote request.
Although commons-net functions as expected, the relationship with the 
FTP task is a little more complicated than I'd thought, and those who 
have expressed fears are correct in doing so, in spite of any carping I 
might still want to do about remarks indicating that the remarkers 
considered this is an unwanted maintenance chore being thrust upon them 
rather than something motivated in the first place by bug reports and 
feature requests in Ant's own bug system.

I had assumed that tying commons-net timezone functionality into the 
task's newer logic would be simpler than it has turned out to be. 
There are still a few wrinkles I need to work out.

Since Steve Loughran is talking about a July release rather than the six 
months I'd heard bandied about earlier, I am less insistent on getting 
it in for 1.6.4.

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


FTP.isUpToDate()

2005-05-15 Thread Steve Cohen
In trying to bring over new commons-net timezone functionaility, I 
discover the following:

   protected boolean isUpToDate(FTPClient ftp, File localFile,
String remoteFile)
throws IOException, BuildException {
...
   if (this.action == SEND_FILES) {
   return remoteTimestamp + timeDiffMillis  localTimestamp;
   } else {
   return localTimestamp  remoteTimestamp + timeDiffMillis;
   }
   }
Off the top of my head, and given the general logic associated with the 
name of the method, can anyone think of a reason why the two 
greater-than signs in the above code should not be greater-than-or-equal?

In the test case I am developing from the new code, my first iteration 
didn't produce the expected results.  I expected one or two files to be 
gotten, not the entire directory of 300 files.  When I changed the 's 
above to ='s, the code worked as expected.  Can anyone see something 
I'm missing?

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


[VOTE] include FTP task revisions in 1.6.4 release

2005-05-14 Thread Steve Cohen
Shall the newly added FTP task revisions be incorporated into release 1.6.4?
Motivation:
I understand this comes in under the wire and may cause justifiable
trepidation among some.  I still favor adding it to the release because:
1)  The tasks add some important new capabilities (in order of importance):
   a) the ability for the newer attribute to recognize timezone
differences between client and server
   b) the ability to handle the all-numeric timestamp format that
some unixes (Debian for example) are now shipping with.
   c) the ability to handle legacy systems that still use
locale-specific timestamp formatting (becoming rare but still encountered).
Documentation of the new features has also been checked in.
2) Care has been taken to avoid adding new dependency requirements to
Ant.  The new features require commons-net-1.4.0 and the task cannot be
compiled without it, but users with an earlier version of commons-net
can still use the task exactly as before.  Existing scripts will
function exactly as before.
3) Just to reiterate - in spite of earlier postings the the contrary,
including this in release 1.6.4 WOULD NOT REQUIRE USERS TO UPGRADE
COMMONS-NET.  This has been tested against commons-net-1.2.2 (the
previous recommended system) and all tests passed.
My vote:
+1
List of files that would have to be tagged with the new release if this
passes
/org/apache/tools/ant/taskdefs/optional/net/FTP.java 1.71
/org/apache/tools/ant/taskdefs/optional/net/FTPConfigurator.java (new) 1.2
/ant/docs/manual/OptionalTasks/FTP.html 1.32
/ant/docs/manual/install.html 1.83
/ant/lib/libraries.properties  1.3
Steve Cohen
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


[VOTE] include FTP task revisions in 1.6.4 release

2005-05-14 Thread Steve Cohen
Shall the newly added FTP task revisions be incorporated into release 1.6.4?
Motivation:
I understand this comes in under the wire and may cause justifiable 
trepidation among some.  I still favor adding it to the release because:

1)  The tasks add some important new capabilities (in order of importance):
   a) the ability for the newer attribute to recognize timezone 
differences between client and server
   b) the ability to handle the all-numeric timestamp format that 
some unixes (Debian for example) are now shipping with.
   c) the ability to handle legacy systems that still use 
locale-specific timestamp formatting (becoming rare but still encountered).
Documentation of the new features has also been checked in.

2) Care has been taken to avoid adding new dependency requirements to 
Ant.  The new features require commons-net-1.4.0 and the task cannot be 
compiled without it, but users with an earlier version of commons-net 
can still use the task exactly as before.  Existing scripts will 
function exactly as before.
3) Just to reiterate - in spite of earlier postings the the contrary, 
including this in release 1.6.4 WOULD NOT REQUIRE USERS TO UPGRADE 
COMMONS-NET.  This has been tested against commons-net-1.2.2 (the 
previous recommended system) and all tests passed.

My vote:
+1
List of files that would have to be tagged with the new release if this 
passes
/org/apache/tools/ant/taskdefs/optional/net/FTP.java 1.71
/org/apache/tools/ant/taskdefs/optional/net/FTPConfigurator.java (new) 1.2
/ant/docs/manual/OptionalTasks/FTP.html 1.32
/ant/docs/manual/install.html 1.83
/ant/lib/libraries.properties  1.3

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


Re: [VOTE] include FTP task revisions in 1.6.4 release

2005-05-14 Thread Steve Cohen
Steve Loughran wrote:
Steve Cohen wrote:
Shall the newly added FTP task revisions be incorporated into release 
1.6.4?

Motivation:
I understand this comes in under the wire and may cause justifiable
trepidation among some.  I still favor adding it to the release because:
1)  The tasks add some important new capabilities (in order of 
importance):
   a) the ability for the newer attribute to recognize timezone
differences between client and server
   b) the ability to handle the all-numeric timestamp format that
some unixes (Debian for example) are now shipping with.
   c) the ability to handle legacy systems that still use
locale-specific timestamp formatting (becoming rare but still 
encountered).
Documentation of the new features has also been checked in.

2) Care has been taken to avoid adding new dependency requirements to
Ant.  The new features require commons-net-1.4.0 and the task cannot be
compiled without it, but users with an earlier version of commons-net
can still use the task exactly as before.  Existing scripts will
function exactly as before.
3) Just to reiterate - in spite of earlier postings the the contrary,
including this in release 1.6.4 WOULD NOT REQUIRE USERS TO UPGRADE
COMMONS-NET.  This has been tested against commons-net-1.2.2 (the
previous recommended system) and all tests passed.
My vote:
-1
I dont think I've -1'd anything before, at least not in recent memory. 
Here is my thinking

(a) 1.6.4 is an emergency release to fix some defects that didnt show up 
during beta testing
Fair enough.
(b) any feature added now would go into the release without beta 
testing. It runs the risk of breaking.
Fair enough, although it's worth repeating that existing tests that test 
existing functionality do not break, either with the old commons-net lib 
or the new.

(c) We'd be effectively obliged to maintain the API forever. Its good to 
use something in a few of your own build files first to see what works, 
and what doesnt.
What is there about this API compared to any others that Ant is obliged 
to maintain that you don't like?  This objection is meaningless and 
insulting.  These features have been extensively tested in commons-net.

Commons-net is under the jakarta umbrella with an active team of 
developers.  Meanwhile Ant maintains APIs adapting it to various 
commercial products for which it has no serious maintainers.  I myself 
maintained the starteam tasks for Ant for as long as I had a job that 
gave me access to a StarTeam server. (late 2003).

Looking back through CVS at the entire starteam package I find one 
substantive change made in a year and a half (a NPE fix).  There have 
been no enhancements, and nothing but boilerplate changes.  Okay, 
there's probably not too much demand for those tasks and, at any rate, 
no one has stepped forward.  But please don't put jakarta-commons-net 
into that bag.

If I sound a little resentful, it's because these changes were designed 
by me specifically with Ant in mind.  I resisted suggestions from others 
that would have implemented these changes in fashions that were less 
compatible with Ant.  Now this effort seems to be being treated as an 
unwanted intrusion.

Summary: its too new a change to push into a release that we arent going 
to beta test.
You should have stopped there.
Once Ant1.6.4 ships we can start the push towards Ant1.7. That is: no 
more 1.6 releases barring disasters with the 1.6.4 version, instead we 
can decide on the feature set and release schedule for the version of 
ant that will have this change, and bring out a beta in, say, july. 
Anyone who wants the new features should be pushed towards this public 
beta, which will help test the while release.

-steve
-
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: cvs commit: ant/docs/manual install.html

2005-05-13 Thread Steve Cohen
Stefan Bodewig wrote:
On Thu, 12 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:

I don't know, though, guys.  What do you think?  Is it really worth
it to avoid making the users upgrade?

For me it depends on when you wanted to see the new task.
If you wanted to include it in 1.6.4 (which is unlikely to happen
anyway, given Steve's and Matt's comments) then you wouldn't get a +1
from me if it forced people to upgrade commons-net.  This is just too
fresh IMHO.
If you are shooting for 1.7, having the code depend on commons-net
1.4.x is fine with me.
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Well, I've done it.  1.4.0 is no longer required.  Have a look.  It 
isn't too ugly.

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


Re: AW: [patch] FTP.java - adding support for new features in com mons-net 1.4.0 and performance improvement

2005-05-12 Thread Steve Cohen
Antoine Levy-Lambert wrote:
Steve Cohen wrote:
However, it does seem to me that this test case is rather incomplete, 
and could be beefed up in several ways to test these and other recent 
features of commons-net which are not being tested here.

Feel free to expand this test. I created this test to check that the 
pattern selection features of the ftp task work, when I refactored it.
Makes sense, I suppose.  You would presume that commons-net has its own 
tests (indeed it does) and therefore only test the interaction with Ant.


I guess what I am asking is what the scope of these tests is.  Who 
runs them, when, and how?  (Do they change the password as I had to?).

I believe almost no one runs these tests, except committers who are 
changing the ftp task. To make this test work in gump, there would be 
the need to install on the gump machine a standard ftp server used to 
run the tests.
In commons-net we have tests that ARE part of gump and can be run 
anywhere and then we have tests that are NOT part of gump (we call them 
functional tests) since they depend on various ftp servers over which we 
have no control.  These tests are only run manually, although they 
should pass, assuming the server is up, from anywhere, without 
modification or -D definition.  (they use anonymous FTP).  Do you think 
it would make sense to add such tests here?  Or should I just be testing 
that the new attributes are accepted by Ant properly?

I am eager to test the time zone feature in Ant, which virtually 
requires an external ftp server and could be very useful in Ant.  The 
other new features, concerning languages other than English, etc., are, 
in my experience harder to test because there are so few servers that 
work that way anymore.  Almost all the publicly accessible ftp servers 
have converted to English month names.  I know because I looked all over 
the place and could find not a single one that didn't!  I presume that 
the non-English server complaints we occasionally hear about concern 
various private intra-company servers that use older ftp servers.  If it 
ain't broke, don't fix it.  Apparently older ftp servers actually called 
ls and the newer ones don't.  This will become even more moot as 
all-numeric timestamps become more prevalent in unix ftp servers - I 
recently learned that Debian is now shipping this way and hope this a 
wave of the future.



I've also committed install.html to indicate that from here forward, 
commons.net = 1.4.0 is required.

If commons.net 1.4.0 is required, is it not a big constraing for the 
1.6.4 release ?
Indeed.  I was proceeding on Stefan's instructions to put it into the 
HEAD and have a vote later about adding them to 1.6.4.  If the Ant team 
does not feel confident about requiring 1.4.0 so soon this vote will fail.

I am working on revised manual page for the ftp task which has 
optional new attributes but I want to tweak that a bit more.


+1
Antoine
Steve
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [patch] FTP.java - adding support for new features in com mons-net 1.4.0 and performance improvement

2005-05-12 Thread Steve Cohen
Stefan Bodewig wrote:
On Wed, 11 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:
[EMAIL PROTECTED] wrote:

If the tests pass - why not?  :-)
I wanted to discuss the tests and what is meant by that.

When I saw Jan's remark I thought he must have been joking.  I
wouldn't call the existing ftp tests tests.
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

D'oh!  You'd have thought that smileyface would have alerted me.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-12 Thread Steve Cohen
Stefan Bodewig wrote:
On Wed, 11 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:

I recently spent some time looking over jpackage.org.  Have you guys
seen this operation?

More than that.  We modified the Ant wrapper script to suit their
needs, so that they could stop distributing their version, for
example.  We've had some fruitful collaboration in the past.
I used to be subscribed to their dev list but had to cut down on
activities, so I dropped out of it.

They don't like builds that depend on downloading stuff from the
internet. Etc.  They hate circular dependencies.

Like me ;-)
And me.  I've come to live with these things, however.  It was sort of 
refreshing to see these guys pounding away at making something better.
I'm still subscribed to their list but I don't really have time to read it.


They're somewhat annoyed with Ant.  It's hard to talk to them.


I've not seen that, if so, something must have changed over the past
six months.  Anything special?
I was starting to get into flame wars that I pulled back from, since 
that was not my intent, and then had nicer conversations with one of the 
leading posters off-list.  It seemed to me that they were SO frustrated 
with the circular dependencies of Ant that they always assumed the worst 
and didn't understand a few things.  A little too much 
us-against-the-world.  But very intriguing, nonetheless.  Trying to 
figure out the right way to build Ant in that environment can not help 
but give the ant developer some new perspectives.  If only I had the time.


In that world, they have a heck of a time building Ant from source
since Ant (its optional tasks, anyway) depend on things like
commons-net, which depend on Ant to build.  Chicken-egg again.

Not really.  They have separate RPMs for Ant and for ant with optional
tasks.  You only need the Ant RPM to build commons-net, and you need
Ant and commons-net to build the ant-apache-commons-net RPM.
I never succeeded in building ant from their source RPMs.  Eventually I 
had to go with a binary RPM.  Once I had that, I could build 
commons-net, etc.  I was looking for an ant-core rpm (the rough 
equivalent of running just the bootstrap) but never found it.



It seems to me that Ant is really at least two beasts:
1. a tool for running strictly java compiles and packaging into
jars, wars, etc.

But everybody will have a different opinion what makes up this core.
copy?  You bet.  chmod?  For those RPM builders probably yes.
war?  _I_ don't think so.

(this may or may not equate exactly to Ant's core vs. optional tasks
- e.g. why is cvs core, but other vcs optional?)

historical reasons.  cvs was there before any optional task came
along.  I guess script was ther first one labeled optional.
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]


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-12 Thread Steve Cohen
Jose Alberto Fernandez wrote:
From: news [mailto:[EMAIL PROTECTED] On Behalf Of Nicola Ken Barozzi
Stefan Bodewig wrote:
On Wed, 11 May 2005, Jose Alberto Fernandez 
[EMAIL PROTECTED] wrote:


I do not think we can continue maintaining tasks for every 
project in 

the world just because they do not want to depend on ANT.
Likewise, you cannot ask for every project to keep an Ant task just 
because Ant does not want to depend on them ;-)


We ask exactly that from other projects. We would like the SVN people to
maintain
their SVN tasks. And the ClearCase people to maintain theirs because
then you can upgrade and deliver them in sync with their new versions.
On the other hand we promise not to break the API they use so that
they
do not need to worry about forward compatibility with ANT (within
reason).
If we want this effort to succeed, Would it make sense to release this 
interface as a separate package required by ant and the antlibs to be 
maintained by others.  It might make the promise a little more 
concrete - and break some of the circular dependencies.

Calm down.  We are talking about an existing Ant task that 
gets used a 

lot.  And so far nobody has asked the commons-net people whether 
they'd want to maintain it.

If you ask me, Ant is the owner of the ftp task and commons-net 
only a support library.  The javacc, antlr or weblogic tasks (for
example) are completely different beasts IMHO.
Yes.
Ant tasks - like any piece of code really - should simply 
reside where 
people care about them, fix bugs and enhance them. IMHO this usually 
happens in Ant if the task is generic enough to be used by most 
committers, and ftp seems to be the case.

Ok, but with that view. Any features of common-net will not be available
until
1.7 is out some six month from now. Or people will have to use nightly
builds.
If you want the new features to be made available, then either
common-net provides
the task or has to coordinate the release cycles.
Not sure who is the winner on this.
I may not have made myself clear on one issue: When I talk about
common-net's ftp
task, I am not talking about the current task supported within ANT
(which will have to stay
there and get eventually deprecated). I am talking of a new ftp
task, lets call it
net:ftp/ that provides all the features and benefits of using the
common-net libraries.
It will be common-net's new replacement task and it will be under
common-net control. 

That is the whole point of the antlibs.
Jose Alberto
Although I have committed the code into Ant proper, I still may have a 
go at this approach if I can find the time.  I'd like to understand it a 
 little better first.  Can you point me at a good example?

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


Re: AW: [patch] FTP.java - adding support for new features in com mons-net 1.4.0 and performance improvement

2005-05-12 Thread Steve Cohen
[EMAIL PROTECTED] wrote:
Any chance one of you guys could also incorporate my simple patch to the 
FTP task that adds the initialcommand attribute? 

http://issues.apache.org/bugzilla/show_bug.cgi?id=34853
Thanks,
John
This e-mail message and any attachments may contain confidential, 
proprietary or non-public information.  This information is intended 
solely for the designated recipient(s).  If an addressing or transmission 
error has misdirected this e-mail, please notify the sender immediately 
and destroy this e-mail.  Any review, dissemination, use or reliance upon 
this information by unintended recipients is prohibited.  Any opinions 
expressed in this e-mail are those of the author personally.

Steve Cohen [EMAIL PROTECTED] wrote on 12/05/2005 08:38:39 PM:

Antoine Levy-Lambert wrote:
Steve Cohen wrote:

However, it does seem to me that this test case is rather incomplete, 

and could be beefed up in several ways to test these and other recent 

features of commons-net which are not being tested here.
Feel free to expand this test. I created this test to check that the 
pattern selection features of the ftp task work, when I refactored it.
Makes sense, I suppose.  You would presume that commons-net has its own 
tests (indeed it does) and therefore only test the interaction with Ant.


I guess what I am asking is what the scope of these tests is.  Who 
runs them, when, and how?  (Do they change the password as I had 
to?).
I believe almost no one runs these tests, except committers who are 
changing the ftp task. To make this test work in gump, there would be 
the need to install on the gump machine a standard ftp server used to 
run the tests.
In commons-net we have tests that ARE part of gump and can be run 
anywhere and then we have tests that are NOT part of gump (we call them 
functional tests) since they depend on various ftp servers over which we 

have no control.  These tests are only run manually, although they 
should pass, assuming the server is up, from anywhere, without 
modification or -D definition.  (they use anonymous FTP).  Do you think 
it would make sense to add such tests here?  Or should I just be testing 

that the new attributes are accepted by Ant properly?
I am eager to test the time zone feature in Ant, which virtually 
requires an external ftp server and could be very useful in Ant.  The 
other new features, concerning languages other than English, etc., are, 
in my experience harder to test because there are so few servers that 
work that way anymore.  Almost all the publicly accessible ftp servers 
have converted to English month names.  I know because I looked all over 

the place and could find not a single one that didn't!  I presume that 
the non-English server complaints we occasionally hear about concern 
various private intra-company servers that use older ftp servers.  If it 

ain't broke, don't fix it.  Apparently older ftp servers actually called 

ls and the newer ones don't.  This will become even more moot as 
all-numeric timestamps become more prevalent in unix ftp servers - I 
recently learned that Debian is now shipping this way and hope this a 
wave of the future.


I've also committed install.html to indicate that from here forward, 
commons.net = 1.4.0 is required.

If commons.net 1.4.0 is required, is it not a big constraing for the 
1.6.4 release ?
Indeed.  I was proceeding on Stefan's instructions to put it into the 
HEAD and have a vote later about adding them to 1.6.4.  If the Ant team 
does not feel confident about requiring 1.4.0 so soon this vote will 
fail.
I am working on revised manual page for the ftp task which has 
optional new attributes but I want to tweak that a bit more.


+1
Antoine
Steve
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Not in the 1.6.4 timeframe, but I will be happy to take a look, soon.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: ant/docs/manual install.html

2005-05-12 Thread Steve Cohen
Stefan Bodewig wrote:
On 12 May 2005, [EMAIL PROTECTED] wrote:

 +For all users, a minimum version of commons-net of 1.4.0 is now required.

Is this really true?
I understand it is required to compile ftp or if you use one of
the new features.  But if you use ftp the same way you did
before and use a binary installation of Ant, 1.2.x should work as
well, not?
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

You are correct, sir.  It won't compile but it will run against the 
older jar, as long as the new functionalities are not called.  I forget 
that not everyone wants to build ant :-).

The existing tests can be run successfully if you ignore the errors. 
You see, Antoine, your tests have already proven their value!

I will revise this documentation, and also change the code to output a 
more meaningful error message if anyone tries to use the new features 
with an older jar.

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


Re: cvs commit: ant/docs/manual install.html

2005-05-12 Thread Steve Cohen
Steve Cohen wrote:
Stefan Bodewig wrote:
On 12 May 2005, [EMAIL PROTECTED] wrote:

 +For all users, a minimum version of commons-net of 1.4.0 is now 
required.

Is this really true?
I understand it is required to compile ftp or if you use one of
the new features.  But if you use ftp the same way you did
before and use a binary installation of Ant, 1.2.x should work as
well, not?
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

You are correct, sir.  It won't compile but it will run against the 
older jar, as long as the new functionalities are not called.  I forget 
that not everyone wants to build ant :-).

The existing tests can be run successfully if you ignore the errors. You 
see, Antoine, your tests have already proven their value!

I will revise this documentation, and also change the code to output a 
more meaningful error message if anyone tries to use the new features 
with an older jar.

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

Nope, spoke too soon.  I wasn't running against what I thought I was.
With commons-net-1.2.2 jar, the bad import statement makes the test 
constructor throw.

This is so ugly.
I wonder if I could do a Class.forName(), and if it doesn't throw, I 
know I can use reflection to do the new stuff, and avoid importing the 
new class.

This is so ugly.

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


Re: cvs commit: ant/docs/manual install.html

2005-05-12 Thread Steve Cohen
Steve Cohen wrote:
Steve Cohen wrote:
Stefan Bodewig wrote:
On 12 May 2005, [EMAIL PROTECTED] wrote:

 +For all users, a minimum version of commons-net of 1.4.0 is 
now required.


Is this really true?
I understand it is required to compile ftp or if you use one of
the new features.  But if you use ftp the same way you did
before and use a binary installation of Ant, 1.2.x should work as
well, not?
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

You are correct, sir.  It won't compile but it will run against the 
older jar, as long as the new functionalities are not called.  I 
forget that not everyone wants to build ant :-).

The existing tests can be run successfully if you ignore the errors. 
You see, Antoine, your tests have already proven their value!

I will revise this documentation, and also change the code to output a 
more meaningful error message if anyone tries to use the new features 
with an older jar.

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

Nope, spoke too soon.  I wasn't running against what I thought I was.
With commons-net-1.2.2 jar, the bad import statement makes the test 
constructor throw.

This is so ugly.
I wonder if I could do a Class.forName(), and if it doesn't throw, I 
know I can use reflection to do the new stuff, and avoid importing the 
new class.

This is so ugly.

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

OK.  I found a way that isn't quite so ugly.  I moved all the code that 
references the new class in commons-net off to a separate compilation 
unit, a new class in the org.apache.tools.ant.taskdefs.optional.net 
package.  Now there are no issues with bad import statements in the FTP 
class itself.

Since the new class is in the same package as FTP.java it doesn't need 
to be imported in order to compile.  The new class isn't referenced 
unless the right commons-net version is present.

As long as the new code isn't called, there is no problem when using 
older versions of commons-net.  Otherwise, a BuildException is thrown.

I don't know, though, guys.  What do you think?  Is it really worth it 
to avoid making the users upgrade?

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


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-11 Thread Steve Cohen
Stefan Bodewig wrote:
On Tue, 10 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:

As the author of the commons-net code that Mr. Praks is relying on,
and an Ant committer, I would be happy to take a look at his code
and sponsor it for the 1.6.4 release.

There is no need to sponsor, you are a committer.  We usually work in
commit-then-review mode, at least for CVS HEAD, so go ahead and commit
it to HEAD.
After you've done that, you could call for a vote for merging the
change over to the 1.6 branch.  Personally I don't think a vote would
be necessary, though.
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

I may be a committer but Mr Praks is not.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-11 Thread Steve Cohen
Neeme Praks wrote:
Steve Loughran wrote:
I worry about releasing any change to code without giving it time to 
stabilise and beta test. Last minute this won't break anything 
patches always break something. Always. At least in my experience.

If commons1.4.0 is incompatible with shipping ftp then yes, we have 
no choice but to upgrade. But if it is a feature enhancement, then it 
needs
to go into CVS_HEAD

Very legitimate concern.
However, this is a trivial change.
commons-net 1.4.0 added a configuration javabean for FTP client.
It is a simple value-object that has some setters and then it can be 
used to configure a FTP client instance.

All the added code does is expose this javabean on the FTP task through 
delegating setters.

Let me illustrate with some code:
public class FTP extends Task {
[...]
private FTPClientConfig configuration = null;
/**
 * Gets a FTPClientConfig. If the configuration object has not been
 * created yet, it is created also.
 */
private FTPClientConfig getConfiguration() {
if (this.configuration == null) {
this.configuration = new FTPClientConfig();
}
return this.configuration;
}
/**
 * Delegate method for 
codeFTPClientConfig.setDefaultDateFormatStr(String)/code.
 * @param defaultDateFormatStr
 * @see #getConfiguration()
 * @see FTPClientConfig
 */
public void setDefaultDateFormat(String defaultDateFormatStr) {
getConfiguration()
.setDefaultDateFormatStr(defaultDateFormatStr);
}

[...there are 5 more delegating setters like this, but I'm skipping them 
here for clarity...]

public void execute() throws BuildException {
[...]
ftp = new FTPClient();
if (this.configuration != null) {
ftp.configure(this.configuration);
}
ftp.connect(server, port);
[...]
}
[...]
}
Simple enough, no?
Assuming that commons-net code is bug-free, this code cannot possibly 
break anything. And it is backwards compatible, if there is no 
configuration set, no configuration is used.

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

Well, you're both right.  The new commons-net code is not incompatible 
with Ant.  This is just a new feature of commons-net.

However, it's an extremely simple feature, just passing bean attributes 
around.  I am quite confident that we can add just the support for the 
new commons-net feature and have all the tests pass.

Other parts of Mr. Praks' patch are less simple (retry handler, etc.) 
and I've asked him to remove those for now.  These definitely belong in 
CVS_HEAD after the release.

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


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-11 Thread Steve Cohen
Stefan Bodewig wrote:
On Wed, 11 May 2005, Jose Alberto Fernandez
[EMAIL PROTECTED] wrote:

I do not think we can continue maintaining tasks for every project
in the world just because they do not want to depend on ANT.

Calm down.  We are talking about an existing Ant task that gets used a
lot.  And so far nobody has asked the commons-net people whether
they'd want to maintain it.
If you ask me, Ant is the owner of the ftp task and commons-net
only a support library.  The javacc, antlr or weblogic tasks (for
example) are completely different beasts IMHO.
Maybe Sun should ship the Javac compiler adapter?  Just kidding.

Maybe people would be less scare about it if we provide a task that
is able to produce a ready to go plugin JAR containing all the
pieces necessary for your antlib to work using an antlib:package
URL. Do we have such a thing already, if nor it should be quite easy
to do.

I'm not sure what you mean.  A task that creates antlib.xml and puts
it into the proper place inside the jar?  I'm having a hard time to
come up with a syntax for the task (you still have to tell it which
taskname maps to which task) that doesn't look like antlib.xml.
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

On decoupling in general:
I recently spent some time looking over jpackage.org.  Have you guys 
seen this operation?  Their basic mission is to convert all of 
open-source java into RPMs.  They don't like builds that depend on 
downloading stuff from the internet.  Etc.  They hate circular 
dependencies.  They're somewhat annoyed with Ant.  It's hard to talk to 
them.  There is a real culture clash between the Java open-source world 
as it has evolved and their world.

I am not convinced that what they are doing is practical (and it's 
certainly a HUGE task they've set for themselves), but I did spend a 
little time looking at what they're doing and it did get me thinking 
about the structure of Ant.  In that world, they have a heck of a time 
building Ant from source since Ant (its optional tasks, anyway) depend 
on things like commons-net, which depend on Ant to build.  Chicken-egg 
again.

It seems to me that Ant is really at least two beasts:
1. a tool for running strictly java compiles and packaging into jars, 
wars, etc.

2. other related tools that are very useful to the typical build-meister
(ftp, support for version control systems, etc.)
I think Ant does somewhat recognize this distinction in the business of 
bootstrap vs. build when building ant.  The bootstrap stuff is core, the 
other stuff is somewhat peripheral.  (this may or may not equate exactly 
to Ant's core vs. optional tasks - e.g. why is cvs core, but other vcs 
optional?)

I don't know what any of this means, going forward, probably nothing, 
but it's food for thought.

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


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-11 Thread Steve Cohen
Stefan Bodewig wrote:
On Wed, 11 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:

Other parts of Mr. Praks' patch are less simple (retry handler,
etc.) and I've asked him to remove those for now.  These definitely
belong in CVS_HEAD after the release.

The release comes from a branch, so you can go ahead and commit to
HEAD whenever you see fit.
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

So commit to head as we see fit and maybe it will be moved to the branch?
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: AW: [patch] FTP.java - adding support for new features in com mons-net 1.4.0 and performance improvement

2005-05-11 Thread Steve Cohen
[EMAIL PROTECTED] wrote:
Neeme Praks wrote:
Ok, commons-net 1.4.0 has been released now.
How can we proceed?
Since there is apparently an Ant 1.6.4 version coming out on May 19th 
and since Neeme Praks has already submitted a patch to accomodate it, 
why not try to get this into that release?  As the author of the 
commons-net code that Mr. Praks is relying on, and an Ant 
committer, I 
would be happy to take a look at his code and sponsor it 
for the 1.6.4 
release.

I realize that there may be other deadlines here.  What do other Ant 
committers think?

Steve Cohen

If the tests pass - why not?  :-)
Jan
I realize that the discussion has moved well beyond this point, but I 
wanted to discuss the tests and what is meant by that.

I think you mean, in this case,
/src/testcases/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java, 
right?

I have applied the latest revised patch from Neeme Praks with a few 
modifications.  We had a couple of iterations as I explained to him the 
way I thought the task should work, and he has coded it to those 
specifications, including only support for the new commons-net features 
and not including the retry and speedup improvements from his original 
patch which need more study.

The tests mentiuned above all passed, once I changed
/src/etc/testcases/taskdefs/optional/net/ftp.xml so that the 
ftp.password property was redefined as my password on my system.  The 
original had a password of sunshine.  Without that change all the 
tests failed.

Is that the recommended practice for this test?  Or is the test assuming 
 some particular ftp server configuration that most servers have and my 
system does not?  (I do not normally turn an ftp server on on my system 
and just accepted the default).

Assuming that all the above is correct, I am satisfied that the code 
breaks nothing and am therefore committing it.

However, it does seem to me that this test case is rather incomplete, 
and could be beefed up in several ways to test these and other recent 
features of commons-net which are not being tested here.

I guess what I am asking is what the scope of these tests is.  Who runs 
them, when, and how?  (Do they change the password as I had to?).

I've also committed install.html to indicate that from here forward, 
commons.net = 1.4.0 is required.

I am working on revised manual page for the ftp task which has optional 
new attributes but I want to tweak that a bit more.





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


[Fwd: [ANNOUNCEMENT] Commons-Net 1.4.0 Released]

2005-05-10 Thread Steve Cohen
The new release of jakarta-commons-1.4.0 contains some features that 
were specifically designed with Ant in mind.  In particular the 
FTPClientConfig class was designed with the thought of enabling the 
enhancement of the ant ftp task to

1. handle ftp servers with file listing formats that format dates in 
other than the standard (i.e. US English) ways.

More importantly, perhaps, for Ant
2. handle time zone differences between client and server.
This would enable dependency checking to be more usefully associated 
with the task.

In the next few weeks (months) I am intending to rework the ftp task 
to take advantage of these new capabilities.  This would involve adding 
some new attributes to the task and transmitting these to the 
commons-net implementation.


---BeginMessage---
The Commons-Net team are pleased to announce the release of version 1.4.0. This 
release provides several fixes and enhancements, including:

 - The addition of a new configuration mechanism that enables the FTPClient 
component to work with a much larger range of server formats and locales;
 - The addition of missing NTP unit tests;
 - The addition of a new FTP parser implementation for MVS;
 - Various fixes to the TFPClient and NTPClient components

A list of changes can be found at 
http://jakarta.apache.org/commons/net/changes-report.html#1_4_0


_
Sign up for eircom broadband now and get a free two month trial.*
Phone 1850 73 00 73 or visit http://home.eircom.net/broadbandoffer



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




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

Re: [Fwd: [ANNOUNCEMENT] Commons-Net 1.4.0 Released]

2005-05-10 Thread Steve Cohen
Stefan Bodewig wrote:
On Tue, 10 May 2005, Steve Cohen [EMAIL PROTECTED] wrote:

In the next few weeks (months) I am intending to rework the ftp
task to take advantage of these new capabilities.

Maybe Neeme Praks' patch[1] would provide a nice starting point?
Stefan
Footnotes: 
[1]  http://marc.theaimsgroup.com/?l=ant-devm=111523085825979w=2

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

Neeme Praks was very helpful in debugging the new commons code.  I 
suggested that he modify the task.  I didn't realize that he had 
contributed the code and I will have a look at it.

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


Re: [Fwd: [ANNOUNCEMENT] Commons-Net 1.4.0 Released]

2005-05-10 Thread Steve Cohen
Jose Alberto Fernandez wrote:
Why not move the task or its new version into jakerta-commons and
provide us with
a ready to go feature full antlib. That would allow us to start
decoupling
things from the main ANT release.
Jose Alberto

I have not been as active in Ant circles as in the past.  Is decoupling 
now a strategic priority for Ant?  Can you please provide me with more 
details, examples?  I'd be happy to use that approach if that's the 
direction the community is taking.  I think it's a good idea.

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


Re: [Fwd: [ANNOUNCEMENT] Commons-Net 1.4.0 Released]

2005-05-10 Thread Steve Cohen
Steve Loughran wrote:
Jose Alberto Fernandez wrote:
From: Steve Cohen [mailto:[EMAIL PROTECTED] 


Jose Alberto Fernandez wrote:
Why not move the task or its new version into jakerta-commons and 
provide us with a ready to go feature full antlib. That 

would allow us
to start decoupling
things from the main ANT release.
Jose Alberto

I have not been as active in Ant circles as in the past.  Is 
decoupling now a strategic priority for Ant?  Can you please provide 
me with more details, examples?  I'd be happy to use that approach if 
that's the direction the community is taking.  I think it's a good idea.

My point here is that Ant's ftp/ will not be re-release until the next
release of Ant, God knows when. If you want the new features to be
available sooner
it may be a better idea the have the new task as part of jakarta-commons
or some
pluggable jar that can be released faster.
We are all under Apache so borrowing from the current code should be no
issue (am I wrong?).
We can then point people to the new ftp task provided by commons.
We may talk about cross-distribution later as we are all under apache,
but maybe a
link in our documentation to yours will be good enough. As to how define
the antlib
is almost trivial :-)
Thoughts?

There is actually one big weakness of independent releases, and that is 
you have to support older versions of Ant. I have to make sure the 
smartfrog tasks and build files work with ant1.6.x, and get deprecated 
warnings related to FileUtils when I build on 1.7, because they may be 
deprecated there but there is no alternative to their use in the 1.6 
codebase.

Moving stuff out of the main branch simplifes some things, but adds others.

Yes.  I think you're right.  As it stands now, Ant, or at least this 
optional ftp task of ant, depends on commons-net.  The suggestion that 
the ant task be moved to commons-net, is, in my opinion a non-starter 
because it would make commons-net depend on ant and I don't want to go 
down that circular path.

I admit I know next to nothing about antlib, and in fact it was nothing 
until I googled it just now.  If the code for such an ftp task were 
made to reside in such a structure (rather than in commons-net itself) 
there would be no circularity.

However, unless there is a general move to decouple ant, which I would 
support on general principles, I think these changes belong on the main 
stem of ant going forward.  There has been more than one request/bug 
report concerning these features, and these requests should be granted 
now that there is finally a means of doing so.  For the time being, 
Neeme Praks' contributions or something like them fill the gap until the 
next release.  These are not subsidiary features of commons-net and 
they should not be subsidiary features of the ant ftp task.


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


Re: [patch] FTP.java - adding support for new features in commons-net 1.4.0 and performance improvement

2005-05-10 Thread Steve Cohen
Neeme Praks wrote:
Ok, commons-net 1.4.0 has been released now.
How can we proceed?
Meanwhile I also implemented the feature of retry-on-IOException, for 
FTP task.

Stefan Bodewig wrote:

The vote has passed and release is being prepared (see below).
Hopefully it will be ready in a day or two.

Sounds good.

 Original Message 
Subject: [ANNOUNCEMENT] Commons-Net 1.4.0 Released
Date: Tue, 10 May 2005 09:22:31 +0100
From: Rory Winston [EMAIL PROTECTED]
To: announcements@jakarta.apache.org, 
commons-dev@jakarta.apache.org, commons-user@jakarta.apache.org

The Commons-Net team are pleased to announce the release of version 
1.4.0. This release provides several fixes and enhancements, including:

 - The addition of a new configuration mechanism that enables the 
FTPClient component to work with a much larger range of server formats 
and locales;
 - The addition of missing NTP unit tests;
 - The addition of a new FTP parser implementation for MVS;
 - Various fixes to the TFPClient and NTPClient components

A list of changes can be found at 
http://jakarta.apache.org/commons/net/changes-report.html#1_4_0


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

Since there is apparently an Ant 1.6.4 version coming out on May 19th 
and since Neeme Praks has already submitted a patch to accomodate it, 
why not try to get this into that release?  As the author of the 
commons-net code that Mr. Praks is relying on, and an Ant committer, I 
would be happy to take a look at his code and sponsor it for the 1.6.4 
release.

I realize that there may be other deadlines here.  What do other Ant 
committers think?

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


Re: Ant 1.6.2 - where do we stand?

2004-06-29 Thread Steve Cohen
Stefan -
I find that I am able to connect and commit.  So I guess you're right.  

But I cannot find that email anywhere in my mailbox (my apache.org mail gets 
forwarded), nor did I find anything on the commons-dev mailing list 
indicating that the vote had passed.


On Monday 28 June 2004 6:33 am, Stefan Bodewig wrote:
 On Mon, 28 Jun 2004, Steve Cohen [EMAIL PROTECTED] wrote:
  I'd do it myself,

 please do.

  but I'm wondering what is the status of the committer vote that was
  taken on me a couple of weeks ago.

 please check your apache.org mail ;-)

 You should have commit access already.

 Stefan



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



Re: Ant 1.6.2 - where do we stand?

2004-06-29 Thread Steve Cohen
Indeed you did, as I can now see.  I guess I missed it.  I wasn't looking for 
the right thing.  The things I searched for trying to find this message were 
the presence of my name in the body or subject of the email, which weren't 
there because the message was sent directly to me, and the presence of the 
word committer in the subject and body, which weren't there either, karma 
being the word you used instead.

Whatever, glad to be aboard.  Anyway, sorry to have inadvertently hijacked the 
thread.  Ant 1.6.2 - where DO we stand?


On Tuesday 29 June 2004 1:50 am, Conor MacNeill wrote:
 Steve,

 I did you a welcome to Ant email on 18-Jun to this email address.
 Anyway, whatever, the vote passed and we are glad to have you aboard as
 a committer.

 Conor

 Steve Cohen wrote:
  Stefan -
  I find that I am able to connect and commit.  So I guess you're right.
 
  But I cannot find that email anywhere in my mailbox (my apache.org mail
  gets forwarded), nor did I find anything on the commons-dev mailing list
  indicating that the vote had passed.

 -
 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: Ant 1.6.2 - where do we stand?

2004-06-28 Thread Steve Cohen
FTP task was broken in some cases by changes in commons-net.  These were fixed 
in the recent release 1.2.2 of commons-net.  All that needs to happen in ant 
now is for the docs to be updated to mandate use of commons-net 1.2.2.

I'd do it myself, but I'm wondering what is the status of the committer vote 
that was taken on me a couple of weeks ago.


On Monday 28 June 2004 6:06 am, Stefan Bodewig wrote:
 Hi all,

 we've brought the TODO file to two items and both indicate they might
 not go into 1.6.2.

 I'd like to wait for some confirmation on the Tomcat 5.x jspc issue,
 but other than that I think we could roll a 1.6.2 release candidate.

 WDYT?

 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]



[ANNOUNCEMENT][NET] jakarta-commons/net 1.2.2 Released

2004-06-26 Thread Steve Cohen
The Jakarta Commons team announces the release of version 1.2.2 of the
Jakarta Commons/Net component.  This release fixes a problem introduced with 
recently released version 1.2.0 in which file listings would not correctly 
'remember' the current directory when no directory was specified.  This had 
particularly hampered the Ant ftp task.



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



Fwd: [ANNOUNCEMENT][NET] jakarta-commons/net 1.2.1 Released (fix release)

2004-05-06 Thread Steve Cohen
Ant users wanting the autodetect-server-type functionality recently released 
as commons-net-1.2.0, should now be targeting commons-net-1.2.1.

--  Forwarded Message  --

Subject: [ANNOUNCEMENT][NET] jakarta-commons/net 1.2.1 Released (fix release)
Date: Wednesday 05 May 2004 11:33 pm
From: Steve Cohen [EMAIL PROTECTED]
To: announcements@jakarta.apache.org, commons-dev@jakarta.apache.org, 
commons-user@jakarta.apache.org

The Jakarta Commons team announces the release of version 1.2.1 of the
Jakarta Commons/Net component.  This release fixes recently released
version 1.2.0 which would not compile on versions of the Java JDK
earlier than 1.4.

Steve Cohen

-
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]



[VOTE][NET] Release commons-net 1.2.1

2004-05-05 Thread Steve Cohen
This will be a fix release to fix the problem introduced in 1.2.0 that it will 
not compile using jdk  1.4 and nothing else.

Details at http://issues.apache.org/bugzilla/show_bug.cgi?id=28775, which I've 
already fixed (and verified against jdk 1.2).

Also, per the advice of Stephen Colburne, this release will be COMPILED with 
JDK 1.3, something I did not do with 1.2.0.

This problem has been pointed out today on the jakarta-commons list and the 
ant list as well.

Daniel Savarese has already voted +1 and now, so do I.

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



Fwd: [ANNOUNCEMENT][NET] jakarta-commons/net 1.2 Released

2004-05-03 Thread Steve Cohen
Those Ant users (of version 1.6.0 or above) who use or who would like to use 
the ftp task against non-unix ftp servers but have found it to fail there 
should  replace the existing version of commons-net.jar on their Ant 
classpath with this one.  It can autodetect the type of server it is 
accessing and react accordingly.

The only other requirement is that a version of jakarta-oro.jar  2.0.1 also 
be on the classpath, but this has been the case since the release of ant 
1.6.0 for using the ftp task.---BeginMessage---

The Jakarta Commons team is pleased to announce the release of version
1.2.0 of the Jakarta Commons/Net component.

Commons/Net is an Internet protocol suite Java library which supports
Finger, Whois, TFTP, Telnet, POP3, FTP, NNTP, SMTP, and some miscellaneous
protocols like Time and Echo as well as BSD R command support.

This release adds, for the first time, autodetection of FTP server type
when retrieving an FTP listing  so that non-unix FTP servers can
automatically provide usable listings with valid dates, etc. Server types
supported in this are Windows NT, OS2, VMS, OS400.  Formerly only unix was
supported in this way.

This enables its automatic use in Ant's FTP task, for example,  for these
server types as well as the original unix.

Steve Cohen



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



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

Fwd: [ANNOUNCEMENT][NET] jakarta-commons/net 1.2 Released

2004-05-01 Thread Steve Cohen
With the release of jakarta-commons/net 1.2, I would like to propose that Ant 
update its use of commons/net to use this new version in time for the next 
version which I see is being discussed.  

Doing so should greatly reduce the incidence of complaints about the FTP task 
when run against non-unix servers.  1.2 automatically detects the server 
type, recognizing, in addition to unix, which was supported in all previous 
versions, NT, OS2, VMS and OS400 servers.

This functionality will work out of the box if this version of commons-net is 
used.

I will also be preparing a patch that would enable parsers that cannot be 
autodetected, including user-developed FTP list parsers, to be plugged into 
the ant task.

There is also some verbiage under the FTP task that should be changed to 
reflect this.---BeginMessage---

The Jakarta Commons team is pleased to announce the release of version
1.2.0 of the Jakarta Commons/Net component.

Commons/Net is an Internet protocol suite Java library which supports
Finger, Whois, TFTP, Telnet, POP3, FTP, NNTP, SMTP, and some miscellaneous
protocols like Time and Echo as well as BSD R command support.

This release adds, for the first time, autodetection of FTP server type
when retrieving an FTP listing  so that non-unix FTP servers can
automatically provide usable listings with valid dates, etc. Server types
supported in this are Windows NT, OS2, VMS, OS400.  Formerly only unix was
supported in this way.

This enables its automatic use in Ant's FTP task, for example,  for these
server types as well as the original unix.

Steve Cohen



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



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

Re: possible patch for FTP task

2004-03-24 Thread Steve Cohen
I won't comment on the quality of Mr. Peer's patch, but, in response to 
Antoine's question I would say that Ant and not commons-net is the proper 
place to handle this.  Commons-net's FTPClient class has no concept of a 
session during which a connection stays open to perform multiple tasks.  
Nor are there methods there for getting a list of files. The Ant code is 
building a collection of files to transfer, and then, one-by-one, calling 
getFile(), sendFile() etc., on a connection that it has opened.  In other 
words, Ant is already managing the session and it can hardly be otherwise.  
Therefore if this functionality is desired, I believe that Ant is the right 
place to implement it.

I might also suggest looking into why the ftp server is resetting so often.  
There might be simpler server-level fix that could make this problem go away.


On Tuesday 23 March 2004 3:28 pm, Antoine Lévy-Lambert wrote:
 Hi Joe,

 I suggest you create a bugzilla report (
 http://issues.apache.org/bugzilla) concerning this, and you attach your
 patch there.
 I am not sure however whether this problem should best be handled in the
 ant task or in commons-net.

 I hope that Steve Cohen will see these postings.

 Cheers,

 Antoine

 Joe Peer wrote:
  dear Ant developers,
 
  today i tried the FTP task and I ran into the problem that my FTP
  server (runs on windows) resetted the connections quite frequently
  (i've used the most recent versions of ant and commons-net), resulting
  in an abort of the FTP task and build failure.
 
  Therefore, i slightly adjusted the sourcecode of
  org.apache.tools.ant.taskdefs.optional.net.FTP to re-connect to the
  server in case of an error, just like many of the GUI based FTP
  clients do (e.g. SmartFTP).
 
  I have added an attribute maxAttempts to define how often the FTP
  task should re-connect/retry before it gives up (default value is 1,
  to ratain un-patched behavior).
 
  pls. let me know if you think that this patch could be helpful and
  where i should send it to,
 
  kind regards,
  Joe Peer

 -
 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: Incorrect documentation of FTP task [net]

2004-02-18 Thread Steve Cohen
On Tuesday 17 February 2004 10:11 am, Dominique Devienne wrote:
  From: Steve Cohen [mailto:[EMAIL PROTECTED]
 
  While it is true that the CVS HEAD of commons-net is required and while
  it is
  true that jakarta-oro is required (jakarta-oro is now required for any
  uses
  of the ftp task using commons-net), I don't believe it is true that 2.0.8
  of
  oro is required.  As far as I know, any jakarta-oro verson greater than
  VERSION 2.0.1 will work.  Certainly, the latest commons-net code takes no
  special advantage of the latest oro-code.

 Why can't commons-net use java.util.regex when running under JDK1.4+,
 rather than requiring Jakarta-oro, when a good Regular Expression is
 already built in? Ant already does this (use ORO or JDK regex). Thanks,
 --DD

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

To have relied on the JDK regex would tie commons-net to JDK 1.4+ unless we 
could somehow have managed this conditiionality.  The decision to go with oro 
was made when JDK 1.4 was in much less widespread use, and may even have come 
before the release of 1.4.   How does Ant do it?  Is Ant now using 
preprocessed code?  Please point me at the place in ant where you accomplish 
this.

This comes up more frequently now in Ant because Ant 1.6 made the switch to 
commons-net from NetComponents.  NetComponents did not rely on oro because it 
did not do regular expression parsing of the listings.  It was also much less 
flexible because of that - it could only handle unix FTP servers.  Using 
regexes opened up a path to implement support of other server types more 
easily.


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



Re: Incorrect documentation of FTP task [net]

2004-02-18 Thread Steve Cohen
On Tuesday 17 February 2004 8:27 pm, Steve Cohen wrote:
 On Tuesday 17 February 2004 10:11 am, Dominique Devienne wrote:
   From: Steve Cohen [mailto:[EMAIL PROTECTED]
  
   While it is true that the CVS HEAD of commons-net is required and while
   it is
   true that jakarta-oro is required (jakarta-oro is now required for any
   uses
   of the ftp task using commons-net), I don't believe it is true that
   2.0.8 of
   oro is required.  As far as I know, any jakarta-oro verson greater than
   VERSION 2.0.1 will work.  Certainly, the latest commons-net code takes
   no special advantage of the latest oro-code.
 
  Why can't commons-net use java.util.regex when running under JDK1.4+,
  rather than requiring Jakarta-oro, when a good Regular Expression is
  already built in? Ant already does this (use ORO or JDK regex). Thanks,
  --DD
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]

 To have relied on the JDK regex would tie commons-net to JDK 1.4+ unless we
 could somehow have managed this conditiionality.  The decision to go with
 oro was made when JDK 1.4 was in much less widespread use, and may even
 have come before the release of 1.4.   How does Ant do it?  Is Ant now
 using preprocessed code?  Please point me at the place in ant where you
 accomplish this.

 This comes up more frequently now in Ant because Ant 1.6 made the switch to
 commons-net from NetComponents.  NetComponents did not rely on oro because
 it did not do regular expression parsing of the listings.  It was also much
 less flexible because of that - it could only handle unix FTP servers. 
 Using regexes opened up a path to implement support of other server types
 more easily.


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

Answering my own question, I now see what Ant is doing - in the 
ant/src/main/org/apache/tools/ant/util/regexp package.

http://cvs.apache.org/viewcvs.cgi/ant/src/main/org/apache/tools/ant/util/regexp/

You've built an interface to encapsulate the choice in regex implementations 
with automatic checking.  Sweet!  Perhaps we could port it to commons-net - 
it's too ant-specific as it stands.  But, do we really want all jars used by 
ant to make their own copy of this functionality?  I don't think so.  That 
starts to get messy really quick.

Perhaps this checker mechanism could be ported to commons (a la 
commons-logging).  Then it could be available to other clients, in 
particular, to commons clients.  But of course then we'd be requiring yet 
another jar in order to use ant!  Doh!  Unless this jar were on the DEFAULT 
classpath of ant.  

I think we ought to think seriously about what we are doing here before we 
rush into coding anything like this.

There is also another ant task that unconditionally requires oro, by the way - 
perforce.

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



Re: Incorrect documentation of FTP task [net]

2004-02-18 Thread Steve Cohen
This is all true, Daniel, but I think the initial motivation of Dominique 
Devienne was to REMOVE the requirement that oro be on ant's runtime classpath 
when running the ftp taks, not to make oro a central dispatch point for other 
regex processors.  In case it wasn't clear, I don't really support Dominique 
on this, unless it can be done right which is not quite so trivial becasue 
the wrong ways  simply replace the requirement to use one jar with the 
requirement to use another.  

At the end of the day, is it that hard to put a jar on your classpath?




On Wednesday 18 February 2004 1:05 am, Daniel F. Savarese wrote:
 In message [EMAIL PROTECTED], Steve Cohen writes:
 You've built an interface to encapsulate the choice in regex
  implementations with automatic checking.  Sweet!  Perhaps we could port
  it to commons-net -

 ...

 Perhaps this checker mechanism could be ported to commons (a la
 commons-logging).  Then it could be available to other clients, in
 particular, to commons clients.  But of course then we'd be requiring yet

 ...

 I think we ought to think seriously about what we are doing here before we
 rush into coding anything like this.

 *sigh*  No one ever brings these things up on the oro or regexp mailing
 lists.  This is one of those really easy things to do with oro, which
 most folks don't realize implements three different regular expression
 engines.  I know I promised to do the vpp-based conditional compilation
 to provide a J2ME/JDK1.1 compatible version of oro, but I just haven't
 found the time.  This however is easy stuff.  I just added two new
 interfaces to org.apache.oro.text.regex: PatternMatchingEngine and
 PatternCompilerOptions.  I implemented these interfaces for the
 Perl5, Awk, and Glob engines.  I then wrote a PatternMatchingEngineFactory
 class to generate engines.  You can put the J2SE 1.4 detection code
 in there and add an org.apache.oro.text.java package that wraps
 java.util.regex.  All you have to do is implement PatternMatcher,
 PatternCompiler, and Pattern for J2SE 1.4.  If someone will step up
 to do this, I'm sure the PMC will grant commit access immediately.
 I'd actually rather if all of jakarta had commit access to oro for
 this very kind of situation.  When you don't have commit access, there
 is sometimes a tendency to reinvent the wheel.

 I've appended a modified version of the grep example that shows how
 you might pick an engine based on a set of preferences.  At any rate,
 I very much thing oro is the place for generic regular expression
 engine support since it was designed with that in mind from the
 start (although the pattern compilation options could have been
 abstracted better at its genesis).  I invite anyone and everyone to
 do a checkout of the latest jakarta-oro files in CVS and start
 improving my 30 minute hack.

 daniel


 package examples;

 import java.io.*;
 import java.util.*;

 import org.apache.oro.text.*;
 import org.apache.oro.text.regex.*;

 /**
  * This is a no-frills implementation of grep that demos the use of
  * PatternMatchingEngineFactory to choose different
  * regular expression engines.  It performs case insensitive matching
  * to demonstrate the use of the PatternCompilerOptions interface.
  *
  * @version @version@
  */
 public final class engineExample {
   static int _file = 0;

   static final String[] _preferences = {
 PatternMatchingEngineFactory.JAVA_KEY,
 PatternMatchingEngineFactory.PERL5_KEY,
 PatternMatchingEngineFactory.POSIX_KEY,
 PatternMatchingEngineFactory.AWK_KEY,
 PatternMatchingEngineFactory.GLOB_KEY
   };

   // args[] is declared final so that Inner Class may reference it.
   public static final void main(final String[] args) {
 PatternMatchingEngineFactory factory;
 PatternMatchingEngine engine = null;
 PatternCompiler compiler;
 PatternCompilerOptions options;
 PatternMatcher matcher;
 MatchActionProcessor processor;
 int mask;

 if(args.length  2) {
   System.err.println(Usage: grep pattern filename ...);
   System.exit(1);
 }

 factory = new PatternMatchingEngineFactory();

 // Demonstration of choosing engine based on preferences.
 for(int i = 0; i  _preferences.length; ++i) {
   if(factory.containsKey(_preferences[i])) {
 engine = factory.get(_preferences[i]);
 break;
   }
 }

 if(engine == null)
   engine = factory.get(PatternMatchingEngineFactory.DEFAULT_KEY);

 compiler = engine.createCompiler();
 matcher  = engine.createMatcher();
 options  = engine.getOptions();
 mask = options.getMask(PatternCompilerOptions.CASE_INSENSITIVE);
 processor = new MatchActionProcessor(compiler, matcher);

 try {
   if(args.length  2) {
   // Print filename before line if more than one file is specified.
   // Rely on file to point to current file being processed.
   processor.addAction(args[0], mask, new MatchAction() {
 public void

Incorrect documentation of FTP task

2004-02-17 Thread Steve Cohen
I see that someone has tried to incorporate my suggestion for using the latest 
commons-net.jar in order to use ant's ftp task with NT-based servers.  
However, the documentation is not quite correct.  It says:

To use the FTP task with Microsoft FTP servers, you need CVS HEAD of 
commons-net and jakarta-oro after 2004-02-01 or a release of commons-net 
after 1.1.0 and jakarta-oro after 2.0.8.

While it is true that the CVS HEAD of commons-net is required and while it is 
true that jakarta-oro is required (jakarta-oro is now required for any uses 
of the ftp task using commons-net), I don't believe it is true that 2.0.8 of 
oro is required.  As far as I know, any jakarta-oro verson greater than 
VERSION 2.0.1 will work.  Certainly, the latest commons-net code takes no 
special advantage of the latest oro-code.

So while users do need to get the latest commons-net code to take advantage of 
this, I think they don't really need to upgrade their jakarta-oro jar above 
what ant uses, although it can't hurt anything.

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



optional jars

2004-02-17 Thread Steve Cohen
Can someone please clarify the optional jar requirement for ant = 1.6?  The 
manual says in one place that you must build ant with the library 
dependencies present, and in another place (Installing ant-Optional Tasks) it 
states that you can simply drop the dependency jar into ant's lib directory 
(making no mention of building).  I know building was required pre 1.6 but 
I'm not sure what the status is post 1.6.  There's a guy asking this question 
now on the user's list in regard to the FTP task and I don't want to steer 
him wrong.

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



Re: ant 1.6.1

2004-01-16 Thread Steve Cohen
On Friday 16 January 2004 4:56 am, Steve Loughran wrote:
 Steve Cohen wrote:
  Another issue to consider.  I don't know if it's strictly a 1.6.1 issue
  or further down the line but the ant developers should consider it.
 
  I have been working with the jakarta-commons/net project to create a more
  capable system, able to detect what system its FTPClient class is
  connecting with.   You may remember several complaints over the last
  couple of months about our ftp task not working on non-unix ftp
  servers.  The improvements in commons/net will allow the correct server
  to be auto-detected in the most common cases, and in those odd cases
  where this is not possible, it will be possible to indicate explicitly
  which parser is to be used (i.e. in ant, a new parameter to the task).
 
  Thus it will be possible to rewrite our ftp task to solve these long
  standing problems.
 
  This version of commons-net (1.2.0) has not yet been released but can
  probably be released in less than a week.
 
  It seems from this thread that these changes will come too late for ant
  1.6.1. Please correct me if that's wrong.  Can someone tell me what
  plans, if any, are contemplated for ant 1.6.2?

 I'd prefer to target this as a 1.7 rework, as it would have side effects
 (specifically, need a newer version of commons.net)


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

To be honest, this is the response I was expecting, and it makes sense.  In 
fact, without any changes to Ant, simply dropping in the 1.2.0 release of 
commons-net (when it's released) will gain the advantage of autodetection for  
Unix, Windows NT, OS/2 and VMS ftp systems.  It is only for any outliers to 
this group that Ant would have to be recoded.  Realizing this, I would say 
it's better to wait until 1.7 (but why not 1.6.2?)




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



Re: New Launcher and JPackage RPMs

2004-01-16 Thread Steve Cohen
Well, we at commons-net would have been rushing the release to meet ant's 
deadline and there are internal refactorings which we would have liked to 
have included that we were planning to postpone in the rush, but now will 
take the time to get right, so I doubt that commons-net-1.2.0 will be done in 
time for ant 1.6.1 and therefore we shouldn't update the ant manual just yet. 

I think the best procedure will be for commons-net to work at it's own best 
pace and when it's done, notify the ant list, via bugzilla and via posts to 
the ant-dev and ant-user lists.  At that point, any ant users needing this 
functionality would be able to grab the commons-net-1.2.0 jar and get the 
basic functionality.  At that point also, coding could begin on the HEAD 
branch of ant and the documentation in time for 1.7 (or maybe 1.6.2 if that 
comes to pass).



On Friday 16 January 2004 9:31 am, Antoine Lévy-Lambert wrote:
 Peter Reilly wrote:
  Antoine Lévy-Lambert wrote:
  I am +1 to get this into ant 1.6.1.
 
  (in relation to static map of jarfile-manifest class path in
  AntClassLoader2).
 
  Ok I will commit that.
 
  Another optimization I tried was a quick hack to DefBase to have a
  static field containing the default classloader, so it
  gets set once.  This did speed up the typedef the second and
  subsequent times and reduced the
  time for the test to 1.6 second (from 3 and thus below the 1.5.4 times
  (2 second) when using the crimson xml parser).

 Sounds useful.

  However it is a complete hack, and does not deal with non-default
  classpaths  like:
  typedef classpath=${antlib.jar}
  resource=net/sf/antcontrib/antcontrib.properties/

 Do you mean : your change is bringing an optimization for taskdefs which
 are done based on jars which have already been loaded by the launcher,
 presumably because they are in $ANT_HOME/lib or in a -lib directory  ?
 And not if the taskdef is requiring extra jars or directories which were
 not included when ant got started ?

 Cheers,

 Antoine



 -
 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: New Launcher and JPackage RPMs

2004-01-16 Thread Steve Cohen
Please ignore.  This last comment by me was added in a reply to the wrong 
message.

On Friday 16 January 2004 11:18 am, Steve Cohen wrote:
 Well, we at commons-net would have been rushing the release to meet ant's
 deadline and there are internal refactorings which we would have liked to
 have included that we were planning to postpone in the rush, but now will
 take the time to get right, so I doubt that commons-net-1.2.0 will be done
 in time for ant 1.6.1 and therefore we shouldn't update the ant manual just
 yet.

 I think the best procedure will be for commons-net to work at it's own best
 pace and when it's done, notify the ant list, via bugzilla and via posts to
 the ant-dev and ant-user lists.  At that point, any ant users needing this
 functionality would be able to grab the commons-net-1.2.0 jar and get the
 basic functionality.  At that point also, coding could begin on the HEAD
 branch of ant and the documentation in time for 1.7 (or maybe 1.6.2 if that
 comes to pass).

 On Friday 16 January 2004 9:31 am, Antoine Lévy-Lambert wrote:
  Peter Reilly wrote:
   Antoine Lévy-Lambert wrote:
   I am +1 to get this into ant 1.6.1.
  
   (in relation to static map of jarfile-manifest class path in
   AntClassLoader2).
  
   Ok I will commit that.
  
   Another optimization I tried was a quick hack to DefBase to have a
   static field containing the default classloader, so it
   gets set once.  This did speed up the typedef the second and
   subsequent times and reduced the
   time for the test to 1.6 second (from 3 and thus below the 1.5.4 times
   (2 second) when using the crimson xml parser).
 
  Sounds useful.
 
   However it is a complete hack, and does not deal with non-default
   classpaths  like:
   typedef classpath=${antlib.jar}
   resource=net/sf/antcontrib/antcontrib.properties/
 
  Do you mean : your change is bringing an optimization for taskdefs which
  are done based on jars which have already been loaded by the launcher,
  presumably because they are in $ANT_HOME/lib or in a -lib directory  ?
  And not if the taskdef is requiring extra jars or directories which were
  not included when ant got started ?
 
  Cheers,
 
  Antoine
 
 
 
  -
  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]


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



Re: ant 1.6.1

2004-01-16 Thread Steve Cohen
Well, we at commons-net would have been rushing the release to meet ant's 
deadline and there are internal refactorings which we would have liked to 
have included that we were planning to postpone in the rush, but now will 
take the time to get right, so I doubt that commons-net-1.2.0 will be done in 
time for ant 1.6.1 and therefore we shouldn't update the ant manual just yet. 

I think the best procedure will be for commons-net to work at it's own best 
pace and when it's done, notify the ant list, via bugzilla and via posts to 
the ant-dev and ant-user lists.  At that point, any ant users needing this 
functionality would be able to grab the commons-net-1.2.0 jar and get the 
basic functionality.  At that point also, coding could begin on the HEAD 
branch of ant and the documentation in time for 1.7 (or maybe 1.6.2 if that 
comes to pass).


On Friday 16 January 2004 10:28 am, Peter Reilly wrote:
 Steve Cohen wrote:
 On Friday 16 January 2004 4:56 am, Steve Loughran wrote:
 Steve Cohen wrote:
 Another issue to consider.  I don't know if it's strictly a 1.6.1 issue
 or further down the line but the ant developers should consider it.
 
 I have been working with the jakarta-commons/net project to create a
  more capable system, able to detect what system its FTPClient class is
  connecting with.   You may remember several complaints over the last
  couple of months about our ftp task not working on non-unix ftp
  servers.  The improvements in commons/net will allow the correct server
  to be auto-detected in the most common cases, and in those odd cases
  where this is not possible, it will be possible to indicate explicitly
  which parser is to be used (i.e. in ant, a new parameter to the task).
 
 Thus it will be possible to rewrite our ftp task to solve these long
 standing problems.
 
 This version of commons-net (1.2.0) has not yet been released but can
 probably be released in less than a week.
 
 It seems from this thread that these changes will come too late for ant
 1.6.1. Please correct me if that's wrong.  Can someone tell me what
 plans, if any, are contemplated for ant 1.6.2?
 
 I'd prefer to target this as a 1.7 rework, as it would have side effects
 (specifically, need a newer version of commons.net)
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 To be honest, this is the response I was expecting, and it makes sense. 
  In fact, without any changes to Ant, simply dropping in the 1.2.0 release
  of commons-net (when it's released) will gain the advantage of
  autodetection for Unix, Windows NT, OS/2 and VMS ftp systems.  It is only
  for any outliers to this group that Ant would have to be recoded. 
  Realizing this, I would say it's better to wait until 1.7 (but why not
  1.6.2?)

 Since it does not involve any changes to ant, the only change would be a
 doc change
 in the manual ?

 Rewriting the ftp task would be a 1.7 activity.
 Peter

 -
 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]


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



Re: ant 1.6.1

2004-01-15 Thread Steve Cohen
Another issue to consider.  I don't know if it's strictly a 1.6.1 issue or 
further down the line but the ant developers should consider it.

I have been working with the jakarta-commons/net project to create a more 
capable system, able to detect what system its FTPClient class is connecting 
with.   You may remember several complaints over the last couple of months 
about our ftp task not working on non-unix ftp servers.  The improvements 
in commons/net will allow the correct server to be auto-detected in the most 
common cases, and in those odd cases where this is not possible, it will be 
possible to indicate explicitly which parser is to be used (i.e. in ant, a 
new parameter to the task).

Thus it will be possible to rewrite our ftp task to solve these long 
standing problems.

This version of commons-net (1.2.0) has not yet been released but can probably 
be released in less than a week.

It seems from this thread that these changes will come too late for ant 1.6.1.  
Please correct me if that's wrong.  Can someone tell me what plans, if any, 
are contemplated for ant 1.6.2?

Steve Cohen


On Thursday 15 January 2004 9:50 am, Antoine Lévy-Lambert wrote:
 Hi,

 do we want to make ant 1.6.1 next week ?

 I could release 1.6.1 on Thursday, Jan 22 in the evening (my usual 11pm
 to 12pm CET)

 do we need to make a beta before the release ?

 Antoine

 -
 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: [VOTE] Jose Alberto Fernandez as committer

2003-12-12 Thread Steve Cohen
I have no vote, but if I did it would be +1.  I was surprised to learn, a few 
weeks ago, that Jose was not a committer.


-Original Message-
From: Antoine Lévy-Lambert [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 12, 2003 4:09 AM
To: Ant Developers List
Subject: [VOTE] Jose Alberto Fernandez as committer


Hi,

I would like to propose a vote for Jose Alberto Fernandez as new ant 
committer.

Jose has expressed a lot of interest in ant, and had made a very 
interesting antlib proposal.

His contributions to the discussions on the dev list are always interesting.

Let me begin with my +1.

Antoine

-
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: groovy and ant

2003-12-12 Thread Steve Cohen
At first I thought you were making a joke, but I now see that these are
serious people.  More info on this language can be found at
http://wiki.codehaus.org/groovy/FrontPage

-Original Message-
From: Peter Reilly [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 12, 2003 9:54 AM
To: Ant Developers List
Subject: groovy and ant


Goovy is a new language. It looks like they have a nice
ant builder class:

ant = *new* AntBuilder()

/// lets just call one task
/ant.echo(*hello*)

/// heres an example of a block of Ant inside GroovyMarkup
/ant.sequential {
echo(*inside sequential*)

myDir = *target/AntTest/*

mkdir(dir:myDir) 
copy(todir:myDir) {
fileset(dir:*src/test*) {
include(name:***/*.groovy*)
}
}

echo(*done*)
}

from:
http://cvs.groovy.codehaus.org/viewcvs.cgi/groovy/groovy-core/src/test/g
roovy/util/AntTest.groovy?rev=HEADview=auto

-
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: bug fixes!! WAS: ant 1.6beta3 released

2003-12-09 Thread Steve Cohen
There are improvements to commons-net over the old NetComponents to
handle Windows FTP servers.  However, the ant tasks would need to be
recoded to take advantage of these.

-Original Message-
From: Stefan Bodewig [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, December 09, 2003 1:48 AM
To: [EMAIL PROTECTED]
Subject: Re: bug fixes!! WAS: ant 1.6beta3 released


On Mon, 8 Dec 2003, Filip Hanik [EMAIL PROTECTED] wrote:

snip

 3. FTP - I have a file parser for Windows FTP servers, modified the 
 FTP task to take a parameter for which OS the FTP server is. Even 
 better would be if it could auto detect.

I'm not sure, maybe commons-net can already do that?  I'd prefer to see
fixes in that area to go upstreams so that all customers of commons-net
can take advantage of them.

snip



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



RE: bug fixes!! WAS: ant 1.6beta3 released

2003-12-09 Thread Steve Cohen
Yes, I wrote the changes to commons-net several months ago.
NetComponents only had support for unix ftp systems, with some
documentation
about how to roll your own i.e. write your own implementations of
their interface.  Not very suitable for ant.  

One developer wrote some simple parsers and I enhanced these.  You can
find the different parsers in the package
org.apache.commons.net.ftp.parser.  However, be careful with the
documentation, especially the documentation under the class
org.apache.commons.net.ftp.parser.NTFTPEntryParser.  The usage section
there seems to be a bit out of date. 

There is more up to date documentation in the javadoc comment in the
file org.apache.commons.net.ftp.FTPClient.java, under the method
createFileList(FTPFileEntryParser parser).  For some reason I do not
understand, this usage information did not make it into the javadoc that
is actually displayed on the commons-net javadoc site.

Basically, as I see it, the ant task would be rewritten to allow
specification of the system types.  It would decode this attribute to
allow a FTPFileEntryParser object to be instantiated, and then use that
object as described in this documentation.  

Frankly, it would be a wonderful thing if the ant-user community found
other types of FTP systems not supported or incorrectly supported in
commons-net and then commons-net could be updated with even better
support.

I would be happy to volunteer for this task myself, except that at the
moment I am about to be unemployed and may or may not have a job right
away.  If I do not, this might be a good way to spend my time in between
interviews and pounding the pavement looking for work.  If I get a new
job soon, I may not have time.  But at least I have moved my
subscription to this list away from my work email address and will be
able to follow the discussions from home.

-Original Message-
From: Antoine Levy-Lambert [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, December 09, 2003 9:21 AM
To: Ant Developers List
Subject: AW: bug fixes!! WAS: ant 1.6beta3 released


Hi Steve,

can you explain what needs to be done to take advantage of what
commons-net is doing ?

do we not get it automatically ?

BTW I have tested the ftp task in ant1.6 against 3 sorts of ftp servers
(GNU Inetutils, Hummingbird, FreeBSD). Not against a Microsoft ftp
server.

Cheers,

Antoine

-Ursprungliche Nachricht-
Von: Steve Cohen [mailto:[EMAIL PROTECTED]
Gesendet: Dienstag, 9. Dezember 2003 16:14
An: Ant Developers List
Betreff: RE: bug fixes!! WAS: ant 1.6beta3 released


There are improvements to commons-net over the old NetComponents to
handle Windows FTP servers.  However, the ant tasks would need to be
recoded to take advantage of these.

-Original Message-
From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 09, 2003 1:48 AM
To: [EMAIL PROTECTED]
Subject: Re: bug fixes!! WAS: ant 1.6beta3 released


On Mon, 8 Dec 2003, Filip Hanik [EMAIL PROTECTED] wrote:

snip

 3. FTP - I have a file parser for Windows FTP servers, modified the 
 FTP task to take a parameter for which OS the FTP server is. Even 
 better would be if it could auto detect.

I'm not sure, maybe commons-net can already do that?  I'd prefer to see
fixes in that area to go upstreams so that all customers of commons-net
can take advantage of them.

snip



-
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]


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



test

2003-12-01 Thread Steve Cohen
test


RE: Ant 1.6 local and macrodef attributes

2003-11-29 Thread Steve Cohen
moving this discussion to ant dev list and including Jacob Kjome

Thanks, Jacob, for continuing to pursue this, and deepening my awareness of the 
problem.

I appreciate your dilemma, even though I still agree with what has become 
consensus that textual substitution is right for macrodef.  The whole 
business with the scope of properties is already complicated enough.  The 
local patch or something like it will be necessary to solve your use case.  
But is local the right thing?  Maybe we need to think more generally (not, 
heaven forbid, for 1.6!!!) about tasks that return values in properties and how 
these should be implemented in the context of macrodefs.

The key point is that when such a property was called inside of an antcall that 
created a property locally within the execution context of the antcall call.  
Textual substitution destroys that.  A macrodef looks like a separate 
execution context but is not, at least not as currently set up.

Since that is unlikely to be resolved in time for 1.6, can we suggest a 
workaround for the interim?

I think we can.  It's a bit ugly, but it does allow us to replace macrodefs 
calling tasks that return properties, even without local.  We just add one 
level of indirection.

Instead of this:

macrodef name=A
   attribute name=test.file/
   sequential
  available property=file.available value = yes file=@{test.file}/
  property name=file.available value=no/
  echoIs @{test.file} available? ${file.available}./echo
   /sequential
/macrodef
...
A test.file=foo.bar/
...
A test.file=bar.food/

where the problem is that the property file.available cannot be redefined a 
second time now because the macrodef lives outside of any target and this 
property therefore resides on top level

we can instead do this:

macrodef name=A2
   attribute name=test.file/
   attribute name=available.prop/
   sequential
  available property=@{available.prop}
 value = yes
 file=@{test.file}/
  property name=@{available.prop} value=no/
  echoIs @{test.file} available? [EMAIL PROTECTED]/echo
   /sequential
/macrodef
...
A2 test.file=foo.bar available.prop=foo.bar.available/
...
A2 test.file=bar.food available.prop=peanuts.available/

This is annoyingly less simple than local but still allows macrodef to be 
used in 1.6 with tasks that return values in properties.  I am assuming that
[EMAIL PROTECTED] would be handled correctly by textual expansion.  Someone 
please correct me if I'm wrong.




-Original Message-
From:   Jacob Kjome [mailto:[EMAIL PROTECTED]
Sent:   Fri 11/28/2003 6:39 PM
To: Ant Users List
Cc:   
Subject:RE: Ant 1.6 local and macrodef attributes

Thanks for explaining that Peter.

I took a look and found your latest proposal here...
http://marc.theaimsgroup.com/?l=ant-devm=106993855725136w=2

Seems that Stefan liked it...
http://marc.theaimsgroup.com/?l=ant-devm=106994393230831w=2

So, I guess that means that proposal #1 below is going to be implemented
for Ant-1.6.  However, does this still leave local properties out to
dry?  I'm totally fine with using @{x} syntax for attributes, but macrodef
is still mostly useless to me unless I can do...

macrodef name=A
 attribute name=test.file/
 sequential
local name=file.available/ !-- this is the part that makes
this macrodef non-useless. --
available property=file.available value = yes
file=@{test.file}/
property name=file.available value=no/
echoIs @{test.file} available? ${file.available}./echo
 /sequential
/macrodef


Jake

At 06:33 PM 11/27/2003 +, you wrote:
Hi Jacob,
Most of this discussion is on the dev listing.
I can understand your confusion.

A brief history.
(You can search with keyword local at
http://marc.theaimsgroup.com/?l=ant-devr=1w=2
to get the full gory details)

When macrodef was written originally, attributes
were (and are) implemented as textual substitution.
This was ok but they looked like normal properties
(using the ${x} notation). This caused a lot of
debate/confusion but I resisted changing the notation as I
do not like using different notation.

After using macrodefs for a little while I and other
people became aware that ant uses properties for
passing information between tasks and only having
non-mutable properties reduce the usefulness of
macrodefs a lot.

One can use ant-contrib's propertyregex and (via antelope)
var, and just overwrite properties - but this felt
like a big hack.

So one week-end I said what the heck and attempted to
implement local properties. It when through a number
of iterations.

When this was done, I realized that attributes could
be implemented by local properties and the problems
with notation would go away.

This interpretation of reality was not (to say the
least) universally accepted.

After the 1000'th e-mail explaining what was wrong
with this, I realized that there may be a point
in the argument.

So now there is two proposals:

1) to 

RE: Macrodef attributes and Local revisited again

2003-11-27 Thread Steve Cohen
Peter - 
but if macrodef properties are to be implemented as textual substitution
and not as local properties, the two issues can be separated.

Did you mean to say but if macrodef ATTRIBUTES are to be implemented as 
textual substitution and not as local properties ...

Or are you talking about properties defined within the execution of a call to 
a macrodef?

-Original Message-
From:   Peter reilly [mailto:[EMAIL PROTECTED]
Sent:   Thu 11/27/2003 7:08 AM
To: [EMAIL PROTECTED]
Cc: 
Subject:Macrodef attributes and Local revisited again
Yesterday I said that macrodef attributes should be implemented as
properties and not as textual substitution.

On overnight reflection, I have changed by mind.

MacroDef has been using textual substitution in the ant beta
builds without much problems (*.. well not quite see below).
The only issue is the notation used is the same as for properties.

The proposed new notation is @{x} where x is the attribute.

I have implemented the new notation and added the following:

 * the escape sequence @@{x} is used to allow @{x} to be
   placed in the text without substitution of x. - this
   corresponds to the $${x} escape sequence for properties.
 * the macro replacement is now done on the default values for
   the attributes - this allows Jan's use case to work:

  target name=jan
macrodef name=dep
  attribute name=root/
  attribute name=file default=@{root}.dep/
  sequential
script language=javascript ![CDATA[
// attribute expansion from macrodef (script cant reach the
//   values)
root = @{root};
file = @{file};
importClass(java.lang.System);
System.out.println(
   root is  + root +  and file is  + file);
 ]]
/script
  /sequential
/macrodef

dep root=foo/
  /target

This prints out
jan:
   [script] root is foo and file is foo.dep

The order of the attributes is important - 
macrodef name=dep
  attribute name=file default=@{root}.dep/
  attribute name=root/
will set file to @{root}.dep.


A problem encountered in using macrodef for any not trivial macros
is the need to isolate the use of properties.
For this I have proposed using the local property patch, but if
macrodef properties are to be implemented as textual substitution
and not as local properties, the two issues can be separated.



-
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: Ant 1.6 local and macrodef attributes

2003-11-26 Thread Steve Cohen
Not a committer but my votes on Jose's ballots:

1) Vote on @{x} as the syntax for textual substitutions
of attributes in macrodef.
+1

2) Vote on local, must include decision on syntax,
scope (i.e., passing things on ant  co., etc.)
I do not think all these have been settle.
0

-Original Message-
From:   Jose Alberto Fernandez [mailto:[EMAIL PROTECTED]
Sent:   Wed 11/26/2003 6:15 AM
To: Ant Developers List
Cc: 
Subject:RE: Ant 1.6 local and macrodef attributes
Here is my proposal for you guys to vote on.
Two completely separate votes:

1) Vote on @{x} as the syntax for textual substitutions
of attributes in macrodef.

Once this is settle, we can move on releasing macrodef
in B3 with its fixed syntax. 

2) Vote on local, must include decision on syntax,
scope (i.e., passing things on ant  co., etc.)
I do not think all these have been settle.

If (2) is resolved and acepted on 1.6, then Peter
gets most of what he wants, if not, then at least
we can release move on on the rest of ANT.

Jose Alberto

 From: peter reilly [mailto:[EMAIL PROTECTED] 
 
 
 On Wednesday 26 November 2003 11:09, Stefan Bodewig wrote:
  On Wed, 26 Nov 2003, peter reilly [EMAIL PROTECTED] wrote:
   a)
   I sent a vote last week on local properties
   and the result was:
  committers  others (+ votes in 
 bugzilla)
  have local in ant 1.6   2   1 + 6
  not 0   0
  +0  1   0
  
   Based on this and other feedback I think that local does 
 belong in 
   ant 1.6.
 
  I agree with your opinion (that locals should be there, 
 after all I'm 
  one of the two +1s), but disagree with the conclusion that this is 
  going to happen.  2 +1s is simply not enough to make a vote pass.
 
  I'm not trying to argue from a procedural standpoint but 
 merely from 
  the fact that a change like this needs community support - and it 
  doesn't seem to have it.
 
 Well as least not Yet..
 
   b)
   I send an vote the week before about local properties being
 
  s/local properties/macrodef attributes/
 
 Opps..
 
 
   implemented by textual replacement or by using local 
 properties. The 
   result was:
  
  committers  others
  local properties2   1
  textual replacement 1   4
  +0  1   0
  
   I would like to implement attributes using local properties,
 
  -0.8
 
 Ok, The reason (as I said before) I do not like textual subs 
 is the use of a different notation.., but I can live with it 
 if other people think it is a good thing,
 
 
  most if not all things that could be done when we implement the 
  attributes as local properties are possible with textual expansion. 
  Textual expansion enables things that local properties don't.
 
 This is true.
 
 
   I propose to commit local properties and implement 
 attributes using 
   local properties for the ant 1.6 beta3 release.
 
  -1 on both.  Both parts lack committer support.  We could try to 
  revote or something.
 
 Indeed.
 
 Peter
 
 
 -
 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]





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

RE: macrodef - do attributes as properties or substitutions

2003-11-19 Thread Steve Cohen
True, that was from the 1.4/1.5 days.

-Original Message-
From: Dominique Devienne [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 19, 2003 8:52 AM
To: 'Ant Developers List'
Subject: RE: macrodef - do attributes as properties or substitutions


 From: Steve Cohen [mailto:[EMAIL PROTECTED]
 I have used a similar idea with a build file full of template 
 targets that use a fileset reference.  The reference must be defined 
 globally or the build will break, but only some of the users of the 
 file of templates actually need the reference.  So, since references

 can be overridden, the solution is, similar to Stefan's,
 
 fileset id=globaltlds dir=.
 include name=no.real.file/
 /fileset
 
 Later, a user of this buildfile can redefine the globaltlds reference,

 if it needs to, to something real.

Yeah, this sounds a lot like the Null Object idiom you can read about in
Martin Fowler's Refactoring book. OTOH, now that there is the
isreference condition, a cleaner approach might be to conditionaly
execute the target only of the reference is defined at all, rather than
defining a null/dummy one. Probably not applicable all the time, but
still. --DD

-
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: macrodef - do attributes as properties or substitutions

2003-11-18 Thread Steve Cohen


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, November 18, 2003 2:06 AM
To: [EMAIL PROTECTED]
Subject: RE: macrodef - do attributes as properties or substitutions


  macrodef name=macro
  attribute name=one/
  attribute name=two default=${one}/
  /macrodef
  macro one=hello/
 
 I don't think we should need any special cludges just to support this 
 usecase. 8-)
 
 Give two a completely bogus, impossible to be used in any real world 
 usage value and check for that.  Should be easier than comparing it to 
 a literal ${one} or @one or whathever.
 
 macrodef name=macro
 attribute name=one/
 attribute name=two
   
 default=nobody-with-a-sane-mind-would-ever-want-to-use-this-value/
 /macrodef

Nice idea - usually such nice words don´t come into my mind when I´m 
programming :-) But the string comparison would be easier.

Jan

I have used a similar idea with a build file full of template targets that 
use a fileset reference.  The reference must be defined globally or the build 
will break, but only some of the users of the file of templates actually need 
the reference.  So, since references can be overridden, the solution is, 
similar to Stefan's, 

fileset id=globaltlds dir=.
include name=no.real.file/
/fileset

Later, a user of this buildfile can redefine the globaltlds reference, if it 
needs to, to something real.

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



RE: [VOTE] macrodef - do attributes as properties or substitutions

2003-11-18 Thread Steve Cohen
What about {$x}? Or is it too close to a typo for a regular property?

way too confusing, IMHO.  And departs significant from our pattern
which seems to be 
identifier type marker, open curly brace, identifier, close curly brace

The more I look at this, the clearer my clear choice becomes for @{x}.
It maintains the ant pattern of identifier naming while being quite
significantly different in an important way so that visual confusion
will be unlikely, even when the script writer is tired :-)


-Original Message-
From: Shatzer, Larry [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, November 18, 2003 10:09 AM
To: 'Ant Developers List'
Subject: RE: [VOTE] macrodef - do attributes as properties or
substitutions


 -Original Message-
 From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, November 18, 2003 2:08 AM
 To: [EMAIL PROTECTED]
 Subject: Re: [VOTE] macrodef - do attributes as properties or 
 substitutions
 
   [ ] as $(x)
   [ ] as @{x}
 
 either one works for me - as well as [EMAIL PROTECTED]
 

What about {$x}? Or is it too close to a typo for a regular property?

-- Larry

-
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: [VOTE] macrodef - do attributes as properties or substitutions

2003-11-17 Thread Steve Cohen
Another non committer here.
I don't like $(x) because it looks too much like ${x}, although I
suppose I could get used to that.  Therfore, I am drawn to
@{x}.  ${attribute:x} is possible but way too much typing for my taste.
Abbreviated to ${att:x} or ${attrib:x} my negativity level goes down
accordingly.

Before voting, though, could someone list all the conflicting usages
with other systems that ant must interface with.

-Original Message-
From: peter reilly [mailto:[EMAIL PROTECTED] 
Sent: Monday, November 17, 2003 12:10 PM
To: Ant Developers List
Subject: Re: [VOTE] macrodef - do attributes as properties or
substitutions


OK, how do we want to implement macrodef attributes:
  current
 [ ] as textual substitution~ 4
 [ ] as real Ant properties   ~ 2

undecided   ~ 1

If macrodef attribute are to be implements as substitutions, what should
be the notation? (where x is the attribute name)

 [ ] as ${x} (look like ant properties)
 [ ] as $(x) 
 [ ] as @x
 [ ] as ${attribute:x}
 [ ] as @{x}
 [ ] some thing else



-
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: macrodef - do attributes as properties or substitutions

2003-11-12 Thread Steve Cohen
 I want macrodef for when all I need to do is to put toguether
a group of calls to other tasks in a sequence, which could be
quite complex, but it does not require any additional computation
from my part

Hear, hear! 

Used in this way, you can use ant, cutting out expensive antcall calls and 
most taskdef's.  I myself have never written a taskdef and don't want to 
start unless I really have to do something specialized. taskdef's and what 
they do are a mystery to readers of a build script and IMHO should not be used 
just to glue targets together in some particular way unless there is a very 
good reason for it.

That's what I want from macrodef.

-Original Message-
From: Jose Alberto Fernandez [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 12, 2003 12:37 PM
To: Ant Developers List
Subject: RE: macrodef - do attributes as properties or substitutions


 From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 On Tue, 11 Nov 2003, Jose Alberto Fernandez 
 
  To me macrodefs are for writing all those tasks that I am
 too lazy, or
  they are too simple for me to need to go and write and
 maintain some
  Java code.
 
 I'm not sure that this is the intention of macrodef - maybe
 you would rather use scriptdef with beanshell as your 
 scripting language then?
 

I do use it extensively. And believe me, every time we have a 
syntax or logical error in the code it takes 1o times longer
to find it. Line numbers never match with that of the srcfiles.
But back to the topic.

I want macrodef for when all I need to do is to put toguether
a group of calls to other tasks in a sequence, which could be
quite complex, but it does not require any additional computation
from my part:

macrodef name=preferential-copy
  attribute name=app-pref.name/
  attribute name=app-pref.dir/
  sequential
mkdir dir=${app-prefs.dir}/
dependset
srcfileset dir=${basedir}
include name=${app-prefs.name}/**/
include name=${containers.dir}/${app-prefs.name}/**/
include name=${descriptor.dir.app}/${app-prefs.name}/**/
include 
name=${descriptor.container.dir.app}/${app-prefs.name}/**/
/srcfileset
targetfileset dir=${app-prefs.dir}/
/dependset
if
  available file='${descriptor.container.dir.app}/${app-prefs.name}' 
type=dir/
  then
copy todir='${app-prefs.dir}'
fileset dir=${descriptor.container.dir.app}/${app-prefs.name} 
includes=**/
/copy
  /then
/if
if
  available file='${descriptor.dir.app}/${app-prefs.name}' type=dir/
  then
copy todir='${app-prefs.dir}'
fileset dir=${descriptor.dir.app}/${app-prefs.name} 
includes=**/
/copy
  /then
/if
if
  available file='${containers.dir}/${app-prefs.name}' type=dir/
  then
copy todir='${app-prefs.dir}'
fileset dir=${containers.dir}/${app-prefs.name} includes=**/
/copy
  /then
/if
if
  available file='${app-prefs.name}' type=dir/
  then
copy todir='${app-prefs.dir}'
fileset dir=${app-prefs.name} includes=**/
/copy
  /then
/if
  /sequential
/macrodef

Today, I need to do this by calling antcall because I need to pass diferent
parameters in different places. It will look much better that instead of:

antcall target=prefs.app
param name=app-prefs.name value=war-res/
param name=app-prefs.dir value=${war-res.app}/
/antcall

I can just say:

preferential-copy app-prefs.name=war-res 
app-prefs.dir=${war-res.app}/

You can see that using scriptdef to do this job is absolute madness. Since all 
you need is
to put toguether some tasks.

  Substitution is the least interfearing behavior.
 
 I hear you and to a certain degree I agree with you.  
 Actually I haven't really made up my mind myself yet - no 
 vote from me so far.
 
  But if atributes modify properties, then there is no way 
 for me to 
  stop them for happening.
 
 In which situation would atributes modify properties have 
 negative effects on what you are planing to do with 
 macrodef?  Do you have an enlightening example?
 

  macrodef name=myMacro
attribute name=debug/
element name=code/
sequential
  if
istrue value=${debug}
then
  echomyMacro: Entering my macro/echo
  code/
  echomyMacro: Entering my macro/echo
/then
else
  code/
/else
  /if
/sequential
  /macrodef

So here we have this simple macro that adds some debug information.

So I use it like:

   myMacro debug=true
 code
   my.javac srcdir=test/src .../
 /code
   /myMacro

Still, very naïve code. Until you see that the definition of my.java is:

presetdef name=my.javac
   javac srcdir=src destdir=classes deprecation=${deprecation}
  debug=${debug}/
/presetdef

No here the intention of the code writer was to control javac using the
debug property. But just 

RE: [VOTE] macrodef - do attributes as properties or substitutions

2003-11-11 Thread Steve Cohen
I don't have a vote but if I did, I'd be
 [X] as textual substitution
 [ ] as real Ant properties 

-Original Message-
From: Dominique Devienne [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, November 11, 2003 10:14 AM
To: 'Ant Developers List'
Subject: RE: [VOTE] macrodef - do attributes as properties or
substitutions


 From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 OK, how do we want to implement macrodef attributes:
 
 [X] as textual substitution
 [ ] as real Ant properties

-
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: macrodef attributes as properties or as textual substitutions [was local]

2003-11-05 Thread Steve Cohen
This makes a lot of sense to me, especially given your willingness to
consider a different notation (very important, IMHO).  To me, a macro IS
a textual substitution, and anything that leaves things in an undefined
or difficult-to-explain middle state is asking for trouble.  They're
different sorts of beasts and this should not be muddied.

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom

-Original Message-
From: Jose Alberto Fernandez [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 05, 2003 10:30 AM
To: Ant Developers List
Subject: RE: macrodef attributes as properties or as textual
substitutions [was local]


Sorry to have taken so long for me to answer this message but I am 
quite busy at work and haven't had the time.

I would like to give some of my perspective on the issue of macrodef/
and local/.

My first comment is that I really believe these two features should be
kept apart. I do not think macrodef/ should use local in the
implementation of atribute. I am in the camp of macrodef doing a
textual expansions (and here I would relent my objections to 
a different syntax for attribute variables, in exchange for having
textual replacement done right).

By textual replacement done right, I mean that the scope of the textual
replacement is static on the text of the macro at the time of
definition. That is the replacement should not apply to the value of
attributes or elements passed in the call. So in the famous example:

   macrodef name=inner
 attribute name=a/
 attribute name=b/
 sequential
   echo name=a value=$(a)/echo
   echo name=b value=$(b)/echo
 /sequential
   /macrodef
 
   macrodef name=outer
 attribute name=work/
 attribute name=play/
 
 element name=precompile optional=true/
 element name=additional optional=true/
 
 sequential
   precompile/
   additional/
 /sequential
   /macrodef
 
   target name=test.outer
 outer work=this is work play=this is play
   precompile
 inner a=${work} b=${play} /
   /precompile
 /outer
   /target

The output will still be:

 test.outer:
  [echo]  name=a value=${work}
  [echo]  name=b value=${play}

More over, the following call (see usage of attribute notation):

   target name=test.outer
 outer work=this is work play=this is play
   precompile
 inner a=$(work) b=$(play) /
   /precompile
 /outer
   /target

Will also output:

 test.outer:
  [echo]  name=a value=$(work)
  [echo]  name=b value=$(play)

Because the substitutions of $(work)/$(play) attributes MUST occur
before the expansion of precompile/.

Why am I so adamant about it? Because I believe a user of a macro should
be isolated from the implementation of the task sa macro. I should be
able to reimplement a macrodef as a java task and maintain complete
compatibility. This means that macros, like tasks, must set properties
or references to pass information between them. I shouldn't be able to
do with a macro something that cannot be done cleanly with a task.


Now, with respect to local. The way I originally envisioned local
was very similar params of ant. They redefine (overide) the value of
a property for a well defined period of time (the local nesting) and
after that the property reverts to its original value (state). Very
simple. Since then there has been added functionality for multithreading
which I think has made local a little too complex for my taste.

I think we should try to simplify this feature so it touches core the 
least possible. Today I think the implementation touches a lot of places
of core, that should be reduced to just a few (making local a subtask
of sequential would help on some of that simplification).

Will stop here now I here your comments,

Jose Alberto

 -Original Message-
 From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
 Sent: 03 November 2003 14:08
 To: [EMAIL PROTECTED]
 Subject: Re: macrodef attributes as properties or as 
 textual substitutions [was local]
 
 
 On Fri, 31 Oct 2003, Antoine Levy-Lambert [EMAIL PROTECTED]
 wrote:
 
  What are the advantages of leaving macrodef with attributes
  implemented as textual substitutions ?
 
 attributes don't hide properties.
 
 If we implement attributes as properties, we have to decide
 whether they are allowed to override existing 
 (user-)properties of the same name as well.  I don't think it 
 would be problematic, as long as we state the rules clear enough.
 
 If they are only textual substitutions, they get confusing
 when we use the property expansion syntax.
 
  Otherwise, of course, if we leave macrodef as it is with just a new
  notation for the attributes, then we can release 1.6 sooner.
 
 I'd rather get this right as in community supported and
 unlikely to break bc in Ant 1.7 now.
 
  If we choose a notation $() for macro attributes (for
 instance), can
  we implement macrodef with local/ in 1.7 ?
 
 You mean we make them textual

RE: macrodef attributes as properties or as textual substitutions [was local]

2003-11-05 Thread Steve Cohen
Doing this corresponds more closely to current usage of antcall/ for
templates.

Yes, but I think this may not be such a good thing.  I have, as I
recall, oftentimes been tripped up on the question of when a variable is
defined.  I know java has no preprocessor, but it doesn't have macros
either.  If we are going to introduce macros in ant, I think that the
clarity of knowing that they are defined at load time, and not at
runtime is an advantage.  antcall
has never been a good way to do templates.

Although I might be open to a convincing counter-example.

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom

-Original Message-
From: peter reilly [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 05, 2003 11:38 AM
To: Ant Developers List
Subject: Re: macrodef attributes as properties or as textual
substitutions [was local]


My view is that we should use (local) properties for macrodef
attributes. Doing this corresponds more closely to current usage of
antcall/ for templates.

If however, one uses textual substitutions, I agree that one should use
a different syntax/notation for the attributes.
 
$(x) may however be too similar to ${x}

As regards local/. I think that the local properties should be thread
local. I.e. the following should not cause grief.

parallel
   sequential
  local name=x value=1/
  echox is ${x}/echo
   /sequential
   sequential
  local name=x value=2/
  echox is ${x}/echo
   /sequential
/parallel

Peter
On Wednesday 05 November 2003 16:30, Jose Alberto Fernandez wrote:
 Sorry to have taken so long for me to answer this message but I am 
 quite busy at work and haven't had the time.

 I would like to give some of my perspective on the issue of 
 macrodef/ and local/.

 My first comment is that I really believe these two features should be

 kept apart. I do not think macrodef/ should use local in the 
 implementation of atribute. I am in the camp of macrodef doing a 
 textual expansions (and here I would relent my objections to a 
 different syntax for attribute variables, in exchange for having 
 textual replacement done right).

 By textual replacement done right, I mean that the scope of the 
 textual replacement is static on the text of the macro at the time of 
 definition. That is the replacement should not apply to the value of 
 attributes or

 elements passed in the call. So in the famous example:
macrodef name=inner
  attribute name=a/
  attribute name=b/
  sequential
echo name=a value=$(a)/echo
echo name=b value=$(b)/echo
  /sequential
/macrodef
 
macrodef name=outer
  attribute name=work/
  attribute name=play/
 
  element name=precompile optional=true/
  element name=additional optional=true/
 
  sequential
precompile/
additional/
  /sequential
/macrodef
 
target name=test.outer
  outer work=this is work play=this is play
precompile
  inner a=${work} b=${play} /
/precompile
  /outer
/target

 The output will still be:
  test.outer:
   [echo]  name=a value=${work}
   [echo]  name=b value=${play}

 More over, the following call (see usage of attribute notation):
target name=test.outer
  outer work=this is work play=this is play
precompile
  inner a=$(work) b=$(play) /
/precompile
  /outer
/target

 Will also output:
  test.outer:
   [echo]  name=a value=$(work)
   [echo]  name=b value=$(play)

 Because the substitutions of $(work)/$(play) attributes MUST occur 
 before the expansion of precompile/.

 Why am I so adamant about it? Because I believe a user of a macro 
 should be isolated from the implementation of the task sa macro. I 
 should be able to reimplement a macrodef as a java task and 
 maintain complete compatibility. This means that macros, like tasks, 
 must set properties or references to pass information between them.
 I shouldn't be able to do with a macro something that cannot be done
 cleanly with a task.


 Now, with respect to local. The way I originally envisioned local 
 was very similar params of ant. They redefine (overide) the value 
 of a property for a well defined period of time (the local nesting) 
 and after that the property reverts to its original value (state). 
 Very simple. Since then there has been added functionality for 
 multithreading which I think has made local a little too complex for

 my taste.

 I think we should try to simplify this feature so it touches core the 
 least possible. Today I think the implementation touches a lot of 
 places of core, that should be reduced to just a few (making local a

 subtask of sequential would help on some of that simplification).

 Will stop here now I here your comments,

 Jose Alberto

  -Original Message-
  From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
  Sent: 03 November 2003 14:08
  To: [EMAIL PROTECTED]
  Subject: Re: macrodef attributes

RE: MARC - spam enabler

2003-11-03 Thread Steve Cohen
All right, Stefan, I'll stop worrying about it.  I hadn't thought that
spammers would subscribe to these lists just to harvest addresses, but
that's obviously possible too.

-Original Message-
From: Stefan Bodewig  
Sent: Monday, November 03, 2003 2:17 AM
To: [EMAIL PROTECTED]
Subject: Re: MARC - spam enabler


On Fri, 31 Oct 2003, Steve Cohen wrote:

 Can't MARC be fixed to munge email addresses?

Even if it could, it wouldn't help you.

 but whenever I am replied to, my full unmunged email address gets 
 published in MARC.

I've just removed your email address from the attribution my MUA
generates. 8-)

Marc is by far not the only way a spammer can get at your address you
use for posting here.  Eyebrowse is another option, as are our mbox
archives.  It's even quite easy to subscribe an address collecting bot
to the list.

 I am sick of seeing my postings to these lists turn into spam cannons 
 pointed back at myself.

There is no way to avoid that, all you can do is to use smart spam
detection software on your side, sorry.  Spammers will get your address
if you use it on public lists and no address munging will stop them from
doing so.

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]



RE: macrodef attributes as properties or as textual substitutions [was local]

2003-10-31 Thread Steve Cohen
From my point of view, I am sitting with a massive, slow, and messy
build script that I would love to convert to using macrodefs instead of
antcalls.  I am waiting for this to be resolved before proceeding.  On
the other hand, I can live with what I have for awhile.  Some
preliminary experiences have indicated problems which I shared with the
dev list earlier this week.  I imagine that whatever scheme is chosen
will require some sizable effort to convert.  I would rather not do this
in 1.6 and then again in 1.7, unless the conversion path is easy.

What I don't understand in Antoine's question is whether the new
notation would have to be scrapped for the new implementation of local
in 1.7 or whether it would still apply.

Unless this is going to delay the release for months, I would say, get
it right, now.

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom

-Original Message-
From: Antoine Levy-Lambert [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 31, 2003 10:31 AM
To: Ant Developers List
Subject: macrodef attributes as properties or as textual substitutions
[was local]



Here is a new subject.

What are the advantages of leaving macrodef with attributes implemented
as textual substitutions ?

My impression is that the local properties are more powerful.

Otherwise, of course, if we leave macrodef as it is with just a new
notation for the attributes, then we can release 1.6 sooner.

If we choose a notation $() for macro attributes (for instance), can we
implement macrodef with local/ in 1.7 ? or will we have a problem of
backward compatibility in any case ?

Cheers,

Antoine

-Ursprungliche Nachricht-
Von: Stefan Bodewig [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 31. Oktober 2003 17:13
An: [EMAIL PROTECTED]
Betreff: Re: local


On Fri, 31 Oct 2003, peter reilly [EMAIL PROTECTED] wrote:
 On Friday 31 October 2003 15:55, Stefan Bodewig wrote:
 On Fri, 31 Oct 2003, peter reilly [EMAIL PROTECTED] wrote:
  No, it matters if the attributes in macrodef are implemented as 
  properties or if they are implemented as textual subsitutions.

 OK, but then this becomes the question to decide and not whether we 
 need local in 1.6, right?
 Yes

Do we need a different thread to get a wider audience?

 If they are properties, we don't need an alternative.  What are the 
 difficulties you expect when they are not properties?

 Only the choice of the notation.

MSBuild uses $() for its properties and @() for something else -
probably Item references at first glance.



-
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]



MARC - spam enabler

2003-10-31 Thread Steve Cohen
Can't MARC be fixed to munge email addresses?  I notice that everything
I post has my email address munged up pretty good in MARC, but whenever
I am replied to, my full unmunged email address gets published in MARC.
I am sick of seeing my postings to these lists turn into spam cannons
pointed back at myself.  I just got rid of one email address, and soon
I'll be forced to do so again.  Can nothing be done about this?

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom



RE: Tale from the front: macrodef nesting

2003-10-27 Thread Steve Cohen
You're correct about working around this problem.  However, I think it's
still a problem that the same
${identifier} notation can either indicate a macrodef attribute or an
ant property with completely different times of resolution.

In other words, the line of warning in the ant manual --

This attribute is placed in the body of the templated task using the
ant property notation - ${attribute name}. Note that is not an actual
ant property

--will certainly confuse users and may therefore indicate a problem in
design.



-Original Message-
From: Jose Alberto Fernandez [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 27, 2003 5:37 AM
To: Ant Developers List
Subject: RE: Tale from the front: macrodef nesting


 From: Steve Cohen [mailto:[EMAIL PROTECTED]
 
 I am now trying to experiment with some of the new features
 of ant 1.6.  Here's a real-world example of the difficulties 
 of trying to replace antcalls with macrodefs.
 
 Given the following definitions, notice that I am trying to
 nest a call to the macrodef make.precompiled.web.xml inside a 
 call to the macrodef make.se.war.
 
 This is failing because I am trying to use the ATTRIBUTE
 war.webxml inside the ELEMENT precompile which contains a 
 call to the nested macrodef make.precompiled.web.xml.
 

The issue is not that you are calling make.precompile.web.xml,
the issue is that you are using ${war.webxml} at a point where
there is no property (nor attribute) called war.webxml defined.
If you look at your target make.admin.war there is no property
or defined called war.webxml at that point, so you cannot just
look inside the task implementation and assume that it may exist
be the time is half way executing (that is too late, you need it
at the point of the call to make.se.war.

 I could easily fix this by substituting the actual value of 
 the war.webxml attribute for the ${war.webxml} token.  But 
 then I lose the advantage of defining this in a single place.
 
 Or I can create properties in the macrodef and pass them 
 around, but that feels wrong too.  
 

What you should do is define this in a property on the target
and they use that property to expand the value in all the
places that is needed.

 Maybe there should be some mechanism for allowing inner 
 macrodefs for inheriting attributes from an outer macrodef.  
 Maybe elements should be able to be defined with nested 
 attributes.  Or something.
 

This will not solve your problem. Your problem is that you
are using ${war.webxml} on target make.admin.war and there
is no property defined at that point in time.

Jose Alberto

 But this experience with trying to use this feature leads me 
 to the feeling that using the same notation for macrodef 
 attributes and ant properties is not a good thing.  It will 
 definitely cause confusion.  At a minimum more documentation 
 of this is required.
 
 
 macrodef name=make.precompiled.web.xml
 attribute name=src.web.xml/
 attribute name=dest.web.xml/
 sequential
 ant antfile=${basedir}/se/build-precomp.xml
  target=create.precompiled.web.xml
 property name=src.web.xml value=${src.web.xml}/
 property name=dest.web.xml 
 value=${dest.web.xml}/
 /ant
 /sequential
 /macrodef
 
 macrodef name=make.se.war
 attribute name=work.dir/
 attribute name=war.webxml/
 attribute name=war.basedir/
 attribute name=war.destfile/
 
 element name=precompile optional=true/
 element name=assemble optional=false/
 element name=additional optional=true/
 
 sequential
 delete dir=${work.dir}/ 
 mkdir dir=${work.dir}/temp/ 
 mkdir dir=${work.dir}/war/ 
 
 precompile/
 assemble/
 replace file=${war.webxml} 
  token=#build#   
 value=${project.version}.${project.maintenance.build}.${proje
ct.fix.build}/
 war destfile=${war.destfile}
  webxml=${war.webxml}
  basedir=${war.basedir}
 additional/
 /war
 /sequential
 /macrodef 
 
 
target name=make.admin.war
depends=make.precompilation
make.se.war 
work.dir=${dir.admin.ear}

 war.webxml=${dir.build.precomp.webxml}/${admin.web.xml}
war.basedir=${dir.admin.ear}/temp
war.destfile=${dir.admin.ear}/war/${admin.war}
precompile
make.precompiled.web.xml

 src.web.xml=${dir.src.web.xmls}/${admin.web.xml}
dest.web.xml=${war.webxml}
/
/precompile
assemble
copy todir=${war.basedir}
fileset dir

RE: Tale from the front: macrodef nesting

2003-10-27 Thread Steve Cohen
Sorry to say I wasn't involved in the discussion at that time.  What
were the arguments against using an alternative notation?

-Original Message-
From: Dominique Devienne [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 27, 2003 9:33 AM
To: 'Ant Developers List'
Subject: RE: Tale from the front: macrodef nesting


 From: Steve Cohen [mailto:[EMAIL PROTECTED]
 
 You're correct about working around this problem.  However, I think 
 it's still a problem that the same ${identifier} notation can either 
 indicate a macrodef attribute or an ant property with completely 
 different times of resolution.
 
 In other words, the line of warning in the ant manual --
 
 This attribute is placed in the body of the templated task using the 
 ant property notation - ${attribute name}. Note that is not an actual 
 ant property
 
 --will certainly confuse users and may therefore indicate a problem in

 design.

I argued long and hard on Ant-dev against this overloading of the
meaning of ${name}, to no avail. Glad to see I'm not alone in this
thinking. But then again, macrodef's subtleties might just be showing
the limits of my own abilities to grasp context-dependent behavior, when
sharper people apparently have no such limitations. --DD

-
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]



Tale from the front: macrodef nesting

2003-10-26 Thread Steve Cohen
I am now trying to experiment with some of the new features of ant 1.6.  Here's 
a real-world example of the difficulties of trying to replace antcalls with 
macrodefs.

Given the following definitions, notice that I am trying to nest a call to the
macrodef make.precompiled.web.xml inside a call to the macrodef make.se.war.

This is failing because I am trying to use the ATTRIBUTE war.webxml inside the 
ELEMENT precompile which contains a call to the nested macrodef 
make.precompiled.web.xml.

I could easily fix this by substituting the actual value of the war.webxml 
attribute for the ${war.webxml} token.  But then I lose the advantage of 
defining this in a single place.

Or I can create properties in the macrodef and pass them around, but that feels 
wrong too.  

Maybe there should be some mechanism for allowing inner macrodefs for 
inheriting attributes from an outer macrodef.  Maybe elements should be able to 
be defined with nested attributes.  Or something.

But this experience with trying to use this feature leads me to the feeling 
that using the same notation for macrodef attributes and ant properties is not 
a good thing.  It will definitely cause confusion.  At a minimum more 
documentation of this is required.


macrodef name=make.precompiled.web.xml
attribute name=src.web.xml/
attribute name=dest.web.xml/
sequential
ant antfile=${basedir}/se/build-precomp.xml
 target=create.precompiled.web.xml
property name=src.web.xml value=${src.web.xml}/
property name=dest.web.xml value=${dest.web.xml}/
/ant
/sequential
/macrodef

macrodef name=make.se.war
attribute name=work.dir/
attribute name=war.webxml/
attribute name=war.basedir/
attribute name=war.destfile/

element name=precompile optional=true/
element name=assemble optional=false/
element name=additional optional=true/

sequential
delete dir=${work.dir}/ 
mkdir dir=${work.dir}/temp/ 
mkdir dir=${work.dir}/war/ 

precompile/
assemble/
replace file=${war.webxml} 
 token=#build#   
value=${project.version}.${project.maintenance.build}.${project.fix.build}/
war destfile=${war.destfile}
 webxml=${war.webxml}
 basedir=${war.basedir}
additional/
/war
/sequential
/macrodef 


   target name=make.admin.war
   depends=make.precompilation
   make.se.war 
   work.dir=${dir.admin.ear}
   war.webxml=${dir.build.precomp.webxml}/${admin.web.xml}
   war.basedir=${dir.admin.ear}/temp
   war.destfile=${dir.admin.ear}/war/${admin.war}
   precompile
   make.precompiled.web.xml
   src.web.xml=${dir.src.web.xmls}/${admin.web.xml}
   dest.web.xml=${war.webxml}
   /
   /precompile
   assemble
   copy todir=${war.basedir}
   fileset dir=${dir.build.war.precomp}/
   /copy
   /assemble
   /make.se.war
   /target




RE: Question about MacroDef vs antcall

2003-10-26 Thread Steve Cohen
Thanks for the information on depends vs. antcall.  My suspicion has been that 
antcall was a major cause of delay.  Unnecessary operations are another area of 
optimization potential.


-Original Message-
From:   Conor MacNeill [mailto:[EMAIL PROTECTED]
Sent:   Sun 10/26/2003 4:21 PM
To: Ant Developers List
Cc: 
Subject:Re: Question about MacroDef vs antcall
On Sun, 26 Oct 2003 03:18 am, Steve Cohen wrote:
 The new ant features wiki

 http://nagoya.apache.org/wiki/apachewiki.cgi?NewAntFeaturesInDetail/MacroDe
f

 says:

 If you are using antcall as a macro substitute, you really should look
 into this task. It is not only going to simplify your build files but also
 speed up your builds considerably as you skip the huge overhead connected
 with antcall.

 Re: the huge overhead connected with antcall:

 Does this also apply to calls made to other tasks via depends?  

No, there is no overhead associated with depends because it operates within 
the same context as the depending target. An antcall sets up a whole new 
context in which to exectue the targets tasks. This also includes re-parsing 
the XML and re-building the in-memory structure of the build file. 

And if
 so, is a macrodef callable via depends? (I don't see how.)


No. depends does not really mean callable. The depends attribute is used to 
describe the dependency structure of your build. That causes Ant to execute 
those targets to satisfy the dependencies. It is a relationship between 
targets - i.e. the large scale things that happen within your build. Tasks, 
including those defined by macrodef are about the small, detail-level 
things that need to happen in your build. 

 Does ant 1.6 offer a way around this problem, or is there perhaps another
 way in ant 1.5 even?  My general feeling on ant scripts up to now has been,
 you can write an excellent quick and dirty script pretty easily or you can
 write a complicated system of build scripts, but it's very hard to make one
 script that serves both goals.

I would probably need more info to understand your build system to see why it 
may be taking time. Are there custom tasks? What operations are being invoked 
which may not be necessary. Can uptodate be used to avoid sub-builds? etc.

If you can use macrodef in place of antcall, you should save some time. OTOH, 
if the build invokes operations that take time and which need to be done, 
according to timestamps, etc, then you may be limited in what you can do. You 
can potentially save time by accepting some out-of-date components. This can 
be OK in dev situation and may be what your quick and dirty scripts are 
doing.

Conor


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






Question about MacroDef vs antcall

2003-10-25 Thread Steve Cohen
The new ant features wiki

http://nagoya.apache.org/wiki/apachewiki.cgi?NewAntFeaturesInDetail/MacroDef

says:

If you are using antcall as a macro substitute, you really should look into 
this task. It is not only going to simplify your build files but also speed up 
your builds considerably as you skip the huge overhead connected with 
antcall.

Re: the huge overhead connected with antcall:

Does this also apply to calls made to other tasks via depends?  And if so, is 
a macrodef callable via depends? (I don't see how.)

Here's where I am going with this.  I am working on a large project that is 
built up from smaller projects.  Most of the smaller projects are usually (but 
not always) untouched, but they are touched just often enough that it is 
important for the master build to always build them.  However, most of the 
developers working on the project find the added delay of using the master 
script intolerable, even if they run a subsidiary target that does not rebuild 
everything.  Their quick and dirty script is much faster.  I am trying to 
wring extra performance out of the master script so that the delays in using 
its subsidiary targets will not be intolerable.  But if many targets must 
depend on an assess target that tests whether the build is in lite mode
and use that in an unless clause to avoid doing something, if these calls are 
outrageously expensive, the gain from this sort of thing will be small.

Does ant 1.6 offer a way around this problem, or is there perhaps another way 
in ant 1.5 even?  My general feeling on ant scripts up to now has been, you can 
write an excellent quick and dirty script pretty easily or you can write a 
complicated system of build scripts, but it's very hard to make one script that 
serves both goals.


RE: Starteam connect/disconnect

2003-10-24 Thread Steve Cohen
Hmm, I have never noticed this.  While what you say certainly sounds
logical (clean up after yourself, basically, as you must do with
database connections, etc.) I have never experienced it myself.  I can
certainly take a look at putting connection-closing logic into these
tasks, especially as the connection is not reused between task
invocations.

What client and server environments are you doing this in?

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom

-Original Message-
From: Ross Gibb [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 24, 2003 7:54 AM
To: [EMAIL PROTECTED]
Subject: Starteam connect/disconnect


Hi,

I am using ANT with Starteam and having some troubles.  Right now my
build script makes around 30 separate calls to Starteam targets
(stcheckout, stlabel exclusively).  When the build is finished Starteam
seems to get into a weird state where everything is extremely slow (i.e.
using the Starteam gui to checkin or checkout code is really slow).  The
slowness eventually goes away, some sort of timeout I am guessing.  I
tried to help myself and started poking around the ANT source code to
see how the Starteam API is used.  I think I found the call to the
Starteam API that connects to the server, it is:

In class org.apache.tools.ant.taskdefs.optional.starteam.StarTeamTask

The function is:

 /**
 * All subclasses will call on this method to open the view needed
for
 * processing.  This method also saves a reference to the
 * codeServer/code that may be accessed for information at
various
 * points in the process.
 *
 * @return the codeView/code that will be used for processing.
 * @see #createSnapshotView(View)
 * @see #getServer()
 */
protected View openView() throws BuildException {

logStarteamVersion();
View view = null;
try {
view = StarTeamFinder.openView(getViewURL());
} catch (Exception e) {
throw new BuildException(
Failed to connect to  + getURL(), e);
}

if (null == view) {
throw new BuildException(Cannot find view + getURL() +
 in repository());
}

View snapshot = createSnapshotView(view);
this.server = snapshot.getServer();
return snapshot;
}


You can see from the comments that this code returns a Starteam view
(and keeps a connection to the server) to the caller.  My question is,
does this connection have to be closed after you are finished using
it  I have found no code in the ANT source that actually disconnects
( if there is some please point me to it).  I have been in contact with
the Borland support who claim there is disconnect method that can be
called to disconnect from the server (I am not sure it applies in this
case).  I have requested the Starteam API docs from Borland but they
seem to be ignoring me.  Hoping someone here would know.

Ross


-
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: Starteam connect/disconnect

2003-10-24 Thread Steve Cohen
OK, thanks, Ross.  Please file a bugzilla report on this issue and I
promise I'll handle it.  Please append this email thread as an
attachment to the bug report.

I will put connection closing logic into each ant call.  Without looking
closely into it, I can see no reason not to as it's just basic
connection hygiene.  I won't be able to test whether it solves your
problem, but you can be the arbiter of that.

Fair enough?

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom

-Original Message-
From: Ross Gibb [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 24, 2003 9:43 AM
To: Ant Developers List
Subject: RE: Starteam connect/disconnect


Hi,

The Starteam server exists on a Windows 2000 box using  Microsoft Access
as the database, 1 Gig of memory, 2GHz processor.  Before you role your
eyes and tell me to start using a real database understand that at the
time it was all I could afford.  Furthermore, I have asked Borland
specifically whether my server configuration and the number of users I
support would put load on the server slowing it down, they responded
that everything should work with good performance.  Also, when I have
been experiencing slow performance I have gone to my server to see if
the processor is maxed out or it is short of memory, each time the
server has been fine.  As far as running the ANT scripts, I have been
using both Windows and Solaris with various graphical front ends
(Antelope, and through Eclipse).  When I started having these problems I
have switched to ANT command line in hopes it was a problem with one of
the GUI tools.  Even ANT command line produces this problem.

The exact actions that cause this problem are as follows.  Assume I have
just rebooted the server and there are no connections to it.  I start my
build script from Solaris using ANT command line.  The build script uses
approx 30 Starteam ANT task calls (stcheckout stlabel only).  As the
build script executes, all the Starteam tasks are fast, the 30th call is
as fast as the first.  The build script finishes.  After the build
finishes if I try and use the Starteam GUI to check out code it is
extremely slow.  If I were to run another build script all the Starteam
ANT tasks (stcheckout, stlabel) are extremely slow.  I wait some amount
of time (I do not know the exact time but it is around 15 minutes) and
everyhing is back to normal, Starteam GUI is fast again, if I run
another build it will be fast again.  When I first started my build
script it was small, around 5 calls to Starteam ANT tasks, I never had
these problems when there was a small amount of Starteam targets in the
script.  If I run a script that has 5 Starteam targets the server does
NOT slow down after.  I have run netstat on the Starteam server when the
build is running and there seems to be a new connection to the build
client for every Starteam target called.  These connections are visible
through netstat until the build ends, when the build is over the
connections are no longer visible using netstat.  Finally, if I restart
the Starteam server when it is in a slow state when it comes back up
everything is fine.

Thanks for the help.

Ross

-Original Message-
From: Steve Cohen [mailto:[EMAIL PROTECTED]
Sent: Friday, October 24, 2003 9:54 AM
To: Ant Developers List
Subject: RE: Starteam connect/disconnect


Hmm, I have never noticed this.  While what you say certainly sounds
logical (clean up after yourself, basically, as you must do with
database connections, etc.) I have never experienced it myself.  I can
certainly take a look at putting connection-closing logic into these
tasks, especially as the connection is not reused between task
invocations.

What client and server environments are you doing this in?

Steve Cohen
Sr. Software Engineer
Sportvision, Inc. 
scohenATSportvisionDOTcom

-Original Message-
From: Ross Gibb [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 24, 2003 7:54 AM
To: [EMAIL PROTECTED]
Subject: Starteam connect/disconnect


Hi,

I am using ANT with Starteam and having some troubles.  Right now my
build script makes around 30 separate calls to Starteam targets
(stcheckout, stlabel exclusively).  When the build is finished Starteam
seems to get into a weird state where everything is extremely slow (i.e.
using the Starteam gui to checkin or checkout code is really slow).  The
slowness eventually goes away, some sort of timeout I am guessing.  I
tried to help myself and started poking around the ANT source code to
see how the Starteam API is used.  I think I found the call to the
Starteam API that connects to the server, it is:

In class org.apache.tools.ant.taskdefs.optional.starteam.StarTeamTask

The function is:

 /**
 * All subclasses will call on this method to open the view needed
for
 * processing.  This method also saves a reference to the
 * codeServer/code that may be accessed for information at
various
 * points in the process.
 *
 * @return

RE: Getting people to test the beta

2003-10-14 Thread Steve Cohen
This is great - pretty much exactly what I was looking for a couple of
weeks ago.

Heck, if I could ever get out from behind the workload that sits on top
of me, even I could take the time to test it.  Perhaps next month.

-Original Message-
From: Stefan Bodewig [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, October 14, 2003 4:22 AM
To: [EMAIL PROTECTED]
Subject: Getting people to test the beta


Hi,

this is just a random thought, but I have to share it anyway 8-)

To me it seems that the only way to get people to test the beta is to
better explain what the new really cool features will be.  Not that I
expect too much testing then either, most people will simply wait for
the first final release, but we may get testing of those featured
features.

My idea is to use the Wiki and the user list together to improve our
docs and attract testers at the same time.  It goes along the following
line

* Add a Wiki page listing the things that we consider killer new
  features

* For each such feature write a separate more tutorial/howto style
  introduction.  Not too much, people should be able to improve on it.

* Every second day or so pick one of the features and announce it on
  the user list, include a short introduction of the feature there.
  Invite people to participate in both testing and improving the
  documentation.

When done, compile documentation for the new features from the Wiki and
put it into / link it from the welcome.html file as well as release
notes and announcements of the next release.

Could that work?  Would it be too much trouble?

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]



RE: 1.6 migration guide?

2003-10-01 Thread Steve Cohen
Thanks, Stefan.  Anything would be better than nothing, and I'm not one
to underestimate the limiting factor of time.

-Original Message-
From: Stefan Bodewig [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, October 01, 2003 1:55 AM
To: [EMAIL PROTECTED]
Subject: Re: 1.6 migration guide?


On Tue, 30 Sep 2003, Steve Cohen [EMAIL PROTECTED] wrote:

 In other words, I'm looking for a migration guide that shows off the 
 1.6 way of doing things against the 1.5 way wherever the 1.6 way is 
 more powerful,

Actually I've been thinking about putting together small tutorials for
the really interesting stuff that's easy to miss.  On the top of my list
are Antlibs, presetdef and the new way to define custom filterreaders,
conditions and so on.

I feel that smaller tutorials may be easier to write and maintain than a
single migration guide.

The most limiting part here is time - as always.

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]



1.6 migration guide?

2003-09-30 Thread Steve Cohen
I haven't had much to do with the 1.6 release and am still using 1.5.4.
(Actually, in fact, probably 1.5.3).  I don't care which manual is
online as long as I can get to the 1.5.4 manual without too much hassle.

But my question has more to do with the 1.6 documentation itself.  From
following the discussion threads it seems that while a few things may
break in 1.5.4 build scripts, there are whole new possibilities to do
things elegantly in 1.6 that could only be done in a kludgey fashion in
1.5.  My impression is that it's sort of like Java 1.2.  When it came
out you could still write Java 1.1 code with 1.2, but unless you were
aiming for backward compatibility, why would you want to?

In other words, I'm looking for a migration guide that shows off the 1.6
way of doing things against the 1.5 way wherever the 1.6 way is more
powerful, not just the list of new features that is in the release
notes.  Is someone working on such documentation?  I think it would be
valuable.


  1   2   >