Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / mojo / tools / mojosh.sh
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 $*