ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Anderson <>
Subject Re: IvyDE workspace resolver & classpath container not playing well with AndroidDependencies classpath container...
Date Sat, 19 May 2012 03:16:50 GMT

Nicolas Lalevée wrote:
>> Another way would be to have the workspace resolver somehow inject an
>> artifact from the workspace dependency that can be "retrieved" and copied
>> via a retrieve pattern into the libs/ directory for the
>> AndroidDependencies classpath container to pickup.
> What would be that artifact ? There is no way to be sure how to package an
> Eclipse project, some build is involved. IvyDE cannot do that either.

The only thing I can think of is to somehow specify the artifact produced by
the dependent workspace project that would be eligible to be retrieved by
the retrieve pattern specified for the Ivy classpath container just as Ivy
now does for artifacts retrieved from external repos.

In a manner of speaking, whats missing is a way for the dependent workspace
project to "publish" an artifact...that is publish in a way that the
workspace resolver could pick it up and put it in the Ivy cache like other
resolvers know how to do for external repo dependencies.

Another idea is to somehow use a linked resource that the workspace resolver
could use to identify the published artifact.  The dependent project would
have to declare this in the Ivy classpath container configuration.

Either way, this would allow the retrieve pattern specified for the Ivy
classpath container in the project declaring the dependency to work
transparently with artifacts gathered from artifacts/resources "published"
by dependent workspace projects or external repos as they all would be in
the Ivy cache so they can be "retrieved".

The above might be specified as an alternative to placing the dependent
projects on the Java Build path as the Ivy classpath container now does. 
I'm assuming that the workspace resolver knows how to put references to
dependent workspace projects into the Ivy classpath container...are these
simply source references?  (Sorry, I'm not all that familiar with the inner
workings of Eclipse.)

Nicolas Lalevée wrote:
>>  I'm not clear what the kind of reference the workspace resolver injects
>> into the Ivy classpath container.
> IvyDE use the JDT API, it add a reference to the dependent project, just
> like you would do manually in the "Java Build Path". It is then the
> responsibility of the JDT to properly build the classpath with that.
> I don't know the Android SDK, but isn't it possible to let the classpath
> be managed by the IvyDE container ? Let you dependency be in the IvyDE
> container and not in the Android container ?

No, I don't think so.  Android SDK wants to manage the classpath for Android
projects.  The AndroidDependencies classpath container is what the Android
Eclipse plugin uses to satisfy external dependencies when it is building the
Android project.  This is why I've had to specify retrieve patterns in my
Android projects that copy dependent artifacts resolved from external repos
into a location where the AndroidDependencies classpath container expects
them to be (the libs/ directory) so the Android Eclipse plugin can build the
Android project.

Thanks for the answer!


View this message in context:
Sent from the ivy-user mailing list archive at

View raw message