DO NOT REPLY [Bug 36347] - task's dir attribute not honored if current directory is the same as the dir attribute.

2006-07-14 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

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





--- Additional Comments From [EMAIL PROTECTED]  2006-07-15 00:11 ---
(In reply to comment #1)
> Can I follow this up with a couple of questions
> 
> 1. what version of Java? v1.2 or something newer

Sun's Java:
java version "1.2.2"
Solaris VM (build Solaris_JDK_1.2.2_10, native threads, sunwjit)

I noticed that I get the correct behavior if I use a 5.0 JRE, but see answer to
next question:
java version "1.5.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) Server VM (build 1.5.0_01-b08, mixed mode)

> 2. what happens if you set vmlauncher="false" in the  call

With the 1.2 JRE, no change in behavior. I get the wrong result either way.

With the 5.0 JRE, I get the wrong result if I use vmlauncher="false" but the
correct result if I leave it out or set it to true.

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

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



DO NOT REPLY [Bug 33879] - runant script in ruby

2006-07-14 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

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





--- Additional Comments From [EMAIL PROTECTED]  2006-07-14 20:34 ---
Created an attachment (id=18606)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=18606&action=view)
Ant driver class

A ruby class that I wrote for my project (http://buildmaster.rubyforge.org),
where you can check out the latest version (this one is the latest released
version).  With this script, launch script can be written like:

require 'ant_client'

Ant.new().launch(ARGV)

Ant.new('release.xml').target('release')

Let me know if it looks like something can be used and I can finish up the
details.

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

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



svn commit: r422011 - /ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Definer.java

2006-07-14 Thread stevel
Author: stevel
Date: Fri Jul 14 13:13:28 2006
New Revision: 422011

URL: http://svn.apache.org/viewvc?rev=422011&view=rev
Log:
Bonus extra diagnostics. Handy when the uri is ${unexpanded}

Modified:
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Definer.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Definer.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Definer.java?rev=422011&r1=422010&r2=422011&view=diff
==
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Definer.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Definer.java Fri Jul 
14 13:13:28 2006
@@ -201,16 +201,23 @@
 //we are in an antlib, in which case the resource name is 
determined
 //automatically.
 //NB: URIs in the ant core package will be "" at this point.
-if (getURI()!=null && 
getURI().startsWith(MagicNames.ANTLIB_PREFIX)) {
+if (getURI() == null) {
+throw new BuildException(
+"name, file or resource attribute of "
++ getTaskName() + " is undefined",
+getLocation());
+}
+
+if (getURI().startsWith(MagicNames.ANTLIB_PREFIX)) {
 //convert the URI to a resource
 String uri1 = getURI();
 setResource(makeResourceFromURI(uri1));
 } else {
-throw new BuildException(
-"name, file or resource attribute of "
-+ getTaskName() + " is undefined", getLocation());
-}
+throw new BuildException(
+"Only antlib URIs can be located from the URI alone,"
++ "not the URI " + getURI());
 }
+}
 
 if (name != null) {
 if (classname == null) {



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



Re: Abusing the BuildListener

2006-07-14 Thread Matt Benson
--- Henri Yandell <[EMAIL PROTECTED]> wrote:

> On 7/14/06, Matt Benson <[EMAIL PROTECTED]>
> wrote:
> >
> >
> > --- Henri Yandell <[EMAIL PROTECTED]> wrote:
> >
> > > On 7/14/06, Matt Benson <[EMAIL PROTECTED]>
> > > wrote:
> > > > --- Henri Yandell <[EMAIL PROTECTED]> wrote:
> > > >
> > > > > Is that going to be impossible for subtags,
> or
> > > do I
> > > > > just need to grok
> > > > > how UnknownElements work etc?
> > > >
> > > > Am I being dense here?  I haven't grasped why
> you
> > > need
> > > > to use UEs instead of using task/type classes
> > > > directly.  The UnknownElement is generally an
> > > artifact
> > > > of Ant's XML configuration mechanism and can
> > > (should)
> > > > be bypassed in programmatic Ant usage.
> > >
> > > Entirely me being dense - this is my first time
> > > digging into these parts of Ant.
> > >
> > > When I inspect the event in taskStarted, it
> consists
> > > of
> > > UnknownElements, so my first attempt was to
> > > duplicate the structure of
> > > one of these to get my . I can mimic
> one
> > > happily enough
> > > (for all the getXxx responses), but something's
> not
> > > right in my
> > > mimicry as it falls over.
> > >
> > > Just making an
> > >
> >
>
"org.apache.tools.ant.taskdefs.optional.junit.FormatterElement"
> > > and adding that seems good, but looking at the
> API
> > > for UnknownElement,
> > > I don't see a way to add anything to it that
> isn't
> > > another
> > > UnknownElement.
> >
> > whoo, I'm confused... none of the classes in
> > oata.taskdefs.optional.junit, including
> > FormatterElement appears to have any knowledge of
> > UEs... so it looks at my admittedly casual glance
> like
> > you could just programmatically set the properties
> > (xml attributes) of a FormatterElement in code and
> add
> > it to your JUnitTask instance.  Is there a reason
> > (that my perfunctory analysis didn't find) that
> this
> > won't work?
> 
> I don't have a JUnitTask instance :(
> 
> I'm using the BuildListener interface, and I just
> get an
> UnknownElement object that represents the 
> (and I guess later
> on becomes a JUnitTask).
> 
> Thanks all for putting up with this btw, I know I'm
> being an ignorant
> newbie here :)

'sokay--you do a lot for the community with your
Jakarta hat(s) on.  ;)  Can you try calling
maybeConfigure(), followed by getRealThing() on your
UnknownElement to get your JUnitTask instance?

-Matt

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



Re: Abusing the BuildListener

2006-07-14 Thread Henri Yandell

On 7/14/06, Matt Benson <[EMAIL PROTECTED]> wrote:



--- Henri Yandell <[EMAIL PROTECTED]> wrote:

> On 7/14/06, Matt Benson <[EMAIL PROTECTED]>
> wrote:
> > --- Henri Yandell <[EMAIL PROTECTED]> wrote:
> >
> > > Is that going to be impossible for subtags, or
> do I
> > > just need to grok
> > > how UnknownElements work etc?
> >
> > Am I being dense here?  I haven't grasped why you
> need
> > to use UEs instead of using task/type classes
> > directly.  The UnknownElement is generally an
> artifact
> > of Ant's XML configuration mechanism and can
> (should)
> > be bypassed in programmatic Ant usage.
>
> Entirely me being dense - this is my first time
> digging into these parts of Ant.
>
> When I inspect the event in taskStarted, it consists
> of
> UnknownElements, so my first attempt was to
> duplicate the structure of
> one of these to get my . I can mimic one
> happily enough
> (for all the getXxx responses), but something's not
> right in my
> mimicry as it falls over.
>
> Just making an
>
"org.apache.tools.ant.taskdefs.optional.junit.FormatterElement"
> and adding that seems good, but looking at the API
> for UnknownElement,
> I don't see a way to add anything to it that isn't
> another
> UnknownElement.

whoo, I'm confused... none of the classes in
oata.taskdefs.optional.junit, including
FormatterElement appears to have any knowledge of
UEs... so it looks at my admittedly casual glance like
you could just programmatically set the properties
(xml attributes) of a FormatterElement in code and add
it to your JUnitTask instance.  Is there a reason
(that my perfunctory analysis didn't find) that this
won't work?


I don't have a JUnitTask instance :(

I'm using the BuildListener interface, and I just get an
UnknownElement object that represents the  (and I guess later
on becomes a JUnitTask).

Thanks all for putting up with this btw, I know I'm being an ignorant
newbie here :)

Hen

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



Re: Abusing the BuildListener

2006-07-14 Thread Matt Benson


--- Henri Yandell <[EMAIL PROTECTED]> wrote:

> On 7/14/06, Matt Benson <[EMAIL PROTECTED]>
> wrote:
> > --- Henri Yandell <[EMAIL PROTECTED]> wrote:
> >
> > > Is that going to be impossible for subtags, or
> do I
> > > just need to grok
> > > how UnknownElements work etc?
> >
> > Am I being dense here?  I haven't grasped why you
> need
> > to use UEs instead of using task/type classes
> > directly.  The UnknownElement is generally an
> artifact
> > of Ant's XML configuration mechanism and can
> (should)
> > be bypassed in programmatic Ant usage.
> 
> Entirely me being dense - this is my first time
> digging into these parts of Ant.
> 
> When I inspect the event in taskStarted, it consists
> of
> UnknownElements, so my first attempt was to
> duplicate the structure of
> one of these to get my . I can mimic one
> happily enough
> (for all the getXxx responses), but something's not
> right in my
> mimicry as it falls over.
> 
> Just making an
>
"org.apache.tools.ant.taskdefs.optional.junit.FormatterElement"
> and adding that seems good, but looking at the API
> for UnknownElement,
> I don't see a way to add anything to it that isn't
> another
> UnknownElement.

whoo, I'm confused... none of the classes in
oata.taskdefs.optional.junit, including
FormatterElement appears to have any knowledge of
UEs... so it looks at my admittedly casual glance like
you could just programmatically set the properties
(xml attributes) of a FormatterElement in code and add
it to your JUnitTask instance.  Is there a reason
(that my perfunctory analysis didn't find) that this
won't work?

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



Re: Abusing the BuildListener

2006-07-14 Thread Henri Yandell

On 7/14/06, Matt Benson <[EMAIL PROTECTED]> wrote:

--- Henri Yandell <[EMAIL PROTECTED]> wrote:

> Is that going to be impossible for subtags, or do I
> just need to grok
> how UnknownElements work etc?

Am I being dense here?  I haven't grasped why you need
to use UEs instead of using task/type classes
directly.  The UnknownElement is generally an artifact
of Ant's XML configuration mechanism and can (should)
be bypassed in programmatic Ant usage.


Entirely me being dense - this is my first time digging into these parts of Ant.

When I inspect the event in taskStarted, it consists of
UnknownElements, so my first attempt was to duplicate the structure of
one of these to get my . I can mimic one happily enough
(for all the getXxx responses), but something's not right in my
mimicry as it falls over.

Just making an "org.apache.tools.ant.taskdefs.optional.junit.FormatterElement"
and adding that seems good, but looking at the API for UnknownElement,
I don't see a way to add anything to it that isn't another
UnknownElement.

Hen

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



Re: Abusing the BuildListener

2006-07-14 Thread Matt Benson
--- Henri Yandell <[EMAIL PROTECTED]> wrote:

> On 7/14/06, Steve Loughran <[EMAIL PROTECTED]>
> wrote:
> > Henri Yandell wrote:
> > > Reading the presetdef manual page, it sounds
> like it's not what I want
> > > because it only sets defaults and not mandated
> values. I don't want to
> > > allow the build.xml to change the settings.
> >
> > Well, if you are being really ruthless, you could
> subclass junit, and
> > have a distro with a modified properties file
> defining the junit typedef
> > and pointing at your subclass. The subclass gets
> to enforce its own rules...
> 
> Yeah, that's what I was originally going to do. I
> got excited when I
> realised that not only could I use -listener to hack
> it, I could
> possibly do it in such a way that I had some kind of
> AspectAnt that
> would let me modify Ant on the fly for other tasks.
> 
> Is that going to be impossible for subtags, or do I
> just need to grok
> how UnknownElements work etc?

Am I being dense here?  I haven't grasped why you need
to use UEs instead of using task/type classes
directly.  The UnknownElement is generally an artifact
of Ant's XML configuration mechanism and can (should)
be bypassed in programmatic Ant usage.

-Matt

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



Re: Abusing the BuildListener

2006-07-14 Thread Henri Yandell

On 7/14/06, Steve Loughran <[EMAIL PROTECTED]> wrote:

Henri Yandell wrote:
> Reading the presetdef manual page, it sounds like it's not what I want
> because it only sets defaults and not mandated values. I don't want to
> allow the build.xml to change the settings.

Well, if you are being really ruthless, you could subclass junit, and
have a distro with a modified properties file defining the junit typedef
and pointing at your subclass. The subclass gets to enforce its own rules...


Yeah, that's what I was originally going to do. I got excited when I
realised that not only could I use -listener to hack it, I could
possibly do it in such a way that I had some kind of AspectAnt that
would let me modify Ant on the fly for other tasks.

Is that going to be impossible for subtags, or do I just need to grok
how UnknownElements work etc?

Hen

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



Re: Abusing the BuildListener

2006-07-14 Thread Steve Loughran

Henri Yandell wrote:

On 7/13/06, Steve Loughran <[EMAIL PROTECTED]> wrote:


Henri Yandell wrote:
> I suspect this isn't what was intended for the build listener, but
> I've been using it to override the build.xml for  tasks. In
> startTask I ensure that haltonerror and haltonfailure are set to
> false. Next up I want to ensure there is always a  type="xml"/>, but adding a new task in seems a lot more painful than
> simply modifying the existing objects.
>
> Here's a chunk of my code:
>
> UnknownElement proxy = new UnknownElement("formatter");
> proxy.setNamespace("");
> proxy.setQName("formatter");
> proxy.setTaskName("formatter");
> 
proxy.setTaskType("org.apache.tools.ant.taskdefs.optional.junit.FormatterElement"); 


>
> proxy.setProject(task.getProject());
> proxy.setOwningTarget(task.getOwningTarget());
> RuntimeConfigurable fc = new RuntimeConfigurable( proxy, "formatter");
> fc.setAttribute("type", "xml");
> rc.addChild(fc);   // rc is the RuntimeConfig for the junit task
>
> When I build with a listener that contains this, I get:
>
> Class org.apache.tools.ant.UnknownElement doesn't support the "type"
> attribute.

have you not thought of using  to define a new junit with the
right defaults?



Didn't know it existed :)

Reading the presetdef manual page, it sounds like it's not what I want
because it only sets defaults and not mandated values. I don't want to
allow the build.xml to change the settings.

My ant script calls other ant scripts, so would be worried that the
presetdef wouldn't survive down into the  call. Of course I'm
assuming that I can get the listener into the  call in some way
:)


Well, if you are being really ruthless, you could subclass junit, and 
have a distro with a modified properties file defining the junit typedef 
and pointing at your subclass. The subclass gets to enforce its own rules...



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



[EMAIL PROTECTED]: Project svn-antlib-test (in module ant-antlibs) failed

2006-07-14 Thread Gump Integration Build
To whom it may engage...

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

Project svn-antlib-test has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 20 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- svn-antlib-test :  Task and Type Libraries for Apache Ant


Full details are available at:
http://vmgump.apache.org/gump/public/ant-antlibs/svn-antlib-test/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on ant-testutil exists, no need to add for property 
ant-testutil.jar.
 -INFO- Failed with reason build failed



The following work was performed:
http://vmgump.apache.org/gump/public/ant-antlibs/svn-antlib-test/gump_work/build_ant-antlibs_svn-antlib-test.html
Work Name: build_ant-antlibs_svn-antlib-test (Type: Build)
Work ended in a state of : Failed
Elapsed: 4 mins 52 secs
Command Line: java -Djava.awt.headless=true 
-Xbootclasspath/p:/usr/local/gump/public/workspace/xml-xerces2/build/xercesImpl.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar
 org.apache.tools.ant.Main -Dgump.merge=/x1/gump/public/gump/work/merge.xml 
-Dbuild.sysclasspath=only 
-Dant-testutil.jar=/usr/local/gump/public/workspace/ant/build/lib/ant-testutil.jar
 test 
[Working Directory: /usr/local/gump/public/workspace/ant-antlibs/svn]
CLASSPATH: 
/opt/jdk1.5/lib/tools.jar:/usr/local/gump/public/workspace/ant-antlibs/svn/build/test-classes:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/public/workspace/ant/build/lib/ant-testutil.jar:/usr/local/gump/public/workspace/dist/junit/junit.jar:/usr/local/gump/public/workspace/ant-antlibs/svn/build/ant-svn-14072006.jar
-
[junit] at java.lang.reflect.Method.invoke(Method.java:585)
[junit] at junit.framework.TestCase.runTest(TestCase.java:164)
[junit] at junit.framework.TestCase.runBare(TestCase.java:130)
[junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
[junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[junit] at junit.framework.TestResult.run(TestResult.java:113)
[junit] at junit.framework.TestCase.run(TestCase.java:120)
[junit] at junit.framework.TestSuite.runTest(TestSuite.java:228)
[junit] at junit.framework.TestSuite.run(TestSuite.java:223)
[junit] at 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
[junit] at 
junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:32)
[junit] at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:361)
[junit] at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:809)
[junit] at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:648)

[junit] Testcase: testDiffWithImplicitTrunk took 46.602 sec
[junit] FAILED
[junit] null
[junit] junit.framework.AssertionFailedError: null
[junit] at junit.framework.Assert.fail(Assert.java:47)
[junit] at junit.framework.Assert.assertTrue(Assert.java:20)
[junit] at junit.framework.Assert.assertTrue(Assert.java:27)
[junit] at 
org.apache.ant.svn.SvnTagDiffTest.assertModified(SvnTagDiffTest.java:109)
[junit] at 
org.apache.ant.svn.SvnTagDiffTest.assertDiffWithTrunk(SvnTagDiffTest.java:62)
[junit] at 
org.apache.ant.svn.SvnTagDiffTest.testDiffWithImplicitTrunk(SvnTagDiffTest.java:56)
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[junit] at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[junit] at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[junit] at java.lang.reflect.Method.invoke(Method.java:585)
[junit] at junit.framework.TestCase.runTest(TestCase.java:164)
[junit] at junit.framework.TestCase.runBare(TestCase.java:130)
[junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
[junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[jun

svn commit: r421839 - in /ant/core/trunk: docs/external.html xdocs/external.xml

2006-07-14 Thread jhm
Author: jhm
Date: Fri Jul 14 01:55:58 2006
New Revision: 421839

URL: http://svn.apache.org/viewvc?rev=421839&view=rev
Log:
Updated information as requested by their maintainer Pavel Vlasov.

Modified:
ant/core/trunk/docs/external.html
ant/core/trunk/xdocs/external.xml

Modified: ant/core/trunk/docs/external.html
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/docs/external.html?rev=421839&r1=421838&r2=421839&view=diff
==
--- ant/core/trunk/docs/external.html (original)
+++ ant/core/trunk/docs/external.html Fri Jul 14 01:55:58 2006
@@ -998,6 +998,61 @@
   
   
   
+
+Build Number
+  
+ Build Number is a tool to track software artifacts 
such as files and automatically assign 
+proper version/build numbers to them. It ensures that two different 
artifacts will have different 
+version/build numbers, but identical artifacts/builds will be assigned 
the same number. It doesn't 
+take version management away from you and doesn't replace your build 
process, but rather plugs 
+into the process and introduces version/build number governance by 
defining who is in charge of 
+which part of version number. With Build Number you are still in 
charge of the head of the version 
+number. E.g. you may decide to have 4 numbers in your version (major, 
minor, interface, implementation) 
+and you want to manage the two first numbers (major and minor). Build 
Number will take care of the 
+tedium of managing the last two numbers (interface and 
implementation). 
+  
+  
+  
+  Compatibility:
+  
+  
+  Tested with Ant 1.5.4 and 1.6.5
+  
+  
+  
+  
+  URL:
+  
+  
+  http://www.hammurapi.biz/products/buildnumber";>http://www.hammurapi.biz/products/buildnumber
+  
+  
+  
+  
+  Contact:
+  
+  
+  http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/contact.html";>Project 
Contact Page
+  
+  
+  
+  
+  License:
+  
+  
+  Commercial
+  
+  
+  
+  
 
 Checkstyle
   
@@ -1990,7 +2045,7 @@
   
   
-  http://www.hammurapi.org";>http://www.hammurapi.org
+  http://www.hammurapi.biz";>http://www.hammurapi.biz
   
   
   
@@ -2000,7 +2055,7 @@
   
   
-  http://www.hammurapi.org/content/[EMAIL 
PROTECTED]">Project's Contact Page
+  http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/contact.html";>Project 
Contact Page
   
   
   
@@ -4879,112 +4934,6 @@
   
   
   
-
-Speech4J
-  
-A text-to-speech task and build listener, which 
produce
-voice output either to speakers or .wav file (the task
-only).
-  
-  
-  
-  Compatibility:
-  
-  
-  Tested with Ant 1.5.2. Works only on Windows platform
-because the task uses Microsoft Speech API through
-JNI.
-  
-  
-  
-  
-  URL:
-  
-  
-  http://www.pavelvlasov.com/pv/content/Products/Speech4j/index.html";>http://www.pavelvlasov.com/pv/content/Products/Speech4j/index.html
-  
-  
-  
-  
-  Contact:
-  
-  
-  http://www.pavelvlasov.com/pv/content/contact.html";>Pavel 
Vlasov
-  
-  
-  
-  
-  License:
-  
-  
-  Lite edition of Speech4j which includes both the task
-and the listener is free.
-  
-  
-  
-  
-
-SQLC
-  
-SQLC generates Java classes from SQL statements 
obviating JDBC API
-in your code. Introduction to SQLC:
-http://www.pavelvlasov.com/pv/content/Articles/sqlc/sqlc.html";>
-http://www.pavelvlasov.com/pv/content/Articles/sqlc/sqlc.html
-  
-  
-  
-  Compatibility:
-  
-  
-  Tested with Ant 1.5.2. Compilation requires Java 1.4 and database
-