jdepend & gradle - NullPointerException

View: New views
3 Messages — Rating Filter:   Alert me  

jdepend & gradle - NullPointerException

by Tomek Kaczanowski-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi all,

I try to run jdepend from Gradle - with no luck.

I started with the simplest ant build.xml and tried to convert it to
build.gradle.

build.xml works. It looks like this:
<?xml version="1.0"?>
<project name="MyProject" default="jdepend" basedir=".">
  <target name="jdepend">
    <jdepend outputfile="build/docs/jdepend-report.txt">
      <exclude name="java.*"/>
      <exclude name="javax.*"/>
      <classespath>
        <pathelement location="build"/>
      </classespath>
      <classpath location="build"/>
    </jdepend>
  </target>
</project>




equivalent (I hope so) build.gradle:
usePlugin('java')

repositories {
    mavenCentral()
}

configurations {
    jdependConf
}

dependencies {
    jdependConf 'jdepend:jdepend:2.9.1', 'org.apache.ant:ant-jdepend:1.7.1'
}

task jdepend << {
    println 'Running jdepend quality metrics tool'
    ant {
      taskdef(name:'jdepend',
classname:'org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask',
classpath: configurations.jdependConf.asPath)
jdepend (outputfile: 'build/docs/jdepend-report.txt') {
        exclude {
                name: 'java.*'
        }
        exclude {
                name: 'javax.*'
        }
        classespath {
                pathelement {
                        location: 'build'
                }
        }
        classpath {
                location: 'build'
        }
}


    }
}



execution of "gradle jdepend" ends up like this:
:jdepend
Running jdepend quality metrics tool
Trying to override old definition of datatype jdepend

FAILURE: Build failed with an exception.

* Where:
Build file '/home/tomek/docs/gradle/cookbook/jdepend/build.gradle' line: 19

* What went wrong:
Execution failed for task ':jdepend'.
Cause: java.lang.NullPointerException

* Try:
Run with -s or -d option to get more details. Run with -S option to
get the full (very verbose) stacktrace.

BUILD FAILED

Total time: 5.605 secs




full stack trace:
* Exception is:
org.gradle.api.GradleScriptException: Build file
'/home/tomek/docs/gradle/cookbook/jdepend/build.gradle' line: 19
Execution failed for task ':jdepend'.
        at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:232)
        at org.gradle.execution.DefaultTaskExecuter.executeTask(DefaultTaskExecuter.java:165)
        at org.gradle.execution.DefaultTaskExecuter.doExecute(DefaultTaskExecuter.java:156)
        at org.gradle.execution.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:74)
        at org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:174)
        at org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
        at org.gradle.GradleLauncher.doBuildStages(GradleLauncher.java:165)
        at org.gradle.GradleLauncher.doBuild(GradleLauncher.java:124)
        at org.gradle.GradleLauncher.run(GradleLauncher.java:95)
        at org.gradle.Main.execute(Main.java:100)
        at org.gradle.Main.main(Main.java:43)
        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:50)
Caused by: org.apache.tools.ant.BuildException:
java.lang.NullPointerException
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at groovy.util.AntBuilder.nodeCompleted(AntBuilder.java:204)
        at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:147)
        at groovy.util.AntBuilder.doInvokeMethod(AntBuilder.java:154)
        at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:74)
        at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64)
        at org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
        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:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127)
        at org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:402)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:348)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)
        at build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4_closure5.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle:19)
        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:234)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
        at build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4_closure5.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle)
        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:234)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at groovy.lang.Closure.call(Closure.java:279)
        at groovy.lang.Closure.call(Closure.java:274)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:42)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:33)
        at org.gradle.util.ConfigureUtil$configure.call(Unknown
Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:129)
        at org.gradle.api.internal.project.DefaultProject.ant(DefaultProject.groovy:60)
        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:234)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
        at build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle:17)
        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:234)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy:82)
        at org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy)
        at org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:257)
        at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:222)
        ... 15 common frames omitted
