#!/usr/bin/perl use strict; use warnings; use Cwd; use File::Basename qw(dirname); sub app_directory { my $updir = getcwd; my $dir = ''; while ($updir ne $dir) { $dir = $updir; if (-f "$dir/.appengine") { return "$dir/app"; } $updir = dirname($dir); } die "not in an appengine workspace\n"; } sub sys { print "Executing: @_\n"; my $st = system {$_[0]} @_; if ($st == -1) { die "Exec failed: $!\n"; } } sub appdir { print app_directory(), "\n"; } sub server { my $appdir = app_directory(); sys("dev_appserver.py", "--address=0.0.0.0", $appdir, @_) } sub appcfg { my $appdir = app_directory(); my $cmd = shift; sys("appcfg.py", @_, $cmd, $appdir); } sub help { print <## cd "$(appeng appdir)"