My take on this is hard-nosed. Until we figure out a way to designate the required/optional distinction, in **all** its complexity, I cannot consider this an improvement whatever other virtues it may bring to the table. That simple column is the most useful thing to me about the ant documentation. I consult it whenever I go to write a build.xml that uses a task with which I am unfamiliar.
I know it isn't easy. A is required unless B, C and D or E is specified. Not fun. But necessary to any automated solution. Here's a random thought of dubious utility (especially since I have no idea how you're doing this) - isn't this problem similar to designing a DTD? -----Original Message----- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Sat 2/15/2003 4:18 AM To: Ant Developers List Cc: Subject: Re: ant xdocs! it ran! On Friday, February 14, 2003, at 08:41 PM, Jesse Stockall wrote: > On Wednesday, February 12, 2003, at 08:46 PM, Erik Hatcher wrote: >> >> What do you folks think? Where do we go from here with it? > > How is the optional vs required, and default values being handed for > attributes? Some tasks such as the VSS and Pvcs tasks have: > "Attribute description; optional, default false." > Others like CCMReconfigure have "Attribute description (default > false)." Ah, now the fun begins! :) The toughest thing about this is the required/optional designations. Steve and I punted on this a little by just making the description of the attributes say "required" or what the default value is. See this for an example on both attributes: http://nagoya.apache.org/gump/javadoc/ant/proposal/xdocs/build/docs/ manual/control/condition.html It would be easy enough to tag the simple tasks with @ant.attribute require="true" (or we could shorten it to @ant.required even). But it gets more complex than that. Think about the <property> task. Its so overloaded with location/value/file/refid/environment that you have to pick exactly one of them, but none of them are required by themselves. How would we designate this? Its a non-trivial issue. <snip>