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