1 #!/bin/bash 2 # Copyright 2014 The Chromium Authors. All rights reserved. 3 # Use of this source code is governed by a BSD-style license that can be 4 # found in the LICENSE file. 5 6 # This a simple script to make running Mojo shell easier (on Linux). 7 8 DIRECTORY="$(dirname "$0")"/../../out/Debug 9 PORT=$(($RANDOM % 8192 + 2000)) 10 11 do_help() { 12 cat << EOF 13 Usage: $(basename "$0") [-d DIRECTORY] [-|--] <mojo_shell arguments ...> 14 15 DIRECTORY defaults to $DIRECTORY. 16 17 Example: 18 $(basename "$0") mojo:mojo_sample_app 19 EOF 20 } 21 22 kill_http_server() { 23 echo "Killing SimpleHTTPServer ..." 24 kill $HTTP_SERVER_PID 25 wait $HTTP_SERVER_PID 26 } 27 28 while [ $# -gt 0 ]; do 29 case "$1" in 30 -h|--help) 31 do_help 32 exit 0 33 ;; 34 -d) 35 shift 36 if [ $# -eq 0 ]; then 37 do_help 38 exit 1 39 fi 40 DIRECTORY="$1" 41 ;; 42 --show-bash-alias) 43 echo alias\ mojosh\=\'\"\$\(pwd\ \|\ sed\ \'\"\'\"\'s\/\\\(\.\*\\\/src\\\ 44 \)\.\*\/\\1\/\'\"\'\"\'\)\/mojo\/tools\/mojosh\.sh\"\' 45 exit 0 46 ;; 47 # Separate arguments to mojo_shell (e.g., in case you want to pass it -d). 48 -|--) 49 shift 50 break 51 ;; 52 *) 53 break 54 ;; 55 esac 56 shift 57 done 58 59 echo "Base directory: $DIRECTORY" 60 61 echo "Running SimpleHTTPServer in directory $DIRECTORY/lib on port $PORT" 62 cd $DIRECTORY/lib || exit 1 63 python -m SimpleHTTPServer $PORT & 64 # Kill the HTTP server on exit (even if the user kills everything using ^C). 65 HTTP_SERVER_PID=$! 66 trap kill_http_server EXIT 67 cd .. 68 69 echo "Running:" 70 echo "./mojo_shell --origin=http://127.0.0.1:$PORT --disable-cache $*" 71 ./mojo_shell --origin=http://127.0.0.1:$PORT --disable-cache $* 72