Caused by: java.lang.NullPointerException
        at org.apache.tools.ant.types.resources.FileResourceIterator.addFiles(FileResourceIterator.java:65)
        at org.apache.tools.ant.types.resources.FileResourceIterator.<init>(FileResourceIterator.java:56)
        at org.apache.tools.ant.types.Path$PathElement.iterator(Path.java:123)
        at org.apache.tools.ant.types.resources.Union.getCollection(Union.java:105)
        at org.apache.tools.ant.types.resources.Union.getCollection(Union.java:88)
        at org.apache.tools.ant.types.resources.BaseResourceCollectionContainer.cacheCollection(BaseResourceCollectionContainer.java:244)
        at org.apache.tools.ant.types.resources.BaseResourceCollectionContainer.iterator(BaseResourceCollectionContainer.java:120)
        at org.apache.tools.ant.types.Path.iterator(Path.java:687)
        at org.apache.tools.ant.types.resources.Union.getCollection(Union.java:105)
        at org.apache.tools.ant.types.resources.Union.list(Union.java:67)
        at org.apache.tools.ant.types.Path.list(Path.java:356)
        at org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.executeInVM(JDependTask.java:477)
        at org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.execute(JDependTask.java:410)
        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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        ... 98 common frames omitted

BUILD FAILED

Total time: 5.037 secs


Any hints ? I guess I'm doing something pretty silly...

--
Tomek

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: jdepend & gradle - NullPointerException

by Adam Murdoch-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Tomek Kaczanowski wrote:

> hi all,
>
> I try to run jdepend from Gradle - with no luck.
>
> I started with the simplest ant build.xml and tried to convert it to
> build.gradle.
>
> build.xml works. It looks like this:
> <?xml version="1.0"?>
> <project name="MyProject" default="jdepend" basedir=".">
>   <target name="jdepend">
>     <jdepend outputfile="build/docs/jdepend-report.txt">
>       <exclude name="java.*"/>
>       <exclude name="javax.*"/>
>       <classespath>
>         <pathelement location="build"/>
>       </classespath>
>       <classpath location="build"/>
>     </jdepend>
>   </target>
> </project>
>
>
>
>
> equivalent (I hope so) build.gradle:
> usePlugin('java')
>
> repositories {
>     mavenCentral()
> }
>
> configurations {
>     jdependConf
> }
>
> dependencies {
>     jdependConf 'jdepend:jdepend:2.9.1', 'org.apache.ant:ant-jdepend:1.7.1'
> }
>
> task jdepend << {
>     println 'Running jdepend quality metrics tool'
>     ant {
>       taskdef(name:'jdepend',
> classname:'org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask',
> classpath: configurations.jdependConf.asPath)
> jdepend (outputfile: 'build/docs/jdepend-report.txt') {
>         exclude {
>                 name: 'java.*'
>         }
>         exclude {
>                 name: 'javax.*'
>         }
>         classespath {
>                 pathelement {
>                         location: 'build'
>                 }
>         }
>         classpath {
>                 location: 'build'
>         }
> }
>
>
>     }
> }
>
>  

Your mapping of the nested elements is not quite right. Attributes of an
element need to be passed as arguments to the element method, rather
than in the method closure:

jdepend(outputfile: ...) {
    exclude(name: 'java.*')
    exclude(name: 'javax.*')
    classpath { pathelement(location: 'build') }
    classpath(location: 'build')  // though, these 2 classpath elements
do the same thing
}

