package org.codehaus.mojo.rspec; public class ShellScriptFactory extends AbstractScriptFactory { public ShellScriptFactory() { } public String getScript() { StringBuilder builder = new StringBuilder(); boolean first = true; for (String classpathElement : this.classpathElements) { if (first) { first = false; builder.append("CLASSPATH=").append(classpathElement).append("\n"); } else { builder.append("CLASSPATH=$CLASSPATH:").append(classpathElement).append("\n"); } } builder.append("export CLASSPATH\n"); builder.append("this_dir=$(dirname $0)\n"); builder.append("$JRUBY_HOME/bin/jruby\\\n"); builder.append( " -J-Dbasedir=").append( baseDir ).append( "\\\n" ); for (Object propName : systemProperties.keySet()) { String propValue = systemProperties.getProperty(propName.toString()); builder.append(" -J-D").append(propName).append("=").append(propValue).append("\\\n"); } builder.append(" $this_dir/rspec-runner.rb $*"); return builder.toString(); } @Override protected String getScriptName() { return "run-rspecs.sh"; } }