| Index: tools/download_prebuilt_sdk.py
|
| diff --git a/tools/download_prebuilt_sdk.py b/tools/download_prebuilt_sdk.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..f3c43853347aaff7d3f8e6f513109b28809e6853
|
| --- /dev/null
|
| +++ b/tools/download_prebuilt_sdk.py
|
| @@ -0,0 +1,52 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2016 The Dart project 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 os
|
| +import subprocess
|
| +import sys
|
| +import tarfile
|
| +import urllib
|
| +import utils
|
| +
|
| +HOST_OS = utils.GuessOS()
|
| +HOST_ARCH = utils.GuessArchitecture()
|
| +SCRIPT_DIR = os.path.dirname(sys.argv[0])
|
| +DART_ROOT = os.path.realpath(os.path.join(SCRIPT_DIR, '..'))
|
| +
|
| +BUCKET_NAME = 'dart-dependencies'
|
| +
|
| +def host_os_for_sdk(host_os):
|
| + if host_os.startswith('macos'):
|
| + return 'mac'
|
| + if host_os.startswith('win'):
|
| + return 'win'
|
| + return host_os
|
| +
|
| +def main(argv):
|
| + host_os = host_os_for_sdk(HOST_OS)
|
| + sdk_path = os.path.join(DART_ROOT, 'tools', 'sdks', host_os)
|
| + stamp_path = os.path.join(sdk_path, 'dart-sdk.tar.gz.stamp')
|
| + sha_path = os.path.join(sdk_path, 'dart-sdk.tar.gz.sha1')
|
| + tgz_path = os.path.join(sdk_path, 'dart-sdk.tar.gz')
|
| +
|
| + stamp = ''
|
| + if os.path.isfile(stamp_path):
|
| + with open(stamp_path, 'r') as fp:
|
| + stamp = fp.read()
|
| +
|
| + with open(sha_path, 'r') as fp:
|
| + sha = fp.read()
|
| +
|
| + if stamp != sha:
|
| + url = ('https://%s.storage.googleapis.com/%s' % (BUCKET_NAME, sha))
|
| + print 'Downloading prebuilt Dart SDK from: ' + url
|
| + urllib.urlretrieve(url, tgz_path)
|
| + with tarfile.open(tgz_path) as tar:
|
| + tar.extractall(sdk_path)
|
| + with open(stamp_path, 'w') as fp:
|
| + fp.write(sha)
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main(sys.argv))
|
|
|