>
> execution of "gradle jdepend" ends up like this:
> :jdepend
> Running jdepend quality metrics tool
> Trying to override old definition of datatype jdepend
>
> FAILURE: Build failed with an exception.
>
> * Where:
> Build file '/home/tomek/docs/gradle/cookbook/jdepend/build.gradle' line: 19
>
> * What went wrong:
> Execution failed for task ':jdepend'.
> Cause: java.lang.NullPointerException
>
> * Try:
> Run with -s or -d option to get more details. Run with -S option to
> get the full (very verbose) stacktrace.
>
> BUILD FAILED
>
> Total time: 5.605 secs
>
>
>
>
> full stack trace:
> * Exception is:
> org.gradle.api.GradleScriptException: Build file
> '/home/tomek/docs/gradle/cookbook/jdepend/build.gradle' line: 19
> Execution failed for task ':jdepend'.
>         at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:232)
>         at org.gradle.execution.DefaultTaskExecuter.executeTask(DefaultTaskExecuter.java:165)
>         at org.gradle.execution.DefaultTaskExecuter.doExecute(DefaultTaskExecuter.java:156)
>         at org.gradle.execution.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:74)
>         at org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:174)
>         at org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
>         at org.gradle.GradleLauncher.doBuildStages(GradleLauncher.java:165)
>         at org.gradle.GradleLauncher.doBuild(GradleLauncher.java:124)
>         at org.gradle.GradleLauncher.run(GradleLauncher.java:95)
>         at org.gradle.Main.execute(Main.java:100)
>         at org.gradle.Main.main(Main.java:43)
>         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:50)
> Caused by: org.apache.tools.ant.BuildException:
> java.lang.NullPointerException
>         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at groovy.util.AntBuilder.nodeCompleted(AntBuilder.java:204)
>         at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:147)
>         at groovy.util.AntBuilder.doInvokeMethod(AntBuilder.java:154)
>         at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:74)
>         at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64)
>         at org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
>         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:234)
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
>         at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127)
>         at org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
>         at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:402)
>         at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:348)
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>         at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)
>         at build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4_closure5.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle:19)
>         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:234)
>         at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>         at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
>         at build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4_closure5.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle)
>         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:234)
>         at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>         at groovy.lang.Closure.call(Closure.java:279)
>         at groovy.lang.Closure.call(Closure.java:274)
>         at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:42)
>         at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:33)
>         at org.gradle.util.ConfigureUtil$configure.call(Unknown
> Source)
>         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:129)
>         at org.gradle.api.internal.project.DefaultProject.ant(DefaultProject.groovy:60)
>         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:234)
>         at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>         at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
>         at build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle:17)
>         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:234)
>         at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>         at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
>         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
>         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>         at org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy:82)
>         at org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy)
>         at org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:257)
>         at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:222)
>         ... 15 common frames omitted
> Caused by: java.lang.NullPointerException
>         at org.apache.tools.ant.types.resources.FileResourceIterator.addFiles(FileResourceIterator.java:65)
>         at org.apache.tools.ant.types.resources.FileResourceIterator.<init>(FileResourceIterator.java:56)
>         at org.apache.tools.ant.types.Path$PathElement.iterator(Path.java:123)
>         at org.apache.tools.ant.types.resources.Union.getCollection(Union.java:105)
>         at org.apache.tools.ant.types.resources.Union.getCollection(Union.java:88)
>         at org.apache.tools.ant.types.resources.BaseResourceCollectionContainer.cacheCollection(BaseResourceCollectionContainer.java:244)
>         at org.apache.tools.ant.types.resources.BaseResourceCollectionContainer.iterator(BaseResourceCollectionContainer.java:120)
>         at org.apache.tools.ant.types.Path.iterator(Path.java:687)
>         at org.apache.tools.ant.types.resources.Union.getCollection(Union.java:105)
>         at org.apache.tools.ant.types.resources.Union.list(Union.java:67)
>         at org.apache.tools.ant.types.Path.list(Path.java:356)
>         at org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.executeInVM(JDependTask.java:477)
>         at org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.execute(JDependTask.java:410)
>         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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>         ... 98 common frames omitted
>
> BUILD FAILED
>
> Total time: 5.037 secs
>
>
> Any hints ? I guess I'm doing something pretty silly...
>
> --
> Tomek
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>
>  

