Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 71958 invoked from network); 14 Mar 2002 00:03:36 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 14 Mar 2002 00:03:36 -0000 Received: (qmail 14325 invoked by uid 97); 14 Mar 2002 00:03:41 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 14308 invoked by uid 97); 14 Mar 2002 00:03:40 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 14297 invoked from network); 14 Mar 2002 00:03:40 -0000 Message-ID: <002f01c1caea$c6f33470$0100a8c0@jose> From: "Jose Alberto Fernandez" To: "Ant Developers List" References: <012601c1c749$276d2950$0100a8c0@jose> Subject: Re: ProjectComponentHelper and adapters Date: Wed, 13 Mar 2002 23:57:03 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N From: "Stefan Bodewig" > On Sat, 9 Mar 2002, Jose Alberto Fernandez > wrote: >=20 > > The only special case is with "id" references that would have to be > > resolved when they are used, (if not resolved yet). >=20 > This could be done (by returning a smart replacement for Hashtable in > project.getReferences in the first place) and you'd still have to > resolve all references when you encounter a script task, but it would > probably work. >=20 I agree. > > If we could a consensus on how to do that we could reduce > > ProjectHelper cruft by at least 80% (at least in the version in > > proposal) and we would finish with a completely regular set > > of rules for constructing and evaluating the tree. >=20 > So let's try to get consensus here. >=20 > As far as I can tell, the only reason to have task instances created > at parser time are references. If nobody else can come up with a > different reason and we can address this issue, we have consensus, no? >=20 Yes. I was looking at the code in today and I agree that = UnknownElement is=20 preaty bad. What I want to achieve is a very regular mechanism for doing = the parsing. If you look at you will see that Top level tasks are treated as = just being inside a special kind of Target which is evaluated inmediately. That = means that all parsing code behaves as inside a Target.=20 If we can get rid of the bookeeping to invalidate tasks, that would be = fantastic. That would mean that once a task in a target is resolved to a particular = definition, that definition stays in place. Since in regular ANT each target is = evaluated only once, I see no issue here (multiple execs via use reparsing). The = only case in which multiple execs of a target are possible is via