You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Julian (JIRA)" <ji...@apache.org> on 2008/05/22 21:01:57 UTC

[jira] Created: (IVY-820) Global Exclusions Fail to Work Transitively

Global Exclusions Fail to Work Transitively
-------------------------------------------

                 Key: IVY-820
                 URL: https://issues.apache.org/jira/browse/IVY-820
             Project: Ivy
          Issue Type: Bug
    Affects Versions: 2.0.0-beta-2
         Environment: Java 6
            Reporter: Julian


When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 

http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Julian (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12599172#action_12599172 ] 

Julian commented on IVY-820:
----------------------------

I have done some additionally testing and found that Ivy is indeed resolving these as expected, but since I was not using configurations, the excludes made were being included in the the ivy:cachefileset tag in Ant.  The source is b/c the ivy:cachefileset tag defaults to the "*" configuration when none is supplied.  This configuration seems to ignore global excludes.  My issue was resolve once I set the conf attribute on the cachefileset tag.  If this is not a bug, then the documentation should clearly indicate that a "*" configuration overrides global exclude declarations.

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Hans Dockter (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631789#action_12631789 ] 

Hans Dockter commented on IVY-820:
----------------------------------

I think this is a critical bug that should be fixed in 2.0. I'm running into this bug by using Ivy Classes directly. It only happens for global excludes.

This exclude does not work:

{code:java}
DefaultExcludeRule excludeRule = new DefaultExcludeRule(new ArtifactId(
                new ModuleId(org, module), PatternMatcher.ANY_EXPRESSION,
                PatternMatcher.ANY_EXPRESSION,
                PatternMatcher.ANY_EXPRESSION),
                ExactPatternMatcher.INSTANCE, null);
{code}

Neither this one:

{code:java}
DefaultExcludeRule excludeRule = new DefaultExcludeRule(new ArtifactId(
                new ModuleId(org, module), PatternMatcher.ANY_EXPRESSION,
                PatternMatcher.ANY_EXPRESSION,
                PatternMatcher.ANY_EXPRESSION),
                ExactPatternMatcher.INSTANCE, null);
excludeRule.addConfiguration("*");
{code}

But this one:

{code:java}
DefaultExcludeRule excludeRule = new DefaultExcludeRule(new ArtifactId(
                new ModuleId(org, module), PatternMatcher.ANY_EXPRESSION,
                PatternMatcher.ANY_EXPRESSION,
                PatternMatcher.ANY_EXPRESSION),
                ExactPatternMatcher.INSTANCE, null);
excludeRule.addConfiguration("someConfiguration");
{code}

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600286#action_12600286 ] 

Maarten Coene commented on IVY-820:
-----------------------------------

Could you post your Ivy file here, and some snippet of your build.xml file?
I wasn't able to reproduce it with a simple test case...

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maarten Coene resolved IVY-820.
-------------------------------

    Resolution: Cannot Reproduce

ok, so I'll resolve this issue as "Cannot Reproduce".
Please reopen if you encounter the same problem again.

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Hans Dockter (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12632253#action_12632253 ] 

Hans Dockter commented on IVY-820:
----------------------------------

You are right. From reading the reference I thought that not specifying a configuration or setting it to "*", means for all configurations. But I have learned from the code that this is true only if you use XML, as the wildcard resolution is done by the Ivy XML parser. When using Ivy via its API there are no wildcards mechanisms in this context. 

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631976#action_12631976 ] 

Maarten Coene commented on IVY-820:
-----------------------------------

I don't think your code snippets illustrate a bug. The excludeRule must know from which configurations it must exclude the artifact. So, it seems logical to me that your first example won't work. For your second example, "*" is not a configuration, so it doesn't work as well.

I still couldn't reproduce the original problem where the exclude is defined in an ivy.xml file.

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Julian (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12632300#action_12632300 ] 

Julian commented on IVY-820:
----------------------------

Sorry, but I no longer have the config in question.   Once it was fixed I had to move on due to the time spent tracking down the issue.  I recently tried to replicate it with a similar configuration to no avail.  I would say there may have been an oversight somewhere on my behalf since I cannot replicate or that my Ivy cache was corrupted somehow.  Regardless unless I come across this again, I would consider this issue closed - cannot replicate.

> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (IVY-820) Global Exclusions Fail to Work Transitively

Posted by "Julian (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12599172#action_12599172 ] 

oakridge edited comment on IVY-820 at 5/22/08 1:24 PM:
-----------------------------------------------------

I have done some additionally testing and found that Ivy is indeed resolving these as expected, but since I was not using configurations, the excludes made were being included in the the ivy:cachefileset tag in Ant.  The source is b/c the ivy:cachefileset tag defaults to the "\*" configuration when none is supplied.  This configuration seems to ignore global excludes.  My issue was resolve once I set the conf attribute on the cachefileset tag.  If this is not a bug, then the documentation should clearly indicate that a "\*" configuration overrides global exclude declarations.

      was (Author: oakridge):
    I have done some additionally testing and found that Ivy is indeed resolving these as expected, but since I was not using configurations, the excludes made were being included in the the ivy:cachefileset tag in Ant.  The source is b/c the ivy:cachefileset tag defaults to the "*" configuration when none is supplied.  This configuration seems to ignore global excludes.  My issue was resolve once I set the conf attribute on the cachefileset tag.  If this is not a bug, then the documentation should clearly indicate that a "*" configuration overrides global exclude declarations.
  
> Global Exclusions Fail to Work Transitively
> -------------------------------------------
>
>                 Key: IVY-820
>                 URL: https://issues.apache.org/jira/browse/IVY-820
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-2
>         Environment: Java 6
>            Reporter: Julian
>
> When declaring a global exclusion, the module is excluded only from locally declared dependencies, and not their transitive dependencies.  The only way to exclude a module from an entire project, is to declare the exclusion locally for every dependency that either directly, or through a transitive dependency, relies on the module.  A detailed explanation of this issue can be found on the mailing lists here (first two posts explain the issue more thoroughly): 
> http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---td17262577.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.