I have started using Gradle lately for building Java and Groovy projects. So far I really like it.
I do find it a bit strange that there Gradle does not run Grails projects out of the box.
Scouring the web, I found a task that will run the Groovy console from Gradle, and include the jars in the classpath:
// you can type "gradle console" and get a console with all your classes task(console, dependsOn: 'classes', type: JavaExec) { main = 'groovy.ui.Console' classpath = sourceSets.main.runtimeClasspath }
Personally, I do not like the Groovy console. I prefer groovysh, the Groovy shell. I have tried and tried to get it to work with Gradle, but so far I have not been able to.
I did make a small task that will print the jars in the project’s class path to the screen. Then you can put them in a text file and come up with a groovysh command with the jars in the classpath. It is not perfect, but it works:
task printClassPath() { println( "-- Groovy version: " + groovy.lang.GroovySystem.getVersion() ) dependsOn classes description = 'Print jars in classpath to command line' println("Printed the path") runtimeClasspath.getAsPath().tokenize(":").each { theFile -> println theFile } println "\n" }
If anyone has a task that runs a Groovy shell with the jars in it, let me know.