Allow to set a fixed port for the development server.
Running on the fixed port enables service cache to store responses
between shell runs.
Fixes domokit/devtools#37
R=tonyg@chromium.org
Review URL: https://codereview.chromium.org/1305293003 .
diff --git a/mojo/devtools/common/devtoolslib/shell_arguments.py b/mojo/devtools/common/devtoolslib/shell_arguments.py
index 53e467f..7e46b01 100644
--- a/mojo/devtools/common/devtoolslib/shell_arguments.py
+++ b/mojo/devtools/common/devtoolslib/shell_arguments.py
@@ -157,7 +157,9 @@
Returns:
The updated argument list.
"""
- server_url = shell.serve_local_directories(dev_server_config.mappings)
+ port = dev_server_config.port if dev_server_config.port else 0
+ server_url = shell.serve_local_directories(dev_server_config.mappings,
+ port=port)
shell_args.append('--map-origin=%s=%s' % (dev_server_config.host, server_url))
print "Configured %s locally at %s to serve:" % (dev_server_config.host,
server_url)
diff --git a/mojo/devtools/common/devtoolslib/shell_config.py b/mojo/devtools/common/devtoolslib/shell_config.py
index 227b979..6a93cb0 100644
--- a/mojo/devtools/common/devtoolslib/shell_config.py
+++ b/mojo/devtools/common/devtoolslib/shell_config.py
@@ -48,6 +48,7 @@
"""
def __init__(self):
self.host = None
+ self.port = None
self.mappings = None
@@ -193,6 +194,7 @@
for dev_server_spec in config['dev_servers']:
dev_server_config = DevServerConfig()
dev_server_config.host = dev_server_spec['host']
+ dev_server_config.port = dev_server_spec.get('port', None)
dev_server_config.mappings = []
for prefix, path in dev_server_spec['mappings']:
dev_server_config.mappings.append((prefix, path))
diff --git a/mojo/devtools/common/remote_adb_setup b/mojo/devtools/common/remote_adb_setup
index d275ff6..df3176d 100755
--- a/mojo/devtools/common/remote_adb_setup
+++ b/mojo/devtools/common/remote_adb_setup
@@ -44,8 +44,10 @@
# and from the local host to the remote host:
# 9998: http server for Sky
# 31840: http server for the local mojo: origin
+# 31839: http server for https://core.mojoapps.io
ssh -C \
-R 5037:127.0.0.1:5037 \
-L 9998:127.0.0.1:9998 \
+ -L 31839:127.0.0.1:31839 \
-L 31840:127.0.0.1:31840 \
"$remote_host"
diff --git a/mojoconfig b/mojoconfig
index 8be95fb..1edace8 100644
--- a/mojoconfig
+++ b/mojoconfig
@@ -12,6 +12,11 @@
'dev_servers': [
{
'host': 'https://core.mojoapps.io/',
+ # At this port the server will appear to the shell. That means actually
+ # running on this port when running a Linux shell and being forwarded from
+ # this port when running on Android. Using a fixed port enables caching
+ # server responses between shell runs.
+ 'port': 31839,
# First matching prefix will apply. Within the directiories specified for
# a prefix, first location that contains the requested path will apply.
'mappings': [