Hello all,

I submitted a patch recently on Ant's bugzilla, and I'd like to discuss it 
here in the list.

The initial idea would be to add a command line parameter (-loop) to ant, so 
it can run in loop mode. 

In this mode, once the tasks are finished, ant will wait for the user to press 
Enter to run the tasks again or q to quit (similar to incremental compilation 
on Jikes).

That would be pretty useful in situations where a task must be performed many 
times in a short period of time - like redeploying modified JSP pages to a 
web container: usually these task itself is almost instantaneous, but it 
takes about 5-6 seconds using the regular ant due to the overhead caused by 
the JVM invocation.

With this patch, the new tasks are executed really fast, as shown below:

ant -loop copy_web_oc4j
Buildfile: build.xml

copy_web_oc4j:
     [copy] Copying 1 file to /home/felipeal/eInquiry/build/deploy/oc4j/CSNAPP

BUILD SUCCESSFUL
Total time: 2 seconds // first evocation, took 2 seconds

Press Enter to continue or q + Enter to quit


copy_web_oc4j:
     [copy] Copying 1 file to /home/felipeal/eInquiry/build/deploy/oc4j/CSNAPP

BUILD SUCCESSFUL
Total time: 0 seconds // sub-sequent iterations: 0 seconds

Press Enter to continue or q + Enter to quit


I submitted a first patch yesterday (even though we'been been using it 
internally in my company for a couple of days) and talked with Antoine in 
private, and he pointed a valid issue: the patch was too simplistic. For 
instance, how would an IDE handle the System.in calls?

So, even though most IDEs call ant in a particular way, I improved the patch a 
little bit: now the Main class has 2 new attributes, loopMode and 
loopHandler, which could be set by the IDEs. LoopHandler is a new interface, 
whose default implementation uses System.in.read().


So, what do you guys think of the patch? I think it would be really useful, 
and easy to implement (of course, if I didn't think so I wouldn't suggest it 
:-). If it is accepted, I could offer more help documenting and testing it 
(personally and with the participation of folks at my company and JUG).

Regards,

Felipe



PS: here is the enhancement's URL:

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

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

Reply via email to