def runSimulation(jobconf): console = Context.console console.info("Running Simulation...") argv = [] javaBin = "java" javaClassPath = "-cp" argv.extend((javaBin, javaClassPath)) configClassPath = jobconf.get("simulate/java-classpath", []) qxSeleniumPath = jobconf.get("simulate/qxselenium-path", False) if qxSeleniumPath: configClassPath.append(qxSeleniumPath) classPathSeparator = ":" if util.getPlatformInfo()[0] == "Windows": classPathSeparator = ";" configClassPath = classPathSeparator.join(configClassPath) if "CYGWIN" in util.getPlatformInfo()[0]: configClassPath = "`cygpath -wp " + configClassPath + "`" argv.append(configClassPath) rhinoClass = jobconf.get("simulate/rhino-class", "org.mozilla.javascript.tools.shell.Main") runnerScript = jobconf.get("simulate/simulator-script") argv.extend((rhinoClass, runnerScript)) cmd = " ".join(textutil.quoteCommandArgs(argv)) settings = jobconf.get("environment", None) for key in settings: if type(settings[key]) == unicode: settings[key] = settings[key].replace(" ", "$") if settings: settings = json.dumps(settings, separators=(",", ":")) settings = settings.replace('"','\\"').replace("{", "\{").replace("}", "\}") settings = "settings=" + settings cmd += " " + settings console.debug("Selenium start command: " + cmd) shell = ShellCmd() shell.execute_logged(cmd, console, True)
def runMigration(jobconf, libs): if not jobconf.get('migrate-files', False): return console = Context.console console.info( "Please heed the warnings from the configuration file parsing") console.info( "Migrating Javascript source code to most recent qooxdoo version...") console.indent() migSettings = jobconf.get('migrate-files') shellCmd = ShellCmd() migratorCmd = os.path.join(os.path.dirname(filetool.root()), "bin", "migrator.py") libPaths = [] for lib in libs: lib._init_from_manifest() # Lib()'s aren't initialized yet libPaths.append(os.path.join(lib.path, lib.classPath)) mig_opts = [] if migSettings.get('from-version', False): mig_opts.extend(["--from-version", migSettings.get('from-version')]) if migSettings.get('migrate-html'): mig_opts.append("--migrate-html") mig_opts.extend(["--class-path", ",".join(libPaths)]) shcmd = " ".join( textutil.quoteCommandArgs([sys.executable, migratorCmd] + mig_opts)) console.debug("Invoking migrator as: '%s'" % shcmd) shellCmd.execute(shcmd) console.outdent()