def launch(task)
cp = Groovy.dependencies +
project.compile.dependencies +
[ project.path_to(:target, :classes) ] +
task.classpath
props = jrebel_props(project).merge(task.properties)
java_args = jrebel_args + task.java_args
groovy_home = nil
if groovy_home
cmd_args = " -classpath '#{cp.join(File::SEPARATOR)}'"
trace "groovysh #{cmd_args}"
system(File.expand_path("bin#{File::SEPARATOR}groovysh#{SUFFIX}", groovy_home) + cmd_args)
else
Java::Commands.java 'org.codehaus.groovy.tools.shell.Main', {
:properties => props,
:classpath => cp,
:java_args => java_args
}
end
end