b687e7e757
Cq-Include-Trybots: luci.dart.try:pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-linux-debug-try,pkg-mac-release-try,pkg-win-release-try Change-Id: Iccd49bf2ef18250e4b1c755594d3382eff38cee5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204504 Reviewed-by: Jonas Termansen <sortie@google.com> Commit-Queue: Jonas Termansen <sortie@google.com> Commit-Queue: Alexander Thomas <athom@google.com>
65 lines
1.8 KiB
Python
Executable File
65 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# Copyright (c) 2018, 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 optparse
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
import shutil
|
|
import tempfile
|
|
|
|
PUBSPEC = """name: pub_integration_test
|
|
environment:
|
|
sdk: '>=2.10.0 <=3.0.0'
|
|
dependencies:
|
|
shelf:
|
|
test:
|
|
"""
|
|
|
|
|
|
def Main():
|
|
parser = optparse.OptionParser()
|
|
parser.add_option(
|
|
'--mode', action='store', dest='mode', type='string', default='release')
|
|
parser.add_option('--arch',
|
|
action='store',
|
|
dest='arch',
|
|
type='string',
|
|
default='x64')
|
|
|
|
(options, args) = parser.parse_args()
|
|
|
|
arch = 'XARM64' if options.arch == 'arm64' else 'X64'
|
|
mode = ('Debug' if options.mode == 'debug' else 'Release')
|
|
|
|
out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
|
|
extension = '' if not sys.platform == 'win32' else '.bat'
|
|
pub = os.path.abspath('%s/%s%s/dart-sdk/bin/pub%s' %
|
|
(out_dir, mode, arch, extension))
|
|
print(pub)
|
|
|
|
working_dir = tempfile.mkdtemp()
|
|
try:
|
|
pub_cache_dir = working_dir + '/pub_cache'
|
|
env = os.environ.copy()
|
|
env['PUB_CACHE'] = pub_cache_dir
|
|
|
|
with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
|
|
pubspec_yaml.write(PUBSPEC)
|
|
|
|
exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
|
|
if exit_code != 0:
|
|
return exit_code
|
|
|
|
exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
|
|
if exit_code != 0:
|
|
return exit_code
|
|
finally:
|
|
shutil.rmtree(working_dir)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(Main())
|