1# Copyright (c) 2009 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# This is a test to make sure that <|(foo.txt a b c) generates
6# a pre-calculated file list at gyp time and returns foo.txt.
7# This feature is useful to work around limits in the number of arguments that
8# can be passed to rule/action.
9
10{
11  'variables': {
12    'names': [
13      'John',
14      'Jacob',
15      'Astor',
16      'Jingleheimer',
17      'Jerome',
18      'Schmidt',
19      'Schultz',
20    ],
21    'names!': [
22      'Astor',
23    ],
24    'names/': [
25      ['exclude', 'Sch.*'],
26      ['include', '.*dt'],
27      ['exclude', 'Jer.*'],
28    ],
29  },
30  'targets': [
31    {
32      'target_name': 'foo',
33      'type': 'none',
34      'variables': {
35        'names_listfile': '<|(names.txt <@(names))',
36      },
37      'actions': [
38        {
39          'action_name': 'test_action',
40          'inputs' : [
41            '<(names_listfile)',
42            '<!@(cat <(names_listfile))',
43          ],
44          'outputs': [
45            'dummy_foo',
46          ],
47          'action': [
48            'python', 'dummy.py', '<(names_listfile)',
49          ],
50        },
51      ],
52    },
53    {
54      'target_name': 'bar',
55      'type': 'none',
56      'sources': [
57        'John',
58        'Jacob',
59        'Astor',
60        'Jingleheimer',
61        'Jerome',
62        'Schmidt',
63        'Schultz',
64      ],
65      'sources!': [
66        'Astor',
67      ],
68      'sources/': [
69        ['exclude', 'Sch.*'],
70        ['include', '.*dt'],
71        ['exclude', 'Jer.*'],
72      ],
73      'variables': {
74        'sources_listfile': '<|(sources.txt <@(_sources))',
75      },
76      'actions': [
77        {
78          'action_name': 'test_action',
79          'inputs' : [
80            '<(sources_listfile)',
81            '<!@(cat <(sources_listfile))',
82          ],
83          'outputs': [
84            'dummy_foo',
85          ],
86          'action': [
87            'python', 'dummy.py', '<(sources_listfile)',
88          ],
89        },
90      ],
91    },
92  ],
93}
94