« Return to Thread: NPE when using exclude rules

Re: NPE when using exclude rules

by hdockter :: Rate this Message:

Reply to Author | View in Thread

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


 « Return to Thread: NPE when using exclude rules