ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: can i call ivy:configure multiple times with different configuration files(which in turn refers different ivy.xmls)?
Date Mon, 25 Jun 2007 07:01:21 GMT
On 6/23/07, Gilles Scokart <gscokart@gmail.com> wrote:
>
> The name of the resolver used to download an artefact is kept in the
> cache, yes.  But it's only its name.  The resolver itself is not
> known.
>
> When you make your resolve, Ivy will first look in the cache.  If you
> are asking for a a fixed version and that version is in the cache,
> it's that version that will be used.  In that case, Ivy will even tell
> you in the console that this dependency has been found using the non
> standard resolver because its name was kept in the cache.
>
> I really think that we should review that, because it is not very
> intuitive.  I agree.


I agree too, this makes the cache less reusable and is not intuitive at all.


By the way, note that writting <ivy:settings/> actually doesn't do
> anything.  Your resolve will indeed use the default settings, but not
> because of your declaration of <ivy:settings/>.  What will happen in
> the resolve is that the task will search for the default id
> "ivy.instance", and will not found anything.  In that case, it creates
> this default settings and will use it.


I think this is counter intuitive. Why the <ivy:settings /> doesn't use the
default id used by the resolve? Or maybe I'm missing something?

Xavier

That also means that if your use <ivy:settings file
> 'otherSettings.xml"/>, this "otherSettings will never be used.  To be
> used by default, you have to write <ivy:settings id="ivy.instance"
> file 'otherSettings.xml"/>.
>
> Gilles
>
> 2007/6/23, Jeffrey Blattman <jeffrey.blattman@gmail.com>:
> > i don't think this has anything to do w/ the cache. the problem is that
> > when i do:
> >
> > a) <ivy:settings id="..." file="..."/>
> >
> > then:
> >
> > b) <ivy:settings/>
> >
> > then i do:
> >
> > <ivy:resolve/>
> >
> > it uses the non-default settings loaded in step a). this is not what i
> > expect, i expect it to use the default settings loaded in step b).
> >
> > does that make sense? or am i misunderstanding how the settings id
> works?
> >
> > are you saying that the artifacts in the cache resolved w/ the
> > non-default settings between steps a) and b) somehow remember where they
> > came from? the resolvers are encoded into the cache?
> >
> > Gilles Scokart wrote:
> > > Isn't it related to the cache?  If some dependencies (coming from the
> > > "many resolvers used in step 1") are already in the cache, your
> > > retrieve of step 2 will found it there.  Ivy wil even say that it
> > > comes from those repositories.
> > >
> > > Is it what you have?
> > >
> > > In 2.1 (or 2.0) we will review our cache.  As a workaround, you could
> > > specify a different cache location in your 2 settings.
> > >
> > > Please, tell us if that solve your problem or if there is still an
> > > error with the scoping of the settings.  And if you want, add a
> > > comment to [1].
> > >
> > > [1] https://issues.apache.org/jira/browse/IVY-399
> > >
> > >
> > > Gilles
> > >
> > >
> > >
> > > 2007/6/21, Jeffrey Blattman <jeffrey.blattman@gmail.com>:
> > >> sorry gilles, i was looking at the configure task, which i now see is
> > >> deprecated.
> > >>
> > >> 1. however, i am not getting the results i'm looking for ... what i
> want
> > >> is this ... one module that has settings that define several external
> > >> resolvers ... which "installs" them and builds local repo.
> > >>
> > >> 2. all other modules that use a different settings, that are define
> only
> > >> a single resolver, that points to the locally built repo in step 1.
> > >>
> > >> in step 1 i do ...
> > >>
> > >>         <ivy:settings id="dependencies" file="[the many resolvers
> > >> settings file]"/>
> > >>
> > >> then many
> > >>
> > >>         <ivy:install  .... settingsRef="dependencies" />
> > >>
> > >> that works fine ... but then in step 2 i do ...
> > >>
> > >>         <ivy:settings file="[one resolve file]"/>
> > >>
> > >> which uses the default id i assume. then
> > >>
> > >>        <ivy:retrieve/>
> > >>
> > >> the retrieve still finds the many resolves defined under the
> non-default
> > >> it "dependencies".
> > >>
> > >> what am i missing?
> > >> thanks.
> > >> Gilles Scokart wrote:
> > >> > I settings doc [1], you have the id field.
> > >> > In all other tasks you have the settingsRef field.  Look for
> example
> > >> > at [2], the field is described.
> > >> >
> > >> > It seems that I have a first feedback : the doc should be more
> clear.
> > >> > But how?
> > >> >
> > >> > [1] http://incubator.apache.org/ivy/doc/use/settings.html
> > >> > [2] http://incubator.apache.org/ivy/doc/use/resolve.html
> > >> >
> > >> > Gilles
> > >> >
> > >> > 2007/6/21, Jeffrey Blattman <jeffrey.blattman@gmail.com>:
> > >> >> sorry gilles, can you point me to the pages that explain the
> > >> feature? i
> > >> >> looked under ivy:settings and :configure  where i expected and
> didn't
> > >> >> see anything about resolveId there.
> > >> >>
> > >> >> Gilles Scokart wrote:
> > >> >> > It seems that the doc is already published on the website.
 But
