Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 73619 invoked from network); 6 Jan 2008 11:12:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Jan 2008 11:12:06 -0000 Received: (qmail 66336 invoked by uid 500); 6 Jan 2008 11:11:54 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 66250 invoked by uid 500); 6 Jan 2008 11:11:54 -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 66210 invoked by uid 99); 6 Jan 2008 11:11:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Jan 2008 03:11:54 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of xavier.hanin@gmail.com designates 72.14.202.181 as permitted sender) Received: from [72.14.202.181] (HELO ro-out-1112.google.com) (72.14.202.181) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Jan 2008 11:11:28 +0000 Received: by ro-out-1112.google.com with SMTP id p4so1750855roc.4 for ; Sun, 06 Jan 2008 03:11:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=dJg9aZGXb/JFRX1jaXmyTsm3FzCiPgeUltFsxxYBZVo=; b=MptuFW7LU4jx0vcQ1/J5SlyEjHnDBekgFIQbAmZUiZYnEqxn9duHTXjMIZ5x0s3PkfytSt7pG11EJW9ZojVKm5imDslxyHYMCtAcgpW7DWsAZihqMVv1ElZ43q1ikwpNJjUPTl1av7/uF3569faTpyF+pr9gCdXYTFB+31qvN1I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=jtTBOIMdNHGjBMK6vnaY6gXiFAzJ/HLqHJIs+EmkZGtLloP2UoIZALwSgKZoSN/mVXQBFVESga12GSUlrV7N4rk88oU8/kVXu7NpwIr0Ls4RkjJH82OIfGvBMOTu0Q/fW+M6sO4GHYexY/JneGfohcup7GrYr0wnpskqnz4q4ec= Received: by 10.141.15.19 with SMTP id s19mr9914547rvi.124.1199617891452; Sun, 06 Jan 2008 03:11:31 -0800 (PST) Received: by 10.140.225.10 with HTTP; Sun, 6 Jan 2008 03:11:31 -0800 (PST) Message-ID: <635a05060801060311md01af44i25dc3adb756c0887@mail.gmail.com> Date: Sun, 6 Jan 2008 12:11:31 +0100 From: "Xavier Hanin" To: "Ant Developers List" Subject: Re: On-server ivy settings? In-Reply-To: <1F59FE5D79A73248B7BEBE37907CC53B7849E0@mantis.mantis-tgi.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_12713_8322375.1199617891405" References: <635a05060801040724l5bb4670ane4a6f49cbdbe45c7@mail.gmail.com> <1F59FE5D79A73248B7BEBE37907CC53B7849DB@mantis.mantis-tgi.com> <635a05060801041700o4ffc095fhf89a8c6d4bb12cc1@mail.gmail.com> <1F59FE5D79A73248B7BEBE37907CC53B7849E0@mantis.mantis-tgi.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_12713_8322375.1199617891405 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Jan 5, 2008 11:29 PM, Jason Trump wrote: > yeah, I think that using the resolver itself to retrieve the settings is > elegant. another advantage is that the settings can be stored in the cache, > so that building completely from cache remains possible with a remote > settings file. offline builds are very important to the build system that I > work in, because we have a lot of remote developers who don't have VPN > access to our servers 100% of the time. It makes sense. But to use the cache to store the settings you need to know which cache to use, and to know which cache to use you need to configure the resolver. Not really possible. So we'd need to use another cache for that (probably the default cache), which means that could be achieved also for the include directive. So the differences I see with current include feature is: 1) allow to use any resolver mechanism to get the settings, instead of just file and urls. 2) use cache mechanism for settings file 3) syntax If I think about it more, you can implement something for #1 and #2 with current Ivy implementation: - create a bootstrap settings file, defining a resolver used only to load the actual settings - the ivy-[revision].xml is a simple Ivy file for a module called myorg#bootstrap, declaring one artifact publication, ivysettings.xml - load these settings and resolve myorg#bootstrap;1.0 -> this will download the ivysettings.xml, using cache mechanism to avoid the download if not required - load or include the downloaded settings to setup the real resolver to use So I see the feature you suggest as a kind of pre packaged way to easily do this without worrying about the different steps, and without the need to put an ivy file for the settings "module". Shouldn't be that hard to implement since every single piece of the puzzle already exists. > also, I think that it makes sense to keep the resolver artifacts and a > file that describes where the artifacts are stored "in the same place". > kind of like the use of annotations or xdoclet to store information about > java methods near the methods, so that if you update one, you are more > likely to update the other. Agreed. I guess you can open an issue in JIRA, with a link to this conversation. Xavier > > -----Original Message----- > From: Xavier Hanin [mailto:xavier.hanin@gmail.com] > Sent: Fri 1/4/2008 5:00 PM > To: Ant Developers List > Subject: Re: On-server ivy settings? > > On Jan 4, 2008 10:15 PM, Jason Trump wrote: > > > New feature suggestion (obviously not for 2.0): allow some kind of > > optional ivy settings file on the ivy repository. This would allow for > less > > configuration on the ivy client side, and make it easier to update the > > structure of your ivy repository. Things that could go in this file: > > > > * artifact and ivy patterns for the repository > > * repository-sensitive cache hints like changingPattern and > > changingMatcher > > * pointers to other repositories where artifacts are stored (so that > > client doesn't have to know about these) > > * lists of mirror or backup servers to improve availability > > > > though maybe the last one is better handled in custom repository > > implementations. The client config would then look something like: > > > > > > ... > > > > > > > > > > > > I know that you can do similar things with a remote ivysettings.xmlfile, > > but I liked the idea of putting information about the ivy repository in > the > > repository itself. What do you think? Is it worth mentioning in a JIRA > > issue? > > I like the idea (I actually already thought about promoting this before) > but I see only slight difference with the settings include mechanism. Or > maybe you would like to use the provisionning mechanism of the resolver to > fetch the settings (indlue only works with url and files, while we have > resolvers for scp or other protocols). Is it what you are thinking about? > Or > is it just syntactic sugar above the include mechanism? > > Xavier > > > > > > > > jason > > > > ________________________________ > > > > From: Xavier Hanin [mailto:xavier.hanin@gmail.com] > > Sent: Fri 1/4/2008 7:24 AM > > To: dev@ant.apache.org > > Subject: Consolidate cache related settings > > > > > > > > On Dec 28, 2007 1:29 AM, Xavier Hanin wrote: > > > > > One thing I'd still like to change in this area besides the fix and > > > improvement in flexibility is to make repository cache managers > > responsible > > > for managing the useOrigin flag. It would be much more consistent IMO, > > and > > > also more flexible, allowing to use one cache manager for one resolver > > with > > > useOrigin=true, and another cache manager for another resolver with > > > useOrigin=false. > > > > > > This would mean removing useOrigin flag from the tasks, and adding it > to > > > the cache settings (which will have to be improved to allow per > resolver > > > cache manager). Since this would be a task backward incompatibility > > (which > > > we tend to avoid to ease 2.0 migration), I'd actually keep the > useOrigin > > > attribute on the related tasks, but deprecate it, and only set a > > property > > > from the value set on the attribute. Then this property would be used > as > > > default value for the useOrigin flag on the default repository cache > > manager > > > (used by all resolvers unless they specify another repository cache > > > manager). > > > > > > After more work on the cache management, I see other settings which > > currently belongs to dependency resolvers and would better go in cache > > manager IMO: > > - check modified > > - changing pattern and changing matcher > > > > Indeed these settings are used to know if a module metadata or artifacts > > can > > change, and this is useful only for caching purpose. So instead of > putting > > these settings on the resolvers, I think moving them to cache manager > > would > > be more consistent. As for the useOrigin, we should still try to be > > backward > > compatible. We could say that the default values for check modified and > > changing patterns and matchers in a cache manager may depend on the > > context > > in which they are being used (in other words let the dependency resolver > > override the default when calling the cache manager). > > > > Any objection? > > > > Xavier > > > > -- > > Xavier Hanin - Independent Java Consultant > > http://xhab.blogspot.com/ > > http://ant.apache.org/ivy/ > > http://www.xoocode.org/ > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > > For additional commands, e-mail: dev-help@ant.apache.org > > > > > > -- > Xavier Hanin - Independent Java Consultant > http://xhab.blogspot.com/ > http://ant.apache.org/ivy/ > http://www.xoocode.org/ > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > For additional commands, e-mail: dev-help@ant.apache.org > -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/ ------=_Part_12713_8322375.1199617891405--