[
https://issues.apache.org/jira/browse/IVY-1547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gintas Grigelionis updated IVY-1547:
------------------------------------
Description:
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:
{code}
:: 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
::::::::::::::::::::::::::::::::::::::::::::::
{code}
If I make configuration 'custom' public I got no errors, but the configuration
is resolved.
was:
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.
> 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:
> {code}
> :: 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
> ::::::::::::::::::::::::::::::::::::::::::::::
> {code}
> If I make configuration 'custom' public I got no errors, but the
> configuration is resolved.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)