Hi Thor, Unfurtunately, grape is not yet supported for gradle scripts. you can vote here http://jira.codehaus.org/browse/GRADLE-1162 for that feature.
regards, René Am Do, 27.01.2011, 09:42, schrieb Thor Kummer: > I tried adding the following > > > @Grapes([ > @Grab(group = 'postgresql', module = 'postgresql', version = > '8.4-701.jdbc4'), > @GrabConfig(systemClassLoader=true) > ]) > import org.postgresql.Driver > > but to got the following output which I cannot really decipher: > >> 09:36:55-tk@tk:~/workspace/b-one-crm/b-one-crm> gradle -s deployDb >> >> >> FAILURE: Build failed with an exception. >> >> >> * Where: >> Build file '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle' >> >> >> * What went wrong: >> Could not compile build file >> '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle'. >> Cause: startup failed: >> General error during conversion: No suitable ClassLoader found for grab >> >> >> java.lang.RuntimeException: No suitable ClassLoader found for grab >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >> at >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructor >> AccessorImpl.java:39) >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCon >> structorAccessorImpl.java:27) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at >> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstruct >> or.java:77) >> at >> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoU >> nwrapNoCoerce.callConstructor(ConstructorSite.java:107) >> at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstruct >> or(CallSiteArray.java:52) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(A >> bstractCallSite.java:192) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(A >> bstractCallSite.java:200) >> at groovy.grape.GrapeIvy.chooseClassLoader(GrapeIvy.groovy:163) at >> groovy.grape.GrapeIvy$chooseClassLoader.callCurrent(Unknown Source) at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(C >> allSiteArray.java:44) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr >> actCallSite.java:143) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr >> actCallSite.java:151) >> at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:227) at >> groovy.grape.Grape.grab(Grape.java:143) >> at >> groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransform >> ation.java:260) >> at >> org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransf >> ormationVisitor.java:302) >> at >> org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(Compilat >> ionUnit.java:813) >> at >> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(Compilatio >> nUnit.java:511) >> at >> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(Comp >> ilationUnit.java:487) >> at >> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.jav >> a:464) >> at >> groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:297) >> at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:279) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript >> (DefaultScriptCompilationHandler.java:108) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir( >> DefaultScriptCompilationHandler.java:57) >> at >> org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir( >> CachingScriptCompilationHandler.java:33) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerIm >> pl.loadViaCache(DefaultScriptCompilerFactory.java:90) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerIm >> pl.compile(DefaultScriptCompilerFactory.java:69) >> at >> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.ap >> ply(DefaultScriptPluginFactory.java:114) >> at >> org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProce >> ssor.java:38) >> at >> org.gradle.configuration.DefaultProjectEvaluator.evaluate(DefaultProjec >> tEvaluator.java:38) >> at >> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProjec >> t.java:491) >> at >> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProjec >> t.java:69) >> at org.gradle.api.internal.project.ProjectInternal$evaluate.call(Unknown >> Source) >> at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSite >> Array.java:40) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:117) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:121) >> at >> org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigur >> er.groovy:41) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja >> va:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso >> rImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) at >> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88 >> ) >> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) at >> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(Clo >> sureMetaClass.java:273) >> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) at >> groovy.lang.Closure.call(Closure.java:276) >> at >> org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClos >> ure.java:51) >> at >> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler. >> java:79) >> at $Proxy6.execute(Unknown Source) at >> org.gradle.api.internal.project.AbstractProject.configure(AbstractProje >> ct.java:467) >> at >> org.gradle.api.internal.project.AbstractProject.allprojects(AbstractPro >> ject.java:462) >> at org.gradle.api.Project$allprojects.call(Unknown Source) at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSite >> Array.java:40) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:117) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:125) >> at >> org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy >> :48) >> at >> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGr >> adleLauncher.java:136) >> at >> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLa >> uncher.java:107) >> at >> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaunch >> er.java:75) >> at org.gradle.launcher.Main.execute(Main.java:93) at >> org.gradle.launcher.Main.main(Main.java:42) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja >> va:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso >> rImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) at >> org.gradle.launcher.GradleMain.main(GradleMain.java:49) >> >> >> 1 error >> >> >> * Try: >> Run with -S option to get the full (very verbose) stacktrace. >> >> >> * Exception is: >> org.gradle.api.LocationAwareScriptCompilationException: Build file >> '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle' >> Could not compile build file >> '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle'. >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript >> (DefaultScriptCompilationHandler.java:112) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir( >> DefaultScriptCompilationHandler.java:57) >> at >> org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir( >> CachingScriptCompilationHandler.java:33) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerIm >> pl.loadViaCache(DefaultScriptCompilerFactory.java:90) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerIm >> pl.compile(DefaultScriptCompilerFactory.java:69) >> at >> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.ap >> ply(DefaultScriptPluginFactory.java:114) >> at >> org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProce >> ssor.java:38) >> at >> org.gradle.configuration.DefaultProjectEvaluator.evaluate(DefaultProjec >> tEvaluator.java:38) >> at >> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProjec >> t.java:491) >> at >> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProjec >> t.java:69) >> at org.gradle.api.internal.project.ProjectInternal$evaluate.call(Unknown >> Source) >> at >> org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigur >> er.groovy:41) >> at $Proxy6.execute(Unknown Source) at >> org.gradle.api.internal.project.AbstractProject.configure(AbstractProje >> ct.java:467) >> at >> org.gradle.api.internal.project.AbstractProject.allprojects(AbstractPro >> ject.java:462) >> at org.gradle.api.Project$allprojects.call(Unknown Source) at >> org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy >> :48) >> at >> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGr >> adleLauncher.java:136) >> at >> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLa >> uncher.java:107) >> at >> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaunch >> er.java:75) >> at org.gradle.launcher.Main.execute(Main.java:93) at >> org.gradle.launcher.Main.main(Main.java:42) >> at org.gradle.launcher.GradleMain.main(GradleMain.java:49) Caused by: >> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup >> failed: >> General error during conversion: No suitable ClassLoader found for grab >> >> >> java.lang.RuntimeException: No suitable ClassLoader found for grab >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >> at >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructor >> AccessorImpl.java:39) >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCon >> structorAccessorImpl.java:27) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at >> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstruct >> or.java:77) >> at >> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoU >> nwrapNoCoerce.callConstructor(ConstructorSite.java:107) >> at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstruct >> or(CallSiteArray.java:52) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(A >> bstractCallSite.java:192) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(A >> bstractCallSite.java:200) >> at groovy.grape.GrapeIvy.chooseClassLoader(GrapeIvy.groovy:163) at >> groovy.grape.GrapeIvy$chooseClassLoader.callCurrent(Unknown Source) at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(C >> allSiteArray.java:44) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr >> actCallSite.java:143) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr >> actCallSite.java:151) >> at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:227) at >> groovy.grape.Grape.grab(Grape.java:143) >> at >> groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransform >> ation.java:260) >> at >> org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransf >> ormationVisitor.java:302) >> at >> org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(Compilat >> ionUnit.java:813) >> at >> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(Compilatio >> nUnit.java:511) >> at >> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(Comp >> ilationUnit.java:487) >> at >> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.jav >> a:464) >> at >> groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:297) >> at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:279) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript >> (DefaultScriptCompilationHandler.java:108) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir( >> DefaultScriptCompilationHandler.java:57) >> at >> org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir( >> CachingScriptCompilationHandler.java:33) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerIm >> pl.loadViaCache(DefaultScriptCompilerFactory.java:90) >> at >> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerIm >> pl.compile(DefaultScriptCompilerFactory.java:69) >> at >> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.ap >> ply(DefaultScriptPluginFactory.java:114) >> at >> org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProce >> ssor.java:38) >> at >> org.gradle.configuration.DefaultProjectEvaluator.evaluate(DefaultProjec >> tEvaluator.java:38) >> at >> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProjec >> t.java:491) >> at >> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProjec >> t.java:69) >> at org.gradle.api.internal.project.ProjectInternal$evaluate.call(Unknown >> Source) >> at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSite >> Array.java:40) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:117) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:121) >> at >> org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigur >> er.groovy:41) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja >> va:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso >> rImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) at >> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88 >> ) >> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) at >> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(Clo >> sureMetaClass.java:273) >> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) at >> groovy.lang.Closure.call(Closure.java:276) >> at >> org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClos >> ure.java:51) >> at >> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler. >> java:79) >> at $Proxy6.execute(Unknown Source) at >> org.gradle.api.internal.project.AbstractProject.configure(AbstractProje >> ct.java:467) >> at >> org.gradle.api.internal.project.AbstractProject.allprojects(AbstractPro >> ject.java:462) >> at org.gradle.api.Project$allprojects.call(Unknown Source) at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSite >> Array.java:40) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:117) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall >> Site.java:125) >> at >> org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy >> :48) >> at >> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGr >> adleLauncher.java:136) >> at >> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLa >> uncher.java:107) >> at >> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaunch >> er.java:75) >> at org.gradle.launcher.Main.execute(Main.java:93) at >> org.gradle.launcher.Main.main(Main.java:42) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja >> va:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso >> rImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) at >> org.gradle.launcher.GradleMain.main(GradleMain.java:49) >> >> >> 1 error >> >> >> at >> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript >> (DefaultScriptCompilationHandler.java:108) >> ... 22 common frames omitted >> >> >> BUILD FAILED >> >> >> Total time: 2.333 secs >> > > Regards > Thor > > > > ons, 26 01 2011 kl. 21:49 -0800, skrev Merlyn Albery-Speyer: >> If this is about using Class.forName to load JDBC drivers from a >> dynamically constructed classpath, then this issue came up with Groovy >> Grapes too. The solution in the end (from the user's perspective) was >> the @GrabConfig(systemClassLoader=true) setting. >> >> On Wed, 2011-01-26 at 08:53 -0800, Peter Niederwieser wrote: >> >>> You are running into a typical class loading problem that also occurs >>> with app servers. The class loader for Groovy/Gradle sits atop the >>> class loader for the build script. Hence the groovy.sql.Sql class >>> cannot see the org.postgresql.Driver class. Currently I don't know of >>> a better way than to put the driver Jar into Gradle's lib directory. >>> Please raise an issue for >>> this. >>> >>> -- >>> Peter Niederwieser >>> Developer, Gradle >>> http://www.gradle.org >>> Trainer & Consultant, Gradle Inc. >>> http://www.gradle.biz >>> Founder, Spock Framework >>> http://spockframework.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 > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
