Skip to content

Instantly share code, notes, and snippets.

@hakobe
Created November 25, 2010 13:18
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hakobe/715378 to your computer and use it in GitHub Desktop.
Save hakobe/715378 to your computer and use it in GitHub Desktop.
Titanium build server
use strict;
use warnings;
use AnyEvent;
use AnyEvent::HTTPD;
use AnyEvent::Util qw(run_cmd);
use Cwd;
my $httpd = AnyEvent::HTTPD->new (port => 9090);
my $last_pid = undef;
my $last_cv = undef;
$httpd->reg_cb (
'/run' => sub {
my ($httpd, $req) = @_;
if ($last_pid) {
kill 2, $last_pid;
}
my $pid;
$last_cv = run_cmd [
"/Library/Application Support/Titanium/mobilesdk/osx/1.4.2/iphone/builder.py",
"run",
getcwd(),
], '$$' => \$pid;
$last_pid = $pid;
if ($req->parm('debug')) {
sleep(5);
system('osascript', '-e', "tell application \"iTerm\"", '-e', "activate", '-e', "end tell");
}
$req->respond ({ content => ['text/plain', "ok" ]});
},
);
warn 'starting server at localhost:9090';
$httpd->run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment