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