Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 6713 invoked from network); 4 Feb 2010 21:47:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Feb 2010 21:47:06 -0000 Received: (qmail 97602 invoked by uid 500); 4 Feb 2010 21:47:05 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 97524 invoked by uid 500); 4 Feb 2010 21:47:05 -0000 Mailing-List: contact ivy-user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@ant.apache.org Delivered-To: mailing list ivy-user@ant.apache.org Received: (qmail 97514 invoked by uid 99); 4 Feb 2010 21:47:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Feb 2010 21:47:05 +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: local policy) Received: from [68.142.199.95] (HELO web81103.mail.mud.yahoo.com) (68.142.199.95) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 04 Feb 2010 21:46:56 +0000 Received: (qmail 25054 invoked by uid 60001); 4 Feb 2010 21:46:34 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1265319994; bh=hH75X26Nl08uSeJvsXuX3k8e0/CbeTDkDbRBgv6mL50=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=srTdA2xbyYE8bxxtDSq8Viuws91H2HadbLyWZpYeYRVvlradyLbVNx+FwodYfhu4CDBRB2JcMiaoBPUBsnZ9rstNepS2y1xxP8jlIZgVF/0SdSjIU7R34e1gCCcJYLtE61Yc4KW3YNy5aY0JiGdjwNJs28mTl8UgoWabl/C/BJg= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=nMRLQVbv6uefSyymgNLmQpy4M0warltsAs/gm4YKfwRX+wspHUb+oKYlSHSJEFRqCq69Li+vI8UoSsS8uomKh6F8roKQ3d3fePes4ftF27U0JNd+tkrABCKwi0saBb1iHHQWHXwGJ+EGVHhWGikez18oZqXAgCZeraXbzw9pogU=; Message-ID: <194952.22522.qm@web81103.mail.mud.yahoo.com> X-YMail-OSG: kzow7T0VM1n3Wv66H7tuhCO0ydSwhW6Pb4bze0BGcLFtorYFpG_PJrE_fXVO13eU8bsTj8lGRDX6heI6_zaw1X8lvKsu_rAznHZjcMhL3Gktcs8GuxR1abIE0yaBIdY_Ar3nBbAZihbxaZQo37Mihv5SEvmTgnVtGos85lLDN4itdTEAwxM4lUNoMdBKAcPR_ZYS9kZpF3_WIuudU6N8XE7otrY_kLr9K2ylMKxmW9p7RwYDlGZZ4WFdYbIKO0QqzJpoS.S2ruDsqZ3Z6dM9kJwSELT_zzW6LfPm1i87Mn1gV3EeUNVHnxQWZb28D7PwwGiQf_FwcjIeG5OXsexRcP1pSE7n5g3fEH.VGUijz8bPuvtPfAFunLRWcVmnQzrXDCP3OJCU1lY.KtN3nvGYKBKdXjWxY5iWDmf3PtWOcDfbbFxynAQ.o4nmpKXnEvPo3ayvoIWSwyN5j5HL Received: from [12.69.33.130] by web81103.mail.mud.yahoo.com via HTTP; Thu, 04 Feb 2010 13:46:34 PST X-Mailer: YahooMailRC/272.7 YahooMailWebService/0.8.100.260964 Date: Thu, 4 Feb 2010 13:46:34 -0800 (PST) From: Jeffrey Metcalf Subject: Will future IvyDE resolve workspace dependencies on the branch attribute? To: ivy-user@ant.apache.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Checked: Checked by ClamAV on apache.org Hi, I am new to IvyDE but rather experienced with Ivy. I find the IvyDE tool exceptional. The developers have done a great job and it seems quite stable and feature rich with the 2.0.0 version. I have read through the documentation, the FAQ, and browsed the Jira project, and despite some related discussion in Jira, I was unable to determine if it is possible or if it is planned to leverage the branch attribute on a module descriptor and dependency descriptor to help identify the eclipse project to build a dependency against. Here are my needs: 1. I work on projects where I can be called upon to simultaneously work on code in the trunk and branch (bug fix). Consequently I often have both code bases open simultaneously as Eclipse projects in the workspace. 2. The project in the trunk does not use the branch attribute in its module descriptor tag. The project in the branch uses the branch attribute in its module descriptor tag. 3. Other eclipse projects may have a dependency on the projects described in 2. Some depend on the branch project (specified using branch attribute), others depend on the trunk project (specified by not using a branch attribute). 4. When I resolve the IvyDE classpath for the projects in 3 as needed, the proper dependent project in 2 is not resolved. It seems there are three possible workarounds each less than ideal. a. The dependency matching algorithm seems to use revision ranges which can work, but the problem is we generally use latest.integration as the revision in the tag for the projects in 3 for both trunk and branch code undergoing development (both can appear in our CI instance). b. I can close the eclipse project I don't want to match on, but it can be problematic if I want to access the closed project. c. Use separate workspaces for trunk and branch code. A case can be made for good development practice here, but switching between workspaces is even more inconvenient than opening and closing projects in a single workspace (workaround 2). It seems that adding a comparison on the branch attribute would probably be quite simple if I understand the current algorithm correctly. I assume that it goes something like this: 1. Look for candidate projects that match against the org and module attributes in the module descriptor. 2. If more than one match is found among the candidates, check to see if a value for revision is set in the module descriptor and compare that to the range for revision in . 3. If a match is found in 2, select the project for classpath dependency. Otherwise just select the first found project match after step 1. Therefore it seems to add a match on branch, just one additional comparison needs to be done between 1 and 2: 1. Look for candidate projects that match against the org and module attributes in the module descriptor. 1.5 If the also contains the branch attribute, eliminate all those candidates from 1 that do not define the same value of branch in the module descriptor. 2. If more than one match is found among the (remaining) candidates, check to see if a value for revision is set in the module descriptor and compare that to the range for revision in . 3. If a match is found in 2, select the project for classpath dependency. Otherwise just select the first found project match after step 1.5. As I said above, I found some discussion on the matching algorithm in the Jira issues and there was a minor mention about the branch attribute, so I am not sure if there plans to include the value in the workspace dependency code for a future release. If so, I can wait. If not, would it be appropriate to add a new feature request in Jira? Thanks, -J