Not that I know off. What exactly do you mean is broken? The whole Ivy
>
>
> Jason Porter
> Real Programmers think better when playing Adventure or Rogue.
>
> PGP key id: 926CCFF5
> PGP fingerprint: 64C2 C078 13A9 5B23 7738 F7E5 1046 C39B 926C CFF5
> PGP key available at: keyserver.net, pgp.mit.edu
>
>
>
> On Tue, May 26, 2009 at 12:38, Hans Dockter <
mail@...> wrote:
>> Hi Rafa,
>>
>> I can't reproduce this. The following code works for me (MetaModel
>> has a
>> dependency on hsqldb):
>>
>> usePlugin 'java'
>>
>> repositories {
>> mavenCentral()
>> }
>>
>> configurations {
>> all*.exclude group: "hsqldb"
>> }
>>
>> dependencies {
>> compile "dk.eobjects.commons:MetaModel:1.0.7"
>> }
>>
>> task myTask << {
>> configurations.testRuntime.each { file -> println file }
>> }
>>
>> P.S. You don't need to quote the task name any more when creating it.
>>
>> Could you create a test case and file a Jira?
>>
>> - Hans
>>
>> On May 26, 2009, at 8:11 PM, Rafael Serrano wrote:
>>
>>>
>>> Hi all,
>>>
>>> I am currently migrating from 0.5 to 0.6 and have almost succeeded
>>> (thanks
>>> to the breaking changes doc) except for the exclusion of transitive
>>> dependencies. Actually, I'm getting a NPE when I try to iterate
>>> over the
>>> files in a configuration.
>>>
>>> Here is a code snippet:
>>> configurations {
>>> all*.exclude group: "hsqldb"
>>> }
>>> dependencies {
>>> compile "a-jar-that-depends-on-hsqldb"
>>> }
>>> task "myTask" << {
>>> configurations.testRuntime.each { file -> println file }
>>> }
>>>
>>> Is this really a bug or am I doing something wrong? In case it is
>>> a bug,
>>> could you please think of a workaround?
>>>
>>> Thanks in advance. Regards
>>> Rafa
>>>
>>> PS: In case it helps, here is the stacktrace
>>> Execution failed for task ':myTask'.
>>> at
>>> org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:183)
>>> at
>>>
>>> org
>>> .gradle
>>> .execution
>>> .DefaultTaskExecuter.executeTask(DefaultTaskExecuter.java:153)
>>> at
>>>
>>> org
>>> .gradle
>>> .execution.DefaultTaskExecuter.doExecute(DefaultTaskExecuter.java:
>>> 144)
>>> at
>>>
>>> org
>>> .gradle
>>> .execution.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:67)
>>> at
>>>
>>> org
>>> .gradle
>>> .execution
>>> .TaskNameResolvingBuildExecuter
>>> .execute(TaskNameResolvingBuildExecuter.java:88)
>>> at org.gradle.Gradle.runInternal(Gradle.java:121)
>>> at org.gradle.Gradle.run(Gradle.java:93)
>>> at org.gradle.Main.execute(Main.java:253)
>>> at org.gradle.Main.main(Main.java:83)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)
>>> at
>>>
>>> sun
>>> .reflect
>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>
>>> sun
>>> .reflect
>>> .DelegatingMethodAccessorImpl
>>> .invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at org.gradle.BootstrapMain.main(BootstrapMain.java:53)
>>> Caused by: java.lang.RuntimeException:
>>> java.lang.NullPointerException
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .ivyservice
>>> .DefaultIvyDependencyResolver
>>> .resolveAsReport(DefaultIvyDependencyResolver.java:72)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .ivyservice
>>> .DefaultIvyService.resolveAsReportInternal(DefaultIvyService.java:
>>> 120)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .ivyservice
>>> .DefaultIvyService.resolveAsReport(DefaultIvyService.java:110)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .configurations
>>> .DefaultConfiguration.resolveAsReport(DefaultConfiguration.java:156)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .configurations
>>> .DefaultConfiguration.resolve(DefaultConfiguration.java:147)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .configurations
>>> .DefaultConfiguration.getFiles(DefaultConfiguration.java:175)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .AbstractFileCollection.iterator(AbstractFileCollection.java:48)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)
>>> at
>>>
>>> sun
>>> .reflect
>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>
>>> sun
>>> .reflect
>>> .DelegatingMethodAccessorImpl
>>> .invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at
>>> org
>>> .codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
>>> 86)
>>> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
>>> at
>>> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
>>> at
>>> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:
>>> 766)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.asIterator(InvokerHelper.java:506)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy
>>> .runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1056)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)
>>> at
>>>
>>> sun
>>> .reflect
>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>
>>> sun
>>> .reflect
>>> .DelegatingMethodAccessorImpl
>>> .invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy
>>> .runtime
>>> .metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:51)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy
>>> .runtime
>>> .metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:
>>> 54)
>>> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
>>> at
>>> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
>>> at
>>> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:
>>> 766)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy
>>> .runtime
>>> .ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>> at build_gradle$_run_closure13.doCall(build_gradle:202)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)
>>> at
>>>
>>> sun
>>> .reflect
>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>
>>> sun
>>> .reflect
>>> .DelegatingMethodAccessorImpl
>>> .invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at
>>> org
>>> .codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
>>> 86)
>>> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy
>>> .runtime
>>> .metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:248)
>>> at
>>> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:
>>> 778)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
>>> at
>>>
>>> org
>>> .codehaus
>>> .groovy
>>> .runtime
>>> .ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>> at
>>> org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy:94)
>>> at
>>> org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy)
>>> at
>>> org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:
>>> 219)
>>> at
>>> org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:174)
>>> ... 13 common frames omitted
>>> Caused by: java.lang.NullPointerException
>>> at
>>>
>>> org.apache.ivy.plugins.matcher.ExactPatternMatcher
>>> $ExactMatcher.matches(ExactPatternMatcher.java:46)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy.plugins.matcher.MatcherHelper.matches(MatcherHelper.java:34)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy.plugins.matcher.MatcherHelper.matches(MatcherHelper.java:38)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy.plugins.matcher.MatcherHelper.matches(MatcherHelper.java:49)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy
>>> .core
>>> .module
>>> .descriptor
>>> .DefaultModuleDescriptor.doesExclude(DefaultModuleDescriptor.java:
>>> 627)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy.core.resolve.IvyNodeCallers.doesExclude(IvyNodeCallers.java:
>>> 288)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy
>>> .core
>>> .resolve.IvyNodeCallers.doesCallersExclude(IvyNodeCallers.java:269)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy
>>> .core
>>> .resolve.IvyNodeCallers.doesCallersExclude(IvyNodeCallers.java:251)
>>> at
>>> org.apache.ivy.core.resolve.IvyNode.getArtifacts(IvyNode.java:830)
>>> at
>>> org
>>> .apache.ivy.core.resolve.IvyNode.getSelectedArtifacts(IvyNode.java:
>>> 739)
>>> at
>>>
>>> org
>>> .apache
>>> .ivy.core.report.ResolveReport.setDependencies(ResolveReport.java:
>>> 235)
>>> at
>>> org
>>> .apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:
>>> 236)
>>> at org.apache.ivy.Ivy.resolve(Ivy.java:512)
>>> at
>>>
>>> org
>>> .gradle
>>> .api
>>> .internal
>>> .artifacts
>>> .ivyservice
>>> .DefaultIvyDependencyResolver
>>> .resolveAsReport(DefaultIvyDependencyResolver.java:68)
>>> ... 59 common frames omitted
>>> --
>>> View this message in context:
>>>
http://www.nabble.com/NPE-when-using-exclude-rules-tp23728395p23728395.html>>> Sent from the gradle-user mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list, please visit:
>>>
>>>
http://xircles.codehaus.org/manage_email>>>
>>>
>>
>> --
>> Hans Dockter
>> Gradle Project Manager
>>
http://www.gradle.org>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>
http://xircles.codehaus.org/manage_email>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>
http://xircles.codehaus.org/manage_email>
>