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 # '../build/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', 'icu_use_data_file_flag=0', 75 '--config-variable', 'msan=<(msan)', 76 '--config-variable', 'tsan=<(tsan)', 77 '--config-variable', 'component=<(component)', 78 '--config-variable', 'target_arch=<(target_arch)', 79 '--config-variable', 'use_custom_libcxx=<(use_custom_libcxx)', 80 '--config-variable', 'v8_use_external_startup_data=<(v8_use_external_startup_data)', 81 '--config-variable', 'v8_use_snapshot=<(v8_use_snapshot)', 82 ], 83 'conditions': [ 84 ['OS=="win"', { 85 'action': [ 86 '--config-variable', 'msvs_version=2013', 87 ], 88 }, { 89 'action': [ 90 '--config-variable', 'msvs_version=0', 91 ], 92 }], 93 ], 94 }, 95 ], 96 } 97