> the
> > >> >> > code is only in the trunk in subversion.
> > >> >> >
> > >> >> > What you have to do is to declare your different settings
a ant
> > >> >> > datatype, then you can fill the settingsRef attribute of
every
> ivy
> > >> >> > task.
> > >> >> >
> > >> >> > Note that the ivy task will take by default the settings
with
> > >> the id
> > >> >> > 'ivy.instance'.  So if you don't want to put a settingRef
in all
> > >> your
> > >> >> > ivy task, you can set this id for the settings that ivy should
> > >> use by
> > >> >> > default.
> > >> >> >
> > >> >> > Please let me know if it works like you expect, if it is
easy to
> > >> use
> > >> >> > or if there are are any problems.  I would be pleased to
receive
> a
> > >> >> > feedback on this new feature.
> > >> >> >
> > >> >> > Gilles
> > >> >> >
> > >> >> > 2007/6/20, Jeffrey Blattman <jeffrey.blattman@gmail.com>:
> > >> >> >> hi gilles,
> > >> >> >>
> > >> >> >> is there documentation on how to use this feature? examples?
> > >> >> >>
> > >> >> >> thanks.
> > >> >> >>
> > >> >> >> Gilles Scokart wrote:
> > >> >> >> > This should be fixed in 2.0-alpha2. Ivy will allow
to use
> > >> multiple
> > >> >> >> > configuration (named settings in 2.0). See [1].
 To test it
> now,
> > >> >> you
> > >> >> >> > will have to make your own build of ivy (which is
not very
> > >> >> difficult).
> > >> >> >> >
> > >> >> >> > [1] https://issues.apache.org/jira/browse/IVY-366
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > Gilles
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > 2007/6/20, sujeewanie weerakoon <sujeewanie@yahoo.com>:
> > >> >> >> >>
> > >> >> >> >>
> > >> >> >> >>  I have a modular build structure based on Ant.
each
> > >> >> >> >>  module having a separate build script. I want
to
> > >> >> >> >>  have
> > >> >> >> >>  the ivy realted files also module wise.
> > >> >> >> >>  With ivy 1.0 this was possible. But when i
upgraded
> > >> >> >> >>  to
> > >> >> >> >>  ivy 1.4 only the first configuration file seems
to
> > >> >> >> >>  be
> > >> >> >> >>  reffered by all the modules.
> > >> >> >> >> Inorder to publish I say
> > >> >> >> >> <ivy:publish
> > >> >> >> >> artifactspattern="${dist.dir}\[artifact].[ext]"
> > >> >> >> >>             resolver="chain-resolver"
> > >> >> >> >>             pubrevision="${revision}"
> > >> >> >> >>             status="release"
> > >> >> >> >>          />
> > >> >> >> >>
> > >> >> >> >>  The [artifact] gets evaluated to module name
as
> > >> >> >> >> defined in the first loaded ivy.xml
> > >> >> >> >>
> > >> >> >> >> Is there a way to call ivy:configure multiple
times
> > >> >> >> >>  with different configuration files?
> > >> >> >> >
> > >> >> >>
> > >> >> >
> > >> >>
> > >> >
> > >> >
> > >>
> > >
> > >
> >
>



-- 
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message