1 # Copyright (c) 2011 Google Inc. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 { 6 'variables': { 7 # Have a long string so that actions will exceed xp 512 character 8 # command limit on xp. 9 'long_string': 10 'abcdefghijklmnopqrstuvwxyz0123456789' 11 'abcdefghijklmnopqrstuvwxyz0123456789' 12 'abcdefghijklmnopqrstuvwxyz0123456789' 13 'abcdefghijklmnopqrstuvwxyz0123456789' 14 'abcdefghijklmnopqrstuvwxyz0123456789' 15 'abcdefghijklmnopqrstuvwxyz0123456789' 16 'abcdefghijklmnopqrstuvwxyz0123456789' 17 'abcdefghijklmnopqrstuvwxyz0123456789' 18 'abcdefghijklmnopqrstuvwxyz0123456789' 19 'abcdefghijklmnopqrstuvwxyz0123456789' 20 'abcdefghijklmnopqrstuvwxyz0123456789' 21 }, 22 'targets': [ 23 { 24 'target_name': 'multiple_action_target', 25 'type': 'none', 26 'actions': [ 27 { 28 'action_name': 'action1', 29 'inputs': [ 30 'copy.py', 31 'input.txt', 32 ], 33 'outputs': [ 34 'output1.txt', 35 ], 36 'action': [ 37 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 38 ], 39 # Allows the test to run without hermetic cygwin on windows. 40 'msvs_cygwin_shell': 0, 41 }, 42 { 43 'action_name': 'action2', 44 'inputs': [ 45 'copy.py', 46 'input.txt', 47 ], 48 'outputs': [ 49 'output2.txt', 50 ], 51 'action': [ 52 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 53 ], 54 # Allows the test to run without hermetic cygwin on windows. 55 'msvs_cygwin_shell': 0, 56 }, 57 { 58 'action_name': 'action3', 59 'inputs': [ 60 'copy.py', 61 'input.txt', 62 ], 63 'outputs': [ 64 'output3.txt', 65 ], 66 'action': [ 67 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 68 ], 69 # Allows the test to run without hermetic cygwin on windows. 70 'msvs_cygwin_shell': 0, 71 }, 72 { 73 'action_name': 'action4', 74 'inputs': [ 75 'copy.py', 76 'input.txt', 77 ], 78 'outputs': [ 79 'output4.txt', 80 ], 81 'action': [ 82 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 83 ], 84 # Allows the test to run without hermetic cygwin on windows. 85 'msvs_cygwin_shell': 0, 86 }, 87 ], 88 }, 89 { 90 'target_name': 'multiple_action_source_filter', 91 'type': 'executable', 92 'sources': [ 93 'main.c', 94 # TODO(bradnelson): add foo.c here once this issue is fixed: 95 # http://code.google.com/p/gyp/issues/detail?id=175 96 ], 97 'actions': [ 98 { 99 'action_name': 'action1', 100 'inputs': [ 101 'foo.c', 102 'filter.py', 103 ], 104 'outputs': [ 105 '<(INTERMEDIATE_DIR)/output1.c', 106 ], 107 'process_outputs_as_sources': 1, 108 'action': [ 109 'python', 'filter.py', 'foo', 'bar', 'foo.c', '<@(_outputs)', 110 ], 111 # Allows the test to run without hermetic cygwin on windows. 112 'msvs_cygwin_shell': 0, 113 }, 114 { 115 'action_name': 'action2', 116 'inputs': [ 117 'foo.c', 118 'filter.py', 119 ], 120 'outputs': [ 121 '<(INTERMEDIATE_DIR)/output2.c', 122 ], 123 'process_outputs_as_sources': 1, 124 'action': [ 125 'python', 'filter.py', 'foo', 'car', 'foo.c', '<@(_outputs)', 126 ], 127 # Allows the test to run without hermetic cygwin on windows. 128 'msvs_cygwin_shell': 0, 129 }, 130 { 131 'action_name': 'action3', 132 'inputs': [ 133 'foo.c', 134 'filter.py', 135 ], 136 'outputs': [ 137 '<(INTERMEDIATE_DIR)/output3.c', 138 ], 139 'process_outputs_as_sources': 1, 140 'action': [ 141 'python', 'filter.py', 'foo', 'dar', 'foo.c', '<@(_outputs)', 142 ], 143 # Allows the test to run without hermetic cygwin on windows. 144 'msvs_cygwin_shell': 0, 145 }, 146 { 147 'action_name': 'action4', 148 'inputs': [ 149 'foo.c', 150 'filter.py', 151 ], 152 'outputs': [ 153 '<(INTERMEDIATE_DIR)/output4.c', 154 ], 155 'process_outputs_as_sources': 1, 156 'action': [ 157 'python', 'filter.py', 'foo', 'ear', 'foo.c', '<@(_outputs)', 158 ], 159 # Allows the test to run without hermetic cygwin on windows. 160 'msvs_cygwin_shell': 0, 161 }, 162 ], 163 }, 164 { 165 'target_name': 'multiple_dependent_target', 166 'type': 'none', 167 'actions': [ 168 { 169 'action_name': 'action1', 170 'inputs': [ 171 'copy.py', 172 'input.txt', 173 ], 174 'outputs': [ 175 'multi1.txt', 176 ], 177 'action': [ 178 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 179 ], 180 # Allows the test to run without hermetic cygwin on windows. 181 'msvs_cygwin_shell': 0, 182 }, 183 { 184 'action_name': 'action2', 185 'inputs': [ 186 'copy.py', 187 'input.txt', 188 ], 189 'outputs': [ 190 'multi2.txt', 191 ], 192 'action': [ 193 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 194 ], 195 # Allows the test to run without hermetic cygwin on windows. 196 'msvs_cygwin_shell': 0, 197 }, 198 ], 199 'dependencies': [ 200 'multiple_required_target', 201 ], 202 }, 203 { 204 'target_name': 'multiple_required_target', 205 'type': 'none', 206 'actions': [ 207 { 208 'action_name': 'multi_dep', 209 'inputs': [ 210 'copy.py', 211 'input.txt', 212 ], 213 'outputs': [ 214 'multi_dep.txt', 215 ], 216 'process_outputs_as_sources': 1, 217 'action': [ 218 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)', 219 ], 220 # Allows the test to run without hermetic cygwin on windows. 221 'msvs_cygwin_shell': 0, 222 }, 223 ], 224 }, 225 ], 226 } 227