Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 36873 invoked from network); 4 Mar 2002 08:36:37 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 4 Mar 2002 08:36:37 -0000 Received: (qmail 10983 invoked by uid 97); 4 Mar 2002 08:36:46 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 10952 invoked by uid 97); 4 Mar 2002 08:36:46 -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 10941 invoked from network); 4 Mar 2002 08:36:45 -0000 Message-ID: <002901c1c356$bf820ea0$0100a8c0@jose> From: "Jose Alberto Fernandez" To: "Ant Developers List" References: Subject: Re: Name collisions Date: Mon, 4 Mar 2002 08:29:47 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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: "Adam Murdoch" >=20 > > From: Jose Alberto Fernandez [mailto:j_a_fernandez@yahoo.com] > >=20 > > > In ant2 it is likely that we will have types in different roles=20 > > with the same=20 > > > shorthand name. For instance myrmidon has a "classic" = ProjectBuilder, a=20 > > > "classic" Configurerr and a "classic" ProjectListener (all=20 > > emulating ant1.x=20 > > > behaviour).=20 > > >=20 > >=20 > > Oh, you can do the same thing in . That is not a problem.=20 > > The problem is that > > one also may have different roles whose namespaces have been=20 > > amalgamated.=20 >=20 > Just out of interest, what does that mean exactly? What is a role = that shares a namespace with=20 > another role? >=20 It means that you want all those roles to be available in the same = places and even in containers that were defined before your new role existed. The case of = task/data-type is a good example. Another was the whole discussion about "beans without = execute()". In the proposal you just define a new role "superbean" using = the TaskContainer interface and providing the new SuperBeanAdapter and presto! you can use these = beans any place a task can be used.=20 Simple and powerful. > > This > > happens when 2 roles use the same definition for the container=20 > > interface (with different=20 > > adapter, for example). This is the mechanism used in to=20 > > model the behaviour > > of task and data-type. Data-types can be used anywhere a task can=20 > > be used which means that they use the same container interface. > >=20 > > The issue is what to do in this amalgamated name space situation. > >=20 >=20 > For Ant 2, I guess there's a few things we can do. One option would = be to use the {antlib, role, > type-name} combo, to uniquely identify = each type. It's an easy constraint to enforce, and > something that the task writer has complete control over. >=20 > The type-name should be usable on its own, unless it is ambiguous. In = the cases where it is=20 > ambiguous, the build file writer needs to be able to tell us = explicitly which one they mean to use. > Some options: >=20 So what happens if I just do: ... not from a library but from an on the fly definition (like when one = compiles and uses the task on the same build. > * Have the ability to alias a type when imported. >=20 > > > >=20 > > >=20 You can do this in but the point is what does the system should = do if you do not do that. Jose Alberto -- To unsubscribe, e-mail: For additional commands, e-mail: