| #!/usr/bin/python |
| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import subprocess |
| import sys |
| |
| from catapult_build import module_finder |
| from catapult_build import temp_deployment_dir |
| |
| |
| def DevAppserver(paths, args): |
| """Starts a dev server for an App Engine app. |
| |
| Args: |
| paths: List of paths to files and directories that should be linked |
| (or copied) in the deployment directory. |
| args: List of additional arguments to pass to the dev server. |
| """ |
| try: |
| import dev_appserver # pylint: disable=unused-variable |
| except ImportError: |
| # TODO(qyearsley): Put the App Engine SDK in the path with the |
| # binary dependency manager. |
| # See https://github.com/catapult-project/catapult/issues/2135 |
| print 'This script requires the App Engine SDK to be in PYTHONPATH.' |
| sys.exit(1) |
| with temp_deployment_dir.TempDeploymentDir(paths) as temp_dir: |
| print 'Running dev server on "%s".' % temp_dir |
| subprocess.call( |
| [module_finder.FindModule('dev_appserver')] + args + [temp_dir] |
| ) |