#!/usr/bin/env python # Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE file. import argparse import os import subprocess import sys import utils usage = """patch_sdk.py [options]""" def DisplayBootstrapWarning(): print """\ WARNING: Your system cannot run the checked-in Dart SDK. Using the bootstrap Dart executable will make debug builds slow. Please see the Wiki for instructions on replacing the checked-in Dart SDK. https://github.com/dart-lang/sdk/wiki/The-checked-in-SDK-in-tools """ def BuildArguments(): result = argparse.ArgumentParser(usage=usage) result.add_argument("--dart-executable", help="dart executable", default=None) return result def main(): # Parse the options. parser = BuildArguments() (options, args) = parser.parse_known_args() if utils.CheckedInSdkCheckExecutable(): options.dart_executable = utils.CheckedInSdkExecutable() elif options.dart_executable is not None: DisplayBootstrapWarning() options.dart_executable = os.path.abspath(options.dart_executable) else: print >> sys.stderr, 'ERROR: cannot locate dart executable' return -1 dart_file = os.path.join(os.path.dirname(__file__), 'patch_sdk.dart') subprocess.check_call([options.dart_executable, dart_file] + args) return 0 if __name__ == '__main__': sys.exit(main())