public void executeScript(final File launchDirectory, final String script, final List<String> args, final File outputFile) throws ScriptException, IOException { final StringBuilder buf = new StringBuilder(); for (final Map.Entry<String, String> entry : this.factory.environment().entrySet()) { if (entry.getValue() != null) { buf.append("ENV['") .append(entry.getKey()) .append("']='") .append(entry.getValue()) .append("';"); } } buf.append(script); args.add(0, "-e"); args.add(1, buf.toString()); args.add(2, "--"); doExecute(launchDirectory, outputFile, args, false); } }
@Override public Map<String, String> environment() { Map<String, String> result = new HashMap<String, String>(super.environment()); if (this.gemsConfig.getGemHome() != null) { result.put(GEM_HOME, this.gemsConfig.getGemHome() .getAbsolutePath() .replaceFirst("/[$][{]project.basedir[}]/", "/")); } if (this.gemsConfig.getGemPath().length > 0) { StringBuilder paths = new StringBuilder(); for (File path : this.gemsConfig.getGemPath()) { if (paths.length() > 0) { paths.append(System.getProperty("path.separator")); } paths.append(path.getAbsolutePath() .replaceFirst("/[$][{]project.basedir[}]/", "/")); } result.put(GEM_PATH, paths.toString()); } return result; }
this.logger.warn("have to ignore jvm arguments and properties in the current setup"); if (this.factory.environment().size() > 0) { this.logger.warn("have to ignore environment settings in the current setup");
java.setDir(launchDirectory); for (final Map.Entry<String, String> entry : this.factory.environment().entrySet()) { Variable v = new Variable(); v.setKey(entry.getKey()); if (this.factory.environment().size() > 0) { this.logger.debug("environment :"); for (final Map.Entry<String, String> entry : this.factory.environment().entrySet()) { this.logger.debug("\t\t" + entry.getKey() + " => " + entry.getValue());