1# Copyright 2015 the V8 project authors. All rights reserved. 2# Copyright (c) 2012 The Chromium Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6# This file is meant to be included into a target to provide a rule 7# to "build" .isolate files into a .isolated file. 8# 9# To use this, create a gyp target with the following form: 10# 'conditions': [ 11# ['test_isolation_mode != "noop"', { 12# 'targets': [ 13# { 14# 'target_name': 'foo_test_run', 15# 'type': 'none', 16# 'dependencies': [ 17# 'foo_test', 18# ], 19# 'includes': [ 20# '../gypfiles/isolate.gypi', 21# ], 22# 'sources': [ 23# 'foo_test.isolate', 24# ], 25# }, 26# ], 27# }], 28# ], 29# 30# Note: foo_test.isolate is included and a source file. It is an inherent 31# property of the .isolate format. This permits to define GYP variables but is 32# a stricter format than GYP so isolate.py can read it. 33# 34# The generated .isolated file will be: 35# <(PRODUCT_DIR)/foo_test.isolated 36# 37# See http://dev.chromium.org/developers/testing/isolated-testing/for-swes 38# for more information. 39 40{ 41 'rules': [ 42 { 43 'rule_name': 'isolate', 44 'extension': 'isolate', 45 'inputs': [ 46 # Files that are known to be involved in this step. 47 '<(DEPTH)/tools/isolate_driver.py', 48 '<(DEPTH)/tools/swarming_client/isolate.py', 49 '<(DEPTH)/tools/swarming_client/run_isolated.py', 50 ], 51 'outputs': [ 52 '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated', 53 ], 54 'action': [ 55 'python', 56 '<(DEPTH)/tools/isolate_driver.py', 57 '<(test_isolation_mode)', 58 '--isolated', '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated', 59 '--isolate', '<(RULE_INPUT_PATH)', 60 61 # Variables should use the -V FOO=<(FOO) form so frequent values, 62 # like '0' or '1', aren't stripped out by GYP. Run 'isolate.py help' 63 # for more details. 64 65 # Path variables are used to replace file paths when loading a .isolate 66 # file 67 '--path-variable', 'DEPTH', '<(DEPTH)', 68 '--path-variable', 'PRODUCT_DIR', '<(PRODUCT_DIR)', 69 70 '--config-variable', 'CONFIGURATION_NAME=<(CONFIGURATION_NAME)', 71 '--config-variable', 'OS=<(OS)', 72 '--config-variable', 'asan=<(asan)', 73 '--config-variable', 'cfi_vptr=<(cfi_vptr)', 74 '--config-variable', 'gcmole=<(gcmole)', 75 '--config-variable', 'has_valgrind=<(has_valgrind)', 76 '--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)', 77 '--config-variable', 'is_gn=0', 78 '--config-variable', 'lsan=<(lsan)', 79 '--config-variable', 'msan=<(msan)', 80 '--config-variable', 'tsan=<(tsan)', 81 '--config-variable', 'coverage=<(coverage)', 82 '--config-variable', 'sanitizer_coverage=<(sanitizer_coverage)', 83 '--config-variable', 'component=<(component)', 84 '--config-variable', 'target_arch=<(target_arch)', 85 '--config-variable', 'v8_enable_inspector=<(v8_enable_inspector)', 86 '--config-variable', 'v8_use_external_startup_data=<(v8_use_external_startup_data)', 87 '--config-variable', 'v8_use_snapshot=<(v8_use_snapshot)', 88 ], 89 'conditions': [ 90 ['OS=="win"', { 91 'action': [ 92 '--config-variable', 'msvs_version=2013', 93 ], 94 }, { 95 'action': [ 96 '--config-variable', 'msvs_version=0', 97 ], 98 }], 99 ], 100 }, 101 ], 102} 103