From ant-dev-return-35603-qmlist-jakarta-archive-ant-dev=jakarta.apache.org@jakarta.apache.org Fri Jul 12 08:11:05 2002 Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 62201 invoked from network); 12 Jul 2002 08:11:04 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 12 Jul 2002 08:11:04 -0000 Received: (qmail 8863 invoked by uid 97); 12 Jul 2002 08:11:27 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 8836 invoked by uid 97); 12 Jul 2002 08:11:26 -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 8819 invoked by uid 98); 12 Jul 2002 08:11:25 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) From: "Ara Abrahamian" To: "'Ant Developers List'" , Subject: RE: Ant 2 et al. Date: Fri, 12 Jul 2002 12:39:16 +0430 Message-ID: <073f01c2297b$7c651230$5e32d9d5@ara> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 Importance: Normal In-Reply-To: <3D2B1D7D.80201@apache.org> 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 What about this: I also like the idea of pre/post targets for targets and tasks, behaves like extensions points (aspectj style) rather than overriding this way: it tooks x seconds to run web-war Let us import other build files, point to and depend to targets defined there, override targets and pre/post targets/tasks and you really can write reusable reusable build file pieces. Ara. > -----Original Message----- > From: Nicola Ken Barozzi [mailto:nicolaken@apache.org] > Sent: Tuesday, July 09, 2002 10:00 PM > To: Ant Developers List > Subject: Re: Ant 2 et al. > > > Erik Hatcher wrote: > > ----- Original Message ----- > > From: "Nicola Ken Barozzi" > > > >>IMHO it's better to use composition rather than inheritance, ie compose > >>common build parts in your builds, like Java use Java packages. > > > > > > I'm not entirely convinced of this yet, but I still need to ponder this > > some. > > > > Example: > > I want to "inherit" a common web app project and add, say, XDoclet > > generation of web.xml. > > import file="commonwebappproject.xml" > import file="xdocletgeneration.xml" > > >>It's more a uses-a relationship rather than a is-a one. > >> > >>With imports you can modularize your builds. > > > > > > But I don't want to import all the pieces for every build. I want to > inject > > something into the dependency graph of an already pre-defined build. > How > > would that play out with imports? > > Ah, "inject in the dependency graph" is a delicate point ;-) > > If you want to not import everything, make an intermediate > buildfile that imports the single parts and have each of > your projects import that. > > This means that each of your projects have access to the common build > targets with a single import, and can create others via composition, ie > by creating new targets and calling the original ones via antcall or > depends. > > You are not able to inject though a target in a defined place in the > imported tree though. > It's specialization, what Maven does by giving hooks as pre and post > targets to existing ones. > > But this hides the dependency tree that is modifies. > If it's pre-made but hidden it's ok, but if it's modified *and* hidden, > it hides what is happening and can bring to subtle errors. > > -- > Nicola Ken Barozzi nicolaken@apache.org > - verba volant, scripta manent - > (discussions get forgotten, just code remains) > --------------------------------------------------------------------- > > > -- > To unsubscribe, e-mail: > For additional commands, e-mail: -- To unsubscribe, e-mail: For additional commands, e-mail: