package rhogenwizard.sdk.task.run; import rhogenwizard.OSHelper; import rhogenwizard.SysCommandExecutor; import rhogenwizard.sdk.task.RubyExecTask; import rhogenwizard.sdk.task.RunTask; import rhogenwizard.sdk.task.SeqRunTask; import rhogenwizard.sdk.task.StopSyncAppTask; import rhogenwizard.sdk.task.StoreLastSyncRunAppTask; public class RunReleaseRhoconnectAppTask extends SeqRunTask { private static RunTask[] getTasks(final String workDir) { RunTask redisStartbgTask = new RubyExecTask(workDir, SysCommandExecutor.RUBY_BAT, "rhoconnect", "redis-startbg"); RunTask rhoconnectStartbgTask = null; if (OSHelper.isWindows()) { rhoconnectStartbgTask = new RubyExecTask(workDir, SysCommandExecutor.RUBY_BAT, "start", "cmd", "/c", "rhoconnect", "start&&exit"); } else { rhoconnectStartbgTask = new RubyExecTask(workDir, SysCommandExecutor.RUBY_BAT, "osascript", "-e", "tell app \"Terminal\"\ndo script \"cd " + workDir + "&&rhoconnect start&&exit\"\nend tell"); } return new RunTask[] { new StopSyncAppTask(), new StoreLastSyncRunAppTask(workDir), redisStartbgTask, rhoconnectStartbgTask }; } public RunReleaseRhoconnectAppTask(String workDir) { super(getTasks(workDir)); } }