ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Scokart" <gscok...@gmail.com>
Subject Re: can i call ivy:configure multiple times with different configuration files(which in turn refers different ivy.xmls)?
Date Sat, 23 Jun 2007 19:36:22 GMT
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.

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.

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?
> >> >> >> >
> >> >> >>
> >> >> >
> >> >>
> >> >
> >> >
> >>
> >
> >
>

Mime
View raw message