Andreas Felder created IVY-1547:
-----------------------------------

             Summary: Exlusion of configurations (*,!myconf->@) not working
                 Key: IVY-1547
                 URL: https://issues.apache.org/jira/browse/IVY-1547
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.4.0
            Reporter: Andreas Felder


As described in Ivy manual section dependencies/dependency/conf 
(http://ant.apache.org/ivy/history/2.4.0/ivyfile/dependency.html):

{quote}
since 1.4 you can use * wildcard followed by negated configurations to mean all 
but xxx. For instance, '*, !A, !B -> X' means that X dependency configuration 
is required in all master configurations except A and B.
{quote}

I'm not sure if I understand it correctly, but in any way I tried this it 
doesn't work.

Here is my ivy.xml, configurations are the same for Module A and B
{code}
<ivy-module version="2.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
            
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd";>
        <info organisation="company" module="B" status="${ivyStatus}" 
branch="${branch}" />
    <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." extends="third-party" />
        <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="third-party" visibility="public" 
description="Resolves all 3rparty libraries like commons-io, etc." />
        <conf name="javadoc" visibility="public" description="javadoc deps" 
extends="javadoc-published" />
        <conf name="javadoc-published" visibility="public" description="javadoc 
deps"/>
        <conf name="source" visibility="public" description="contains a jar 
with sources. Could be helpful for debug." />
        <conf name="custom" visibility="public" description="not in use in 
here" />
    </configurations>
    <publications>
    </publications>
    <dependencies>
        <dependency org="prostep" name="A" rev="latest.integration" 
conf="*,!custom->@" branch="${branch}" />

        <dependency org="org.jsoup" name="jsoup" rev="1.8.1" 
conf="third-party->default;javadoc,javadoc-published->javadoc;source->sources" 
/>

        <dependency org="com.sun.jersey" name="jersey-core" rev="1.19" 
conf="third-party->default;javadoc,javadoc-published->javadoc;source->sources" 
/>
    </dependencies>
</ivy-module>
{code}

If I tried it this way I got:
{quote}
:: problems summary ::
:::: WARNINGS
                ::::::::::::::::::::::::::::::::::::::::::::::

                ::          UNRESOLVED DEPENDENCIES         ::

                ::::::::::::::::::::::::::::::::::::::::::::::

                :: company#A#product;revision-1.0: configuration not public in 
company#A#product;revision-1.0: 'custom'. It was required from 
company#B#product;working@DSK-13-019 custom

                ::::::::::::::::::::::::::::::::::::::::::::::
{quote}

If I make configuration 'custom' public I got no errors, but the configuration 
is resolved.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to