Download ABI dills during gclient sync

This currently doesn't do anything because ABI_VERSION == OLDEST_SUPPORTED_ABI_VERSION, so there are no versions to download.

Bug: https://github.com/dart-lang/sdk/issues/36047
Change-Id: I5616151dd9dc407d918cbfe9044354f3a41a2e1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95300
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
This commit is contained in:
Liam Appelbe 2019-03-06 01:07:14 +00:00 committed by commit-bot@chromium.org
parent dc1f2bd087
commit 7ba8995917
2 changed files with 26 additions and 0 deletions

6
DEPS
View file

@ -495,6 +495,12 @@ hooks = [
'pattern': '.',
'action': ['python', 'sdk/build/vs_toolchain.py', 'update'],
},
{
# Download dill files for all supported ABI versions, if necessary.
'name': 'abiversions',
'pattern': '.',
'action': ['python', 'sdk/tools/download_abi_dills.py'],
},
]
hooks_os = {

View file

@ -0,0 +1,20 @@
# Downloads dill files from CIPD for each supported ABI version.
import subprocess
import sys
import utils
def main():
abi_version = int(utils.GetAbiVersion())
oldest_abi_version = int(utils.GetOldestSupportedAbiVersion())
for i in xrange(oldest_abi_version, abi_version):
cmd = ['cipd', 'install', 'dart/abiversions/%d' % i, 'latest']
result = subprocess.call(cmd)
if result != 0:
return 1
return 0
if __name__ == '__main__':
sys.exit(main())