1*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2016 The Chromium Authors. All rights reserved. 2*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file. 4*c8dee2aaSAndroid Build Coastguard Worker 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Worker# Recipe module for compiling Skia when the checkout has already been done 7*c8dee2aaSAndroid Build Coastguard Worker# (e.g. repo brought in via CAS) 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard WorkerPYTHON_VERSION_COMPATIBILITY = "PY3" 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard WorkerDEPS = [ 12*c8dee2aaSAndroid Build Coastguard Worker 'build', 13*c8dee2aaSAndroid Build Coastguard Worker 'checkout', 14*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/context', 15*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/file', 16*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/json', 17*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/path', 18*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/platform', 19*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/properties', 20*c8dee2aaSAndroid Build Coastguard Worker 'recipe_engine/step', 21*c8dee2aaSAndroid Build Coastguard Worker 'run', 22*c8dee2aaSAndroid Build Coastguard Worker 'vars', 23*c8dee2aaSAndroid Build Coastguard Worker] 24*c8dee2aaSAndroid Build Coastguard Worker 25*c8dee2aaSAndroid Build Coastguard Worker 26*c8dee2aaSAndroid Build Coastguard Workerdef RunSteps(api): 27*c8dee2aaSAndroid Build Coastguard Worker api.vars.setup() 28*c8dee2aaSAndroid Build Coastguard Worker 29*c8dee2aaSAndroid Build Coastguard Worker checkout_root = api.path.start_dir 30*c8dee2aaSAndroid Build Coastguard Worker out_dir = api.vars.cache_dir.joinpath( 31*c8dee2aaSAndroid Build Coastguard Worker 'work', 'skia', 'out', api.vars.builder_name, api.vars.configuration) 32*c8dee2aaSAndroid Build Coastguard Worker 33*c8dee2aaSAndroid Build Coastguard Worker try: 34*c8dee2aaSAndroid Build Coastguard Worker api.build(checkout_root=checkout_root, out_dir=out_dir) 35*c8dee2aaSAndroid Build Coastguard Worker 36*c8dee2aaSAndroid Build Coastguard Worker # TODO(borenet): Move this out of the try/finally. 37*c8dee2aaSAndroid Build Coastguard Worker dst = api.vars.swarming_out_dir 38*c8dee2aaSAndroid Build Coastguard Worker api.build.copy_build_products(out_dir=out_dir, dst=dst) 39*c8dee2aaSAndroid Build Coastguard Worker finally: 40*c8dee2aaSAndroid Build Coastguard Worker if 'Win' in api.vars.builder_cfg.get('os', ''): 41*c8dee2aaSAndroid Build Coastguard Worker script = api.build.resource('cleanup_win_processes.py') 42*c8dee2aaSAndroid Build Coastguard Worker api.step( 43*c8dee2aaSAndroid Build Coastguard Worker name='cleanup', 44*c8dee2aaSAndroid Build Coastguard Worker cmd=['vpython3', script], 45*c8dee2aaSAndroid Build Coastguard Worker infra_step=True) 46*c8dee2aaSAndroid Build Coastguard Worker 47*c8dee2aaSAndroid Build Coastguard Worker api.run.check_failure() 48*c8dee2aaSAndroid Build Coastguard Worker 49*c8dee2aaSAndroid Build Coastguard Worker 50*c8dee2aaSAndroid Build Coastguard WorkerTEST_BUILDERS = [ 51*c8dee2aaSAndroid Build Coastguard Worker 'Build-Win-Clang-x86-Debug', 52*c8dee2aaSAndroid Build Coastguard Worker] 53*c8dee2aaSAndroid Build Coastguard Worker 54*c8dee2aaSAndroid Build Coastguard Worker 55*c8dee2aaSAndroid Build Coastguard Workerdef GenTests(api): 56*c8dee2aaSAndroid Build Coastguard Worker for builder in TEST_BUILDERS: 57*c8dee2aaSAndroid Build Coastguard Worker test = ( 58*c8dee2aaSAndroid Build Coastguard Worker api.test(builder) + 59*c8dee2aaSAndroid Build Coastguard Worker api.properties(buildername=builder, 60*c8dee2aaSAndroid Build Coastguard Worker repository='https://skia.googlesource.com/skia.git', 61*c8dee2aaSAndroid Build Coastguard Worker revision='abc123', 62*c8dee2aaSAndroid Build Coastguard Worker path_config='kitchen', 63*c8dee2aaSAndroid Build Coastguard Worker swarm_out_dir='[SWARM_OUT_DIR]') 64*c8dee2aaSAndroid Build Coastguard Worker ) 65*c8dee2aaSAndroid Build Coastguard Worker if 'Win' in builder: 66*c8dee2aaSAndroid Build Coastguard Worker test += api.platform('win', 64) 67*c8dee2aaSAndroid Build Coastguard Worker yield test 68