| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 2 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 3 # for details. All rights reserved. Use of this source code is governed by a | 3 # for details. All rights reserved. Use of this source code is governed by a |
| 4 # BSD-style license that can be found in the LICENSE file. | 4 # BSD-style license that can be found in the LICENSE file. |
| 5 """Helper for building and deploying Observatory""" | 5 """Helper for building and deploying Observatory""" |
| 6 | 6 |
| 7 import argparse | 7 import argparse |
| 8 import os | 8 import os |
| 9 import platform | 9 import platform |
| 10 import shutil | 10 import shutil |
| 11 import socket |
| 11 import subprocess | 12 import subprocess |
| 12 import sys | 13 import sys |
| 13 import utils | 14 import utils |
| 14 | 15 |
| 15 SCRIPT_DIR = os.path.dirname(sys.argv[0]) | 16 SCRIPT_DIR = os.path.dirname(sys.argv[0]) |
| 16 DART_ROOT = os.path.realpath(os.path.join(SCRIPT_DIR, '..')) | 17 DART_ROOT = os.path.realpath(os.path.join(SCRIPT_DIR, '..')) |
| 17 PUB_PATH = os.path.join(DART_ROOT, 'third_party', 'pkg', | 18 PUB_PATH = os.path.join(DART_ROOT, 'third_party', 'pkg', |
| 18 'pub', 'bin', 'pub.dart') | 19 'pub', 'bin', 'pub.dart') |
| 19 IGNORE_PATTERNS = shutil.ignore_patterns( | 20 IGNORE_PATTERNS = shutil.ignore_patterns( |
| 20 '*.map', | 21 '*.map', |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 options.silent) | 211 options.silent) |
| 211 elif (cmd == 'deploy'): | 212 elif (cmd == 'deploy'): |
| 212 Deploy('build', 'deployed') | 213 Deploy('build', 'deployed') |
| 213 elif (cmd == 'rewrite'): | 214 elif (cmd == 'rewrite'): |
| 214 RewritePubSpec(args[0], args[1], args[2], args[3]) | 215 RewritePubSpec(args[0], args[1], args[2], args[3]) |
| 215 else: | 216 else: |
| 216 print >> sys.stderr, ('ERROR: command "%s" not supported') % (cmd) | 217 print >> sys.stderr, ('ERROR: command "%s" not supported') % (cmd) |
| 217 return -1; | 218 return -1; |
| 218 | 219 |
| 219 def main(): | 220 def main(): |
| 221 # Sanity check that localhost can be resolved. |
| 222 try: |
| 223 socket.gethostbyname('localhost') |
| 224 except: |
| 225 print("The hostname 'localhost' could not be resolved. Please fix your" |
| 226 "/etc/hosts file and try again") |
| 227 return -1 |
| 220 # Parse the options. | 228 # Parse the options. |
| 221 parser = BuildArguments() | 229 parser = BuildArguments() |
| 222 (options, args) = parser.parse_known_args() | 230 (options, args) = parser.parse_known_args() |
| 223 if not ProcessOptions(options, args): | 231 if not ProcessOptions(options, args): |
| 224 parser.print_help() | 232 parser.print_help() |
| 225 return 1 | 233 return 1 |
| 226 # Calculate absolute paths before changing directory. | 234 # Calculate absolute paths before changing directory. |
| 227 if (options.dart_executable != None): | 235 if (options.dart_executable != None): |
| 228 options.dart_executable = os.path.abspath(options.dart_executable) | 236 options.dart_executable = os.path.abspath(options.dart_executable) |
| 229 if (options.pub_executable != None): | 237 if (options.pub_executable != None): |
| 230 options.pub_executable = os.path.abspath(options.pub_executable) | 238 options.pub_executable = os.path.abspath(options.pub_executable) |
| 231 if (options.pub_snapshot != None): | 239 if (options.pub_snapshot != None): |
| 232 options.pub_snapshot = os.path.abspath(options.pub_snapshot) | 240 options.pub_snapshot = os.path.abspath(options.pub_snapshot) |
| 233 if (options.stamp != ''): | 241 if (options.stamp != ''): |
| 234 options.stamp = os.path.abspath(options.stamp) | 242 options.stamp = os.path.abspath(options.stamp) |
| 235 if len(args) == 1: | 243 if len(args) == 1: |
| 236 args[0] = os.path.abspath(args[0]) | 244 args[0] = os.path.abspath(args[0]) |
| 237 # Pub must be run from the project's root directory. | 245 # Pub must be run from the project's root directory. |
| 238 ChangeDirectory(options.directory) | 246 ChangeDirectory(options.directory) |
| 239 result = ExecuteCommand(options, args) | 247 result = ExecuteCommand(options, args) |
| 240 if result == 0: | 248 if result == 0: |
| 241 CreateTimestampFile(options) | 249 CreateTimestampFile(options) |
| 242 return result | 250 return result |
| 243 | 251 |
| 244 | 252 |
| 245 if __name__ == '__main__': | 253 if __name__ == '__main__': |
| 246 sys.exit(main()); | 254 sys.exit(main()); |
| OLD | NEW |