James Poli | 4 Dec 17:54 2013

Programatically change the default cache manager


I'm using Ivy 2.2.0 and trying to programmatically change the default cache manager and useOrigin value in
a custom Ivy Ant task after the ivy settings file has been processed by Ivy configure task.  It doesn't
appear to be using the new default cache with findrevision and resolve (i.e. in the resolvers)?   Is there
extra processing I need to do with the resolvers already defined and processed by configure?

Thanks in advance,

    Ivy ivy = getIvyInstance();
    IvySettings settings = ivy.getSettings();
    DefaultRepositoryCacheManager cacheManager = new DefaultRepositoryCacheManager();

    [ivy:findrevision] default-cache: cached resolved revision expired...
    [ivy:resolve] default-cache: cached resolved revision expired
Steve Heyns | 29 Nov 17:56 2013

Question about module builds


I am trying to migrate 2 build scripts to use ivy, they are 2 separate
modules. What I want to publish is

module a.jar (conf main)
module a test.jar (conf test)

module b.jar (conf main)
module b test.jar (conf test)

Issue is that module a test depends on module b, and module b test depends
on module a. The current way to build is to compile module a, then module b
then module a test, the module b test. To replicate this using ivy I would
need to be able to publish the source from both modules without the test
artifact, then publish the test artifacts. From what I understand
publishing only one artifact is not possible with ivy. But it seems odd to
define separate  ivy files. Anyone with ideas >

Nicolas Lalevée | 22 Nov 18:55 2013

[ANNOUNCE] Apache IvyDE 2.2.0 released

The Apache IvyDE project is pleased to announce its 2.2.0 release.

The Apache IvyDE Eclipse plugin integrates Apache Ivy's dependency management into Eclipse. It lets you
manage your dependencies declared in an ivy.xml in your Java Eclipse projects, or any other kind of
project which needs dependency management. Apache IvyDE will contribute to the classpath of your Java
project or you can make it retrieve your dependencies directly into your project. Last but not least
Apache IvyDE offer editors of ivy.xml and ivysettings.xml files with completion. Get some preview here: http://ant.apache.org/ivy/ivyde/screenshots.html

Major changes in this release:
* the API of IvyDE has been stabilized so that third party plugins can rely on it,
* while still not complete, and still not advertised as stable in Ivy, support of OSGi has been added,
* javadoc and source attachement can be edited now one by one,
* improved stability of the resolve process,
* improved logging for easier debugging.

* this release is expected to work with every version of Ivy 2.1 or superior. The OSGi features require Ivy
2.3.0 or superior though.

This release is considered as stable. The beta of 2.2.0 has been out for a (too) long time.

A more detailed release notes can be read there:

Download the 2.2.0 release at:

Or use directly the Apache IvyDE's updatesite:

(Continue reading)

Creigh Hobson | 7 Nov 12:07 2013

Is there a module descriptor parser for jboss-deployment-structure.xml or module.xml


As the subject says, Is there a module descriptor parser for
jboss-deployment-structure.xml? (Hope I'm asking the proper question). With
the advent of modules in JBoss AS 7, it's becoming important to build our
projects with the proper versions of code. In the server every module will
have its own classloader, so I want to echo that in the build and build
every module independently, with the dependencies intact. Also the
module.xml's that live in the server will also make a good report. Again
the same question. Does anyone know of a parser for module.xml?

Riccardo Foschia | 21 Oct 18:00 2013

(Useful for OSGi support): Exlude not inherited from parent module descriptor


if I use a parent descriptor for my ivy.xml using <extends> inside
<info> tag the <exclude>s defined in the dependencies tag are completely
ignored. This seems not to be a bug because in the documentation of
<extends> (see
) there is no value like "excludes" for attribute extendType.

Why is this so? Is there a workaround?

I have the following use case where it would be very important if the
<exclude> from the parent descriptor could be inherited:

When I develop OSGi bundles or Eclipse Plugins and want to use Ivy's
OSGi support I have to put in the ivy.xml a lot of excludes because of
the dependencies of bundles/plugins to the execution environment (see
http://ant.apache.org/ivy/history/latest-milestone/osgi/osgi-mapping.html section
"Execution Environment"). Now my idea was to put all these excludes in a
parent descriptor of the module descriptor of my OSGi bundle/Eclipse plugin.


ivy-parent.xml (parent descriptor) contains

<ivy-module version="2.2" xmlns:o="http://ant.apache.org/ivy/osgi">
    <info organisation="meta-level" module="osgi-parent">
        <extends organisation="bundle"
(Continue reading)

Riccardo Foschia | 21 Oct 11:00 2013

Problem in OSGi support: obr resolver does not find system bundle


I'm trying to use Ivy 2.3.0 OSGi support to develop an Eclipse plugin
and followed exactly the instructions of the sample "Building an Eclipse
plugin" from the Ivy docs.

When I'm calling ant task ivy:resolve the obr resolver correctly
resolves recursively a lot of bundles target platform (that acts a obr
repository like in the Ivy docs), but resolve fails with the following

bundle#org.eclipse.equinox.p2.metadata;2.1.0.v20120430-2001 in eclipse
[ivy:resolve] 	[2.1.0.v20120430-2001]
[ivy:resolve] :: resolution report :: resolve 7063ms :: artifacts dl 140ms
	|                  |            modules            ||   artifacts   |
	|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
	|      compile     |  164  |  156  |   0   |   0   ||   65  |   0   |
[ivy:resolve] :: problems summary ::
[ivy:resolve] :::: WARNINGS
[ivy:resolve] 		module not found: bundle#system.bundle;[0,)
[ivy:resolve] 	==== eclipse: tried
[ivy:resolve] 		module not found: package#javax.crypto;[0,)
[ivy:resolve] 	==== eclipse: tried
[ivy:resolve] 		module not found: package#javax.crypto.spec;[0,)
[ivy:resolve] 	==== eclipse: tried
(Continue reading)

O. Olson | 16 Oct 18:52 2013

Ivy Dependency on another Module

            I am new to
Ivy and not too familiar with Ant, but I am learning ;-) 
I need to make changes/customizations
to the code of another project called Apache Solr (related to Apache Lucene).
These changes are hacks for my personal use and I am trying to get it to build.
Solr uses both Ant and Ivy to build. I originally mixed up my code into that of
Apache Solr, and it works i.e. builds and runs fine. I am now trying to extract
my code separately and I am facing problems building. Eclipse compiles the
complete modified project with the extracted code fine, however when I run the
Ant script to build, it runs into errors. I'd be grateful if anyone can help
To summarize the problem: 
Solr has a '/contrib' directory,
that has two directories '/contrib/velocity' and my changes/customizations in  '/contrib/mycustom'
The Ant
build script seems to go into each of the directories inside '/contrib' and
build each of them. I would like of a way to tell Ant that the '/contrib/velocity'
depends on the module '/contrib/mycustom'.   
I have '/contrib/mycustom/ivy.xml' as:
<ivy-module version="2.0">
organisation="com.my.util" module="mycustom"/>
(Continue reading)

Kieran Shanley | 16 Oct 05:59 2013

IvyDE and retrieving artefacts into project root

Hi Guys,

I have a problem that looks like an issue with IvyDE. When I perform a
retrieve I am getting the following error in eclipse:

Description    Resource    Path    Location    Type
Error while resolving dependencies for ivy.xml[*] in /EarProject
Path must include project and resource name: /EarProject    ivy.xml
/EarProject    Unknown    IvyDE Problem

More Detail follows:

When the problem occurs I am trying to retrieve the WAR file which is a
dependency for my EAR project. The project I am working is using JBOSS7.
The WAR file needs to be placed in the root of the EAR.

Here are the ivyDE preferences settings:

org.apache.ivyde.eclipse.standaloneretrieve=<?xml version\="1.0"
encoding\="UTF-8" standalone\="no"?><setuplist><setup
name\="JARDependencies"><ivyxml path\="ivy.xml"/><retrieve confs\="default"
pattern\="lib/[artifact].[ext]" sync\="true"
types\="jar,bundle"/></setup><setup name\="WARdependencies"><ivyxml
path\="ivy.xml"/><retrieve confs\="*" pattern\="/[artifact].[ext]"
sync\="false" types\="war"/></setup></setuplist>

The problem occurs when retrieving the "WARdependencies"

I grabbed a copy of the ivyDE code and had a look around. It seems the
(Continue reading)

Van Hulle, Larry [IT] | 14 Oct 22:24 2013

Retrieve pattern wont save, no error messages

Hi this has been going on for awhile and hoping could get some assistance…


We upgraded our machines to Eclipse Kepler since we are using Windows 7.

Version: Kepler Service Release 1

Build id: 20130919-0819






Since the when we use the ivy plugin from your site,  the retrieve pattern we used before that worked in Windows XP, wont save.  This is causing our team tremendous work now, so wanted to see if someone could assist on figuring the issue out.


Pattern we type into the retrieve for ivy is: ../../../ivyrepository/.ivy2/${version}/jars/[artifact]-[revision].ext and we click the apply button and acts like it takes.  But if you go to the other part of the plug in screen, come back, the change is lost.


After I click apply:



Go to another screen and back, now my pattern is lost.


This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.
Charles Duffy | 7 Oct 23:42 2013

Namespace translations not applied to overrides

Howdy --

Importing some Maven artifacts, I've noticed that the generated artifact
descriptors have their dependency elements successfully translated to the
local namespace -- but overrides are untranslated, referring to the
pre-translation names.

Am I correct in believing this to be a bug?
Christian Elsen | 2 Oct 10:43 2013

Bug with ivy:retrieve


I have a problem with ivy:retrieve.
This dependency from my ivy-file
	<dependency org="com.google.gwt"  name="gwt-user" rev="2.4.0"/>
has a transitive dependency in the pom file
to the

When executing
it only grabs the source
as transitive dependency, but not the binary

If I directly add the transitive dependency into my ivy.xml like in
	<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA">
	    <artifact name="validation-api" ivy:classifier="sources" />
	    <artifact name="validation-api" />
(ivy namespace added to root as xmlns:ivy="antlib:org.apache.ivy.ant")
then I get the missing binary jar file. This can be a workaround for the problem

Still, as Ivy should resolve transitive dependencies, this seems like a bug to me.
Could be a similar issues as in
	http://issues.gradle.org/browse/GRADLE-1934 (and GRADLE-739)

Is any other solution or workaround known which does not required the project's ivy-file to be changed?

kind regards,