thank you, it works ! -- Tomek
2009/10/14 Adam Murdoch <[email protected]>: > > > 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
