Return-Path: X-Original-To: apmail-ant-dev-archive@www.apache.org Delivered-To: apmail-ant-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 18D86D941 for ; Thu, 28 Jun 2012 00:14:28 +0000 (UTC) Received: (qmail 37989 invoked by uid 500); 28 Jun 2012 00:14:27 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 37893 invoked by uid 500); 28 Jun 2012 00:14:27 -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 37882 invoked by uid 99); 28 Jun 2012 00:14:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jun 2012 00:14:27 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mgitman@gmail.com designates 209.85.220.173 as permitted sender) Received: from [209.85.220.173] (HELO mail-vc0-f173.google.com) (209.85.220.173) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jun 2012 00:14:20 +0000 Received: by vcbfo13 with SMTP id fo13so1190542vcb.4 for ; Wed, 27 Jun 2012 17:13:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=7aSNhqPmL/37KtgbCXxtoPgdgYMyFM0zNDGOwNZxw/Y=; b=K6zx/Zc6sPNVZQPyKsMuMbHfJ7iClPW+KXBmqQVETeayk6wsDU1t1Qiw1y/mmAfy5O y1BZQEtmQu62oq92DefjDQyxIi1YPWxGOCQho8j6TMmWj5SdhePJDqqi6DaTfL4aAca+ 1w0Mqvf7ElNdPAtI6kIIxCrHxJBukKExW0OMv81gEzg3rV2y42/FAOaUvbg7UJt7exKN CQPKQZD6BZs8hTG9NuzgH+8hW5ymTW078hqDBu4gJ2cS8zSNRtElX1+XqXkrzDnJPz6Q LQzTDlmo/T7bf8NPbIMBw67gv1pBaehH7T6MhGiKIG0uW9Lpx5yQc82brWHKbU8Usc58 ZzcA== MIME-Version: 1.0 Received: by 10.52.27.244 with SMTP id w20mr13233103vdg.67.1340842439862; Wed, 27 Jun 2012 17:13:59 -0700 (PDT) Received: by 10.220.17.27 with HTTP; Wed, 27 Jun 2012 17:13:59 -0700 (PDT) In-Reply-To: References: <1340400240.23666.YahooMailNeo@web162906.mail.bf1.yahoo.com> Date: Wed, 27 Jun 2012 17:13:59 -0700 Message-ID: Subject: Re: Fwd: extends & buildlist on 2.3.0-rc1 ... it gets worse From: Mitch Gitman To: Ant Developers List Content-Type: multipart/alternative; boundary=20cf307c9bd253eb9a04c37d3571 X-Virus-Checked: Checked by ClamAV on apache.org --20cf307c9bd253eb9a04c37d3571 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I've created a JIRA issue with an attached test case for this "buildlist with two parents" problem: https://issues.apache.org/jira/browse/IVY-1363 title: "ivy:buildlist task confused by extends feature using two parents" It's going to be three weeks until I'd be able to try working on a patch myself for this. I'm hoping Jean-Louis or someone else might be interested in taking this on in the meantime. I'm also noticing a broader theme of instability surrounding the extends/parent feature. I mention here that earlier I'd started another ivy-user thread "buildlist task chokes on absolute path to parent Ivy module" concerning Ivy 2.2.0. It appeared that this problem went away in Ivy 2.3.0-rc1. However, after I cleared out my Ivy cache and ran ivy:buildlist, I found it inexplicably failing on an absolute path to a parent in a single Ivy module: java.text.ParseException: Problem occurred while parsing ivy file: null in file: =E2=80=A6 =E2=80=A6 Caused by: java.lang.NullPointerException at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.parseOth= erIvyFile(XmlModuleDescriptorParser.java:659) at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.extendsS= tarted(XmlModuleDescriptorParser.java:443) at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser$Parser.startEle= ment(XmlModuleDescriptorParser.java:327) ... 48 more And believe me, the file is there. And strangely, as I suggest above, this failure only shows up after clearing out the Ivy cache. I'm going to try narrowing down and isolating this problem. It's odd that I should have to convert only one ivy.xml's extends@location value to a relative path. Plus, it's worth noting that I came across another JIRA issue (reported by someone else) involving buildlist not working as expected with extends: https://issues.apache.org/jira/browse/IVY-1345 title: "ivy:buildlist does not order properly modules that extend module with revision not matching dependencies" And just with the extends/parent feature (without buildlist getting involved), I encountered another problem that I reported yesterday in JIRA: https://issues.apache.org/jira/browse/IVY-1359 "ivy.xml extends feature complains about Windows filesystem path" On Tue, Jun 26, 2012 at 2:00 PM, Jean-Louis Boudart < jeanlouis.boudart@gmail.com> wrote: > I can try to spend some time on it but i need a reproducable use case. > > Opening a JIRA and attaching a test case could save hours. > Le 22 juin 2012 23:24, "Maarten Coene" a =C3=A9= crit : > > > Hi Mitch, > > > > I've just replied on the ivy-user mailing list. > > > > I think this issue should get fixed before the 2.3.0 final release. > > Could you at least create a JIRA issue for this bug. Attaching a test > case > > would be really helpfull. > > (attaching a patch that fixes the problem would be even more helpfull > :-) ) > > > > > > I don't have time right now to look at it though. > > > > I hope to have a bit more time in july/august... > > > > > > Maarten > > > > > > > > ________________________________ > > From: Mitch Gitman > > To: Ant Developers List > > Sent: Friday, June 22, 2012 7:53 PM > > Subject: Fwd: extends & buildlist on 2.3.0-rc1 ... it gets worse > > > > I'm forwarding this thread I started on the ivy-user list. > > > > Can someone advise me how to handle this? Should I file a JIRA issue? I= s > > someone aware if there's a JIRA issue already for this problem? For tha= t > > matter, has anyone else noticed Ivy buildlist and extends not being abl= e > to > > coexist? > > > > Once we've established that there's a JIRA issue with a reproducible us= e > > case, what's the best way to ensure it gets addressed? Would someone li= ke > > Maarten want to tackle this, or should I? My fear is that, if I tackle > it, > > the fix is not going to find its way into the code base. > > > > Well, my bigger fear is that Ivy 2.3.0 is going to be released without > this > > problem being addressed. > > > > ---------- Forwarded message ---------- > > From: Mitch Gitman > > Date: Fri, Jun 22, 2012 at 10:21 AM > > Subject: Re: extends & buildlist on 2.3.0-rc1 ... it gets worse > > To: ivy-user@ant.apache.org > > > > > > OK, I stripped away all use of the extends feature, and sure enough, > > buildlist produced a normal, expected, non-randomized project build > order. > > This indicates that something that had been working in Ivy 2.2.0 is no > > longer working in Ivy 2.3.0-rc1. > > > > Considering that: > > A. The buildlist task is a prerequisite for being productive with Ivy.* > > B. The extends feature is a prerequisite for being productive with Ivy.= * > > The apparent fact that these two features are now mutually exclusive wi= th > > Ivy 2.3.0-rc1 (where they weren't with Ivy 2.2.0) represents a serious > bug. > > > > I think my next step is to forward this thread to the ant-dev list and > ask > > how to proceed. > > > > * For those who wish to say, "Mitch, we've been able to get by just fin= e > > without (buildlist|extends)," I'm perfectly happy to have that > discussion, > > but my primary concern now is facilitating a fix. > > > > On Thu, Jun 21, 2012 at 10:12 PM, Mitch Gitman > wrote: > > > > > One other data point. As long as my undesired simplification wasn't > > > helping things, I went back to both a bootstrap-parent and a > > master-parent. > > > I also tried setting haltOnError=3D"false" on ivy:buildlist. With tha= t, > the > > > task successfully got through everything. However, it continued to > > create a > > > seriously trashed build order. > > > > > > Just as an experiment, I might try converting all the ivy.xml files t= o > > not > > > use the extends feature and then see what happens when running > buildlist. > > > My hypothesis is, this will work. Not that this is a desired state of > > > affairs, but at least it isolates the problem to the interaction > between > > > buildlist and extends. > > > > > > > > > On Thu, Jun 21, 2012 at 9:23 PM, Mitch Gitman > wrote: > > > > > >> Over a week ago, I'd sent out a message to this list, "buildlist tas= k > > >> chokes on absolute path to parent Ivy module." I'd found that the > > extends > > >> feature worked fine with an absolute path to the parent ivy.xml if I > was > > >> building any single Ivy module, but the buildlist task would fail to > > find > > >> the absolute path. > > >> > > >> > > >> > > >> I'd noted that I'd been using Ivy 2.2.0. Now that I've upgraded to I= vy > > >> 2.3.0-rc1, my problems have only gotten worse. The first problem I > > >> encountered had nothing to do with absolute paths to parents. I'm > still > > >> using relative paths to parents. Instead, it arose from my using two > > >> different parent Ivy modules: bootstrap-parent and master-parent. So= me > > >> projects extended the former; others the latter. For example: > > >> > > >> > > >> > >> revision=3D"${version}" > > >> > > >> location=3D"../bootstrap-parent/ivy.xml" /> > > >> > > >> > > >> > > >> > > >> > > >> But then when I pointed the ivy:buildlist Ant task at a project stac= k > > >> that included a mix of both parents and their children, I saw this > > error: > > >> > > >> impossible to parse ivy file for =E2=80=A6/foo-client/homeowner/buil= d.xml: > > >> ivyfile=3D.../foo-client/homeowner/ivy.xml > > >> exception=3Djava.text.ParseException: Problem occurred while parsing= ivy > > >> file: inconsistent module descriptor file found in > > >> 'file:/.../master-parent/ivy.xml': bad module name: > > >> expected=3D'bootstrap-parent' found=3D'master-parent'; in > > >> file:/.../foo-client/homeowner/ivy.xml > > >> > > >> > > >> > > >> What's happening is, the homeowner module extends bootstrap-parent, > but > > >> somehow the relative path to master-parent/ivy.xml is supplanting th= e > > >> relative path to bootstrap-parent/ivy.xml. It appears buildlist > doesn't > > >> know how to deal with more than one parent, even though there's no > > >> interaction between the two parents. > > >> > > >> > > >> > > >> After this, even though I didn't really want to, I thought, "Why not > > make > > >> things simple for buildlist and use just one parent, master-parent?" > > >> > > >> > > >> > > >> Here's where things really got wild. With Ivy 2.2.0, buildlist worke= d > > >> just fine, provided I gave it relative paths to the different parent= s. > > Now, > > >> even with a relative path and even with a single parent, buildlist o= n > > >> 2.3.0-rc1 goes nuts. I go so far as to introduce a buildlist Ivy con= f > to > > >> force project A to sort before project B. How does buildlist on > > 2.3.0-rc1 > > >> interpret this? It puts B before A. (And no, I can guarantee I have = no > > >> circular dependencies.) > > >> > > >> > > >> > > >> Can someone say, are there any integration tests that test the > > >> interaction between buildlist and extends? > > >> > > >> > > >> > > >> And how should I proceed regarding these problems? Should I file a b= ug > > or > > >> bugs or JIRA? Does anyone know of any existing bugs on JIRA? > > >> > > > > > > > --20cf307c9bd253eb9a04c37d3571--