You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by infinity2heaven <in...@gmail.com> on 2010/05/05 19:10:17 UTC

doesn't really exclude a dependency

Can anyone tell me what I'm doing wrong in this?

<dependency org="org.springframework" name="org.springframework.beans"
rev="${spring.version}"
conf="compile->compile(*),master(*);runtime->runtime(*)">
       <exclude name="com.springsource.javax.el" />
</dependency> 

Ivy still downloads javax.el jar  and the only way I can exclude it is using
transitive="false" option. But that would not download any other dependency
too which is not what I want.

The configurations are:


 <configurations>
        <conf name="default" visibility="public" description="runtime
dependencies and master artifact can be used with this conf"
extends="runtime,master"/>
        <conf name="master" visibility="public" description="contains only
the artifact published by this module itself, with no transitive
dependencies"/>
        <conf name="compile" visibility="public" description="this is the
default scope, used if none is specified. Compile dependencies are available
in all classpaths."/>
        <conf name="provided" visibility="public" description="this is much
like compile, but indicates you expect the JDK or a container to provide it.
It is only available on the compilation classpath, and is not transitive."/>
        <conf name="runtime" visibility="public" description="this scope
indicates that the dependency is not required for compilation, but is for
execution. It is in the runtime and test classpaths, but not the compile
classpath." extends="compile"/>
        <conf name="test" visibility="private" description="this scope
indicates that the dependency is not required for normal use of the
application, and is only available for the test compilation and execution
phases." extends="runtime"/>       
    </configurations>
-- 
View this message in context: http://old.nabble.com/%3Cexclude%3E-doesn%27t-really-exclude-a-dependency-tp28462905p28462905.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: doesn't really exclude a dependency

Posted by neurofen <ne...@gmail.com>.
Hi infinity2heaven,

Include org and module name in your exclude - at a minimum org. Your example
has module name only.

<exclude org="com.springsource" name="com.springsource.javax.el" />

You'll need to look at the repo ivy.xml or pom.xml to determine the correct
organisation and module names.

Cheers
neurofen



infinity2heaven wrote:
> 
> Can anyone tell me what I'm doing wrong in this?
> 
> <dependency org="org.springframework" name="org.springframework.beans"
> rev="${spring.version}"
> conf="compile->compile(*),master(*);runtime->runtime(*)">
>        <exclude name="com.springsource.javax.el" />
> </dependency> 
> 
> Ivy still downloads javax.el jar  and the only way I can exclude it is
> using transitive="false" option. But that would not download any other
> dependency too which is not what I want.
> 
> The configurations are:
> 
> 
>  <configurations>
>         <conf name="default" visibility="public" description="runtime
> dependencies and master artifact can be used with this conf"
> extends="runtime,master"/>
>         <conf name="master" visibility="public" description="contains only
> the artifact published by this module itself, with no transitive
> dependencies"/>
>         <conf name="compile" visibility="public" description="this is the
> default scope, used if none is specified. Compile dependencies are
> available in all classpaths."/>
>         <conf name="provided" visibility="public" description="this is
> much like compile, but indicates you expect the JDK or a container to
> provide it. It is only available on the compilation classpath, and is not
> transitive."/>
>         <conf name="runtime" visibility="public" description="this scope
> indicates that the dependency is not required for compilation, but is for
> execution. It is in the runtime and test classpaths, but not the compile
> classpath." extends="compile"/>
>         <conf name="test" visibility="private" description="this scope
> indicates that the dependency is not required for normal use of the
> application, and is only available for the test compilation and execution
> phases." extends="runtime"/>       
>     </configurations>
> 

-- 
View this message in context: http://old.nabble.com/%3Cexclude%3E-doesn%27t-really-exclude-a-dependency-tp28462905p28948045.html
Sent from the ivy-user mailing list archive at Nabble.com.