View Javadoc

1   package org.codehaus.mojo.rspec;
2   
3   public class ShellScriptFactory extends AbstractScriptFactory {
4   
5   	public ShellScriptFactory() {
6   
7   	}
8   
9   	public String getScript() {
10  		StringBuilder builder = new StringBuilder();
11  
12  		boolean first = true;
13  		for (String classpathElement : this.classpathElements) {
14  			if (first) {
15  				first = false;
16  				builder.append("CLASSPATH=").append(classpathElement).append("\n");
17  			} else {
18  				builder.append("CLASSPATH=$CLASSPATH:").append(classpathElement).append("\n");
19  			}
20  		}
21  
22  		builder.append("export CLASSPATH\n");
23  		builder.append("this_dir=$(dirname $0)\n");
24  		builder.append("$JRUBY_HOME/bin/jruby\\\n");
25  		builder.append( "  -J-Dbasedir=").append( baseDir ).append( "\\\n" );
26  		for (Object propName : systemProperties.keySet()) {
27  			String propValue = systemProperties.getProperty(propName.toString());
28  			builder.append("  -J-D").append(propName).append("=").append(propValue).append("\\\n");
29  		}
30  		builder.append("  $this_dir/rspec-runner.rb $*");
31  
32  		return builder.toString();
33  	}
34  
35  	@Override
36  	protected String getScriptName() {
37  		return "run-rspecs.sh";
38  	}
39  
40  }