Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 82673 invoked from network); 8 Jan 2010 23:54:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Jan 2010 23:54:01 -0000 Received: (qmail 36431 invoked by uid 500); 8 Jan 2010 23:54:00 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 36336 invoked by uid 500); 8 Jan 2010 23:54:00 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 36311 invoked by uid 99); 8 Jan 2010 23:54:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Jan 2010 23:54:00 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gudnabrsam@gmail.com designates 74.125.92.144 as permitted sender) Received: from [74.125.92.144] (HELO qw-out-1920.google.com) (74.125.92.144) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Jan 2010 23:53:51 +0000 Received: by qw-out-1920.google.com with SMTP id 4so3149831qwk.10 for ; Fri, 08 Jan 2010 15:53:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:mime-version:in-reply-to :references:content-type:message-id:content-transfer-encoding:from :subject:date:to:x-mailer; bh=tWFoLoeR/AF8AaXseuRUQUyDSLezaWYRWxNAyEoeEWE=; b=Wa9STDqBP3gpFQc4EAITe5c3RUpj9Md+4k4AJu7fgamTOJHF6YKrQBqeIoZ6J2T0dc uRWGOb77x4PugV5/dR6NRatgnE1QCj0YbyR2+IB4sTWmF7wrNh890j4U20dSJWfzBIPO Y190GxX0HR8zy2EfTtTaME32i5DqrC4zwXvHY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:content-type:message-id :content-transfer-encoding:from:subject:date:to:x-mailer; b=h9TSC19YMgWFNT36SL1obKYfNlKM/oergLzKLJuaMEGAb32LlA3uRK7ob1+UQwzcOM MVC6207tywqwZ63gW/Wq93KRUHxHkO14qVUtHVuiaiioNpdYyW3zUmYdu8PTvdFqdu18 olnKcmf1QvHcMTDT2IQFPGEY3e0xkbe6VFZaE= Received: by 10.229.32.10 with SMTP id a10mr4291825qcd.105.1262994808731; Fri, 08 Jan 2010 15:53:28 -0800 (PST) Received: from ?192.168.0.4? ([72.169.48.55]) by mx.google.com with ESMTPS id 23sm279139qyk.15.2010.01.08.15.53.24 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 08 Jan 2010 15:53:28 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v753.1) In-Reply-To: <4B47BEB6.2000903@earthling.net> References: <4B47BEB6.2000903@earthling.net> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Matt Benson Subject: Re: Questions about new (1.8) PropertyHelper+pals... Date: Fri, 8 Jan 2010 17:53:30 -0600 To: "Ant Developers List" X-Mailer: Apple Mail (2.753.1) X-Virus-Checked: Checked by ClamAV on apache.org On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote: > Hello all-- > > I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate > how much effort it would take to port my extensions (esp. those > dependent on the 1.7x PropertyHelper implementation). For this class > I have a few questions about current code: Firstly, Wabbit.... I am somewhat at a loss because I personally attempted, twice if I recall correctly, to engage you on this subject back when the API redesign was taking place, what, over two years ago? I don't want to appear unwilling to work with you here, but... wow. This could have been a lot easier then, especially considering the difference in code familiarity two years makes. In all honesty, I've found a lot less time than I would like to work on OSS lately. Ant in particular (and I hope this won't offend any of my comrades) has suffered neglect from many of its developers as of late; I vehemently include myself among the guilty. > > 1) No way for an evaluator to test if it's already installed as > getDelegates() is protected and there is no public getEvaluators() > method. > This is a fair assessment for you to have made from the API; however the (base) implementation of PropertyHelper actually discards equal delegates as they are installed. We could document this fact, and probably make the method final. Would that suffice? > 2) Still no way to have PropertyHelpers passed through to subprojects > automatically (all configuration lost). [See Project.initSubproject] > I can see how this might be desirable, but what happens when said subproject installs a completely new PropertyHelper that has no idea how to cope with the properties the parent project expects the subproject to know how to interpret? This would seem to want more discussion. > 3) Even with the current rework, installing a recursive property > evaluator requires that I replace the entire PropertyHelper because: > 1) The ParseProperties utility is created directly by the helper > and that's where the algorithm basically lies. I would be nice > to replace just *this* bit... > 2) The ParseProperties seems to be assuming a sequential walk thru > the input string (it moves from left->right first getting a > property name then mapping that name to a value...) Maybe I'm > missing something here (I hope)?... > I am far less familiar with the relevant code now, but a recursive property evaluator is certainly possible because it exists in the [props] sandbox Antlib, which we will promote to proper and release shortly after Ant 1.8.0 is released. I think perhaps what you've missed is that ParseProperties is not meant to be extended by PropertyHelper extensions (although I suppose in dire need it could be extended or bypassed); it's simply a class which contains the algorithms for parsing properties using whatever PropertyExpander delegates live in the active PropertyHelper. > Any feedback would be appreciated! > Regards, Matt > Thanks, > -The Wabbit > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > For additional commands, e-mail: dev-help@ant.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org