ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luke Renn (Commented) (JIRA)" <>
Subject [jira] [Commented] (IVY-1309) Exclude dosn't work in a more complex build enviroment
Date Fri, 06 Apr 2012 18:05:22 GMT


Luke Renn commented on IVY-1309:

I'm able to fix this issue by making IvyNodeCallers not check the full callers list if it
finds the exclusions in the module descriptor.  In this case, equinox get re-included when
the kernel.userreqion caller is checked (since it's a dependency there).  I've got a fix locally,
but I'm pretty sure that will break dependency level excludes that really should get reincluded.

The relevant code is:

    boolean doesCallersExclude(String rootModuleConf, Artifact artifact, Stack callersStack)
        if (callersStack.contains(node.getId())) {
            return false;
        try {
            Caller[] callers = getCallers(rootModuleConf);
            if (callers.length == 0) {
                return false;

            for (int i = 0; i < callers.length; i++) {

                if (!callers[i].canExclude()) {
                    return false;

                if (!doesExclude(md, rootModuleConf, callers[i].getCallerConfigurations(),
                    callers[i].getDependencyDescriptor(), artifact, callersStack)) {
                    // This is what kills us...if it's the a top level exclude, this check
shouldn't be happening or it's going to get unexcluded here.
                    return false;
            return true;
        } finally {

> Exclude dosn't work in a more complex build enviroment
> ------------------------------------------------------
>                 Key: IVY-1309
>                 URL:
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.0
>            Reporter: Christopher Frost
>         Attachments:
> We are using ant 1.8.2 and Ivy 2.1.0 for our build. When resolving an ivy file the module
wide exclude fails to stop a matching transitive dependency from coming in. I have reduced
the build down as much as possible to try and make it easy to diagnose but if I strip any
more out then the problem goes away. I don't believe there is anything wrong with what's there,
it's from a very mature system used to build all the Springsource projects internally. I will
upload a zip to reproduce. 
> 1. Unzip the zip file.
> 2. At the command line go in to the unzipped, 'kernel' directory.
> 3. run 'ant clean package'
> 4. in the target directory just created there will be a 'org.eclipse.osgi-3.7.0.v20110613'
file, this is excluded in the ivy file.
> The ivy and build files are pretty minimal but I can't see anything I've done wrong.
The artifacts it's pulling in are in the ivy-cache/integration-repo directories so nothing
needs to be downloaded.
> Chris.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message