--
Adam Murdoch
Gradle Developer
http://www.gradle.org


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: jdepend & gradle - NullPointerException

by Tomek Kaczanowski-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

thank you, it works !

--
Tomek

2009/10/14 Adam Murdoch <a@...>:

>
>
> Tomek Kaczanowski wrote:
>>
>> hi all,
>>
>> I try to run jdepend from Gradle - with no luck.
>>
>> I started with the simplest ant build.xml and tried to convert it to
>> build.gradle.
>>
>> build.xml works. It looks like this:
>> <?xml version="1.0"?>
>> <project name="MyProject" default="jdepend" basedir=".">
>>  <target name="jdepend">
>>    <jdepend outputfile="build/docs/jdepend-report.txt">
>>      <exclude name="java.*"/>
>>      <exclude name="javax.*"/>
>>      <classespath>
>>        <pathelement location="build"/>
>>      </classespath>
>>      <classpath location="build"/>
>>    </jdepend>
>>  </target>
>> </project>
>>
>>
>>
>>
>> equivalent (I hope so) build.gradle:
>> usePlugin('java')
>>
>> repositories {
>>    mavenCentral()
>> }
>>
>> configurations {
>>    jdependConf
>> }
>>
>> dependencies {
>>    jdependConf 'jdepend:jdepend:2.9.1', 'org.apache.ant:ant-jdepend:1.7.1'
>> }
>>
>> task jdepend << {
>>    println 'Running jdepend quality metrics tool'
>>    ant {
>>      taskdef(name:'jdepend',
>> classname:'org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask',
>> classpath: configurations.jdependConf.asPath)
>> jdepend (outputfile: 'build/docs/jdepend-report.txt') {
>>        exclude {
>>                name: 'java.*'
>>        }
>>        exclude {
>>                name: 'javax.*'
>>        }
>>        classespath {
>>                pathelement {
>>                        location: 'build'
>>                }
>>        }
>>        classpath {
>>                location: 'build'
>>        }
>> }
>>
>>
>>    }
>> }
>>
>>
>
> Your mapping of the nested elements is not quite right. Attributes of an
> element need to be passed as arguments to the element method, rather than in
> the method closure:
>
> jdepend(outputfile: ...) {
>   exclude(name: 'java.*')
>   exclude(name: 'javax.*')
>   classpath { pathelement(location: 'build') }
>   classpath(location: 'build')  // though, these 2 classpath elements do the
> same thing
> }
>
>>
>> execution of "gradle jdepend" ends up like this:
>> :jdepend
>> Running jdepend quality metrics tool
>> Trying to override old definition of datatype jdepend
>>
>> FAILURE: Build failed with an exception.
>>
>> * Where:
>> Build file '/home/tomek/docs/gradle/cookbook/jdepend/build.gradle' line:
>> 19
>>
>> * What went wrong:
>> Execution failed for task ':jdepend'.
>> Cause: java.lang.NullPointerException
>>
>> * Try:
>> Run with -s or -d option to get more details. Run with -S option to
>> get the full (very verbose) stacktrace.
>>
>> BUILD FAILED
>>
>> Total time: 5.605 secs
>>
>>
>>
>>
>> full stack trace:
>> * Exception is:
>> org.gradle.api.GradleScriptException: Build file
>> '/home/tomek/docs/gradle/cookbook/jdepend/build.gradle' line: 19
>> Execution failed for task ':jdepend'.
>>        at
>> org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:232)
>>        at
>> org.gradle.execution.DefaultTaskExecuter.executeTask(DefaultTaskExecuter.java:165)
>>        at
>> org.gradle.execution.DefaultTaskExecuter.doExecute(DefaultTaskExecuter.java:156)
>>        at
>> org.gradle.execution.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:74)
>>        at
>> org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:174)
>>        at
>> org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
>>        at org.gradle.GradleLauncher.doBuildStages(GradleLauncher.java:165)
>>        at org.gradle.GradleLauncher.doBuild(GradleLauncher.java:124)
>>        at org.gradle.GradleLauncher.run(GradleLauncher.java:95)
>>        at org.gradle.Main.execute(Main.java:100)
>>        at org.gradle.Main.main(Main.java:43)
>>        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:50)
>> Caused by: org.apache.tools.ant.BuildException:
>> java.lang.NullPointerException
>>        at
>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115)
>>        at org.apache.tools.ant.Task.perform(Task.java:348)
>>        at groovy.util.AntBuilder.nodeCompleted(AntBuilder.java:204)
>>        at
>> groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:147)
>>        at groovy.util.AntBuilder.doInvokeMethod(AntBuilder.java:154)
>>        at
>> org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:74)
>>        at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64)
>>        at
>> org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
>>        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:234)
>>        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
>>        at
>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127)
>>        at
>> org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
>>        at
>> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:402)
>>        at
>> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:348)
>>        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>>        at
>> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>>        at
>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)
>>        at
>> build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4_closure5.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle:19)
>>        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:234)
>>        at
>> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>>        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>>        at
>> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>>        at
>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
>>        at
>> build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4_closure5.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle)
>>        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:234)
>>        at
>> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>>        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>>        at groovy.lang.Closure.call(Closure.java:279)
>>        at groovy.lang.Closure.call(Closure.java:274)
>>        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:42)
>>        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:33)
>>        at org.gradle.util.ConfigureUtil$configure.call(Unknown
>> Source)
>>        at
>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:129)
>>        at
>> org.gradle.api.internal.project.DefaultProject.ant(DefaultProject.groovy:60)
>>        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:234)
>>        at
>> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
>>        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>>        at
>> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>>        at
>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
>>        at
>> build_gradle_39ec9bc40cbb11f9d93d0405e1a0d1a3$_run_closure4.doCall(/home/tomek/docs/gradle/cookbook/jdepend/build.gradle:17)
>>        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:234)
>>        at
>> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>>        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
>>        at
>> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
>>        at
>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
>>        at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>>        at org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy:82)
>>        at org.gradle.api.ClosureTaskAction.execute(DefaultTask.groovy)
>>        at
>> org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:257)
>>        at
>> org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:222)
>>        ... 15 common frames omitted
>> Caused by: java.lang.NullPointerException
>>        at
>> org.apache.tools.ant.types.resources.FileResourceIterator.addFiles(FileResourceIterator.java:65)
>>        at
>> org.apache.tools.ant.types.resources.FileResourceIterator.<init>(FileResourceIterator.java:56)
>>        at
>> org.apache.tools.ant.types.Path$PathElement.iterator(Path.java:123)
>>        at
>> org.apache.tools.ant.types.resources.Union.getCollection(Union.java:105)
>>        at
>> org.apache.tools.ant.types.resources.Union.getCollection(Union.java:88)
>>        at
>> org.apache.tools.ant.types.resources.BaseResourceCollectionContainer.cacheCollection(BaseResourceCollectionContainer.java:244)
>>        at
>> org.apache.tools.ant.types.resources.BaseResourceCollectionContainer.iterator(BaseResourceCollectionContainer.java:120)
>>        at org.apache.tools.ant.types.Path.iterator(Path.java:687)
>>        at
>> org.apache.tools.ant.types.resources.Union.getCollection(Union.java:105)
>>        at org.apache.tools.ant.types.resources.Union.list(Union.java:67)
>>        at org.apache.tools.ant.types.Path.list(Path.java:356)
>>        at
>> org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.executeInVM(JDependTask.java:477)
>>        at
>> org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.execute(JDependTask.java:410)
>>        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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>>        ... 98 common frames omitted
>>
>> BUILD FAILED
>>
>> Total time: 5.037 secs
>>
>>
>> Any hints ? I guess I'm doing something pretty silly...
>>
>> --
>> Tomek
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>>
>
> --
> Adam Murdoch
> Gradle Developer
> 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